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
 | 
						|
}
 |