diff options
Diffstat (limited to 'llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll b/llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll new file mode 100644 index 0000000..1c301b6 --- /dev/null +++ b/llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll @@ -0,0 +1,17 @@ +; RUN: llc -filetype=asm %s -o - | FileCheck %s + +; CHECK: movw r0, :lower16:a +; CHECK-NEXT: movt r0, :upper16:a +; CHECK-NEXT: vldr s6, [r0] + +target datalayout = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" +target triple = "armv8a-unknown-linux-gnueabihf" + +@a = local_unnamed_addr global i32 0, align 4 + +define void @_Z1dv() local_unnamed_addr { +entry: + %0 = load i32, ptr @a, align 4 + tail call void asm sideeffect "", "{s6}"(i32 %0) + ret void +} |