brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · fda9f8a Raw
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