25 lines
		
	
	
		
			771 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			771 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llvm-dis < %s.bc | FileCheck %s
 | |
| ; RUN: verify-uselistorder < %s.bc
 | |
| 
 | |
| ; cmpxchg-upgrade.ll.bc was produced by running a version of llvm-as from just
 | |
| ; before the IR change on this file.
 | |
| 
 | |
| define void @test(i32* %addr) {
 | |
|    cmpxchg i32* %addr, i32 42, i32 0 monotonic
 | |
| ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 monotonic monotonic
 | |
| 
 | |
|    cmpxchg i32* %addr, i32 42, i32 0 acquire
 | |
| ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 acquire acquire
 | |
| 
 | |
|    cmpxchg i32* %addr, i32 42, i32 0 release
 | |
| ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 release monotonic
 | |
| 
 | |
|    cmpxchg i32* %addr, i32 42, i32 0 acq_rel
 | |
| ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 acq_rel acquire
 | |
| 
 | |
|    cmpxchg i32* %addr, i32 42, i32 0 seq_cst
 | |
| ; CHECK: cmpxchg i32* %addr, i32 42, i32 0 seq_cst seq_cst
 | |
| 
 | |
|    ret void
 | |
| }
 |