summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM
diff options
context:
space:
mode:
authorEric Christopher <echristo@apple.com>2011-05-24 22:10:34 +0000
committerEric Christopher <echristo@apple.com>2011-05-24 22:10:34 +0000
commit0628d38085b28a59a4b13d7e35760cce54f0af7a (patch)
treedb00f17ef6a3f01115535c4a29e2762232c4f334 /test/CodeGen/ARM
parentb0b0da72e995a8e49b5fde93429db260a13bcc4e (diff)
downloadllvm-0628d38085b28a59a4b13d7e35760cce54f0af7a.tar.gz
llvm-0628d38085b28a59a4b13d7e35760cce54f0af7a.tar.bz2
llvm-0628d38085b28a59a4b13d7e35760cce54f0af7a.tar.xz
Add support for the arm 'y' asm modifier.
Fixes part of rdar://9444657 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132011 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM')
-rw-r--r--test/CodeGen/ARM/arm-modifier.ll15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/arm-modifier.ll b/test/CodeGen/ARM/arm-modifier.ll
new file mode 100644
index 0000000000..051d7e7780
--- /dev/null
+++ b/test/CodeGen/ARM/arm-modifier.ll
@@ -0,0 +1,15 @@
+; RUN: llc < %s -march=arm -mattr=+vfp2
+
+define i32 @foo(float %scale, float %scale2) nounwind ssp {
+entry:
+ %scale.addr = alloca float, align 4
+ %scale2.addr = alloca float, align 4
+ store float %scale, float* %scale.addr, align 4
+ store float %scale2, float* %scale2.addr, align 4
+ %tmp = load float* %scale.addr, align 4
+ %tmp1 = load float* %scale2.addr, align 4
+ call void asm sideeffect "vmul.f32 q0, q0, ${0:y} \0A\09vmul.f32 q1, q1, ${0:y} \0A\09vmul.f32 q1, q0, ${1:y} \0A\09", "w,w,~{q0},~{q1}"(float %tmp, float %tmp1) nounwind, !srcloc !0
+ ret i32 0
+}
+
+!0 = metadata !{i32 56, i32 89, i32 128, i32 168}