diff options
Diffstat (limited to 'aarch64')
| -rw-r--r-- | aarch64/Makefile | 3 | ||||
| -rw-r--r-- | aarch64/full/spec.sail | 362 | ||||
| -rw-r--r-- | aarch64/no_vector/spec.sail | 120 |
3 files changed, 244 insertions, 241 deletions
diff --git a/aarch64/Makefile b/aarch64/Makefile index 38900d5f..aa4d5301 100644 --- a/aarch64/Makefile +++ b/aarch64/Makefile @@ -13,6 +13,9 @@ aarch64_c: aarch64.c aarch64: no_vector.sail $(SAIL) $^ -o aarch64 -ocaml -undefined_gen -no_lexp_bounds_check -memo_z3 +aarch64_full: full.sail + $(SAIL) $^ -o aarch64_full -ocaml -undefined_gen -no_lexp_bounds_check -memo_z3 + aarch64.lem: no_vector.sail $(SAIL) $^ -o aarch64 -lem -lem_lib Aarch64_extras -memo_z3 -undefined_gen -no_lexp_bounds_check aarch64_types.lem: aarch64.lem diff --git a/aarch64/full/spec.sail b/aarch64/full/spec.sail index 897fa56e..d98322fd 100644 --- a/aarch64/full/spec.sail +++ b/aarch64/full/spec.sail @@ -2006,7 +2006,7 @@ val BigEndianReverse : forall ('width : Int), 'width >= 0 & 'width >= 0. function BigEndianReverse value_name = { assert('width == 8 | 'width == 16 | 'width == 32 | 'width == 64 | 'width == 128); let 'half = 'width / 2; - assert(constraint('half * 2 = 'width)); + assert(constraint('half * 2 == 'width)); if 'width == 8 then return(value_name) else (); return(BigEndianReverse(slice(value_name, 0, half)) @ BigEndianReverse(slice(value_name, half, 'width - half))) } @@ -2131,7 +2131,7 @@ val Replicate : forall ('M : Int) ('N : Int), 'M >= 0 & 'N >= 0. function Replicate x = { assert('N % 'M == 0, "((N MOD M) == 0)"); let 'O = 'N / 'M; - assert(constraint('O * 'M = 'N)); + assert(constraint('O * 'M == 'N)); return(replicate_bits(x, 'N / 'M)) } @@ -2945,7 +2945,7 @@ val aarch64_integer_insext_insert_movewide : (int, int, bits(16), MoveWideOp, in function aarch64_integer_insext_insert_movewide ('d, 'datasize, imm, opcode, 'pos) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; if opcode == MoveWideOp_K then result = aget_X(d) else result = Zeros(); result = __SetSlice_bits(datasize, 16, result, pos, imm); @@ -2957,7 +2957,7 @@ val aarch64_integer_insext_extract_immediate : (int, int, int, int, int) -> unit function aarch64_integer_insext_extract_immediate ('d, 'datasize, 'lsb, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -2970,7 +2970,7 @@ val aarch64_integer_arithmetic_rev : (int, int, int, int) -> unit effect {escape function aarch64_integer_arithmetic_rev ('container_size, 'd, 'datasize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(n); result : bits('datasize) = undefined; containers : int = datasize / container_size; @@ -2992,7 +2992,7 @@ val aarch64_integer_arithmetic_rbit : (int, int, int) -> unit effect {escape, rr function aarch64_integer_arithmetic_rbit ('d, 'datasize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(n); result : bits('datasize) = undefined; foreach (i from 0 to (datasize - 1) by 1 in inc) @@ -3014,7 +3014,7 @@ val aarch64_integer_arithmetic_mul_widening_64128hi : (int, int, int, int, bool) function aarch64_integer_arithmetic_mul_widening_64128hi ('d, 'datasize, 'm, 'n, unsigned) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); result : int = asl_Int(operand1, unsigned) * asl_Int(operand2, unsigned); @@ -3041,7 +3041,7 @@ function aarch64_integer_arithmetic_mul_widening_3264 ('a, 'd, 'datasize, 'dests assert(constraint('destsize in {32, 64}), "destsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); operand3 : bits('destsize) = aget_X(a); @@ -3071,7 +3071,7 @@ function aarch64_integer_arithmetic_mul_uniform_addsub ('a, 'd, 'datasize, 'dest assert(constraint('destsize in {32, 64}), "destsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); operand3 : bits('destsize) = aget_X(a); @@ -3098,7 +3098,7 @@ val aarch64_integer_arithmetic_div : (int, int, int, int, bool) -> unit effect { function aarch64_integer_arithmetic_div ('d, 'datasize, 'm, 'n, unsigned) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); result : int = undefined; @@ -3122,7 +3122,7 @@ val aarch64_integer_arithmetic_cnt : (int, int, int, CountOp) -> unit effect {es function aarch64_integer_arithmetic_cnt ('d, 'datasize, 'n, opcode) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : int = undefined; operand1 : bits('datasize) = aget_X(n); if opcode == CountOp_CLZ then result = CountLeadingZeroBits(operand1) else result = CountLeadingSignBits(operand1); @@ -3144,7 +3144,7 @@ val aarch64_integer_arithmetic_addsub_carry : (int, int, int, int, bool, bool) - function aarch64_integer_arithmetic_addsub_carry ('d, 'datasize, 'm, 'n, setflags, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -3341,7 +3341,7 @@ val aarch64_integer_bitfield : forall ('datasize : Int). function aarch64_integer_bitfield ('R, 'S, 'd, datasize, extend, inzero, 'n, tmask, wmask) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); dst : bits('datasize) = if inzero then Zeros() else aget_X(d); src : bits('datasize) = aget_X(n); bot : bits('datasize) = dst & ~(wmask) | ROR(src, R) & wmask; @@ -3367,7 +3367,7 @@ val aarch64_integer_shift_variable : (int, int, int, int, ShiftType) -> unit eff function aarch64_integer_shift_variable ('d, 'datasize, 'm, 'n, shift_type) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand2 : bits('datasize) = aget_X(m); result = ShiftReg(n, shift_type, UInt(operand2) % datasize); @@ -3390,7 +3390,7 @@ val aarch64_integer_logical_shiftedreg : (int, int, bool, int, int, LogicalOp, b function aarch64_integer_logical_shiftedreg ('d, 'datasize, invert, 'm, 'n, op, setflags, 'shift_amount, shift_type) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = ShiftReg(m, shift_type, shift_amount); if invert then operand2 = ~(operand2) else (); @@ -3408,7 +3408,7 @@ val aarch64_integer_arithmetic_addsub_shiftedreg : (int, int, int, int, bool, in function aarch64_integer_arithmetic_addsub_shiftedreg ('d, 'datasize, 'm, 'n, setflags, 'shift_amount, shift_type, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = ShiftReg(m, shift_type, shift_amount); @@ -3764,7 +3764,7 @@ val aarch64_integer_logical_immediate : forall ('datasize : Int). function aarch64_integer_logical_immediate ('d, datasize, imm, 'n, op, setflags) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = imm; @@ -3782,7 +3782,7 @@ val aarch64_integer_arithmetic_addsub_immediate : forall ('datasize : Int). function aarch64_integer_arithmetic_addsub_immediate ('d, datasize, imm, 'n, setflags, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = if n == 31 then aget_SP() else aget_X(n); operand2 : bits('datasize) = imm; @@ -3801,7 +3801,7 @@ val aarch64_integer_arithmetic_addsub_extendedreg : (int, int, ExtendType, int, function aarch64_integer_arithmetic_addsub_extendedreg ('d, 'datasize, extend_type, 'm, 'n, setflags, 'shift, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = if n == 31 then aget_SP() else aget_X(n); operand2 : bits('datasize) = ExtendReg(m, extend_type, shift); @@ -5319,7 +5319,7 @@ function Reduce (op, input, esize) = { result : bits('esize) = undefined; if 'N == 'esize then return(input) else (); let 'half = 'N / 2; - assert(constraint('half * 2 = 'N)); + assert(constraint('half * 2 == 'N)); hi = Reduce(op, slice(input, half, negate(half) + 'N), 'esize); lo = Reduce(op, slice(input, 0, half), 'esize); match op { @@ -5821,7 +5821,7 @@ val aarch64_integer_conditional_select : (bits(4), int, int, bool, bool, int, in function aarch64_integer_conditional_select (condition, 'd, 'datasize, else_inc, else_inv, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -5851,7 +5851,7 @@ val aarch64_integer_conditional_compare_register : (bits(4), int, bits(4), int, function aarch64_integer_conditional_compare_register (condition, 'datasize, flags__arg, 'm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -5885,7 +5885,7 @@ val aarch64_integer_conditional_compare_immediate : forall ('datasize : Int). function aarch64_integer_conditional_compare_immediate (condition, datasize, flags__arg, imm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = imm; @@ -7856,7 +7856,7 @@ val aarch64_branch_conditional_test : (int, bits(1), int, bits(64), int) -> unit function aarch64_branch_conditional_test ('bit_pos, bit_val, 'datasize, offset, 't) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(t); if [operand[bit_pos]] == bit_val then BranchTo(aget_PC() + offset, BranchType_JMP) else () } @@ -7890,7 +7890,7 @@ val aarch64_branch_conditional_compare : (int, bool, bits(64), int) -> unit effe function aarch64_branch_conditional_compare ('datasize, iszero, offset, 't) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(t); if IsZero(operand1) == iszero then BranchTo(aget_PC() + offset, BranchType_JMP) else () } @@ -8998,7 +8998,7 @@ val aarch64_vector_transfer_vector_table : (int, int, int, bool, int, int, int) function aarch64_vector_transfer_vector_table ('d, 'datasize, 'elements, is_tbl, 'm, n__arg, 'regs) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); assert(constraint('regs >= 1 & 'elements >= 1)); n : int = n__arg; CheckFPAdvSIMDEnabled64(); @@ -9041,7 +9041,7 @@ function aarch64_vector_transfer_vector_permute_zip ('d, 'datasize, 'esize, 'm, assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -9062,7 +9062,7 @@ function aarch64_vector_transfer_vector_permute_unzip ('d, 'datasize, 'elements, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operandl : bits('datasize) = aget_V(n); operandh : bits('datasize) = aget_V(m); @@ -9080,7 +9080,7 @@ function aarch64_vector_transfer_vector_permute_transpose ('d, 'datasize, 'esize assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -9109,7 +9109,7 @@ val aarch64_vector_transfer_vector_extract : (int, int, int, int, int) -> unit e function aarch64_vector_transfer_vector_extract ('d, 'datasize, 'm, 'n, 'position) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); hi : bits('datasize) = aget_V(m); lo : bits('datasize) = aget_V(n); @@ -9125,7 +9125,7 @@ function aarch64_vector_transfer_vector_cpydup_sisd ('d, 'datasize, 'elements, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('idxdsize) = aget_V(n); result : bits('datasize) = undefined; @@ -9142,7 +9142,7 @@ function aarch64_vector_transfer_integer_move_unsigned ('d, 'datasize, 'esize, ' assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('idxdsize) = aget_V(n); aset_X(d, ZeroExtend(aget_Elem(operand, index, esize), datasize)) @@ -9155,7 +9155,7 @@ function aarch64_vector_transfer_integer_move_signed ('d, 'datasize, 'esize, 'id assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('idxdsize) = aget_V(n); aset_X(d, SignExtend(aget_Elem(operand, index, esize), datasize)) @@ -9167,7 +9167,7 @@ function aarch64_vector_transfer_integer_insert ('d, 'datasize, 'esize, 'index, assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); element : bits('esize) = aget_X(n); result : bits('datasize) = aget_V(d); @@ -9182,7 +9182,7 @@ function aarch64_vector_transfer_integer_dup ('d, 'datasize, 'elements, 'esize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); element : bits('esize) = aget_X(n); result : bits('datasize) = undefined; @@ -9198,7 +9198,7 @@ function aarch64_vector_shift_right_sisd (accumulate, 'd, 'datasize, 'elements, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); operand2 : bits('datasize) = undefined; @@ -9220,7 +9220,7 @@ function aarch64_vector_shift_rightnarrow_uniform_sisd ('d, 'datasize, 'elements assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9244,7 +9244,7 @@ function aarch64_vector_shift_rightnarrow_nonuniform_sisd ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9268,7 +9268,7 @@ function aarch64_vector_shift_rightnarrow_logical ('d, 'datasize, 'elements, 'es assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9288,7 +9288,7 @@ function aarch64_vector_shift_rightinsert_sisd ('d, 'datasize, 'elements, 'esize assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(d); @@ -9309,7 +9309,7 @@ function aarch64_vector_shift_left_sisd ('d, 'datasize, 'elements, 'esize, 'n, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9325,7 +9325,7 @@ function aarch64_vector_shift_leftsat_sisd ('d, 'datasize, dst_unsigned, 'elemen assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9348,7 +9348,7 @@ function aarch64_vector_shift_leftlong ('d, 'datasize, 'elements, 'esize, 'n, 'p assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_Vpart(n, part); result : bits(2 * 'datasize) = undefined; @@ -9367,7 +9367,7 @@ function aarch64_vector_shift_leftinsert_sisd ('d, 'datasize, 'elements, 'esize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(d); @@ -9388,7 +9388,7 @@ function aarch64_vector_shift_conv_int_sisd ('d, 'datasize, 'elements, 'esize, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9407,7 +9407,7 @@ function aarch64_vector_shift_conv_float_sisd ('d, 'datasize, 'elements, 'esize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9426,7 +9426,7 @@ function aarch64_vector_reduce_intmax ('d, 'datasize, 'elements, 'esize, min, 'n assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); maxmin : int = undefined; @@ -9445,7 +9445,7 @@ function aarch64_vector_reduce_fp16maxnm_sisd ('d, 'datasize, 'esize, 'n, op) = assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9470,7 +9470,7 @@ function aarch64_vector_reduce_fp16maxnm_simd ('d, 'datasize, 'esize, 'n, op) = assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9482,7 +9482,7 @@ function aarch64_vector_reduce_fp16max_sisd ('d, 'datasize, 'esize, 'n, op) = { assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9507,7 +9507,7 @@ function aarch64_vector_reduce_fp16max_simd ('d, 'datasize, 'esize, 'n, op) = { assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9519,7 +9519,7 @@ function aarch64_vector_reduce_fp16add_sisd ('d, 'datasize, 'esize, 'n, op) = { assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9544,7 +9544,7 @@ function aarch64_vector_reduce_add_sisd ('d, 'datasize, 'esize, 'n, op) = { assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9556,7 +9556,7 @@ function aarch64_vector_reduce_add_simd ('d, 'datasize, 'esize, 'n, op) = { assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); aset_V(d, Reduce(op, operand, esize)) @@ -9569,7 +9569,7 @@ function aarch64_vector_reduce_addlong ('d, 'datasize, 'elements, 'esize, 'n, un assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); sum : int = asl_Int(aget_Elem(operand, 0, esize), unsigned); @@ -9583,7 +9583,7 @@ val aarch64_vector_logical : forall ('datasize : Int). function aarch64_vector_logical (datasize, imm, operation, 'rd) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = undefined; result : bits('datasize) = undefined; @@ -9607,7 +9607,7 @@ val aarch64_vector_fp16_movi : forall ('datasize : Int). function aarch64_vector_fp16_movi (datasize, imm, 'rd) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); aset_V(rd, imm) } @@ -9619,7 +9619,7 @@ function aarch64_vector_arithmetic_unary_special_sqrtfp16 ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9637,7 +9637,7 @@ function aarch64_vector_arithmetic_unary_special_sqrtest_int ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9656,7 +9656,7 @@ function aarch64_vector_arithmetic_unary_special_sqrtest_fp16_sisd ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9686,7 +9686,7 @@ function aarch64_vector_arithmetic_unary_special_recip_int ('d, 'datasize, 'elem assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9705,7 +9705,7 @@ function aarch64_vector_arithmetic_unary_special_recip_fp16_sisd ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9736,7 +9736,7 @@ function aarch64_vector_arithmetic_unary_special_frecpxfp16 ('d, 'datasize, 'ele assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9767,7 +9767,7 @@ function aarch64_vector_arithmetic_unary_shift ('d, 'datasize, 'elements, 'esize assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_Vpart(n, part); result : bits(2 * 'datasize) = undefined; @@ -9785,7 +9785,7 @@ function aarch64_vector_arithmetic_unary_rev ('containers, 'd, 'datasize, 'eleme assert(constraint('esize >= 0), "esize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9809,7 +9809,7 @@ function aarch64_vector_arithmetic_unary_rbit ('d, 'datasize, 'elements, 'esize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9843,7 +9843,7 @@ function aarch64_vector_arithmetic_unary_not ('d, 'datasize, 'elements, 'esize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9874,7 +9874,7 @@ function aarch64_vector_arithmetic_unary_fp16_round ('d, 'datasize, 'elements, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9893,7 +9893,7 @@ function aarch64_vector_arithmetic_unary_fp16_conv_int_sisd ('d, 'datasize, 'ele assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9926,7 +9926,7 @@ function aarch64_vector_arithmetic_unary_fp16_conv_float_tieaway_sisd ('d, 'data assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9959,7 +9959,7 @@ function aarch64_vector_arithmetic_unary_fp16_conv_float_bulk_sisd ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -9992,7 +9992,7 @@ function aarch64_vector_arithmetic_unary_float_xtn_sisd ('d, 'datasize, 'element assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10008,7 +10008,7 @@ function aarch64_vector_arithmetic_unary_float_widen ('d, 'datasize, 'elements, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_Vpart(n, part); result : bits(2 * 'datasize) = undefined; @@ -10037,7 +10037,7 @@ function aarch64_vector_arithmetic_unary_float_narrow ('d, 'datasize, 'elements, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10066,7 +10066,7 @@ function aarch64_vector_arithmetic_unary_extract_sqxtun_sisd ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10089,7 +10089,7 @@ function aarch64_vector_arithmetic_unary_extract_sat_sisd ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10112,7 +10112,7 @@ function aarch64_vector_arithmetic_unary_extract_nosat ('d, 'datasize, 'elements assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits(2 * 'datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10131,7 +10131,7 @@ function aarch64_vector_arithmetic_unary_diffneg_sat_sisd ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10168,7 +10168,7 @@ function aarch64_vector_arithmetic_unary_diffneg_int_sisd ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10188,7 +10188,7 @@ function aarch64_vector_arithmetic_unary_diffneg_fp16 ('d, 'datasize, 'elements, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10205,7 +10205,7 @@ val aarch64_vector_arithmetic_unary_cnt : (int, int, int, int, int) -> unit effe function aarch64_vector_arithmetic_unary_cnt ('d, 'datasize, 'elements, 'esize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); assert('elements >= 1 & 'esize >= 1); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); @@ -10225,7 +10225,7 @@ function aarch64_vector_arithmetic_unary_cmp_int_lessthan_sisd (comparison, 'd, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10252,7 +10252,7 @@ function aarch64_vector_arithmetic_unary_cmp_int_bulk_sisd (comparison, 'd, 'dat assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10279,7 +10279,7 @@ function aarch64_vector_arithmetic_unary_cmp_fp16_lessthan_sisd (comparison, 'd, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10320,7 +10320,7 @@ function aarch64_vector_arithmetic_unary_cmp_fp16_bulk_sisd (comparison, 'd, 'da assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10364,7 +10364,7 @@ val aarch64_vector_arithmetic_unary_clsz : (CountOp, int, int, int, int, int) -> function aarch64_vector_arithmetic_unary_clsz (countop, 'd, 'datasize, 'elements, 'esize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); assert('elements >= 1 & 'esize >= 3); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); @@ -10386,7 +10386,7 @@ function aarch64_vector_arithmetic_unary_add_saturating_sisd ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10425,7 +10425,7 @@ function aarch64_vector_arithmetic_unary_add_pairwise (acc, 'd, 'datasize, 'elem assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand : bits('datasize) = aget_V(n); result : bits('datasize) = undefined; @@ -10449,7 +10449,7 @@ function aarch64_vector_arithmetic_binary_uniform_sub_saturating_sisd ('d, 'data assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10491,7 +10491,7 @@ function aarch64_vector_arithmetic_binary_uniform_sub_int ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10515,7 +10515,7 @@ function aarch64_vector_arithmetic_binary_uniform_sub_fp16_sisd (abs, 'd, 'datas assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10553,7 +10553,7 @@ function aarch64_vector_arithmetic_binary_uniform_sub_fp16_simd (abs, 'd, 'datas assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10577,7 +10577,7 @@ function aarch64_vector_arithmetic_binary_uniform_shift_sisd ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10607,7 +10607,7 @@ function aarch64_vector_arithmetic_binary_uniform_rsqrtsfp16_sisd ('d, 'datasize assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10642,7 +10642,7 @@ function aarch64_vector_arithmetic_binary_uniform_recpsfp16_sisd ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10674,7 +10674,7 @@ val aarch64_vector_arithmetic_binary_uniform_mul_int_product : (int, int, int, i function aarch64_vector_arithmetic_binary_uniform_mul_int_product ('d, 'datasize, 'elements, 'esize, 'm, 'n, poly) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); assert('elements >= 1 & 'esize >= 1); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); @@ -10700,7 +10700,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_int_doubling_sisd ('d, 'da assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10729,7 +10729,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_int_doubling_accum_sisd (' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10762,7 +10762,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_int_dotp ('d, 'datasize, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10793,7 +10793,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_int_accum ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10818,7 +10818,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_fp16_product ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10840,7 +10840,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_fp16_fused ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10864,7 +10864,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_fp16_extended_sisd ('d, 'd assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10899,7 +10899,7 @@ function aarch64_vector_arithmetic_binary_uniform_mul_fp_complex ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10949,7 +10949,7 @@ function aarch64_vector_arithmetic_binary_uniform_maxmin_single ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10973,7 +10973,7 @@ function aarch64_vector_arithmetic_binary_uniform_maxmin_pair ('d, 'datasize, 'e assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -10998,7 +10998,7 @@ function aarch64_vector_arithmetic_binary_uniform_maxmin_fp16_2008 ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11026,7 +11026,7 @@ function aarch64_vector_arithmetic_binary_uniform_maxmin_fp16_1985 ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11051,7 +11051,7 @@ val aarch64_vector_arithmetic_binary_uniform_logical_bsleor : (int, int, int, in function aarch64_vector_arithmetic_binary_uniform_logical_bsleor ('d, 'datasize, 'm, 'n, op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = undefined; operand2 : bits('datasize) = undefined; @@ -11106,7 +11106,7 @@ val aarch64_vector_arithmetic_binary_uniform_logical_andorr : (int, int, bool, i function aarch64_vector_arithmetic_binary_uniform_logical_andorr ('d, 'datasize, invert, 'm, 'n, op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11141,7 +11141,7 @@ function aarch64_vector_arithmetic_binary_uniform_divfp16 ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11163,7 +11163,7 @@ function aarch64_vector_arithmetic_binary_uniform_diff (accumulate, 'd, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11188,7 +11188,7 @@ function aarch64_vector_arithmetic_binary_uniform_cmp_int_sisd (cmp_eq, 'd, 'dat assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11212,7 +11212,7 @@ function aarch64_vector_arithmetic_binary_uniform_cmp_fp16_sisd (abs, cmp, 'd, ' assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11244,7 +11244,7 @@ function aarch64_vector_arithmetic_binary_uniform_cmp_bitwise_sisd (and_test, 'd assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11268,7 +11268,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_wrapping_single_sisd ('d, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11290,7 +11290,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_wrapping_pair ('d, 'datasi assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11313,7 +11313,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_saturating_sisd ('d, 'data assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11355,7 +11355,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_halving_truncating ('d, 'd assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11379,7 +11379,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_halving_rounding ('d, 'dat assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11401,7 +11401,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_fp16 ('d, 'datasize, 'elem assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11429,7 +11429,7 @@ function aarch64_vector_arithmetic_binary_uniform_add_fp_complex ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = aget_V(m); @@ -11462,7 +11462,7 @@ function aarch64_vector_arithmetic_binary_element_mul_long ('d, 'datasize, 'elem assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('idxdsize) = aget_V(m); @@ -11487,7 +11487,7 @@ function aarch64_vector_arithmetic_binary_element_mul_int ('d, 'datasize, 'eleme assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11512,7 +11512,7 @@ function aarch64_vector_arithmetic_binary_element_mul_high_sisd ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11542,7 +11542,7 @@ function aarch64_vector_arithmetic_binary_element_mul_fp16_sisd ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11564,7 +11564,7 @@ function aarch64_vector_arithmetic_binary_element_mul_double_sisd ('d, 'datasize assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('idxdsize) = aget_V(m); @@ -11591,7 +11591,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_long ('d, 'datasize, 'e assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('idxdsize) = aget_V(m); @@ -11617,7 +11617,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_int ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11643,7 +11643,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_high_sisd ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11677,7 +11677,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_fp16_sisd ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('idxdsize) = aget_V(m); @@ -11701,7 +11701,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_double_sisd ('d, 'datas assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('idxdsize) = aget_V(m); @@ -11733,7 +11733,7 @@ function aarch64_vector_arithmetic_binary_element_mulacc_complex ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(m); operand2 : bits('datasize) = aget_V(n); @@ -11783,7 +11783,7 @@ function aarch64_vector_arithmetic_binary_element_dotp ('d, 'datasize, 'elements assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits(128) = aget_V(m); @@ -11814,7 +11814,7 @@ function aarch64_vector_arithmetic_binary_disparate_mul_product ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11836,7 +11836,7 @@ function aarch64_vector_arithmetic_binary_disparate_mul_poly ('d, 'datasize, 'el assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11858,7 +11858,7 @@ function aarch64_vector_arithmetic_binary_disparate_mul_double_sisd ('d, 'datasi assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11884,7 +11884,7 @@ function aarch64_vector_arithmetic_binary_disparate_mul_dmacc_sisd ('d, 'datasiz assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11916,7 +11916,7 @@ function aarch64_vector_arithmetic_binary_disparate_mul_accum ('d, 'datasize, 'e assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11943,7 +11943,7 @@ function aarch64_vector_arithmetic_binary_disparate_diff (accumulate, 'd, 'datas assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11968,7 +11968,7 @@ function aarch64_vector_arithmetic_binary_disparate_addsub_wide ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits(2 * 'datasize) = aget_V(n); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -11992,7 +11992,7 @@ function aarch64_vector_arithmetic_binary_disparate_addsub_narrow ('d, 'datasize assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits(2 * 'datasize) = aget_V(n); operand2 : bits(2 * 'datasize) = aget_V(m); @@ -12018,7 +12018,7 @@ function aarch64_vector_arithmetic_binary_disparate_addsub_long ('d, 'datasize, assert(constraint('elements >= 1), "elements constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_Vpart(n, part); operand2 : bits('datasize) = aget_Vpart(m, part); @@ -12039,7 +12039,7 @@ val aarch64_float_move_fp_select : (bits(4), int, int, int, int) -> unit effect function aarch64_float_move_fp_select (condition, 'd, 'datasize, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = if ConditionHolds(condition) then aget_V(n) else aget_V(m); aset_V(d, result) @@ -12050,7 +12050,7 @@ val aarch64_float_move_fp_imm : forall ('datasize : Int). function aarch64_float_move_fp_imm ('d, datasize, imm) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); aset_V(d, imm) } @@ -12127,7 +12127,7 @@ val aarch64_float_compare_uncond : (bool, int, int, int, bool) -> unit effect {e function aarch64_float_compare_uncond (cmp_with_zero, 'datasize, 'm, 'n, signal_all_nans) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = if cmp_with_zero then FPZero(0b0) else aget_V(m); @@ -12138,7 +12138,7 @@ val aarch64_float_compare_cond : (bits(4), int, bits(4), int, int, bool) -> unit function aarch64_float_compare_cond (condition, 'datasize, flags__arg, 'm, 'n, signal_all_nans) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); @@ -12151,7 +12151,7 @@ val aarch64_float_arithmetic_unary : (int, int, FPUnaryOp, int) -> unit effect { function aarch64_float_arithmetic_unary ('d, 'datasize, fpop, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand : bits('datasize) = aget_V(n); @@ -12168,7 +12168,7 @@ val aarch64_float_arithmetic_round : (int, int, bool, int, FPRounding) -> unit e function aarch64_float_arithmetic_round ('d, 'datasize, exact, 'n, rounding) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand : bits('datasize) = aget_V(n); @@ -12180,7 +12180,7 @@ val aarch64_float_arithmetic_mul_product : (int, int, int, int, bool) -> unit ef function aarch64_float_arithmetic_mul_product ('d, 'datasize, 'm, 'n, negated) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -12194,7 +12194,7 @@ val aarch64_float_arithmetic_mul_addsub : (int, int, int, int, int, bool, bool) function aarch64_float_arithmetic_mul_addsub ('a, 'd, 'datasize, 'm, 'n, op1_neg, opa_neg) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operanda : bits('datasize) = aget_V(a); @@ -12210,7 +12210,7 @@ val aarch64_float_arithmetic_maxmin : (int, int, int, int, FPMaxMinOp) -> unit e function aarch64_float_arithmetic_maxmin ('d, 'datasize, 'm, 'n, operation) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -12228,7 +12228,7 @@ val aarch64_float_arithmetic_div : (int, int, int, int) -> unit effect {escape, function aarch64_float_arithmetic_div ('d, 'datasize, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -12241,7 +12241,7 @@ val aarch64_float_arithmetic_addsub : (int, int, int, int, bool) -> unit effect function aarch64_float_arithmetic_addsub ('d, 'datasize, 'm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -12700,7 +12700,7 @@ function aarch64_memory_vector_single_nowb (datasize, esize, index, m, memop, n, element : bits('esize) = undefined; s : int = undefined; let 'ebytes : {'n, true. atom('n)} = ex_int(esize / 8); - assert(constraint(8 * 'ebytes = 'esize)); + assert(constraint(8 * 'ebytes == 'esize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -12744,7 +12744,7 @@ function aarch64_memory_vector_multiple_nowb (datasize, elements, esize, m, memo s : int = undefined; tt : int = undefined; let 'ebytes = ex_int(esize / 8); - assert(constraint(8 * 'ebytes = 'esize)); + assert(constraint(8 * 'ebytes == 'esize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -12774,7 +12774,7 @@ val aarch64_memory_single_simdfp_register : (AccType, int, ExtendType, int, MemO function aarch64_memory_single_simdfp_register (acctype, 'datasize, extend_type, 'm, memop, 'n, postindex, 'shift, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); offset : bits(64) = ExtendReg(m, extend_type, shift); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; @@ -12804,7 +12804,7 @@ val aarch64_memory_single_simdfp_immediate_signed_postidx : (AccType, int, MemOp function aarch64_memory_single_simdfp_immediate_signed_postidx (acctype, 'datasize, memop, 'n, offset, postindex, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -12833,7 +12833,7 @@ val aarch64_memory_single_simdfp_immediate_signed_offset_normal : (AccType, int, function aarch64_memory_single_simdfp_immediate_signed_offset_normal (acctype, 'datasize, memop, 'n, offset, postindex, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -12866,7 +12866,7 @@ function aarch64_memory_ordered (acctype, datasize, memop, n, regsize, t) = { address : bits(64) = undefined; data : bits('datasize) = undefined; let 'dbytes = ex_int(datasize / 8); - assert(constraint(8 * 'dbytes = 'datasize)); + assert(constraint(8 * 'dbytes == 'datasize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -12907,7 +12907,7 @@ function aarch64_memory_orderedrcpc (acctype, datasize, n, regsize, t) = { address : bits(64) = undefined; data : bits('datasize) = undefined; let 'dbytes = ex_int(datasize / 8); - assert(constraint(8 * 'dbytes = 'datasize)); + assert(constraint(8 * 'dbytes == 'datasize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -12986,7 +12986,7 @@ function aarch64_memory_atomicops_swp ('datasize, ldacctype, 'n, 'regsize, 's, s assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; if n == 31 then { @@ -13002,7 +13002,7 @@ val aarch64_memory_atomicops_st : (int, AccType, int, MemAtomicOp, int, AccType) function aarch64_memory_atomicops_st ('datasize, ldacctype, 'n, op, 's, stacctype) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; value_name : bits('datasize) = undefined; data : bits('datasize) = undefined; @@ -13032,7 +13032,7 @@ function aarch64_memory_atomicops_ld ('datasize, ldacctype, 'n, op, 'regsize, 's assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; value_name : bits('datasize) = undefined; data : bits('datasize) = undefined; @@ -13063,7 +13063,7 @@ function aarch64_memory_atomicops_cas_single ('datasize, ldacctype, 'n, 'regsize assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; comparevalue : bits('datasize) = undefined; newvalue : bits('datasize) = undefined; @@ -13085,7 +13085,7 @@ function aarch64_memory_atomicops_cas_pair ('datasize, ldacctype, 'n, 'regsize, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; comparevalue : bits(2 * 'datasize) = undefined; newvalue : bits(2 * 'datasize) = undefined; @@ -13366,7 +13366,7 @@ function aarch64_memory_single_general_register (acctype, 'datasize, extend_type assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; offset : bits(64) = ExtendReg(m, extend_type, shift); address : bits(64) = undefined; @@ -13422,7 +13422,7 @@ function aarch64_memory_single_general_immediate_unsigned (acctype, 'datasize, m assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -13477,7 +13477,7 @@ function aarch64_memory_single_general_immediate_signed_postidx (acctype, 'datas assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -13564,7 +13564,7 @@ function aarch64_memory_single_general_immediate_signed_offset_unpriv (acctype, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -13619,7 +13619,7 @@ function aarch64_memory_single_general_immediate_signed_offset_normal (acctype, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -13673,7 +13673,7 @@ val aarch64_memory_pair_simdfp_postidx : forall ('datasize : Int). function aarch64_memory_pair_simdfp_postidx (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -13724,7 +13724,7 @@ val aarch64_memory_pair_simdfp_noalloc : forall ('datasize : Int). function aarch64_memory_pair_simdfp_noalloc (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -13775,7 +13775,7 @@ val aarch64_memory_pair_general_postidx : forall ('datasize : Int). function aarch64_memory_pair_general_postidx (acctype, datasize, memop, n, offset, postindex, signed, t, t2, wback__arg) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -13855,7 +13855,7 @@ val aarch64_memory_pair_general_noalloc : forall ('datasize : Int). function aarch64_memory_pair_general_noalloc (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data1 : bits('datasize) = undefined; data2 : bits('datasize) = undefined; @@ -13910,7 +13910,7 @@ function aarch64_memory_exclusive_single (acctype, datasize, elsize, memop, n, p let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); assert(constraint(- 'elsize + 'datasize >= 0 & 'elsize >= 0)); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; rt_unknown : bool = false; @@ -13957,7 +13957,7 @@ function aarch64_memory_exclusive_single (acctype, datasize, elsize, memop, n, p MemOp_STORE => { if rt_unknown then data = undefined else if pair then let 'v = ex_int(datasize / 2) in { - assert(constraint(2 * 'v = 'datasize)); + assert(constraint(2 * 'v == 'datasize)); el1 : bits('v) = aget_X(t); el2 : bits('v) = aget_X(t2); data = if BigEndian() then el1 @ el2 else el2 @ el1 @@ -14023,7 +14023,7 @@ function aarch64_memory_exclusive_pair (acctype, datasize, elsize, memop, n, pai let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); assert(constraint(- 'elsize + 'datasize >= 0 & 'elsize >= 0), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; rt_unknown : bool = false; @@ -14070,7 +14070,7 @@ function aarch64_memory_exclusive_pair (acctype, datasize, elsize, memop, n, pai MemOp_STORE => { if rt_unknown then data = undefined else if pair then let 'v = ex_int(datasize / 2) in { - assert(constraint(2 * 'v = 'datasize)); + assert(constraint(2 * 'v == 'datasize)); el1 : bits('v) = aget_X(t); el2 : bits('v) = aget_X(t2); data = if BigEndian() then el1 @ el2 else el2 @ el1 @@ -14305,7 +14305,7 @@ function vector_logical_decode (Q, op, a, b, c, cmode, o2, d, e, f, g, h, Rd) = }; imm64 = AdvSIMDExpandImm(op, cmode, ((((((a @ b) @ c) @ d) @ e) @ f) @ g) @ h); let 'immsize = datasize / 64; - assert(constraint('immsize * 64 = 'datasize)); + assert(constraint('immsize * 64 == 'datasize)); imm = replicate_bits(imm64, 'immsize); aarch64_vector_logical(datasize, imm, operation, rd) } @@ -14321,7 +14321,7 @@ function vector_fp16_movi_decode (Q, op, a, b, c, cmode, o2, d, e, f, g, h, Rd) imm8 : bits(8) = ((((((a @ b) @ c) @ d) @ e) @ f) @ g) @ h; imm16 : bits(16) = ((([imm8[7]] @ ~([imm8[6]])) @ replicate_bits([imm8[6]], 2)) @ slice(imm8, 0, 6)) @ Zeros(6); let 'immsize = datasize / 16; - assert(constraint('immsize * 16 = 'datasize)); + assert(constraint('immsize * 16 == 'datasize)); imm = replicate_bits(imm16, immsize); aarch64_vector_fp16_movi(datasize, imm, rd) } diff --git a/aarch64/no_vector/spec.sail b/aarch64/no_vector/spec.sail index 8710e66b..610884a4 100644 --- a/aarch64/no_vector/spec.sail +++ b/aarch64/no_vector/spec.sail @@ -1949,7 +1949,7 @@ val BigEndianReverse : forall ('width : Int), 'width >= 0 & 'width >= 0. function BigEndianReverse value_name = { assert('width == 8 | 'width == 16 | 'width == 32 | 'width == 64 | 'width == 128); let 'half = 'width / 2; - assert(constraint('half * 2 = 'width)); + assert(constraint('half * 2 == 'width)); if 'width == 8 then return(value_name) else (); return(BigEndianReverse(slice(value_name, 0, half)) @ BigEndianReverse(slice(value_name, half, 'width - half))) } @@ -2065,7 +2065,7 @@ val Replicate : forall ('M : Int) ('N : Int), 'M >= 0 & 'N >= 0. function Replicate x = { assert('N % 'M == 0, "((N MOD M) == 0)"); let 'O = 'N / 'M; - assert(constraint('O * 'M = 'N)); + assert(constraint('O * 'M == 'N)); return(replicate_bits(x, 'N / 'M)) } @@ -2721,7 +2721,7 @@ val aarch64_integer_insext_insert_movewide : (int, int, bits(16), MoveWideOp, in function aarch64_integer_insext_insert_movewide ('d, 'datasize, imm, opcode, 'pos) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; if opcode == MoveWideOp_K then result = aget_X(d) else result = Zeros(); result = __SetSlice_bits(datasize, 16, result, pos, imm); @@ -2733,7 +2733,7 @@ val aarch64_integer_insext_extract_immediate : (int, int, int, int, int) -> unit function aarch64_integer_insext_extract_immediate ('d, 'datasize, 'lsb, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -2746,7 +2746,7 @@ val aarch64_integer_arithmetic_rev : (int, int, int, int) -> unit effect {escape function aarch64_integer_arithmetic_rev ('container_size, 'd, 'datasize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(n); result : bits('datasize) = undefined; containers : int = datasize / container_size; @@ -2768,7 +2768,7 @@ val aarch64_integer_arithmetic_rbit : (int, int, int) -> unit effect {escape, rr function aarch64_integer_arithmetic_rbit ('d, 'datasize, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(n); result : bits('datasize) = undefined; foreach (i from 0 to (datasize - 1) by 1 in inc) @@ -2790,7 +2790,7 @@ val aarch64_integer_arithmetic_mul_widening_64128hi : (int, int, int, int, bool) function aarch64_integer_arithmetic_mul_widening_64128hi ('d, 'datasize, 'm, 'n, unsigned) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); result : int = asl_Int(operand1, unsigned) * asl_Int(operand2, unsigned); @@ -2817,7 +2817,7 @@ function aarch64_integer_arithmetic_mul_widening_3264 ('a, 'd, 'datasize, 'dests assert(constraint('destsize in {32, 64}), "destsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); operand3 : bits('destsize) = aget_X(a); @@ -2847,7 +2847,7 @@ function aarch64_integer_arithmetic_mul_uniform_addsub ('a, 'd, 'datasize, 'dest assert(constraint('destsize in {32, 64}), "destsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); operand3 : bits('destsize) = aget_X(a); @@ -2874,7 +2874,7 @@ val aarch64_integer_arithmetic_div : (int, int, int, int, bool) -> unit effect { function aarch64_integer_arithmetic_div ('d, 'datasize, 'm, 'n, unsigned) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); result : int = undefined; @@ -2898,7 +2898,7 @@ val aarch64_integer_arithmetic_cnt : (int, int, int, CountOp) -> unit effect {es function aarch64_integer_arithmetic_cnt ('d, 'datasize, 'n, opcode) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : int = undefined; operand1 : bits('datasize) = aget_X(n); if opcode == CountOp_CLZ then result = CountLeadingZeroBits(operand1) else result = CountLeadingSignBits(operand1); @@ -2920,7 +2920,7 @@ val aarch64_integer_arithmetic_addsub_carry : (int, int, int, int, bool, bool) - function aarch64_integer_arithmetic_addsub_carry ('d, 'datasize, 'm, 'n, setflags, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -3042,7 +3042,7 @@ val aarch64_integer_bitfield : forall ('datasize : Int). function aarch64_integer_bitfield ('R, 'S, 'd, datasize, extend, inzero, 'n, tmask, wmask) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); dst : bits('datasize) = if inzero then Zeros() else aget_X(d); src : bits('datasize) = aget_X(n); bot : bits('datasize) = dst & ~(wmask) | ROR(src, R) & wmask; @@ -3068,7 +3068,7 @@ val aarch64_integer_shift_variable : (int, int, int, int, ShiftType) -> unit eff function aarch64_integer_shift_variable ('d, 'datasize, 'm, 'n, shift_type) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand2 : bits('datasize) = aget_X(m); result = ShiftReg(n, shift_type, UInt(operand2) % datasize); @@ -3091,7 +3091,7 @@ val aarch64_integer_logical_shiftedreg : (int, int, bool, int, int, LogicalOp, b function aarch64_integer_logical_shiftedreg ('d, 'datasize, invert, 'm, 'n, op, setflags, 'shift_amount, shift_type) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = ShiftReg(m, shift_type, shift_amount); if invert then operand2 = ~(operand2) else (); @@ -3109,7 +3109,7 @@ val aarch64_integer_arithmetic_addsub_shiftedreg : (int, int, int, int, bool, in function aarch64_integer_arithmetic_addsub_shiftedreg ('d, 'datasize, 'm, 'n, setflags, 'shift_amount, shift_type, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = ShiftReg(m, shift_type, shift_amount); @@ -3244,7 +3244,7 @@ val aarch64_integer_logical_immediate : forall ('datasize : Int). function aarch64_integer_logical_immediate ('d, datasize, imm, 'n, op, setflags) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = imm; @@ -3262,7 +3262,7 @@ val aarch64_integer_arithmetic_addsub_immediate : forall ('datasize : Int). function aarch64_integer_arithmetic_addsub_immediate ('d, datasize, imm, 'n, setflags, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = if n == 31 then aget_SP() else aget_X(n); operand2 : bits('datasize) = imm; @@ -3281,7 +3281,7 @@ val aarch64_integer_arithmetic_addsub_extendedreg : (int, int, ExtendType, int, function aarch64_integer_arithmetic_addsub_extendedreg ('d, 'datasize, extend_type, 'm, 'n, setflags, 'shift, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = if n == 31 then aget_SP() else aget_X(n); operand2 : bits('datasize) = ExtendReg(m, extend_type, shift); @@ -4871,7 +4871,7 @@ val aarch64_integer_conditional_select : (bits(4), int, int, bool, bool, int, in function aarch64_integer_conditional_select (condition, 'd, 'datasize, else_inc, else_inv, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -4901,7 +4901,7 @@ val aarch64_integer_conditional_compare_register : (bits(4), int, bits(4), int, function aarch64_integer_conditional_compare_register (condition, 'datasize, flags__arg, 'm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = aget_X(m); @@ -4935,7 +4935,7 @@ val aarch64_integer_conditional_compare_immediate : forall ('datasize : Int). function aarch64_integer_conditional_compare_immediate (condition, datasize, flags__arg, imm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; operand1 : bits('datasize) = aget_X(n); operand2 : bits('datasize) = imm; @@ -6906,7 +6906,7 @@ val aarch64_branch_conditional_test : (int, bits(1), int, bits(64), int) -> unit function aarch64_branch_conditional_test ('bit_pos, bit_val, 'datasize, offset, 't) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand : bits('datasize) = aget_X(t); if [operand[bit_pos]] == bit_val then BranchTo(aget_PC() + offset, BranchType_JMP) else () } @@ -6940,7 +6940,7 @@ val aarch64_branch_conditional_compare : (int, bool, bits(64), int) -> unit effe function aarch64_branch_conditional_compare ('datasize, iszero, offset, 't) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); operand1 : bits('datasize) = aget_X(t); if IsZero(operand1) == iszero then BranchTo(aget_PC() + offset, BranchType_JMP) else () } @@ -8048,7 +8048,7 @@ val aarch64_float_move_fp_select : (bits(4), int, int, int, int) -> unit effect function aarch64_float_move_fp_select (condition, 'd, 'datasize, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = if ConditionHolds(condition) then aget_V(n) else aget_V(m); aset_V(d, result) @@ -8059,7 +8059,7 @@ val aarch64_float_move_fp_imm : forall ('datasize : Int). function aarch64_float_move_fp_imm ('d, datasize, imm) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); aset_V(d, imm) } @@ -8136,7 +8136,7 @@ val aarch64_float_compare_uncond : (bool, int, int, int, bool) -> unit effect {e function aarch64_float_compare_uncond (cmp_with_zero, 'datasize, 'm, 'n, signal_all_nans) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); operand2 : bits('datasize) = if cmp_with_zero then FPZero(0b0) else aget_V(m); @@ -8147,7 +8147,7 @@ val aarch64_float_compare_cond : (bits(4), int, bits(4), int, int, bool) -> unit function aarch64_float_compare_cond (condition, 'datasize, flags__arg, 'm, 'n, signal_all_nans) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); flags = flags__arg; CheckFPAdvSIMDEnabled64(); operand1 : bits('datasize) = aget_V(n); @@ -8160,7 +8160,7 @@ val aarch64_float_arithmetic_unary : (int, int, FPUnaryOp, int) -> unit effect { function aarch64_float_arithmetic_unary ('d, 'datasize, fpop, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand : bits('datasize) = aget_V(n); @@ -8177,7 +8177,7 @@ val aarch64_float_arithmetic_round : (int, int, bool, int, FPRounding) -> unit e function aarch64_float_arithmetic_round ('d, 'datasize, exact, 'n, rounding) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand : bits('datasize) = aget_V(n); @@ -8189,7 +8189,7 @@ val aarch64_float_arithmetic_mul_product : (int, int, int, int, bool) -> unit ef function aarch64_float_arithmetic_mul_product ('d, 'datasize, 'm, 'n, negated) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -8203,7 +8203,7 @@ val aarch64_float_arithmetic_mul_addsub : (int, int, int, int, int, bool, bool) function aarch64_float_arithmetic_mul_addsub ('a, 'd, 'datasize, 'm, 'n, op1_neg, opa_neg) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operanda : bits('datasize) = aget_V(a); @@ -8219,7 +8219,7 @@ val aarch64_float_arithmetic_maxmin : (int, int, int, int, FPMaxMinOp) -> unit e function aarch64_float_arithmetic_maxmin ('d, 'datasize, 'm, 'n, operation) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -8237,7 +8237,7 @@ val aarch64_float_arithmetic_div : (int, int, int, int) -> unit effect {escape, function aarch64_float_arithmetic_div ('d, 'datasize, 'm, 'n) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -8250,7 +8250,7 @@ val aarch64_float_arithmetic_addsub : (int, int, int, int, bool) -> unit effect function aarch64_float_arithmetic_addsub ('d, 'datasize, 'm, 'n, sub_op) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); result : bits('datasize) = undefined; operand1 : bits('datasize) = aget_V(n); @@ -8535,7 +8535,7 @@ function aarch64_memory_vector_single_nowb (datasize, esize, index, m, memop, n, element : bits('esize) = undefined; s : int = undefined; let 'ebytes : {'n, true. atom('n)} = ex_int(esize / 8); - assert(constraint(8 * 'ebytes = 'esize)); + assert(constraint(8 * 'ebytes == 'esize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -8579,7 +8579,7 @@ function aarch64_memory_vector_multiple_nowb (datasize, elements, esize, m, memo s : int = undefined; tt : int = undefined; let 'ebytes = ex_int(esize / 8); - assert(constraint(8 * 'ebytes = 'esize)); + assert(constraint(8 * 'ebytes == 'esize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -8609,7 +8609,7 @@ val aarch64_memory_single_simdfp_register : (AccType, int, ExtendType, int, MemO function aarch64_memory_single_simdfp_register (acctype, 'datasize, extend_type, 'm, memop, 'n, postindex, 'shift, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); offset : bits(64) = ExtendReg(m, extend_type, shift); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; @@ -8639,7 +8639,7 @@ val aarch64_memory_single_simdfp_immediate_signed_postidx : (AccType, int, MemOp function aarch64_memory_single_simdfp_immediate_signed_postidx (acctype, 'datasize, memop, 'n, offset, postindex, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -8668,7 +8668,7 @@ val aarch64_memory_single_simdfp_immediate_signed_offset_normal : (AccType, int, function aarch64_memory_single_simdfp_immediate_signed_offset_normal (acctype, 'datasize, memop, 'n, offset, postindex, 't, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -8701,7 +8701,7 @@ function aarch64_memory_ordered (acctype, datasize, memop, n, regsize, t) = { address : bits(64) = undefined; data : bits('datasize) = undefined; let 'dbytes = ex_int(datasize / 8); - assert(constraint(8 * 'dbytes = 'datasize)); + assert(constraint(8 * 'dbytes == 'datasize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -8742,7 +8742,7 @@ function aarch64_memory_orderedrcpc (acctype, datasize, n, regsize, t) = { address : bits(64) = undefined; data : bits('datasize) = undefined; let 'dbytes = ex_int(datasize / 8); - assert(constraint(8 * 'dbytes = 'datasize)); + assert(constraint(8 * 'dbytes == 'datasize)); if n == 31 then { CheckSPAlignment(); address = aget_SP() @@ -8821,7 +8821,7 @@ function aarch64_memory_atomicops_swp ('datasize, ldacctype, 'n, 'regsize, 's, s assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; if n == 31 then { @@ -8837,7 +8837,7 @@ val aarch64_memory_atomicops_st : (int, AccType, int, MemAtomicOp, int, AccType) function aarch64_memory_atomicops_st ('datasize, ldacctype, 'n, op, 's, stacctype) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; value_name : bits('datasize) = undefined; data : bits('datasize) = undefined; @@ -8867,7 +8867,7 @@ function aarch64_memory_atomicops_ld ('datasize, ldacctype, 'n, op, 'regsize, 's assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; value_name : bits('datasize) = undefined; data : bits('datasize) = undefined; @@ -8898,7 +8898,7 @@ function aarch64_memory_atomicops_cas_single ('datasize, ldacctype, 'n, 'regsize assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; comparevalue : bits('datasize) = undefined; newvalue : bits('datasize) = undefined; @@ -8920,7 +8920,7 @@ function aarch64_memory_atomicops_cas_pair ('datasize, ldacctype, 'n, 'regsize, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; comparevalue : bits(2 * 'datasize) = undefined; newvalue : bits(2 * 'datasize) = undefined; @@ -9201,7 +9201,7 @@ function aarch64_memory_single_general_register (acctype, 'datasize, extend_type assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; offset : bits(64) = ExtendReg(m, extend_type, shift); address : bits(64) = undefined; @@ -9257,7 +9257,7 @@ function aarch64_memory_single_general_immediate_unsigned (acctype, 'datasize, m assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -9312,7 +9312,7 @@ function aarch64_memory_single_general_immediate_signed_postidx (acctype, 'datas assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -9399,7 +9399,7 @@ function aarch64_memory_single_general_immediate_signed_offset_unpriv (acctype, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -9454,7 +9454,7 @@ function aarch64_memory_single_general_immediate_signed_offset_normal (acctype, assert(constraint('regsize >= 0), "regsize constraint"); let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data : bits('datasize) = undefined; @@ -9508,7 +9508,7 @@ val aarch64_memory_pair_simdfp_postidx : forall ('datasize : Int). function aarch64_memory_pair_simdfp_postidx (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -9559,7 +9559,7 @@ val aarch64_memory_pair_simdfp_noalloc : forall ('datasize : Int). function aarch64_memory_pair_simdfp_noalloc (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); CheckFPAdvSIMDEnabled64(); address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -9610,7 +9610,7 @@ val aarch64_memory_pair_general_postidx : forall ('datasize : Int). function aarch64_memory_pair_general_postidx (acctype, datasize, memop, n, offset, postindex, signed, t, t2, wback__arg) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); wback = wback__arg; address : bits(64) = undefined; data1 : bits('datasize) = undefined; @@ -9690,7 +9690,7 @@ val aarch64_memory_pair_general_noalloc : forall ('datasize : Int). function aarch64_memory_pair_general_noalloc (acctype, datasize, memop, n, offset, postindex, t, t2, wback) = let 'dbytes = ex_int(datasize / 8) in { assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data1 : bits('datasize) = undefined; data2 : bits('datasize) = undefined; @@ -9745,7 +9745,7 @@ function aarch64_memory_exclusive_single (acctype, datasize, elsize, memop, n, p let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); assert(constraint(- 'elsize + 'datasize >= 0 & 'elsize >= 0)); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; rt_unknown : bool = false; @@ -9792,7 +9792,7 @@ function aarch64_memory_exclusive_single (acctype, datasize, elsize, memop, n, p MemOp_STORE => { if rt_unknown then data = undefined else if pair then let 'v = ex_int(datasize / 2) in { - assert(constraint(2 * 'v = 'datasize)); + assert(constraint(2 * 'v == 'datasize)); el1 : bits('v) = aget_X(t); el2 : bits('v) = aget_X(t2); data = if BigEndian() then el1 @ el2 else el2 @ el1 @@ -9858,7 +9858,7 @@ function aarch64_memory_exclusive_pair (acctype, datasize, elsize, memop, n, pai let 'dbytes = ex_int(datasize / 8); assert(constraint('datasize in {8, 16, 32, 64, 128}), "datasize constraint"); assert(constraint(- 'elsize + 'datasize >= 0 & 'elsize >= 0), "datasize constraint"); - assert(constraint(8 * 'dbytes = 'datasize), "dbytes constraint"); + assert(constraint(8 * 'dbytes == 'datasize), "dbytes constraint"); address : bits(64) = undefined; data : bits('datasize) = undefined; rt_unknown : bool = false; @@ -9905,7 +9905,7 @@ function aarch64_memory_exclusive_pair (acctype, datasize, elsize, memop, n, pai MemOp_STORE => { if rt_unknown then data = undefined else if pair then let 'v = ex_int(datasize / 2) in { - assert(constraint(2 * 'v = 'datasize)); + assert(constraint(2 * 'v == 'datasize)); el1 : bits('v) = aget_X(t); el2 : bits('v) = aget_X(t2); data = if BigEndian() then el1 @ el2 else el2 @ el1 |
