[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / X86 / lea-opt-memop-check-2.ll
blobf3fc95f8be3c2f32b43ca0a12080c9531b86a045
1 ; RUN: llc < %s -mtriple=x86_64-pc-linux -mcpu=corei7 -relocation-model=pic | FileCheck %s
3 ; PR27502
4 ; UNREACHABLE: "Invalid address displacement operand"
6 @buf = internal global [5 x i8*] zeroinitializer
8 declare i32 @llvm.eh.sjlj.setjmp(i8*) nounwind
10 define i32 @test() nounwind optsize {
11   %r = tail call i32 @llvm.eh.sjlj.setjmp(i8* bitcast ([5 x i8*]* @buf to i8*))
12   ret i32 %r
13 ; CHECK-LABEL: test:
14 ; CHECK:        leaq .LBB0_3(%rip), %r[[REG:[a-z]+]]
15 ; CHECK:        movq %r[[REG]], buf+8(%rip)
16 ; CHECK:        #EH_SjLj_Setup .LBB0_3
17 ; CHECK:        xorl %e[[REG]], %e[[REG]]
18 ; CHECK:        jmp .LBB0_2
19 ; CHECK-LABEL: .LBB0_3: # Block address taken
20 ; CHECK-LABEL: .LBB0_2: