30 lines
		
	
	
		
			837 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			837 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: llc -O0 -mtriple=x86_64-unknown -mcpu=skx -o - %s
 | |
| ; RUN: llc     -mtriple=x86_64-unknown -mcpu=skx -o - %s
 | |
| ; RUN: llc -O0 -mtriple=i686-unknown   -mcpu=skx -o - %s
 | |
| ; RUN: llc     -mtriple=i686-unknown   -mcpu=skx -o - %s
 | |
| ; REQUIRES: asserts
 | |
| 
 | |
| @var_26 = external dso_local global i16, align 2
 | |
| 
 | |
| define void @foo() #0 {
 | |
|  %1 = alloca i16, align 2
 | |
|  %2 = load i16, i16* @var_26, align 2
 | |
|  %3 = zext i16 %2 to i32
 | |
|  %4 = icmp ne i32 %3, 7
 | |
|  %5 = zext i1 %4 to i16
 | |
|  store i16 %5, i16* %1, align 2
 | |
|  %6 = load i16, i16* @var_26, align 2
 | |
|  %7 = zext i16 %6 to i32
 | |
|  %8 = and i32 1, %7
 | |
|  %9 = shl i32 %8, 0
 | |
|  %10 = load i16, i16* @var_26, align 2
 | |
|  %11 = zext i16 %10 to i32
 | |
|  %12 = icmp ne i32 %11, 7
 | |
|  %13 = zext i1 %12 to i32
 | |
|  %14 = and i32 %9, %13
 | |
|  %15 = icmp ne i32 %14, 0
 | |
|  %16 = zext i1 %15 to i8
 | |
|  store i8 %16, i8* undef, align 1
 | |
|  unreachable
 | |
|  }
 |