rs6000: Add another Z to go with Y (PR87224)
authorSegher Boessenkool <segher@kernel.crashing.org>
Fri, 14 Sep 2018 15:24:47 +0000 (17:24 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Fri, 14 Sep 2018 15:24:47 +0000 (17:24 +0200)
This is another case where we ICE because Y does not allow reg+reg, we
need Z for that.

PR target/87224
* config/rs6000/rs6000.md (*mov<mode>_hardfloat64): Add Z to the Y
alternatives.

From-SVN: r264316

gcc/ChangeLog
gcc/config/rs6000/rs6000.md

index 68612fe..d3d8287 100644 (file)
@@ -1,3 +1,9 @@
+2018-09-14  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       PR target/87224
+       * config/rs6000/rs6000.md (*mov<mode>_hardfloat64): Add Z to the Y
+       alternatives.
+
 2018-09-14  Sam Tebbs  <sam.tebbs@arm.com>
 
        PR target/85628
index e40dc42..b0889df 100644 (file)
   [(set (match_operand:FMOVE64 0 "nonimmediate_operand"
            "=m,           d,          d,          <f64_p9>,   wY,
              <f64_av>,    Z,          <f64_vsx>,  <f64_vsx>,  !r,
-             Y          r,          !r,         *c*l,       !r,
+             YZ,          r,          !r,         *c*l,       !r,
             *h,           r,          wg,         r,          <f64_dm>")
 
        (match_operand:FMOVE64 1 "input_operand"
             "d,           m,          d,          wY,         <f64_p9>,
              Z,           <f64_av>,   <f64_vsx>,  <zero_fp>,  <zero_fp>,
-             r,           Y         r,          r,          h,
+             r,           YZ,         r,          r,          h,
              0,           wg,         r,          <f64_dm>,   r"))]
 
   "TARGET_POWERPC64 && TARGET_HARD_FLOAT