summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-06-22 15:53:31 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-06-22 15:53:31 +0000
commitf63ad39e7da18dd3502036b9b4f1203750bd9ea9 (patch)
tree08d1d5f981906b4feea6523b380de28710c16b33 /llvm/test
parentd1e811979c35061bf09c3eef52660e8b4c667b3a (diff)
downloadbcm5719-llvm-f63ad39e7da18dd3502036b9b4f1203750bd9ea9.tar.gz
bcm5719-llvm-f63ad39e7da18dd3502036b9b4f1203750bd9ea9.zip
[Hexagon] Handle a global operand to A2_addi when creating duplexes
llvm-svn: 306012
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir22
-rw-r--r--llvm/test/MC/Hexagon/duplex-addi-global-imm.s15
2 files changed, 37 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir b/llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
new file mode 100644
index 00000000000..be86abb9508
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/duplex-addi-global-imm.mir
@@ -0,0 +1,22 @@
+# RUN: llc -march=hexagon -start-after if-converter %s -o - | FileCheck %s
+# This used to crash.
+# CHECK: add(r0,##g0)
+
+--- |
+ @g = global i32 0
+ define void @fred() {
+ ret void
+ }
+...
+
+---
+name: fred
+tracksRegLiveness: true
+
+body: |
+ bb.0:
+ liveins: %r0
+ %r0 = A2_addi %r0, @g
+ %r1 = A2_tfrsi 0
+...
+
diff --git a/llvm/test/MC/Hexagon/duplex-addi-global-imm.s b/llvm/test/MC/Hexagon/duplex-addi-global-imm.s
new file mode 100644
index 00000000000..e8e338c6a58
--- /dev/null
+++ b/llvm/test/MC/Hexagon/duplex-addi-global-imm.s
@@ -0,0 +1,15 @@
+# RUN: llvm-mc -arch=hexagon -show-encoding %s | FileCheck %s
+# Check that we generate a duplex for this packet.
+# CHECK: encoding: [A,0x40'A',A,A,0x01'B',0x28'B',B,0x20'B']
+
+.data
+g:
+.long 0
+
+.text
+ {
+ r0 = add(r0,##g)
+ r1 = #0
+ }
+
+
OpenPOWER on IntegriCloud