[opaque pointer type] Add textual IR support for explicit type parameter to load...
[oota-llvm.git] / test / CodeGen / X86 / 2007-03-16-InlineAsm.ll
1 ; RUN: llc < %s -march=x86
2
3 ; ModuleID = 'a.bc'
4
5 define i32 @foo(i32 %A, i32 %B) {
6 entry:
7         %A_addr = alloca i32            ; <i32*> [#uses=2]
8         %B_addr = alloca i32            ; <i32*> [#uses=1]
9         %retval = alloca i32, align 4           ; <i32*> [#uses=2]
10         %tmp = alloca i32, align 4              ; <i32*> [#uses=2]
11         %ret = alloca i32, align 4              ; <i32*> [#uses=2]
12         store i32 %A, i32* %A_addr
13         store i32 %B, i32* %B_addr
14         %tmp1 = load i32, i32* %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, i32* %ret
17         %tmp3 = load i32, i32* %ret             ; <i32> [#uses=1]
18         store i32 %tmp3, i32* %tmp
19         %tmp4 = load i32, i32* %tmp             ; <i32> [#uses=1]
20         store i32 %tmp4, i32* %retval
21         br label %return
22
23 return:         ; preds = %entry
24         %retval5 = load i32, i32* %retval               ; <i32> [#uses=1]
25         ret i32 %retval5
26 }