rs6000: Add another Z to go with Y (PR87224)

Message ID e561827bbde4b9f3fa0ea7da8f4601d111f66505.1536937822.git.segher@kernel.crashing.org
State New
Headers show
Series
  • rs6000: Add another Z to go with Y (PR87224)
Related show

Commit Message

Segher Boessenkool Sept. 14, 2018, 3:20 p.m.
This is another case where we ICE because Y does not allow reg+reg, we
need Z for that.

Committing.


Segher


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.

---
 gcc/config/rs6000/rs6000.md | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
1.8.3.1

Comments

Segher Boessenkool Sept. 14, 2018, 4:03 p.m. | #1
On Fri, Sep 14, 2018 at 03:20:28PM +0000, Segher Boessenkool wrote:
> This is another case where we ICE because Y does not allow reg+reg, we

> need Z for that.


Backported to 8, too.


Segher


> 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.

Patch

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index e40dc42..b0889df 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -7455,13 +7455,13 @@  (define_insn "*mov<mode>_hardfloat64"
   [(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