[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-17 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #16 from Segher Boessenkool  ---
(In reply to Jakub Jelinek from comment #15)
> Fixed.

Yes.  Thanks!

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Jakub Jelinek  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #15 from Jakub Jelinek  ---
Fixed.

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-17 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #14 from CVS Commits  ---
The releases/gcc-8 branch has been updated by Segher Boessenkool
:

https://gcc.gnu.org/g:550a13d7163a480aa6158bae54dfd080995884d9

commit r8-10515-g550a13d7163a480aa6158bae54dfd080995884d9
Author: Segher Boessenkool 
Date:   Fri Apr 24 13:33:14 2020 +

rs6000: Properly handle LE index munging in vec_shr (PR94710)

The PR shows the compiler crashing with -mvsx -mlittle -O0.  This turns
out to be caused by a failure to make of the higher bits in an index
endian conversion.

2020-04-24  Segher Boessenkool  

PR target/94710
* config/rs6000/vector.md (vec_shr_ for VEC_L): Correct
little
endian byteshift_val calculation.

(cherry picked from commit 9c725245beed2f056b67f5dc218fef6cb869c5f2)

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-17 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #13 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Segher Boessenkool
:

https://gcc.gnu.org/g:336b4100940a9db7825b96d450a21040ae11b7b9

commit r9-8915-g336b4100940a9db7825b96d450a21040ae11b7b9
Author: Segher Boessenkool 
Date:   Fri Apr 24 13:33:14 2020 +

rs6000: Properly handle LE index munging in vec_shr (PR94710)

The PR shows the compiler crashing with -mvsx -mlittle -O0.  This turns
out to be caused by a failure to make of the higher bits in an index
endian conversion.

2020-04-24  Segher Boessenkool  

PR target/94710
* config/rs6000/vector.md (vec_shr_ for VEC_L): Correct
little
endian byteshift_val calculation.

(cherry picked from commit 9c725245beed2f056b67f5dc218fef6cb869c5f2)

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #12 from Jakub Jelinek  ---
Worked around for 8.5 in r8-10491-gb3a45adc90bbbdf7a62e9ff301b32f43ba93cdad and
for 9.4+ by the above commit.

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-09-16 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #11 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
:

https://gcc.gnu.org/g:15e2cca37186c848d12f4a0bb9ebcb8be32ed9de

commit r9-8884-g15e2cca37186c848d12f4a0bb9ebcb8be32ed9de
Author: Jakub Jelinek 
Date:   Thu Apr 23 21:57:50 2020 +0200

Shortcut identity VEC_PERM expansion [PR94710]

This PR is about the rs6000 backend emitting wrong assembly
for whole vector shift by 0, and while I think it is desirable
to fix the backend, I don't see a point why the expander should
try to emit that, whole vector shift by 0 is identity, we can just
return the operand.

2020-04-23  Jakub Jelinek  

PR target/94710
* optabs.c (expand_vec_perm_const): For shift_amt const0_rtx
just return v2.

(cherry picked from commit f51be2fb8653f81092f8158a0f0527275f86603b)

[Bug target/94710] [8/9 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)

2020-04-24 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Segher Boessenkool  changed:

   What|Removed |Added

  Known to work||10.0
Summary|[8/9/10 Regression] |[8/9 Regression] Assembler
   |Assembler messages: Error:  |messages: Error: operand
   |operand out of range (4 is  |out of range (4 is not
   |not between 0 and 3)|between 0 and 3) (xxsldwi
   |(xxsldwi 0,32,33,4) |0,32,33,4)
  Known to fail|10.0|

--- Comment #10 from Segher Boessenkool  ---
Fixed on trunk (so far).