14 changes: 14 additions & 0 deletions llvm/test/Verifier/atomics.ll
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
; RUN: not opt -verify < %s 2>&1 | FileCheck %s

; CHECK: atomic store operand must have integer or floating point type!
; CHECK: atomic load operand must have integer or floating point type!

define void @foo(x86_mmx* %P, x86_mmx %v) {
store atomic x86_mmx %v, x86_mmx* %P unordered, align 8
ret void
}

define x86_mmx @bar(x86_mmx* %P) {
%v = load atomic x86_mmx, x86_mmx* %P unordered, align 8
ret x86_mmx %v
}