diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2022-10-03 22:43:48 +0000 |
---|---|---|
committer | Segher Boessenkool <segher@kernel.crashing.org> | 2022-10-05 19:12:14 +0000 |
commit | c3d131531a23c71e09c032d6222d0b5ff0eb8162 (patch) | |
tree | 2e79628aac37eb4de950d547c06eec70be7fd419 /gcc/config/rs6000 | |
parent | 59110467908baf11d3c2100e29bdbf7090e11940 (diff) | |
download | gcc-c3d131531a23c71e09c032d6222d0b5ff0eb8162.zip gcc-c3d131531a23c71e09c032d6222d0b5ff0eb8162.tar.gz gcc-c3d131531a23c71e09c032d6222d0b5ff0eb8162.tar.bz2 |
rs6000: Remove "wD" from *vsx_extract_<mode>_store
We can use "n" instead of "wD" if we simply test the value of the
integer constant directly.
2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
"wD" constraint.
Diffstat (limited to 'gcc/config/rs6000')
-rw-r--r-- | gcc/config/rs6000/vsx.md | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index e226a93..79a759b 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -3466,8 +3466,9 @@ [(set (match_operand:<VEC_base> 0 "memory_operand" "=m,Z,wY") (vec_select:<VEC_base> (match_operand:VSX_D 1 "register_operand" "d,v,v") - (parallel [(match_operand:QI 2 "vsx_scalar_64bit" "wD,wD,wD")])))] - "VECTOR_MEM_VSX_P (<MODE>mode)" + (parallel [(match_operand:QI 2 "vsx_scalar_64bit" "n,n,n")])))] + "VECTOR_MEM_VSX_P (<MODE>mode) + && INTVAL (operands[2]) == (BYTES_BIG_ENDIAN ? 0 : 1)" "@ stfd%U0%X0 %1,%0 stxsdx %x1,%y0 |