summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/Hexagon/vextract-basic.mir26
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/Hexagon/vextract-basic.mir b/llvm/test/CodeGen/Hexagon/vextract-basic.mir
new file mode 100644
index 00000000000..53e7c49b414
--- /dev/null
+++ b/llvm/test/CodeGen/Hexagon/vextract-basic.mir
@@ -0,0 +1,26 @@
+# RUN: llc -march=hexagon -mattr=+hvx,+hvx-length64b -run-pass hexagon-vextract %s -o - | FileCheck %s
+
+---
+name: fred
+tracksRegLiveness: true
+
+body: |
+ bb.0:
+ liveins: %r0, %r1, %v0
+ %0:hvxvr = COPY %v0
+ %1:intregs = COPY %r0
+ %2:intregs = COPY %r1
+ %3:intregs = A2_tfrsi 5
+ %4:intregs = V6_extractw %0, %1
+ ; CHECK: %[[A0:[0-9]+]]:intregs = A2_andir %{{[0-9]+}}, -4
+ ; CHECK: L4_loadri_rr %{{[0-9]+}}, %[[A0]], 0
+ %5:intregs = V6_extractw %0, %2
+ ; CHECK: %[[A1:[0-9]+]]:intregs = A2_andir %{{[0-9]+}}, -4
+ ; CHECK: L4_loadri_rr %{{[0-9]+}}, %[[A1]], 0
+ %6:intregs = V6_extractw %0, %3
+ ; Make sure the offset is 4, not 5.
+ ; CHECK: L2_loadri_io %{{[0-9]+}}, 4
+
+...
+
+
OpenPOWER on IntegriCloud