// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
// XFAIL: sparc
// rdar://7536390
typedef unsigned __INT32_TYPE__ uint32_t;
unsigned t(uint32_t *ptr, uint32_t val) {
// CHECK: @t
// CHECK: atomicrmw xchg i32* {{.*}} seq_cst
return __sync_lock_test_and_set(ptr, val);
}