]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.md (f32_vsx): New mode attributes to refine the constraints used on 32/64...
authorMichael Meissner <meissner@gcc.gnu.org>
Tue, 23 Sep 2014 17:32:37 +0000 (17:32 +0000)
committerMichael Meissner <meissner@gcc.gnu.org>
Tue, 23 Sep 2014 17:32:37 +0000 (17:32 +0000)
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.

From-SVN: r215524

gcc/ChangeLog

index 061e79fc0fc9237ec327812f866b964c672ea11d..ec65065d71208c1a62c68336dad523138e97558d 100644 (file)
@@ -1,3 +1,25 @@
+2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       Back port from trunk:
+       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.
+
 2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>
 
        Back port from trunk: