• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt -mtriple=amdgcn-- -analyze -divergence %s | FileCheck %s
2
3; CHECK: DIVERGENT: %orig = atomicrmw xchg i32* %ptr, i32 %val seq_cst
4define i32 @test1(i32* %ptr, i32 %val) #0 {
5  %orig = atomicrmw xchg i32* %ptr, i32 %val seq_cst
6  ret i32 %orig
7}
8
9; CHECK: DIVERGENT: %orig = cmpxchg i32* %ptr, i32 %cmp, i32 %new seq_cst seq_cst
10define {i32, i1} @test2(i32* %ptr, i32 %cmp, i32 %new) {
11  %orig = cmpxchg i32* %ptr, i32 %cmp, i32 %new seq_cst seq_cst
12  ret {i32, i1} %orig
13}
14
15attributes #0 = { nounwind }
16