summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/ARM/arm-modifier.ll
diff options
context:
space:
mode:
authorJoey Gouly <joey.gouly@arm.com>2013-07-05 10:19:40 +0000
committerJoey Gouly <joey.gouly@arm.com>2013-07-05 10:19:40 +0000
commit606f3fbc2b295dce7462a511674e6c8d4add8040 (patch)
tree60503af8e362188ad3a934ed515a90eb92042f89 /llvm/test/CodeGen/ARM/arm-modifier.ll
parent0e90c3d92c0caddd4b1a37293715460c10aed80d (diff)
downloadbcm5719-llvm-606f3fbc2b295dce7462a511674e6c8d4add8040.tar.gz
bcm5719-llvm-606f3fbc2b295dce7462a511674e6c8d4add8040.zip
PR16490: fix a crash in ARMDAGToDAGISel::SelectInlineAsm.
In the SelectionDAG immediate operands to inline asm are constructed as two separate operands. The first is a constant of value InlineAsm::Kind_Imm and the second is a constant with the value of the immediate. In ARMDAGToDAGISel::SelectInlineAsm, if we reach an operand of Kind_Imm we should skip over the next operand too. llvm-svn: 185688
Diffstat (limited to 'llvm/test/CodeGen/ARM/arm-modifier.ll')
-rw-r--r--llvm/test/CodeGen/ARM/arm-modifier.ll5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/ARM/arm-modifier.ll b/llvm/test/CodeGen/ARM/arm-modifier.ll
index c7470166345..e6358d481e9 100644
--- a/llvm/test/CodeGen/ARM/arm-modifier.ll
+++ b/llvm/test/CodeGen/ARM/arm-modifier.ll
@@ -65,3 +65,8 @@ entry:
%0 = tail call i64 asm sideeffect "ldrexd $0, ${0:H}, [$1]", "=&r,r,*Qo"(i64* %val, i64* %val) nounwind
ret i64 %0
}
+
+define void @f5(i64 %__pu_val) {
+ call void asm sideeffect "$1", "r,i"(i64 %__pu_val, i32 -14)
+ ret void
+}
OpenPOWER on IntegriCloud