81 lines · plain
1# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX2# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f,+avx512vl -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=AVX512VL3 4--- |5 define void @test_extract_128_idx0() {6 ret void7 }8 9 define void @test_extract_128_idx1() {10 ret void11 }12 13...14---15name: test_extract_128_idx016# ALL-LABEL: name: test_extract_128_idx017alignment: 1618legalized: true19regBankSelected: true20# AVX: registers:21# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '', flags: [ ] }22# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '', flags: [ ] }23#24# AVX512VL: registers:25# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '', flags: [ ] }26# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '', flags: [ ] }27registers:28 - { id: 0, class: vecr }29 - { id: 1, class: vecr }30# AVX: %0:vr256 = COPY $ymm131# AVX-NEXT: %1:vr128 = COPY %0.sub_xmm32# AVX512VL: %0:vr256x = COPY $ymm133# AVX512VL-NEXT: %1:vr128x = COPY %0.sub_xmm34# ALL-NEXT: $xmm0 = COPY %135# ALL-NEXT: RET 0, implicit $xmm036body: |37 bb.1 (%ir-block.0):38 liveins: $ymm139 40 %0(<8 x s32>) = COPY $ymm141 %1(<4 x s32>) = G_EXTRACT %0(<8 x s32>), 042 $xmm0 = COPY %1(<4 x s32>)43 RET 0, implicit $xmm044 45...46---47name: test_extract_128_idx148# ALL-LABEL: name: test_extract_128_idx149alignment: 1650legalized: true51regBankSelected: true52# AVX: registers:53# AVX-NEXT: - { id: 0, class: vr256, preferred-register: '', flags: [ ] }54# AVX-NEXT: - { id: 1, class: vr128, preferred-register: '', flags: [ ] }55#56# AVX512VL: registers:57# AVX512VL-NEXT: - { id: 0, class: vr256x, preferred-register: '', flags: [ ] }58# AVX512VL-NEXT: - { id: 1, class: vr128x, preferred-register: '', flags: [ ] }59registers:60 - { id: 0, class: vecr }61 - { id: 1, class: vecr }62# AVX: %0:vr256 = COPY $ymm163# AVX-NEXT: %1:vr128 = VEXTRACTF128rri %0, 164# AVX-NEXT: $xmm0 = COPY %165# AVX-NEXT: RET 0, implicit $xmm066#67# AVX512VL: %0:vr256x = COPY $ymm168# AVX512VL-NEXT: %1:vr128x = VEXTRACTF32X4Z256rri %0, 169# AVX512VL-NEXT: $xmm0 = COPY %170# AVX512VL-NEXT: RET 0, implicit $xmm071body: |72 bb.1 (%ir-block.0):73 liveins: $ymm174 75 %0(<8 x s32>) = COPY $ymm176 %1(<4 x s32>) = G_EXTRACT %0(<8 x s32>), 12877 $xmm0 = COPY %1(<4 x s32>)78 RET 0, implicit $xmm079 80...81