brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.5 KiB · 3f19944 Raw
127 lines · plain
1# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL2 3# RUN: llc -mtriple=x86_64-linux-gnu -mattr=+avx512f -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s --check-prefix=ALL4 5--- |6  define void @test_extract_128_idx0() {7    ret void8  }9 10  define void @test_extract_128_idx1() {11    ret void12  }13 14  define void @test_extract_256_idx0() {15    ret void16  }17 18  define void @test_extract_256_idx1() {19    ret void20  }21 22...23---24name:            test_extract_128_idx025# ALL-LABEL: name:  test_extract_128_idx026alignment:       1627legalized:       true28regBankSelected: true29# ALL:      registers:30# ALL-NEXT:   - { id: 0, class: vr512, preferred-register: '', flags: [   ] }31# ALL-NEXT:   - { id: 1, class: vr128x, preferred-register: '', flags: [   ] }32registers:33  - { id: 0, class: vecr }34  - { id: 1, class: vecr }35# ALL:          %0:vr512 = COPY $zmm136# ALL-NEXT:     %1:vr128x = COPY %0.sub_xmm37# ALL-NEXT:     $xmm0 = COPY %138# ALL-NEXT:     RET 0, implicit $xmm039body:             |40  bb.1 (%ir-block.0):41    liveins: $zmm142 43    %0(<16 x s32>) = COPY $zmm144    %1(<4 x s32>) = G_EXTRACT %0(<16 x s32>), 045    $xmm0 = COPY %1(<4 x s32>)46    RET 0, implicit $xmm047 48...49---50name:            test_extract_128_idx151# ALL-LABEL: name:  test_extract_128_idx152alignment:       1653legalized:       true54regBankSelected: true55# ALL:      registers:56# ALL-NEXT:   - { id: 0, class: vr512, preferred-register: '', flags: [   ] }57# ALL-NEXT:   - { id: 1, class: vr128x, preferred-register: '', flags: [   ] }58registers:59  - { id: 0, class: vecr }60  - { id: 1, class: vecr }61# ALL:          %0:vr512 = COPY $zmm162# ALL-NEXT:     %1:vr128x = VEXTRACTF32X4Zrri %0, 163# ALL-NEXT:     $xmm0 = COPY %164# ALL-NEXT:     RET 0, implicit $xmm065body:             |66  bb.1 (%ir-block.0):67    liveins: $zmm168 69    %0(<16 x s32>) = COPY $zmm170    %1(<4 x s32>) = G_EXTRACT %0(<16 x s32>), 12871    $xmm0 = COPY %1(<4 x s32>)72    RET 0, implicit $xmm073 74...75---76name:            test_extract_256_idx077# ALL-LABEL: name:  test_extract_256_idx078alignment:       1679legalized:       true80regBankSelected: true81# ALL:      registers:82# ALL-NEXT:   - { id: 0, class: vr512, preferred-register: '', flags: [   ] }83# ALL-NEXT:   - { id: 1, class: vr256x, preferred-register: '', flags: [   ] }84registers:85  - { id: 0, class: vecr }86  - { id: 1, class: vecr }87# ALL:          %0:vr512 = COPY $zmm188# ALL-NEXT:     %1:vr256x = COPY %0.sub_ymm89# ALL-NEXT:     $ymm0 = COPY %190# ALL-NEXT:     RET 0, implicit $ymm091body:             |92  bb.1 (%ir-block.0):93    liveins: $zmm194 95    %0(<16 x s32>) = COPY $zmm196    %1(<8 x s32>) = G_EXTRACT %0(<16 x s32>), 097    $ymm0 = COPY %1(<8 x s32>)98    RET 0, implicit $ymm099 100...101---102name:            test_extract_256_idx1103# ALL-LABEL: name:  test_extract_256_idx1104alignment:       16105legalized:       true106regBankSelected: true107# ALL:      registers:108# ALL-NEXT:   - { id: 0, class: vr512, preferred-register: '', flags: [   ] }109# ALL-NEXT:   - { id: 1, class: vr256x, preferred-register: '', flags: [   ] }110registers:111  - { id: 0, class: vecr }112  - { id: 1, class: vecr }113# ALL:          %0:vr512 = COPY $zmm1114# ALL-NEXT:     %1:vr256x = VEXTRACTF64X4Zrri %0, 1115# ALL-NEXT:     $ymm0 = COPY %1116# ALL-NEXT:     RET 0, implicit $ymm0117body:             |118  bb.1 (%ir-block.0):119    liveins: $zmm1120 121    %0(<16 x s32>) = COPY $zmm1122    %1(<8 x s32>) = G_EXTRACT %0(<16 x s32>), 256123    $ymm0 = COPY %1(<8 x s32>)124    RET 0, implicit $ymm0125 126...127