public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool)
@ 2021-06-10 14:23 cnsun at uwaterloo dot ca
2021-06-11 11:41 ` [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default marxin at gcc dot gnu.org
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: cnsun at uwaterloo dot ca @ 2021-06-10 14:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
Bug ID: 101017
Summary: ICE: Segmentation fault,
convert_memory_address_addr_space_1(scalar_int_mode,
rtx_def*, unsigned char, bool, bool)
Product: gcc
Version: tree-ssa
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: cnsun at uwaterloo dot ca
Target Milestone: ---
$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/configure
--enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch
--prefix=/scratch/software/gcc-trunk --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.0 20210610 (experimental) [master revision
:71aa05def:4f625f47b4456e5c05a025fca4d072831e59126c] (GCC)
$ cat mutant.c
typedef v32qi __attribute__((vector_size(32)));
__attribute__((target_clones("arch=core-avx2", "default"))) v32qi
foo_ashift_256() {}
$ gcc-trunk mutant.c
mutant.c:1:9: warning: type defaults to ‘int’ in declaration of ‘v32qi’
[-Wimplicit-int]
1 | typedef v32qi __attribute__((vector_size(32)));
| ^~~~~
mutant.c: In function ‘foo_ashift_256’:
mutant.c:3:1: warning: AVX vector return without AVX enabled changes the ABI
[-Wpsabi]
3 | foo_ashift_256() {}
| ^~~~~~~~~~~~~~
during RTL pass: expand
mutant.c: In function ‘foo_ashift_256.arch_core_avx2.0’:
mutant.c:3:19: internal compiler error: Segmentation fault
3 | foo_ashift_256() {}
| ^
0xf0a1a3 crash_signal
/tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/gcc/toplev.c:327
0xb53029 convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*,
unsigned char, bool, bool)
/tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/gcc/explow.c:309
0xbdf25b expand_function_end()
/tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/gcc/function.c:5517
0xa50992 construct_exit_block
/tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/gcc/cfgexpand.c:6194
0xa50992 execute
/tmp/tmp.MAuXx9TiBr-gcc-builder/gcc/gcc/cfgexpand.c:6812
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.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
@ 2021-06-11 11:41 ` marxin at gcc dot gnu.org
2021-12-20 2:35 ` pinskia at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-06-11 11:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
Last reconfirmed| |2021-06-11
CC| |marxin at gcc dot gnu.org
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
2021-06-11 11:41 ` [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default marxin at gcc dot gnu.org
@ 2021-12-20 2:35 ` pinskia at gcc dot gnu.org
2021-12-20 8:50 ` marxin at gcc dot gnu.org
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-12-20 2:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |6.1.0, 7.1.0, 8.1.0, 9.1.0
Last reconfirmed|2021-06-11 00:00:00 |2021-12-19
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
GCC 5 did not recognize target_clones
<source>:4:16: warning: 'target_clones' attribute directive ignored
[-Wattributes]
foo_ashift_256() {}
^
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
2021-06-11 11:41 ` [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default marxin at gcc dot gnu.org
2021-12-20 2:35 ` pinskia at gcc dot gnu.org
@ 2021-12-20 8:50 ` marxin at gcc dot gnu.org
2023-12-03 22:07 ` pinskia at gcc dot gnu.org
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: marxin at gcc dot gnu.org @ 2021-12-20 8:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
--- Comment #3 from Martin Liška <marxin at gcc dot gnu.org> ---
Started with introduction of target_clone attribute:
r6-4443-g3b1661a9b93fe800
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
` (2 preceding siblings ...)
2021-12-20 8:50 ` marxin at gcc dot gnu.org
@ 2023-12-03 22:07 ` pinskia at gcc dot gnu.org
2023-12-04 4:03 ` liuhongt at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-12-03 22:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2021-12-19 00:00:00 |2023-12-3
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note the testcase which ICEs is now:
```
typedef int v32qi __attribute__((vector_size(32)));
__attribute__((target_clones("arch=core-avx2", "default"))) v32qi
foo_ashift_256() {}
```
Note the `int` there. Otherwise you get an error.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
` (3 preceding siblings ...)
2023-12-03 22:07 ` pinskia at gcc dot gnu.org
@ 2023-12-04 4:03 ` liuhongt at gcc dot gnu.org
2023-12-05 5:38 ` liuhongt at gcc dot gnu.org
2024-05-13 6:09 ` liuhongt at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: liuhongt at gcc dot gnu.org @ 2023-12-04 4:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
liuhongt at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
CC| |liuhongt at gcc dot gnu.org
--- Comment #5 from liuhongt at gcc dot gnu.org ---
Let me take a look.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
` (4 preceding siblings ...)
2023-12-04 4:03 ` liuhongt at gcc dot gnu.org
@ 2023-12-05 5:38 ` liuhongt at gcc dot gnu.org
2024-05-13 6:09 ` liuhongt at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: liuhongt at gcc dot gnu.org @ 2023-12-05 5:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
--- Comment #6 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #4)
> Note the testcase which ICEs is now:
> ```
> typedef int v32qi __attribute__((vector_size(32)));
> __attribute__((target_clones("arch=core-avx2", "default"))) v32qi
> foo_ashift_256() {}
> ```
>
> Note the `int` there. Otherwise you get an error.
For arch=core-avx2, function returns in reg(cfun->returns_struct), but for
"default" and resolver function, it returns in memory(cfun->returns_struct ==
1)
The mismatch between resolver and dispatched function caused the ICE.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
` (5 preceding siblings ...)
2023-12-05 5:38 ` liuhongt at gcc dot gnu.org
@ 2024-05-13 6:09 ` liuhongt at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: liuhongt at gcc dot gnu.org @ 2024-05-13 6:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
Hongtao Liu <liuhongt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |haochen.jiang at intel dot com
--- Comment #7 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
> For arch=core-avx2, function returns in reg(cfun->returns_struct), but for
> "default" and resolver function, it returns in memory(cfun->returns_struct
> == 1)
>
> The mismatch between resolver and dispatched function caused the ICE.
similar issue for
#include <immintrin.h>
__attribute__((target_clones ("avx512f", "default")))
__m512d foo(__m512d a, __m512d b)
{
c = a + b;
}
with -O2, under avx512f, it returns in reg, by default it returns in memory.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-05-13 6:09 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-10 14:23 [Bug c/101017] New: ICE: Segmentation fault, convert_memory_address_addr_space_1(scalar_int_mode, rtx_def*, unsigned char, bool, bool) cnsun at uwaterloo dot ca
2021-06-11 11:41 ` [Bug target/101017] ICE: Segmentation fault, convert_memory_address_addr_space_1 with vector_size(32) and target_clone arch=core-avx2/default marxin at gcc dot gnu.org
2021-12-20 2:35 ` pinskia at gcc dot gnu.org
2021-12-20 8:50 ` marxin at gcc dot gnu.org
2023-12-03 22:07 ` pinskia at gcc dot gnu.org
2023-12-04 4:03 ` liuhongt at gcc dot gnu.org
2023-12-05 5:38 ` liuhongt at gcc dot gnu.org
2024-05-13 6:09 ` liuhongt 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).