"(register_operand (operands[0], <MODE>mode)
|| aarch64_reg_or_zero (operands[1], <MODE>mode))"
{@ [cons: =0, 1; attrs: type, arch]
+ [w, Z ; neon_move , simd ] movi\t%0.<Vbtype>, #0
[r, r ; mov_reg , * ] mov\t%w0, %w1
[r, M ; mov_imm , * ] mov\t%w0, %1
[w, D<hq>; neon_move , simd ] << aarch64_output_scalar_simd_mov_immediate (operands[1], <MODE>mode);
"(register_operand (operands[0], SImode)
|| aarch64_reg_or_zero (operands[1], SImode))"
{@ [cons: =0, 1; attrs: type, arch, length]
+ [w , Z ; neon_move, simd, 4] movi\t%0.2d, #0
[r k, r ; mov_reg , * , 4] mov\t%w0, %w1
[r , k ; mov_reg , * , 4] ^
[r , M ; mov_imm , * , 4] mov\t%w0, %1
"(register_operand (operands[0], DImode)
|| aarch64_reg_or_zero (operands[1], DImode))"
{@ [cons: =0, 1; attrs: type, arch, length]
+ [w, Z ; neon_move, simd, 4] movi\t%0.2d, #0
[r, r ; mov_reg , * , 4] mov\t%x0, %x1
[k, r ; mov_reg , * , 4] mov\t%0, %x1
[r, k ; mov_reg , * , 4] mov\t%x0, %1
/* { dg-final { scan-assembler-times "mov\tx\[0-9\]+, 25838523252736" 1 } } */
/* { dg-final { scan-assembler-times "movk\tx\[0-9\]+, 0x40fe, lsl 48" 1 } } */
/* { dg-final { scan-assembler-times "mov\tx\[0-9\]+, -9223372036854775808" 0 } } */
-/* { dg-final { scan-assembler-times {movi\tv[0-9]+.2d, #0} 1 } } */
+/* { dg-final { scan-assembler-times {movi\tv[0-9]+.4s, #?0} 1 } } */
/* { dg-final { scan-assembler-times {fneg\tv[0-9]+.2d, v[0-9]+.2d} 1 } } */
/* { dg-final { scan-assembler-times "fmov\td\[0-9\]+, x\[0-9\]+" 1 } } */