- 
    Bug 
- 
    Resolution: Fixed
- 
     P3 P3
- 
    17, 21, 22
- 
        b25
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8325193 | 21.0.3 | Aleksey Shipilev | P3 | Resolved | Fixed | b02 | 
https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
The crucial difference between these two families of built-ins is that __atomic* 64-bit CAS is guaranteed to be supported ("The ‘__atomic’ builtins can be used with any integral scalar or pointer type that is 1, 2, 4, or 8 bytes in length"), whereas __sync* 64-bit CAS can be unimplemented. This is important for making sure
Upstream reports suggest PPC32 is one of the platforms that does not have __sync_val_compare_and_swap_8 implemented. My own testing shows these platforms have the __sync_val_compare_and_swap_8 unimplemented:
zero-fastdebug-mipsel-linux-gnu-10
zero-fastdebug-m68k-linux-gnu-10
zero-fastdebug-powerpc-linux-gnu-10
zero-fastdebug-sh4-linux-gnu-10
- backported by
- 
                    JDK-8325193 Zero: Use __atomic built-ins for atomic RMW operations -           
- Resolved
 
-         
- blocks
- 
                    JDK-8318776 Require supports_cx8 to always be true -           
- Resolved
 
-         
- 
                    JDK-8316961 Fallback implementations for 64-bit Atomic::{add,xchg} on 32-bit platforms -           
- Resolved
 
-         
- duplicates
- 
                    JDK-8320050 Zero: Build failures due to duplicate definition of __sync_val_compare_and_swap_8 -           
- Closed
 
-         
- relates to
- 
                    JDK-8316961 Fallback implementations for 64-bit Atomic::{add,xchg} on 32-bit platforms -           
- Resolved
 
-         
- links to
- 
                     Commit
        openjdk/jdk21u-dev/c6ebfdfe Commit
        openjdk/jdk21u-dev/c6ebfdfe
- 
                     Commit
        openjdk/jdk/020c9007 Commit
        openjdk/jdk/020c9007
- 
                     Review
        openjdk/jdk21u-dev/227 Review
        openjdk/jdk21u-dev/227
- 
                     Review
        openjdk/jdk/16654 Review
        openjdk/jdk/16654