public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
@ 2021-05-01  7:10 dcb314 at hotmail dot com
  2021-05-17 16:21 ` [Bug target/100369] " clyon at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: dcb314 at hotmail dot com @ 2021-05-01  7:10 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 100369
           Summary: crash after error in
                    gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For the source code file gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c,
gcc trunk says:

/home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h:6313:10:
error: lane -1 out of range 0 - 1
 6313 |   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
during RTL pass: expand
/home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h:
In function 'test_vgetq_lane_s64_before':
/home/pi/gcc/results.20210429/lib/gcc/arm-linux-gnueabihf/12.0.0/include/arm_neon.h:6313:10:
internal compiler error: in gen_neon_vget_lanev2di, at config/arm/neon.md:3372
0x1309813 gen_neon_vget_lanev2di(rtx_def*, rtx_def*, rtx_def*)
        ../../trunk/gcc/config/arm/neon.md:3372

The first error is good, but the internal compiler error isn't.
There might be a better way to handle a lane number out of range than crashing.

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

* [Bug target/100369] crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
  2021-05-01  7:10 [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c dcb314 at hotmail dot com
@ 2021-05-17 16:21 ` clyon at gcc dot gnu.org
  2021-05-17 16:34 ` dcb314 at hotmail dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: clyon at gcc dot gnu.org @ 2021-05-17 16:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Christophe Lyon <clyon at gcc dot gnu.org> ---
The trace you share contains arm-linux-gnueabihf, so it seems the target is
actually arm, instead of aarch64?

Anyway, I can see no such error in the automatic validations, see
https://gcc.gnu.org/pipermail/gcc-testresults/

Can you share details on how you get this error? (GCC configure options,
command-line used to compile the testcase)

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

* [Bug target/100369] crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
  2021-05-01  7:10 [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c dcb314 at hotmail dot com
  2021-05-17 16:21 ` [Bug target/100369] " clyon at gcc dot gnu.org
@ 2021-05-17 16:34 ` dcb314 at hotmail dot com
  2021-05-18  9:08 ` acoplan at gcc dot gnu.org
  2021-05-18  9:13 ` acoplan at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: dcb314 at hotmail dot com @ 2021-05-17 16:34 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from David Binderman <dcb314 at hotmail dot com> ---
(In reply to Christophe Lyon from comment #1)
> Can you share details on how you get this error? (GCC configure options,
> command-line used to compile the testcase)

configure is

CC="clang -Wall -Wextra" CXX="clang++ -Wall -Wextra" \
../trunk/configure --prefix=/home/pi/gcc/results.20210516 \
        --disable-multilib \
        --disable-werror \
        --with-pkgversion=$HASH \
        --enable-checking=yes \
        --enable-languages=c,c++,fortran \
        --with-cpu=cortex-a72 \
        --with-fpu=neon-fp-armv8 \
        --with-float=hard \
        --build=arm-linux-gnueabihf \
        --host=arm-linux-gnueabihf \
        --target=arm-linux-gnueabihf 

sed 's/-O2/-O3 -march=native/' < Makefile > Makefile.tmp
diff Makefile Makefile.tmp
mv Makefile.tmp Makefile

Host machine is a raspberry pi 3B+. It is entirely possible the configure
is not quite optimal, although it seems to work.

The command line I used is

$ /home/pi/gcc/results.20210516/bin/gcc -c
gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c

The bug still seems to occur in yesterday's compiler.

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

* [Bug target/100369] crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
  2021-05-01  7:10 [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c dcb314 at hotmail dot com
  2021-05-17 16:21 ` [Bug target/100369] " clyon at gcc dot gnu.org
  2021-05-17 16:34 ` dcb314 at hotmail dot com
@ 2021-05-18  9:08 ` acoplan at gcc dot gnu.org
  2021-05-18  9:13 ` acoplan at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-05-18  9:08 UTC (permalink / raw)
  To: gcc-bugs

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

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |12.0
                 CC|                            |acoplan at gcc dot gnu.org
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
           Keywords|                            |error-recovery
   Last reconfirmed|                            |2021-05-18

--- Comment #3 from Alex Coplan <acoplan at gcc dot gnu.org> ---
Confirmed. Here is a reduced testcase:

$ cat neon.c
#include <arm_neon.h>
int64x2_t v;
void f() { vgetq_lane_s64(v, 2); }
$ ./arm-eabi-gcc -c neon.c -march=armv8-a+simd
In file included from neon.c:1:
In function 'vgetq_lane_s64',
    inlined from 'f' at neon.c:3:12:
/home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h:6313:10:
error: lane 2 out of range 0 - 1
 6313 |   return (int64_t)__builtin_neon_vget_lanev2di (__a, __b);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
during RTL pass: expand
/home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h:
In function 'f':
/home/alecop01/toolchain/build-arm-eabi-armv8.1-m.main+mve.fp+fp.dp/install/lib/gcc/arm-eabi/12.0.0/include/arm_neon.h:6313:10:
internal compiler error: in gen_neon_vget_lanev2di, at config/arm/neon.md:3288
0x15f54df gen_neon_vget_lanev2di(rtx_def*, rtx_def*, rtx_def*)
        /home/alecop01/toolchain/src/gcc/gcc/config/arm/neon.md:3288
0x120c3e0 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*,
rtx_def*>(rtx_def*, rtx_def*, rtx_def*) const
        /home/alecop01/toolchain/src/gcc/gcc/recog.h:407
0x120c3e0 arm_expand_builtin_args
        /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3160
0x120c3e0 arm_expand_builtin_1
        /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3309
0x120d082 arm_expand_neon_builtin
        /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3389
0x120d082 arm_expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int)
        /home/alecop01/toolchain/src/gcc/gcc/config/arm/arm-builtins.c:3469
0x7ca04f expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int)
        /home/alecop01/toolchain/src/gcc/gcc/builtins.c:9753
0x94984d expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /home/alecop01/toolchain/src/gcc/gcc/expr.c:11405
0x94ad22 expand_expr_real(tree_node*, rtx_def*, machine_mode, expand_modifier,
rtx_def**, bool)
        /home/alecop01/toolchain/src/gcc/gcc/expr.c:8621
0x9538c7 store_expr(tree_node*, rtx_def*, int, bool, bool)
        /home/alecop01/toolchain/src/gcc/gcc/expr.c:5986
0x95554a expand_assignment(tree_node*, tree_node*, bool)
        /home/alecop01/toolchain/src/gcc/gcc/expr.c:5721
0x80123b expand_call_stmt
        /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:2841
0x80123b expand_gimple_stmt_1
        /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:3847
0x80123b expand_gimple_stmt
        /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:4011
0x80a339 expand_gimple_basic_block
        /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:6053
0x80b546 execute
        /home/alecop01/toolchain/src/gcc/gcc/cfgexpand.c:6737
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Here is a preprocessed testcase for testing with a cc1 (but not for the
testsuite):

typedef __simd128_int64_t int64x2_t;
int64x2_t v;
void f() { __builtin_neon_vget_lanev2di(v, 2); }

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

* [Bug target/100369] crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c
  2021-05-01  7:10 [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c dcb314 at hotmail dot com
                   ` (2 preceding siblings ...)
  2021-05-18  9:08 ` acoplan at gcc dot gnu.org
@ 2021-05-18  9:13 ` acoplan at gcc dot gnu.org
  3 siblings, 0 replies; 5+ messages in thread
From: acoplan at gcc dot gnu.org @ 2021-05-18  9:13 UTC (permalink / raw)
  To: gcc-bugs

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

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |10.3.0, 11.1.0, 9.3.0

--- Comment #4 from Alex Coplan <acoplan at gcc dot gnu.org> ---
I can reproduce it back to GCC 8 (not a regression).

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

end of thread, other threads:[~2021-05-18  9:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-01  7:10 [Bug target/100369] New: crash after error in gcc.target/aarch64/simd/vgetq_lane_s64_indices_1.c dcb314 at hotmail dot com
2021-05-17 16:21 ` [Bug target/100369] " clyon at gcc dot gnu.org
2021-05-17 16:34 ` dcb314 at hotmail dot com
2021-05-18  9:08 ` acoplan at gcc dot gnu.org
2021-05-18  9:13 ` acoplan 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).