public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-8091] rs6000: Fix unpack for no-direct-move (PR103623)
@ 2022-04-11 21:02 Segher Boessenkool
  0 siblings, 0 replies; only message in thread
From: Segher Boessenkool @ 2022-04-11 21:02 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:0508f0b810985f4a8543ce44701ec7330ef29796

commit r12-8091-g0508f0b810985f4a8543ce44701ec7330ef29796
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Mon Apr 11 15:43:38 2022 +0000

    rs6000: Fix unpack for no-direct-move (PR103623)
    
    The _dm alternative works fine for soft-float, but the _nodm variant
    pattern is missing that alternative.  So, let's add that.
    
    There probably should be an r,r,i alternative as well (or we can make it
    rm,r,i), but that is for later.
    
    2022-04-11  Segher Boessenkool  <segher@kernel.crashing.org>
    
            PR target/105213
            PR target/103623
            * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.

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

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index fdfbc6566a5..f05b8358ba0 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -14580,10 +14580,10 @@
   [(set_attr "type" "fp,fpstore,mtvsr,mfvsr,store")])
 
 (define_insn_and_split "unpack<mode>_nodm"
-  [(set (match_operand:<FP128_64> 0 "nonimmediate_operand" "=d,m")
+  [(set (match_operand:<FP128_64> 0 "nonimmediate_operand" "=d,m,m")
 	(unspec:<FP128_64>
-	 [(match_operand:FMOVE128 1 "register_operand" "d,d")
-	  (match_operand:QI 2 "const_0_to_1_operand" "i,i")]
+	 [(match_operand:FMOVE128 1 "register_operand" "d,d,r")
+	  (match_operand:QI 2 "const_0_to_1_operand" "i,i,i")]
 	 UNSPEC_UNPACK_128BIT))]
   "(!TARGET_POWERPC64 || !TARGET_DIRECT_MOVE) && FLOAT128_2REG_P (<MODE>mode)"
   "#"
@@ -14600,7 +14600,7 @@
 
   operands[3] = gen_rtx_REG (<FP128_64>mode, fp_regno);
 }
-  [(set_attr "type" "fp,fpstore")])
+  [(set_attr "type" "fp,fpstore,store")])
 
 (define_insn_and_split "pack<mode>"
   [(set (match_operand:FMOVE128 0 "register_operand" "=&d")


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-11 21:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-11 21:02 [gcc r12-8091] rs6000: Fix unpack for no-direct-move (PR103623) Segher Boessenkool

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).