| /* Test the atomic store expansion for sm <= sm_6x targets, |
| shared state space. */ |
| |
| /* { dg-do compile } */ |
| /* { dg-options "-misa=sm_53 -mptx=_" } */ |
| |
| enum memmodel |
| { |
| MEMMODEL_SEQ_CST = 5 |
| }; |
| |
| unsigned int u32 __attribute__((shared)); |
| unsigned long long int u64 __attribute__((shared)); |
| |
| int |
| main() |
| { |
| __atomic_store_n (&u32, 0, MEMMODEL_SEQ_CST); |
| __atomic_store_n (&u64, 0, MEMMODEL_SEQ_CST); |
| |
| return 0; |
| } |
| |
| /* { dg-final { scan-assembler-times "atom.shared.exch.b32\[\t \]+_," 1 } } */ |
| /* { dg-final { scan-assembler-times "atom.shared.exch.b64\[\t \]+_," 1 } } */ |
| /* { dg-final { scan-assembler-times "membar.cta" 4 } } */ |