22 lines
		
	
	
		
			638 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			638 B
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: llc -mcpu=generic -O1 -relocation-model=pic < %s | FileCheck %s
 | 
						|
target datalayout = "e-m:o-p:32:32-f64:32:64-f80:128-n8:16:32-S128"
 | 
						|
target triple = "i686-apple-darwin"
 | 
						|
 | 
						|
define i64 @test_lshr() {
 | 
						|
entry:
 | 
						|
; CHECK-NOT: movl $-1, 16(%esp)
 | 
						|
; CHECK-NOT: movl  $-1, %eax
 | 
						|
  %retval = alloca i64
 | 
						|
  %op1 = alloca i64
 | 
						|
  %op2 = alloca i64
 | 
						|
  store i64 -6687208052682386272, i64* %op1
 | 
						|
  store i64 7106745059734980448, i64* %op2
 | 
						|
  %tmp1 = load i64, i64* %op1
 | 
						|
  %tmp2 = load i64, i64* %op2
 | 
						|
  %tmp = xor i64 %tmp2, 7106745059734980448
 | 
						|
  %tmp3 = lshr i64 %tmp1, %tmp
 | 
						|
  store i64 %tmp3, i64* %retval
 | 
						|
  %tmp4 = load i64, i64* %retval
 | 
						|
  ret i64 %tmp4
 | 
						|
}
 |