diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2018-09-03 17:51:37 +0200 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2018-09-03 17:51:37 +0200 |
commit | 158985b1a59e33d6536cb570bb5fbc9b79c96034 (patch) | |
tree | 236dbe0e4087ae8dcce3001fdc7913f5430a9bf8 /gcc | |
parent | d4baef5be801769686d79735f08959c05555ff91 (diff) | |
download | gcc-158985b1a59e33d6536cb570bb5fbc9b79c96034.zip gcc-158985b1a59e33d6536cb570bb5fbc9b79c96034.tar.gz gcc-158985b1a59e33d6536cb570bb5fbc9b79c96034.tar.bz2 |
rs6000: lxsdux / stxsdux do not exist
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.
* 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.
From-SVN: r264064
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/vsx.md | 2 |
3 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 981e706..4b5669c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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. + 2018-09-03 Richard Biener <rguenther@suse.de> PR tree-optimization/87200 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 @@ 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 @@ 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 @@ "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")]) |