Fix BIC macro assembler definition to be non-commutative (#66)
Without this patch, the macro assembler freely rearranges the registers passed for the BIC instruction to ensure the first source register is the same as the destination register, which it does because the instruction is considered to be commutative. However, the bit-clear instruction is non-commutative as it is the second source register which is negated, and so these should not be simply re-arranged without additional logic. Instead, define Bic to be non-commutative as part of VIXL_SVE_NONCOMM_ARITH_ZPZZ_LIST. Modify the tests for SVE predicated bit-clears accordingly.
Loading
Please register or sign in to comment