* [Bug driver/109762] [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
@ 2023-05-07 0:37 ` davem at devkitpro dot org
2023-05-07 0:51 ` [Bug target/109762] " pinskia at gcc dot gnu.org
` (9 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: davem at devkitpro dot org @ 2023-05-07 0:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #1 from Dave Murphy <davem at devkitpro dot org> ---
Created attachment 55014
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55014&action=edit
proposed patch
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
2023-05-07 0:37 ` [Bug driver/109762] " davem at devkitpro dot org
@ 2023-05-07 0:51 ` pinskia at gcc dot gnu.org
2023-05-07 1:30 ` [Bug target/109762] [13/14 Regression] " pinskia at gcc dot gnu.org
` (8 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 0:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |pinskia at gcc dot gnu.org
Ever confirmed|0 |1
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2023-05-07
Target Milestone|--- |13.2
Keywords| |rejects-valid
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Dave Murphy from comment #1)
> Created attachment 55014 [details]
> proposed patch
The correct fix is to use aarch64_feature_flags instead. I am testing a patch
right now.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [13/14 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
2023-05-07 0:37 ` [Bug driver/109762] " davem at devkitpro dot org
2023-05-07 0:51 ` [Bug target/109762] " pinskia at gcc dot gnu.org
@ 2023-05-07 1:30 ` pinskia at gcc dot gnu.org
2023-05-07 2:23 ` [Bug target/109762] [12/13/14 " pinskia at gcc dot gnu.org
` (7 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 1:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|13.2 |12.3
Summary|[AArch64] |[13/14 Regression]
|gcc/config/aarch64/aarch64- |gcc/config/aarch64/aarch64-
|builtins.cc: mismatched |builtins.cc: mismatched
|sizes for flags variables |sizes for flags variables
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Looks like it was broken by r13-2943-g11a113d501ff
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13/14 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (2 preceding siblings ...)
2023-05-07 1:30 ` [Bug target/109762] [13/14 Regression] " pinskia at gcc dot gnu.org
@ 2023-05-07 2:23 ` pinskia at gcc dot gnu.org
2023-05-07 2:28 ` pinskia at gcc dot gnu.org
` (6 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 2:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|12.3 |12.4
Summary|[13/14 Regression] |[12/13/14 Regression]
|gcc/config/aarch64/aarch64- |gcc/config/aarch64/aarch64-
|builtins.cc: mismatched |builtins.cc: mismatched
|sizes for flags variables |sizes for flags variables
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Actually it has been broken since r12-8000-g14814e20161d . I am not going to
make it into GCC 12.3 since aarch64_feature_flags is not there, a different
patch needs to be done there I think. Or maybe it is ok there.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13/14 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (3 preceding siblings ...)
2023-05-07 2:23 ` [Bug target/109762] [12/13/14 " pinskia at gcc dot gnu.org
@ 2023-05-07 2:28 ` pinskia at gcc dot gnu.org
2023-05-07 2:45 ` pinskia at gcc dot gnu.org
` (5 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 2:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
aarch64_isa_flags has been uint64_t since r10-593-g28108a534165 so yes it broke
since r12-8000-g14814e20161d when aarch64_simd_switcher was introduced.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13/14 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (4 preceding siblings ...)
2023-05-07 2:28 ` pinskia at gcc dot gnu.org
@ 2023-05-07 2:45 ` pinskia at gcc dot gnu.org
2023-05-07 15:26 ` cvs-commit at gcc dot gnu.org
` (4 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 2:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Created attachment 55015
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55015&action=edit
Better patch for GCC 13+
Test which I am testing and committing (will be committing to the GCC 13 branch
too but will wait till after GCC 12.3.0 is release to commit a slightly patch
there).
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13/14 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (5 preceding siblings ...)
2023-05-07 2:45 ` pinskia at gcc dot gnu.org
@ 2023-05-07 15:26 ` cvs-commit at gcc dot gnu.org
2023-05-07 15:28 ` [Bug target/109762] [12/13 " pinskia at gcc dot gnu.org
` (3 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-07 15:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Andrew Pinski <pinskia@gcc.gnu.org>:
https://gcc.gnu.org/g:a1a9ce2441df0675540faee8476523164e12578b
commit r14-558-ga1a9ce2441df0675540faee8476523164e12578b
Author: Andrew Pinski <apinski@marvell.com>
Date: Sun May 7 01:38:17 2023 +0000
Fix aarch64/109762: push_options/push_options does not work sometimes
aarch64_isa_flags (and aarch64_asm_isa_flags) are both
aarch64_feature_flags (uint64_t)
but since r12-8000-g14814e20161d, they are saved/restored as unsigned long.
This
does not make a difference for LP64 targets but on ILP32 and LLP64IL32
targets,
it means it does not get restored correctly.
This patch changes over to use aarch64_feature_flags instead of unsigned
long.
Committed as obvious after a bootstrap/test.
gcc/ChangeLog:
PR target/109762
* config/aarch64/aarch64-builtins.cc
(aarch64_simd_switcher::aarch64_simd_switcher):
Change argument type to aarch64_feature_flags.
* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change
constructor argument type to aarch64_feature_flags.
Change m_old_asm_isa_flags to be aarch64_feature_flags.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (6 preceding siblings ...)
2023-05-07 15:26 ` cvs-commit at gcc dot gnu.org
@ 2023-05-07 15:28 ` pinskia at gcc dot gnu.org
2023-05-07 20:17 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 15:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[12/13/14 Regression] |[12/13 Regression]
|gcc/config/aarch64/aarch64- |gcc/config/aarch64/aarch64-
|builtins.cc: mismatched |builtins.cc: mismatched
|sizes for flags variables |sizes for flags variables
Known to work| |14.0
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed on the trunk, testing the GCC 13 branch right now.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12/13 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (7 preceding siblings ...)
2023-05-07 15:28 ` [Bug target/109762] [12/13 " pinskia at gcc dot gnu.org
@ 2023-05-07 20:17 ` cvs-commit at gcc dot gnu.org
2023-05-07 20:23 ` [Bug target/109762] [12 " pinskia at gcc dot gnu.org
2024-05-08 16:13 ` pinskia at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-07 20:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Andrew Pinski
<pinskia@gcc.gnu.org>:
https://gcc.gnu.org/g:fc79c3a273a8fd7c1b57cd8b01a699ad2640f51c
commit r13-7304-gfc79c3a273a8fd7c1b57cd8b01a699ad2640f51c
Author: Andrew Pinski <apinski@marvell.com>
Date: Sun May 7 01:38:17 2023 +0000
[GCC 13] Fix aarch64/109762: push_options/push_options does not work
sometimes
aarch64_isa_flags (and aarch64_asm_isa_flags) are both
aarch64_feature_flags (uint64_t)
but since r12-8000-g14814e20161d, they are saved/restored as unsigned long.
This
does not make a difference for LP64 targets but on ILP32 and LLP64IL32
targets,
it means it does not get restored correctly.
This patch changes over to use aarch64_feature_flags instead of unsigned
long.
Committed as obvious to gcc 13 branch after a bootstrap/test.
gcc/ChangeLog:
PR target/109762
* config/aarch64/aarch64-builtins.cc
(aarch64_simd_switcher::aarch64_simd_switcher):
Change argument type to aarch64_feature_flags.
* config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Change
constructor argument type to aarch64_feature_flags.
Change m_old_asm_isa_flags to be aarch64_feature_flags.
(cherry picked from commit a1a9ce2441df0675540faee8476523164e12578b)
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (8 preceding siblings ...)
2023-05-07 20:17 ` cvs-commit at gcc dot gnu.org
@ 2023-05-07 20:23 ` pinskia at gcc dot gnu.org
2024-05-08 16:13 ` pinskia at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-05-07 20:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |13.1.1
Summary|[12/13 Regression] |[12 Regression]
|gcc/config/aarch64/aarch64- |gcc/config/aarch64/aarch64-
|builtins.cc: mismatched |builtins.cc: mismatched
|sizes for flags variables |sizes for flags variables
--- Comment #10 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Fixed on the gcc 13 branch for GCC 13.2.0.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [Bug target/109762] [12 Regression] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
2023-05-07 0:34 [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables davem at devkitpro dot org
` (9 preceding siblings ...)
2023-05-07 20:23 ` [Bug target/109762] [12 " pinskia at gcc dot gnu.org
@ 2024-05-08 16:13 ` pinskia at gcc dot gnu.org
10 siblings, 0 replies; 12+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-05-08 16:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The patch does not apply directly to GCC 12.
^ permalink raw reply [flat|nested] 12+ messages in thread