16 lines
		
	
	
		
			509 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			509 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt < %s -instcombine
 | |
| ; PR9579
 | |
| 
 | |
| define <2 x i16> @entry(<2 x i16> %a) nounwind {
 | |
| entry:
 | |
|   %a.addr = alloca <2 x i16>, align 4
 | |
|   %.compoundliteral = alloca <2 x i16>, align 4
 | |
|   store <2 x i16> %a, <2 x i16>* %a.addr, align 4
 | |
|   %tmp = load <2 x i16>, <2 x i16>* %a.addr, align 4
 | |
|   store <2 x i16> zeroinitializer, <2 x i16>* %.compoundliteral
 | |
|   %tmp1 = load <2 x i16>, <2 x i16>* %.compoundliteral
 | |
|   %cmp = icmp uge <2 x i16> %tmp, %tmp1
 | |
|   %sext = sext <2 x i1> %cmp to <2 x i16>
 | |
|   ret <2 x i16> %sext
 | |
| }
 |