blob: 1db778c2afdb5141faebf2cda89268d0a2ce0992 [file]
; RUN: not llc -mtriple=nvptx64 -mcpu=sm_80 -filetype=null %s 2>&1 | FileCheck %s
; CHECK: error: unsupported atomic load: instruction alignment 1 is smaller than the required 4-byte alignment for this atomic operation
define i32 @load_i32_align1(ptr %p) {
%ret = load atomic i32, ptr %p seq_cst, align 1
ret i32 %ret
}
; CHECK: error: unsupported atomic store: instruction alignment 1 is smaller than the required 4-byte alignment for this atomic operation
define void @store_i32_align1(ptr %p, i32 %v) {
store atomic i32 %v, ptr %p seq_cst, align 1
ret void
}
; CHECK: error: unsupported cmpxchg: instruction alignment 4 is smaller than the required 8-byte alignment for this atomic operation
define { i64, i1 } @cmpxchg_i64_align4(ptr %p, i64 %cmp, i64 %new) {
%ret = cmpxchg ptr %p, i64 %cmp, i64 %new seq_cst monotonic, align 4
ret { i64, i1 } %ret
}
; CHECK: error: unsupported atomicrmw xchg: instruction alignment 4 is smaller than the required 8-byte alignment for this atomic operation
define i64 @atomicrmw_xchg_i64_align4(ptr %p, i64 %v) {
%ret = atomicrmw xchg ptr %p, i64 %v seq_cst, align 4
ret i64 %ret
}