From d7256bb835ab4fa75aa88924795a866dbf803a6f Mon Sep 17 00:00:00 2001 From: Kyrylo Tkachov Date: Tue, 10 Jun 2014 16:05:17 +0000 Subject: [PATCH] [AArch64] Fix some reg-to-reg move scheduler types. * config/aarch64/aarch64-simd.md (move_lo_quad_): Change second alternative type to f_mcr. * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th and 12th alternatives' types to f_mcr and f_mrc. (*movdi_aarch64): Same for 12th and 13th alternatives. (*movsf_aarch64): Change 9th alternatives' type to mov_reg. (aarch64_movtilow_tilow): Change type to fmov. From-SVN: r211418 --- gcc/ChangeLog | 10 ++++++++++ gcc/config/aarch64/aarch64-simd.md | 2 +- gcc/config/aarch64/aarch64.md | 8 ++++---- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 760cdae52379..839cb0d6ab11 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2014-06-10 Kyrylo Tkachov + + * config/aarch64/aarch64-simd.md (move_lo_quad_): + Change second alternative type to f_mcr. + * config/aarch64/aarch64.md (*movsi_aarch64): Change 11th + and 12th alternatives' types to f_mcr and f_mrc. + (*movdi_aarch64): Same for 12th and 13th alternatives. + (*movsf_aarch64): Change 9th alternatives' type to mov_reg. + (aarch64_movtilow_tilow): Change type to fmov. + 2014-06-10 Jiong Wang * config/aarch64/aarch64.c (aarch64_save_or_restore_fprs) diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 8c840f50dfe4..42bfd3ee6184 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -954,7 +954,7 @@ dup\\t%d0, %1.d[0] fmov\\t%d0, %1 dup\\t%d0, %1" - [(set_attr "type" "neon_dup,fmov,neon_dup") + [(set_attr "type" "neon_dup,f_mcr,neon_dup") (set_attr "simd" "yes,*,yes") (set_attr "fp" "*,yes,*") (set_attr "length" "4")] diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 661d784b93e6..662d26aa4076 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -689,7 +689,7 @@ fmov\\t%w0, %s1 fmov\\t%s0, %s1" [(set_attr "type" "mov_reg,mov_reg,mov_reg,mov_imm,load1,load1,store1,store1,\ - adr,adr,fmov,fmov,fmov") + adr,adr,f_mcr,f_mrc,fmov") (set_attr "fp" "*,*,*,*,*,yes,*,yes,*,*,yes,yes,yes")] ) @@ -714,7 +714,7 @@ fmov\\t%d0, %d1 movi\\t%d0, %1" [(set_attr "type" "mov_reg,mov_reg,mov_reg,mov_imm,load1,load1,store1,store1,\ - adr,adr,fmov,fmov,fmov,fmov") + adr,adr,f_mcr,f_mrc,fmov,fmov") (set_attr "fp" "*,*,*,*,*,yes,*,yes,*,*,yes,yes,yes,*") (set_attr "simd" "*,*,*,*,*,*,*,*,*,*,*,*,*,yes")] ) @@ -809,7 +809,7 @@ str\\t%w1, %0 mov\\t%w0, %w1" [(set_attr "type" "f_mcr,f_mrc,fmov,fconsts,\ - f_loads,f_stores,f_loads,f_stores,fmov")] + f_loads,f_stores,f_loads,f_stores,mov_reg")] ) (define_insn "*movdf_aarch64" @@ -3679,7 +3679,7 @@ (truncate:DI (match_operand:TI 1 "register_operand" "w"))))] "reload_completed || reload_in_progress" "fmov\\t%d0, %d1" - [(set_attr "type" "f_mcr") + [(set_attr "type" "fmov") (set_attr "length" "4") ]) -- 2.47.3