gcc/contrib/mdcompact/tests/1.md

1.3 KiB

(define_insn_and_split "*movsi_aarch64" [(set (match_operand:SI 0 "nonimmediate_operand" "=r,k,r,r,r,r, r,w, m, m, r, r, r, w,r,w, w") (match_operand:SI 1 "aarch64_mov_operand" " r,r,k,M,n,Usv,m,m,rZ,w,Usw,Usa,Ush,rZ,w,w,Ds"))] "(register_operand (operands[0], SImode) || aarch64_reg_or_zero (operands[1], SImode))" "@ mov\t%w0, %w1 mov\t%w0, %w1 mov\t%w0, %w1 mov\t%w0, %1

  • return aarch64_output_sve_cnt_immediate ("cnt", "%x0", operands[1]); ldr\t%w0, %1 ldr\t%s0, %1 str\t%w1, %0 str\t%s1, %0 adrp\t%x0, %A1;ldr\t%w0, [%x0, %L1] adr\t%x0, %c1 adrp\t%x0, %A1 fmov\t%s0, %w1 fmov\t%w0, %s1 fmov\t%s0, %s1
  • return aarch64_output_scalar_simd_mov_immediate (operands[1], SImode);" "CONST_INT_P (operands[1]) && !aarch64_move_imm (INTVAL (operands[1]), SImode) && REG_P (operands[0]) && GP_REGNUM_P (REGNO (operands[0]))" [(const_int 0)] "{ aarch64_expand_mov_immediate (operands[0], operands[1]); DONE; }" [(set_attr "type" "mov_reg,mov_reg,mov_reg,mov_imm,mov_imm,mov_imm,load_4, load_4,store_4,store_4,load_4,adr,adr,f_mcr,f_mrc,fmov,neon_move") (set_attr "arch" ",,,,,sve,,fp,,fp,,,,fp,fp,fp,simd") (set_attr "length" "4,4,4,4,*, 4,4, 4,4, 4,8,4,4, 4, 4, 4, 4") ] )