20 lines
		
	
	
		
			499 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			499 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc < %s -mtriple=thumbv7 | FileCheck --check-prefix=CHECK-NOBFI %s
 | |
| 
 | |
| declare zeroext i1 @dummy()
 | |
| 
 | |
| define i8 @test(i8 %a1, i1 %c) {
 | |
| ; CHECK-NOBFI-NOT: bfi
 | |
| ; CHECK-NOBFI: bl      dummy
 | |
| ; CHECK-NOBFI: cmp     r0, #0
 | |
| ; CHECK-NOBFI: it      ne
 | |
| ; CHECK-NOBFI: orrne   [[REG:r[0-9]+]], [[REG]], #8
 | |
| ; CHECK-NOBFI: mov     r0, [[REG]]
 | |
| 
 | |
|   %1 = and i8 %a1, -9
 | |
|   %2 = select i1 %c, i8 %1, i8 %a1
 | |
|   %3 = tail call zeroext i1 @dummy()
 | |
|   %4 = or i8 %2, 8
 | |
|   %ret = select i1 %3, i8 %4, i8 %2
 | |
|   ret i8 %ret
 | |
| }
 |