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

            Bug ID: 121444
           Summary: [16 Regression] nvptx: Increased '.align' for 'CSWTCH'
                    after "Improve mergability of CSWTCH [PR120523]"
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: pinskia at gcc dot gnu.org, vries at gcc dot gnu.org
  Target Milestone: ---
            Target: nvptx

For nvptx, I'm seeing increased '.align' for 'CSWTCH'es after commit
r16-2595-gf1c8014764178335e3b949e06b894ff5775beae5 "Improve mergability of
CSWTCH [PR120523]", for example:

    --- "0-wo_Improve mergability of CSWTCH
[PR120523]/nvptx-none/newlib/libm/math/libm_a-e_atan2.o"        2025-08-04
17:15:09.921571480 +0200
    +++ "1-w_Improve mergability of CSWTCH
[PR120523]/nvptx-none/newlib/libm/math/libm_a-e_atan2.o" 2025-08-06
11:38:01.766996470 +0200
    @@ -14,6 +14,6 @@
     // BEGIN VAR DEF: CSWTCH$7
    -.global .align 8 .u64 CSWTCH$7[3] =
    +.global .align 32 .u64 CSWTCH$7[3] =
     {-9223372036854775808,4614256656552045848,-4609115380302729960 };
     // BEGIN VAR DEF: CSWTCH$6
    -.global .align 8 .u64 CSWTCH$6[3] =
    +.global .align 32 .u64 CSWTCH$6[3] =
     {-4618122579557470952,4612488097114038738,-4610883939740737070 };
    --- "0-wo_Improve mergability of CSWTCH
[PR120523]/nvptx-none/newlib/libm/math/libm_a-ef_atan2.o"       2025-08-04
17:15:10.049570119 +0200
    +++ "1-w_Improve mergability of CSWTCH
[PR120523]/nvptx-none/newlib/libm/math/libm_a-ef_atan2.o"        2025-08-06
11:38:01.834995725 +0200
    @@ -14,6 +14,6 @@
     // BEGIN VAR DEF: CSWTCH$7
    -.global .align 4 .u32 CSWTCH$7[3] =
    +.global .align 16 .u32 CSWTCH$7[3] =
     {2147483648,1078530011,3226013659 };
     // BEGIN VAR DEF: CSWTCH$6
    -.global .align 4 .u32 CSWTCH$6[3] =
    +.global .align 16 .u32 CSWTCH$6[3] =
     {3209236443,1075235812,3222719460 };

Per my understanding, that shouldn't be necessary; "The default alignment for
scalar and array variables is to a multiple of the base-type size." (as it got
emitted before, explicitly: 'u32' -> 'align 4', etc.).

I've not yet attempted to understand whether that's a generic or nvptx-specific
issue.

Reply via email to