diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/inlineasm.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/inlineasm.ll | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/inlineasm.ll b/llvm/test/CodeGen/ARM/inlineasm.ll new file mode 100644 index 00000000000..a75c7469c01 --- /dev/null +++ b/llvm/test/CodeGen/ARM/inlineasm.ll @@ -0,0 +1,15 @@ +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -mattr=+v6 + +uint %test1(uint %tmp54) { + %tmp56 = tail call uint asm "uxtb16 $0,$1", "=r,r"( uint %tmp54 ) + ret uint %tmp56 +} + +void %test2() { + %tmp1 = call long asm "ldmia $1!, {$0, ${0:H}}", "=r,==r,1"( int** null, int* null ) + %tmp1 = cast long %tmp1 to ulong + %tmp2 = shr ulong %tmp1, ubyte 32 + %tmp3 = cast ulong %tmp2 to int + %tmp4 = call int asm "pkhbt $0, $1, $2, lsl #16", "=r,r,r"( int 0, int %tmp3 ) + ret void +} |