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