[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)
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)
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)
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)
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)
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)
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)
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).