From da65928c1d160f7e9ba156c5f189bca40f0527d6 Mon Sep 17 00:00:00 2001 From: Ian Bolton Date: Thu, 2 May 2013 12:54:16 +0000 Subject: AArch64 fix for LDR/STR from/to S and D regs From-SVN: r198527 --- gcc/ChangeLog | 6 ++++++ 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 + * 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 + * config/aarch64/aarch64.md (*and_one_cmpl3_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" -- cgit v1.1