Hi Alejandro, + emit_move_insn (mask, + aarch64_simd_gen_const_vector_dup (<V_INT_EQUIV>mode, + HOST_WIDE_INT_M1U + << bits)); + + emit_insn (gen_and<v_int_equiv>3 (sign, arg2, mask));
Is there a reason to emit separate moves and then requiring the optimizer to combine them? The result of aarch64_simd_gen_const_vector_dup can be used directly in the gen_and for all supported floating point types. Cheers, Wilco