https://gcc.gnu.org/g:022cfc9137405abd5054943da68c4e9aa303d775

commit r16-7019-g022cfc9137405abd5054943da68c4e9aa303d775
Author: Xin Wang <[email protected]>
Date:   Sat Jan 24 23:54:46 2026 +0000

    libgcc: Use UTItype with mode(TI) for 16-byte atomics
    
    The use of UOItype with mode(OI) for 16-byte atomic operations is
    non-standard. The OI mode is not defined in machmode.def and exists
    only as an ad-hoc construct in libgcc/sync.c.
    
    This patch replaces it with UTItype using mode(TI), which is the
    standard GCC machine mode for 16-byte integers (Tetra Integer).
    The size argument is also corrected from 8 to 16 to match the actual
    operand width.
    
    libgcc/ChangeLog:
            * sync.c: Replace UOItype with UTItype and use mode(TI) pass 16, not
            8, to DEFINE macro.
    
    Signed-off-by: Xin Wang <[email protected]>

Diff:
---
 libgcc/sync.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/libgcc/sync.c b/libgcc/sync.c
index 1cb816613196..18b91164a809 100644
--- a/libgcc/sync.c
+++ b/libgcc/sync.c
@@ -124,10 +124,9 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  
If not, see
 
 /* Find an appropriate type TYPE for SIZE and invoke DEFINE (FN, SIZE, TYPE).
 
-   The types chosen here may be incorrect for some targets.
-   For example, targets with 16-byte atomicity support might not
-   support OImode.  We would need some kind of target-specific
-   override if that becomes a problem.  */
+   The types chosen here are based on standard GCC modes.
+   If a target supports atomic operations for a given SIZE but lacks
+   the corresponding mode, a target-specific override will be needed.  */
 
 #if SIZE == 1 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1
 
@@ -151,8 +150,8 @@ DEFINE (FN, 8, UDItype)
 
 #elif SIZE == 16 && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16
 
-typedef unsigned int UOItype __attribute__((mode (OI)));
-DEFINE (FN, 8, UOItype)
+typedef unsigned int UTItype __attribute__((mode (TI)));
+DEFINE (FN, 16, UTItype)
 
 #endif

Reply via email to