2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
commit4b9426aa0590d7761688e00e9da9393e228dd830
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Sep 2014 17:11:07 +0000 (23 17:11 +0000)
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Sep 2014 17:11:07 +0000 (23 17:11 +0000)
treeccabde2df6de7d1184bd037e76d38e61d0cadd9f
parent40110b5a507c6db23c146473e2de6c78c2fac3a0
2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (f32_vsx): New mode attributes to
refine the constraints used on 32/64-bit floating point moves.
(f32_av): Likewise.
(f64_vsx): Likewise.
(f64_dm): Likewise.
(f64_av): Likewise.
(BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
32/64-bit floating point moves.  Do not use wa, instead use ww/ws
for moves involving VSX registers.  Do not use constraints that
target VSX registers for decimal types.
(mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
(mov<mode>_hardfloat64, DFmode/DDmode): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215521 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.md