* [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