public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug driver/109762] New: [AArch64] gcc/config/aarch64/aarch64-builtins.cc: mismatched sizes for flags variables
@ 2023-05-07  0:34 davem at devkitpro dot org
  2023-05-07  0:37 ` [Bug driver/109762] " davem at devkitpro dot org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: davem at devkitpro dot org @ 2023-05-07  0:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109762

            Bug ID: 109762
           Summary: [AArch64] gcc/config/aarch64/aarch64-builtins.cc:
                    mismatched sizes for flags variables
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
          Assignee: unassigned at gcc dot gnu.org
          Reporter: davem at devkitpro dot org
  Target Milestone: ---

Created attachment 55013
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55013&action=edit
preprocessed source that fails

On windows and 32 bit hosts int and long are 32bit while aarch64_feature_flags
is 64bit. This causes compilation failures on windows & 32bit hosts. The
attached source fails with a spurious inlining failed in call to
'always_inline'  'unsigned int GetConstant()': target specific option mismatch.

^ permalink raw reply	[flat|nested] 12+ messages in thread

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

end of thread, other threads:[~2024-05-08 16:13 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [Bug target/109762] [13/14 Regression] " pinskia at gcc dot gnu.org
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
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
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

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).