@@ -4609,9 +4609,9 @@ def $ieqz_(N : N, iN : iN(N)) : u32
46094609 def $ieqz_{N : N, i_1 : iN(N)}(N, i_1) = `%`_u32($bool((i_1!`%`_iN.0 = 0)))
46104610
46114611;; ../../../../specification/wasm-3.0/3.1-numerics.scalar.spectec
4612- def $iall_true_ (N : N, iN : iN(N)) : u32
4612+ def $inez_ (N : N, iN : iN(N)) : u32
46134613 ;; ../../../../specification/wasm-3.0/3.1-numerics.scalar.spectec
4614- def $iall_true_ {N : N, i_1 : iN(N)}(N, i_1) = `%`_u32($bool((i_1!`%`_iN.0 =/= 0)))
4614+ def $inez_ {N : N, i_1 : iN(N)}(N, i_1) = `%`_u32($bool((i_1!`%`_iN.0 =/= 0)))
46154615
46164616;; ../../../../specification/wasm-3.0/3.1-numerics.scalar.spectec
46174617def $ieq_(N : N, iN : iN(N), iN : iN(N)) : u32
@@ -5036,20 +5036,6 @@ def $fvternop_(shape : shape, def $f_(N : N, fN : fN(N), fN : fN(N), fN : fN(N))
50365036 -- if (c_3*{c_3 <- `c_3*`} = $lanes_(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M)), v_3))
50375037 -- if (c*{c <- `c*`}*{`c*` <- `c**`} = $setproduct_(syntax lane_((Fnn : Fnn <: lanetype)), $f_($sizenn((Fnn : Fnn <: numtype)), c_1, c_2, c_3)*{c_1 <- `c_1*`, c_2 <- `c_2*`, c_3 <- `c_3*`}))
50385038
5039- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5040- def $ivtestop_(shape : shape, def $f_(N : N, iN : iN(N)) : u32, vec_ : vec_(V128_Vnn)) : u32
5041- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5042- def $ivtestop_{Jnn : Jnn, M : M, def $f_(N : N, iN : iN(N)) : u32, v_1 : vec_(V128_Vnn), `c*` : u32*, `c_1*` : lane_($lanetype(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M))))*}(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), def $f_, v_1) = `%`_u32($prod(c!`%`_u32.0*{c <- `c*`}))
5043- -- if (c_1*{c_1 <- `c_1*`} = $lanes_(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), v_1))
5044- -- if (c*{c <- `c*`} = $f_($lsizenn((Jnn : Jnn <: lanetype)), c_1)*{c_1 <- `c_1*`})
5045-
5046- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5047- def $fvtestop_(shape : shape, def $f_(N : N, fN : fN(N)) : u32, vec_ : vec_(V128_Vnn)) : u32
5048- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5049- def $fvtestop_{Fnn : Fnn, M : M, def $f_(N : N, fN : fN(N)) : u32, v_1 : vec_(V128_Vnn), `c*` : u32*, `c_1*` : lane_($lanetype(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M))))*}(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M)), def $f_, v_1) = `%`_u32($prod(c!`%`_u32.0*{c <- `c*`}))
5050- -- if (c_1*{c_1 <- `c_1*`} = $lanes_(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M)), v_1))
5051- -- if (c*{c <- `c*`} = $f_($sizenn((Fnn : Fnn <: numtype)), c_1)*{c_1 <- `c_1*`})
5052-
50535039;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
50545040def $ivrelop_(shape : shape, def $f_(N : N, iN : iN(N), iN : iN(N)) : u32, vec_ : vec_(V128_Vnn), vec_ : vec_(V128_Vnn)) : vec_(V128_Vnn)
50555041 ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
@@ -5208,11 +5194,6 @@ def $vternop_(shape : shape, vternop_ : vternop_(shape), vec_ : vec_(V128_Vnn),
52085194 ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
52095195 def $vternop_{Fnn : Fnn, M : M, v_1 : vec_(V128_Vnn), v_2 : vec_(V128_Vnn), v_3 : vec_(V128_Vnn)}(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M)), RELAXED_NMADD_vternop_, v_1, v_2, v_3) = $fvternop_(`%X%`_shape((Fnn : Fnn <: lanetype), `%`_dim(M)), def $frelaxed_nmadd_, v_1, v_2, v_3)
52105196
5211- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5212- def $vtestop_(shape : shape, vtestop_ : vtestop_(shape), vec_ : vec_(V128_Vnn)) : u32
5213- ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
5214- def $vtestop_{Jnn : Jnn, M : M, v : vec_(V128_Vnn)}(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), ALL_TRUE_vtestop_, v) = $ivtestop_(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), def $iall_true_, v)
5215-
52165197;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
52175198def $vrelop_(shape : shape, vrelop_ : vrelop_(shape), vec_ : vec_(V128_Vnn), vec_ : vec_(V128_Vnn)) : vec_(V128_Vnn)
52185199 ;; ../../../../specification/wasm-3.0/3.2-numerics.vector.spectec
@@ -6221,7 +6202,7 @@ relation Step_pure: `%~>%`(instr*, instr*)
62216202 ;; ../../../../specification/wasm-3.0/4.3-execution.instructions.spectec
62226203 rule vvtestop{c_1 : vec_(V128_Vnn), c : num_(I32_numtype)}:
62236204 `%~>%`([VCONST_instr(V128_vectype, c_1) VVTESTOP_instr(V128_vectype, ANY_TRUE_vvtestop)], [CONST_instr(I32_numtype, c)])
6224- -- if (c = $ine_ ($vsize(V128_vectype), c_1, `%`_iN(0) ))
6205+ -- if (c = $inez_ ($vsize(V128_vectype), c_1))
62256206
62266207 ;; ../../../../specification/wasm-3.0/4.3-execution.instructions.spectec
62276208 rule `vunop-val`{c_1 : vec_(V128_Vnn), sh : shape, vunop : vunop_(sh), c : vec_(V128_Vnn)}:
@@ -6254,9 +6235,10 @@ relation Step_pure: `%~>%`(instr*, instr*)
62546235 -- if ($vternop_(sh, vternop, c_1, c_2, c_3) = [])
62556236
62566237 ;; ../../../../specification/wasm-3.0/4.3-execution.instructions.spectec
6257- rule vtestop{c_1 : vec_(V128_Vnn), sh : shape, vtestop : vtestop_(sh), i : num_(I32_numtype)}:
6258- `%~>%`([VCONST_instr(V128_vectype, c_1) VTESTOP_instr(sh, vtestop)], [CONST_instr(I32_numtype, i)])
6259- -- if (i = $vtestop_(sh, vtestop, c_1))
6238+ rule vtestop{c_1 : vec_(V128_Vnn), Jnn : Jnn, M : M, c : num_(I32_numtype), `i*` : lane_($lanetype(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M))))*}:
6239+ `%~>%`([VCONST_instr(V128_vectype, c_1) VTESTOP_instr(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), ALL_TRUE_vtestop_)], [CONST_instr(I32_numtype, c)])
6240+ -- if (i*{i <- `i*`} = $lanes_(`%X%`_shape((Jnn : Jnn <: lanetype), `%`_dim(M)), c_1))
6241+ -- if (c!`%`_num_.0 = $prod($inez_($jsizenn(Jnn), i)!`%`_u32.0*{i <- `i*`}))
62606242
62616243 ;; ../../../../specification/wasm-3.0/4.3-execution.instructions.spectec
62626244 rule vrelop{c_1 : vec_(V128_Vnn), c_2 : vec_(V128_Vnn), sh : shape, vrelop : vrelop_(sh), c : vec_(V128_Vnn)}:
0 commit comments