public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
@ 2020-04-22 10:18 zsojka at seznam dot cz
  2020-04-22 11:11 ` [Bug target/94710] " rguenth at gcc dot gnu.org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: zsojka at seznam dot cz @ 2020-04-22 10:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

            Bug ID: 94710
           Summary: [8/9/10 Regression] Assembler messages: Error: operand
                    out of range (4 is not between 0 and 3) (xxsldwi
                    0,32,33,4)
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: assemble-failure
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
              Host: x86_64-pc-linux-gnu
            Target: powerpc64le-unknown-linux-gnu

Created attachment 48350
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48350&action=edit
reduced testcase

Compiler output:
$ powerpc64le-unknown-linux-gnu-gcc testcase.c
/tmp/ccL15VfZ.s: Assembler messages:
/tmp/ccL15VfZ.s:19: Error: operand out of range (4 is not between 0 and 3)

$ powerpc64le-unknown-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-powerpc64le/bin/powerpc64le-unknown-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r10-7838-20200420212053-g8e841bd419f-checking-yes-rtl-df-extra-powerpc64le/bin/../libexec/gcc/powerpc64le-unknown-linux-gnu/10.0.1/lto-wrapper
Target: powerpc64le-unknown-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra
--with-cloog --with-ppl --with-isl
--with-sysroot=/usr/powerpc64le-unknown-linux-gnu --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=powerpc64le-unknown-linux-gnu
--with-ld=/usr/bin/powerpc64le-unknown-linux-gnu-ld
--with-as=/usr/bin/powerpc64le-unknown-linux-gnu-as --disable-libsanitizer
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-r10-7838-20200420212053-g8e841bd419f-checking-yes-rtl-df-extra-powerpc64le
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.0.1 20200421 (experimental) (GCC)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
@ 2020-04-22 11:11 ` rguenth at gcc dot gnu.org
  2020-04-22 12:20 ` marxin at gcc dot gnu.org
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-04-22 11:11 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |8.5

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
  2020-04-22 11:11 ` [Bug target/94710] " rguenth at gcc dot gnu.org
@ 2020-04-22 12:20 ` marxin at gcc dot gnu.org
  2020-04-22 15:29 ` jakub at gcc dot gnu.org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: marxin at gcc dot gnu.org @ 2020-04-22 12:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-04-22
                 CC|                            |krebbel at gcc dot gnu.org,
                   |                            |marxin at gcc dot gnu.org,
                   |                            |segher at gcc dot gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed with:

$ ~/BIG/bin/ppc64le/dev/shm/buildbot/install/gcc/bin/ppc64le-linux-gnu-gcc
pr94710.c --save-temps
pr94710.s: Assembler messages:
pr94710.s:17: Error: operand out of range (4 is not between 0 and 3)

.LCFI1:
        vspltisw 1,0
        vspltisw 0,0
        xxsldwi 0,32,33,4 <---- THIS IS THE INSTRUCTION
        xxlor 34,0,0
        addi 1,31,48

$ /usr/bin/powerpc64le-suse-linux-as --version
GNU assembler (GNU Binutils; openSUSE Tumbleweed) 2.34.0.20200325-1

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
  2020-04-22 11:11 ` [Bug target/94710] " rguenth at gcc dot gnu.org
  2020-04-22 12:20 ` marxin at gcc dot gnu.org
@ 2020-04-22 15:29 ` jakub at gcc dot gnu.org
  2020-04-22 15:52 ` jakub at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22 15:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Started with r8-5623-gf151c9e1414c00e300c9385bc9512c3d9a481296

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (2 preceding siblings ...)
  2020-04-22 15:29 ` jakub at gcc dot gnu.org
@ 2020-04-22 15:52 ` jakub at gcc dot gnu.org
  2020-04-22 16:36 ` segher at gcc dot gnu.org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22 15:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The first arg doesn't have to be constant:

typedef int __attribute__ ((__vector_size__ (16))) V;
typedef long __attribute__ ((__vector_size__ (16))) W;

void
foo (W *x)
{
  *x = __builtin_shuffle (*x, (W){}, (W)(V){0, 0, -15, 0});
}

__builtin_shuffle is documented:
"The elements of MASK are considered modulo N in the single-operand case and
modulo 2*N in the two-operand case."
and as there are two operands, that means modulo 4, so the result should be
the same as
  *x = __builtin_shuffle (*x, (W){}, (W){0, 1});
I think and thus a nop.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (3 preceding siblings ...)
  2020-04-22 15:52 ` jakub at gcc dot gnu.org
@ 2020-04-22 16:36 ` segher at gcc dot gnu.org
  2020-04-22 17:12 ` jakub at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: segher at gcc dot gnu.org @ 2020-04-22 16:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Segher Boessenkool <segher at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |segher at gcc dot gnu.org

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (4 preceding siblings ...)
  2020-04-22 16:36 ` segher at gcc dot gnu.org
@ 2020-04-22 17:12 ` jakub at gcc dot gnu.org
  2020-04-23  9:54 ` jakub at gcc dot gnu.org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-22 17:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I guess there are two issues, one is a backend issue that vec_shr_optab
expander doesn't handle shift amount 0 correctly, and another in the
middle-end, that it shouldn't be dumb and for shift_amt == const0_rtx should
just return v0.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (5 preceding siblings ...)
  2020-04-22 17:12 ` jakub at gcc dot gnu.org
@ 2020-04-23  9:54 ` jakub at gcc dot gnu.org
  2020-04-23 19:59 ` cvs-commit at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-04-23  9:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
For the middle-end side, I think we can do:
2020-04-23  Jakub Jelinek  <jakub@redhat.com>

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

--- gcc/optabs.c.jj     2020-04-17 14:18:44.380437703 +0200
+++ gcc/optabs.c        2020-04-23 11:50:07.931780323 +0200
@@ -5627,6 +5627,8 @@ expand_vec_perm_const (machine_mode mode
       if (shift_amt)
        {
          class expand_operand ops[3];
+         if (shift_amt == const0_rtx)
+           return v2;
          if (shift_code != CODE_FOR_nothing)
            {
              create_output_operand (&ops[0], target, mode);

Though, the backend shouldn't rely on the middle-end doing this optimization.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (6 preceding siblings ...)
  2020-04-23  9:54 ` jakub at gcc dot gnu.org
@ 2020-04-23 19:59 ` cvs-commit at gcc dot gnu.org
  2020-04-24  8:50 ` segher at gcc dot gnu.org
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-23 19:59 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:

https://gcc.gnu.org/g:f51be2fb8653f81092f8158a0f0527275f86603b

commit r10-7924-gf51be2fb8653f81092f8158a0f0527275f86603b
Author: Jakub Jelinek <jakub@redhat.com>
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  <jakub@redhat.com>

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (7 preceding siblings ...)
  2020-04-23 19:59 ` cvs-commit at gcc dot gnu.org
@ 2020-04-24  8:50 ` segher at gcc dot gnu.org
  2020-04-24 13:34 ` segher at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: segher at gcc dot gnu.org @ 2020-04-24  8:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #7 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Needs -mvsx -mlittle -O0 to fail.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (8 preceding siblings ...)
  2020-04-24  8:50 ` segher at gcc dot gnu.org
@ 2020-04-24 13:34 ` segher at gcc dot gnu.org
  2020-04-24 18:56 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: segher at gcc dot gnu.org @ 2020-04-24 13:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #8 from Segher Boessenkool <segher at gcc dot gnu.org> ---
Patch is bootstrapping.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug target/94710] [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4)
  2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (9 preceding siblings ...)
  2020-04-24 13:34 ` segher at gcc dot gnu.org
@ 2020-04-24 18:56 ` cvs-commit at gcc dot gnu.org
  2020-04-24 19:06 ` [Bug target/94710] [8/9 " segher at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-04-24 18:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Segher Boessenkool <segher@gcc.gnu.org>:

https://gcc.gnu.org/g:9c725245beed2f056b67f5dc218fef6cb869c5f2

commit r10-7949-g9c725245beed2f056b67f5dc218fef6cb869c5f2
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Fri Apr 24 13:33:14 2020 +0000

    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  <segher@kernel.crashing.org>

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (10 preceding siblings ...)
  2020-04-24 18:56 ` cvs-commit at gcc dot gnu.org
@ 2020-04-24 19:06 ` segher at gcc dot gnu.org
  2020-09-16 19:20 ` cvs-commit at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: segher at gcc dot gnu.org @ 2020-04-24 19:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Segher Boessenkool <segher at gcc dot gnu.org> 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 <segher at gcc dot gnu.org> ---
Fixed on trunk (so far).

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (11 preceding siblings ...)
  2020-04-24 19:06 ` [Bug target/94710] [8/9 " segher at gcc dot gnu.org
@ 2020-09-16 19:20 ` cvs-commit at gcc dot gnu.org
  2020-09-17 17:36 ` jakub at gcc dot gnu.org
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-16 19:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
<jakub@gcc.gnu.org>:

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

commit r9-8884-g15e2cca37186c848d12f4a0bb9ebcb8be32ed9de
Author: Jakub Jelinek <jakub@redhat.com>
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  <jakub@redhat.com>

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

    (cherry picked from commit f51be2fb8653f81092f8158a0f0527275f86603b)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (12 preceding siblings ...)
  2020-09-16 19:20 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 17:36 ` jakub at gcc dot gnu.org
  2020-09-17 21:50 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-09-17 17:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Worked around for 8.5 in r8-10491-gb3a45adc90bbbdf7a62e9ff301b32f43ba93cdad and
for 9.4+ by the above commit.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (13 preceding siblings ...)
  2020-09-17 17:36 ` jakub at gcc dot gnu.org
@ 2020-09-17 21:50 ` cvs-commit at gcc dot gnu.org
  2020-09-17 21:52 ` cvs-commit at gcc dot gnu.org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-17 21:50 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Segher Boessenkool
<segher@gcc.gnu.org>:

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

commit r9-8915-g336b4100940a9db7825b96d450a21040ae11b7b9
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Fri Apr 24 13:33:14 2020 +0000

    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  <segher@kernel.crashing.org>

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

    (cherry picked from commit 9c725245beed2f056b67f5dc218fef6cb869c5f2)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (14 preceding siblings ...)
  2020-09-17 21:50 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 21:52 ` cvs-commit at gcc dot gnu.org
  2020-09-17 21:54 ` jakub at gcc dot gnu.org
  2020-09-17 21:55 ` segher at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-09-17 21:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #14 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-8 branch has been updated by Segher Boessenkool
<segher@gcc.gnu.org>:

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

commit r8-10515-g550a13d7163a480aa6158bae54dfd080995884d9
Author: Segher Boessenkool <segher@kernel.crashing.org>
Date:   Fri Apr 24 13:33:14 2020 +0000

    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  <segher@kernel.crashing.org>

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

    (cherry picked from commit 9c725245beed2f056b67f5dc218fef6cb869c5f2)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (15 preceding siblings ...)
  2020-09-17 21:52 ` cvs-commit at gcc dot gnu.org
@ 2020-09-17 21:54 ` jakub at gcc dot gnu.org
  2020-09-17 21:55 ` segher at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: jakub at gcc dot gnu.org @ 2020-09-17 21:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|ASSIGNED                    |RESOLVED

--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [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-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
                   ` (16 preceding siblings ...)
  2020-09-17 21:54 ` jakub at gcc dot gnu.org
@ 2020-09-17 21:55 ` segher at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: segher at gcc dot gnu.org @ 2020-09-17 21:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94710

--- Comment #16 from Segher Boessenkool <segher at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #15)
> Fixed.

Yes.  Thanks!

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2020-09-17 21:55 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-22 10:18 [Bug target/94710] New: [8/9/10 Regression] Assembler messages: Error: operand out of range (4 is not between 0 and 3) (xxsldwi 0,32,33,4) zsojka at seznam dot cz
2020-04-22 11:11 ` [Bug target/94710] " rguenth at gcc dot gnu.org
2020-04-22 12:20 ` marxin at gcc dot gnu.org
2020-04-22 15:29 ` jakub at gcc dot gnu.org
2020-04-22 15:52 ` jakub at gcc dot gnu.org
2020-04-22 16:36 ` segher at gcc dot gnu.org
2020-04-22 17:12 ` jakub at gcc dot gnu.org
2020-04-23  9:54 ` jakub at gcc dot gnu.org
2020-04-23 19:59 ` cvs-commit at gcc dot gnu.org
2020-04-24  8:50 ` segher at gcc dot gnu.org
2020-04-24 13:34 ` segher at gcc dot gnu.org
2020-04-24 18:56 ` cvs-commit at gcc dot gnu.org
2020-04-24 19:06 ` [Bug target/94710] [8/9 " segher at gcc dot gnu.org
2020-09-16 19:20 ` cvs-commit at gcc dot gnu.org
2020-09-17 17:36 ` jakub at gcc dot gnu.org
2020-09-17 21:50 ` cvs-commit at gcc dot gnu.org
2020-09-17 21:52 ` cvs-commit at gcc dot gnu.org
2020-09-17 21:54 ` jakub at gcc dot gnu.org
2020-09-17 21:55 ` segher at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).