* [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
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ 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] 10+ 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
2024-06-19 3:10 ` haochen.jiang at intel dot com
2024-06-28 2:31 ` haochen.jiang at intel dot com
8 siblings, 0 replies; 10+ 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] 10+ 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
` (6 preceding siblings ...)
2024-05-13 6:09 ` liuhongt at gcc dot gnu.org
@ 2024-06-19 3:10 ` haochen.jiang at intel dot com
2024-06-28 2:31 ` haochen.jiang at intel dot com
8 siblings, 0 replies; 10+ messages in thread
From: haochen.jiang at intel dot com @ 2024-06-19 3:10 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
--- Comment #8 from Haochen Jiang <haochen.jiang at intel dot com> ---
One potential solution is to let the resolver ISA level becomes the highest one
in target_clones instead of the default one.
Then it will not get the memory/register mismatch when passing/returning
arguments.
^ permalink raw reply [flat|nested] 10+ 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
` (7 preceding siblings ...)
2024-06-19 3:10 ` haochen.jiang at intel dot com
@ 2024-06-28 2:31 ` haochen.jiang at intel dot com
8 siblings, 0 replies; 10+ messages in thread
From: haochen.jiang at intel dot com @ 2024-06-28 2:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101017
--- Comment #9 from Haochen Jiang <haochen.jiang at intel dot com> ---
I would rather do not touch all the ISA level since it might cause unexpected
problems after thinking twice.
Since there is also indirect call, I will throw an error for this case.
^ permalink raw reply [flat|nested] 10+ messages in thread