aboutsummaryrefslogtreecommitdiffstats
path: root/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
commit00d9fe2de7f0b8f9d1ea19ae30cc78b1a1e1fb92 (patch)
treefe46d475695f7fcf44374bb1058732ad5795ab91 /test/CodeGen/ARM/arm-modifier.ll
parent24663f69cc98545b32d2eeeed1da887e7910e2f7 (diff)
downloadexternal_llvm-00d9fe2de7f0b8f9d1ea19ae30cc78b1a1e1fb92.zip
external_llvm-00d9fe2de7f0b8f9d1ea19ae30cc78b1a1e1fb92.tar.gz
external_llvm-00d9fe2de7f0b8f9d1ea19ae30cc78b1a1e1fb92.tar.bz2
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185688 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/arm-modifier.ll')
-rw-r--r--test/CodeGen/ARM/arm-modifier.ll5
1 files changed, 5 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/arm-modifier.ll b/test/CodeGen/ARM/arm-modifier.ll
index c747016..e6358d4 100644
--- a/test/CodeGen/ARM/arm-modifier.ll
+++ b/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
+}