// 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);
}
