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.