diff mbox series

rs6000: lxsdux / stxsdux do not exist

Message ID b616b30869e5f268d7b41f01025ec4403546cef3.1535977503.git.segher@kernel.crashing.org
State New
Headers show
Series rs6000: lxsdux / stxsdux do not exist | expand

Commit Message

Segher Boessenkool Sept. 3, 2018, 3:46 p.m. UTC
Our md files refer to {l,st}xsd%U<n>x, but no {l,st}xsdux insns exist.
This patch removes the update forms.  All these use  constraint "Z"
which does not allow update form, so there is no practical difference.

Tested on powerpc64{,le}-linux; committing.


Segher


2018-09-03  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/rs6000.md (*mov<mode>_hardfloat32): Remove %U from the
	lxsdx and stxsdx alternatives.
	(*mov<mode>_hardfloat64): Ditto.
	* config/rs6000/vsx.md (*vsx_extract_<mode>_store): Ditto.

---
 gcc/config/rs6000/rs6000.md | 8 ++++----
 gcc/config/rs6000/vsx.md    | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index c4ef878..e40dc42 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -7405,8 +7405,8 @@  (define_insn "*mov<mode>_hardfloat32"
    fmr %0,%1
    lxsd %0,%1
    stxsd %1,%0
-   lxsd%U1x %x0,%y1
-   stxsd%U0x %x1,%y0
+   lxsdx %x0,%y1
+   stxsdx %x1,%y0
    xxlor %x0,%x1,%x1
    xxlxor %x0,%x0,%x0
    #
@@ -7473,8 +7473,8 @@  (define_insn "*mov<mode>_hardfloat64"
    fmr %0,%1
    lxsd %0,%1
    stxsd %1,%0
-   lxsd%U1x %x0,%y1
-   stxsd%U0x %x1,%y0
+   lxsdx %x0,%y1
+   stxsdx %x1,%y0
    xxlor %x0,%x1,%x1
    xxlxor %x0,%x0,%x0
    li %0,0
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md
index 89e193a..e296be9 100644
--- a/gcc/config/rs6000/vsx.md
+++ b/gcc/config/rs6000/vsx.md
@@ -3265,7 +3265,7 @@  (define_insn "*vsx_extract_<mode>_store"
   "VECTOR_MEM_VSX_P (<MODE>mode)"
   "@
    stfd%U0%X0 %1,%0
-   stxsd%U0x %x1,%y0
+   stxsdx %x1,%y0
    stxsd %1,%0"
   [(set_attr "type" "fpstore")])