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 <seg...@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 --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")]) -- 1.8.3.1