mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-23 15:29:51 +00:00
3c3ddb3a85
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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43465 91177308-0d34-0410-b5e6-96231b3b80d8
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
|
|
}
|