mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-22 11:39:35 +00:00
5fe81cf64e
transformation. Previously, it's restricted by ensuring the number of load uses is one. Now the restriction is loosened up by allowing setcc uses to be "extended" (e.g. setcc x, c, eq -> setcc sext(x), sext(c), eq). llvm-svn: 43465
18 lines
513 B
LLVM
18 lines
513 B
LLVM
; RUN: llvm-as < %s | llc -march=x86 | grep mov | count 1
|
|
|
|
define i16 @t() signext {
|
|
entry:
|
|
%tmp180 = load i16* null, align 2 ; <i16> [#uses=3]
|
|
%tmp180181 = sext i16 %tmp180 to i32 ; <i32> [#uses=1]
|
|
%tmp185 = icmp slt i16 %tmp180, 0 ; <i1> [#uses=1]
|
|
br i1 %tmp185, label %cond_true188, label %cond_next245
|
|
|
|
cond_true188: ; preds = %entry
|
|
%tmp195196 = trunc i16 %tmp180 to i8 ; <i8> [#uses=0]
|
|
ret i16 0
|
|
|
|
cond_next245: ; preds = %entry
|
|
%tmp256 = and i32 %tmp180181, 15 ; <i32> [#uses=0]
|
|
ret i16 0
|
|
}
|