summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-05-04 15:04:48 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2018-05-04 15:04:48 +0000
commiteffcc2fb799ff769e1b009a77c54f9c2c3e273b2 (patch)
tree2524239be44be350577d5aa9d6ec5b8676698e35 /llvm/test
parent65b0492f0daa23a655c591d6f23fab9a911f6af2 (diff)
downloadbcm5719-llvm-effcc2fb799ff769e1b009a77c54f9c2c3e273b2.tar.gz
bcm5719-llvm-effcc2fb799ff769e1b009a77c54f9c2c3e273b2.zip
[Hexagon] Handle non-immediate constants in HexagonSplitDouble
llvm-svn: 331527
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Hexagon/sdr-global.mir24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/sdr-global.mir b/llvm/test/CodeGen/Hexagon/sdr-global.mir
new file mode 100644
index 00000000000..dc55a9b7183
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/sdr-global.mir
@@ -0,0 +1,24 @@
+# RUN: llc -march=hexagon -run-pass hexagon-split-double %s -o - | FileCheck %s
+
+# This used to crash because the constant operand was not an immediate.
+# Make sure we can handle such a case.
+
+# CHECK: = A2_tfrsi 0
+# CHECK: = A2_tfrsi @g0
+
+--- |
+ define i32 @fred() {
+ ret i32 0
+ }
+
+ @g0 = global i32 zeroinitializer
+...
+
+name: fred
+tracksRegLiveness: true
+body: |
+ bb.0:
+ %0:doubleregs = A4_combineir 0, @g0
+ $r0 = COPY %0.isub_lo
+ PS_jmpret $r31, implicit-def $pc, implicit $r0
+...
OpenPOWER on IntegriCloud