diff options
author | Ian Bolton <ian.bolton@arm.com> | 2013-05-02 12:54:16 +0000 |
---|---|---|
committer | Ian Bolton <ibolton@gcc.gnu.org> | 2013-05-02 12:54:16 +0000 |
commit | da65928c1d160f7e9ba156c5f189bca40f0527d6 (patch) | |
tree | 80a836b950789b44cfa99fc04a86b94d4bcc46ec /gcc | |
parent | add3c9653f4afdd353a546fa43fad17b3e2eda0a (diff) | |
download | gcc-da65928c1d160f7e9ba156c5f189bca40f0527d6.zip gcc-da65928c1d160f7e9ba156c5f189bca40f0527d6.tar.gz gcc-da65928c1d160f7e9ba156c5f189bca40f0527d6.tar.bz2 |
AArch64 fix for LDR/STR from/to S and D regs
From-SVN: r198527
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.md | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f1692c6..de05eeb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2013-05-02 Ian Bolton <ian.bolton@arm.com> + * config/aarch64/aarch64.md (movsi_aarch64): Only allow to/from + S reg when fp attribute set. + (movdi_aarch64): Only allow to/from D reg when fp attribute set. + +2013-05-02 Ian Bolton <ian.bolton@arm.com> + * config/aarch64/aarch64.md (*and_one_cmpl<mode>3_compare0): New pattern. (*and_one_cmplsi3_compare0_uxtw): Likewise. diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md index 50acdaaf..365bb23 100644 --- a/gcc/config/aarch64/aarch64.md +++ b/gcc/config/aarch64/aarch64.md @@ -825,7 +825,7 @@ fmov\\t%s0, %s1" [(set_attr "v8type" "move,alu,load1,load1,store1,store1,fmov,fmov,fmov") (set_attr "mode" "SI") - (set_attr "fp" "*,*,*,*,*,*,yes,yes,yes")] + (set_attr "fp" "*,*,*,yes,*,yes,yes,yes,yes")] ) (define_insn "*movdi_aarch64" @@ -850,7 +850,7 @@ movi\\t%d0, %1" [(set_attr "v8type" "move,move,move,alu,load1,load1,store1,store1,adr,adr,fmov,fmov,fmov,fmov") (set_attr "mode" "DI") - (set_attr "fp" "*,*,*,*,*,*,*,*,*,*,yes,yes,yes,yes")] + (set_attr "fp" "*,*,*,*,*,yes,*,yes,*,*,yes,yes,yes,yes")] ) (define_insn "insv_imm<mode>" |