public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/114069] New: Type punning RISC-V vectors causes ICE at -O1
@ 2024-02-23 7:24 zingaburga+gcc at hotmail dot com
2024-02-24 2:12 ` [Bug middle-end/114069] Type punning RISC-V and SVE " pinskia at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: zingaburga+gcc at hotmail dot com @ 2024-02-23 7:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114069
Bug ID: 114069
Summary: Type punning RISC-V vectors causes ICE at -O1
Product: gcc
Version: 13.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: zingaburga+gcc at hotmail dot com
Target Milestone: ---
Type punning a RISC-V vector causes ICE under RV64 GCC 13.x/trunk:
https://godbolt.org/z/sajcb3T7z
Seems to work with -O0 instead of -O1, on GCC 13.x
Code:
#include <riscv_vector.h>
vbool8_t f(vuint8m1_t s) {
// unavailable in GCC 13, available in trunk
//return __riscv_vreinterpret_v_u8m1_b8(s);
// causes ICE in GCC 13 + trunk
return *reinterpret_cast<vbool8_t*>(&s);
// this seems to work without issue
vuint8mf8_t f = __riscv_vlmul_trunc_v_u8m1_u8mf8(s);
return *reinterpret_cast<vbool8_t*>(&f);
}
Compiler options: -march=rv64gcv -O1
Output:
during RTL pass: expand
<source>: In function 'vbool8_t f(vuint8m1_t)':
<source>:8:47: internal compiler error: in convert_move, at expr.cc:219
8 | return *reinterpret_cast<vbool8_t*>(&s);
| ^
0x7fb7d5029e3f __libc_start_main
???:0
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
The bug is not reproducible, so it is likely a hardware or OS problem.
Compiler returned: 1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug middle-end/114069] Type punning RISC-V and SVE vectors causes ICE at -O1
2024-02-23 7:24 [Bug target/114069] New: Type punning RISC-V vectors causes ICE at -O1 zingaburga+gcc at hotmail dot com
@ 2024-02-24 2:12 ` pinskia at gcc dot gnu.org
2024-02-24 2:16 ` pinskia at gcc dot gnu.org
2024-02-24 2:22 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-24 2:12 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114069
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Type punning RISC-V vectors |Type punning RISC-V and SVE
|causes ICE at -O1 |vectors causes ICE at -O1
Last reconfirmed| |2024-02-24
Keywords| |ice-on-valid-code
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Target|riscv |riscv aarch64
Component|target |middle-end
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
This is not only a RISCV issue but also happens with aarch64's SVE types too:
```
#include <arm_sve.h>
svint8_t f(svuint8x2_t s) {
return *reinterpret_cast<svint8_t*>(&s);
}
```
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug middle-end/114069] Type punning RISC-V and SVE vectors causes ICE at -O1
2024-02-23 7:24 [Bug target/114069] New: Type punning RISC-V vectors causes ICE at -O1 zingaburga+gcc at hotmail dot com
2024-02-24 2:12 ` [Bug middle-end/114069] Type punning RISC-V and SVE " pinskia at gcc dot gnu.org
@ 2024-02-24 2:16 ` pinskia at gcc dot gnu.org
2024-02-24 2:22 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-24 2:16 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114069
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also| |https://github.com/llvm/llv
| |m-project/issues/82859
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note clang crashes also on the SVE case but not the RISCV issue.
Filed https://github.com/llvm/llvm-project/issues/82859 for the SVE issue.
Note GCC is crashing in general code for both really.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug middle-end/114069] Type punning RISC-V and SVE vectors causes ICE at -O1
2024-02-23 7:24 [Bug target/114069] New: Type punning RISC-V vectors causes ICE at -O1 zingaburga+gcc at hotmail dot com
2024-02-24 2:12 ` [Bug middle-end/114069] Type punning RISC-V and SVE " pinskia at gcc dot gnu.org
2024-02-24 2:16 ` pinskia at gcc dot gnu.org
@ 2024-02-24 2:22 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-02-24 2:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114069
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Depends on| |103433
See Also| |https://gcc.gnu.org/bugzill
| |a/show_bug.cgi?id=103433
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Oh the SVE issue was already filed as PR 103433 but I think this is the same.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103433
[Bug 103433] ICE in convert_move, at expr.c:219
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-02-24 2:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-02-23 7:24 [Bug target/114069] New: Type punning RISC-V vectors causes ICE at -O1 zingaburga+gcc at hotmail dot com
2024-02-24 2:12 ` [Bug middle-end/114069] Type punning RISC-V and SVE " pinskia at gcc dot gnu.org
2024-02-24 2:16 ` pinskia at gcc dot gnu.org
2024-02-24 2:22 ` pinskia 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).