diff options
| author | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-01-26 21:17:14 +0000 |
|---|---|---|
| committer | Krzysztof Parzyszek <kparzysz@codeaurora.org> | 2018-01-26 21:17:14 +0000 |
| commit | 95614acc24c59461e8e2d8d8f2b2d285baac99f8 (patch) | |
| tree | 0dad9492cb15a6c46a88d2286e5c5bd7e8d6aefe /llvm/test/CodeGen/Hexagon | |
| parent | 06c0eca3c09ee543256d157621e01667dbd32dd1 (diff) | |
| download | bcm5719-llvm-95614acc24c59461e8e2d8d8f2b2d285baac99f8.tar.gz bcm5719-llvm-95614acc24c59461e8e2d8d8f2b2d285baac99f8.zip | |
[Hexagon] Replace multiple vector extracts with store-load combinations
llvm-svn: 323561
Diffstat (limited to 'llvm/test/CodeGen/Hexagon')
| -rw-r--r-- | llvm/test/CodeGen/Hexagon/vextract-basic.mir | 26 |
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 + +... + + |

