llvm-project/llvm/test/CodeGen/Hexagon/vextract-basic.mir

27 lines
713 B
YAML

# 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
...