1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/test/CodeGen/X86/pr31271.ll
Michael Kuperstein 7a552839e3 [X86] Do not assume "ri" instructions always have an immediate operand
The second operand of an "ri" instruction may be an immediate, but it may
also be a globalvariable, so we should make any assumptions.

This fixes PR31271.

Differential Revision: https://reviews.llvm.org/D27481

llvm-svn: 288964
2016-12-07 19:29:18 +00:00

21 lines
445 B
LLVM

; RUN: llc -mtriple=i386-unknown-linux-gnu < %s | FileCheck %s
@c = external global [1 x i32], align 4
; CHECK-LABEL: fn1
; CHECK: leal c(%eax), %ecx
define void @fn1(i32 %k) {
%g = getelementptr inbounds [1 x i32], [1 x i32]* @c, i32 0, i32 %k
%cmp = icmp ne i32* undef, %g
%z = zext i1 %cmp to i32
store i32 %z, i32* undef, align 4
%cmp2 = icmp eq i32* %g, null
br i1 %cmp2, label %u, label %r
u:
unreachable
r:
ret void
}