Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / X86 / 2007-03-16-InlineAsm.ll
blobcb7e206b4d45c2af697ef0eb457695c631e24baa
1 ; RUN: llc < %s -mtriple=i686--
3 ; ModuleID = 'a.bc'
5 define i32 @foo(i32 %A, i32 %B) {
6 entry:
7         %A_addr = alloca i32            ; <ptr> [#uses=2]
8         %B_addr = alloca i32            ; <ptr> [#uses=1]
9         %retval = alloca i32, align 4           ; <ptr> [#uses=2]
10         %tmp = alloca i32, align 4              ; <ptr> [#uses=2]
11         %ret = alloca i32, align 4              ; <ptr> [#uses=2]
12         store i32 %A, ptr %A_addr
13         store i32 %B, ptr %B_addr
14         %tmp1 = load i32, ptr %A_addr           ; <i32> [#uses=1]
15         %tmp2 = call i32 asm "roll $1,$0", "=r,I,0,~{dirflag},~{fpsr},~{flags},~{cc}"( i32 7, i32 %tmp1 )               ; <i32> [#uses=1]
16         store i32 %tmp2, ptr %ret
17         %tmp3 = load i32, ptr %ret              ; <i32> [#uses=1]
18         store i32 %tmp3, ptr %tmp
19         %tmp4 = load i32, ptr %tmp              ; <i32> [#uses=1]
20         store i32 %tmp4, ptr %retval
21         br label %return
23 return:         ; preds = %entry
24         %retval5 = load i32, ptr %retval                ; <i32> [#uses=1]
25         ret i32 %retval5