brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.0 KiB · 33e4846 Raw
158 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -run-pass=amdgpu-postlegalizer-combiner -verify-machineinstrs -o - %s | FileCheck %s3 4---5name: v2s16_trunc_same_bitcast_lshr166tracksRegLiveness: true7legalized: true8body: |9  bb.0:10    liveins: $vgpr011    ; CHECK-LABEL: name: v2s16_trunc_same_bitcast_lshr1612    ; CHECK: liveins: $vgpr013    ; CHECK-NEXT: {{  $}}14    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr015    ; CHECK-NEXT: $vgpr0 = COPY %src(<2 x s16>)16    %src:_(<2 x s16>) = COPY $vgpr017    %bitcast:_(s32) = G_BITCAST %src18    %lshr_amount:_(s32) = G_CONSTANT i32 1619    %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount20    %root:_(<2 x s16>) = G_BUILD_VECTOR_TRUNC %bitcast, %lshr21    $vgpr0 = COPY %root22...23 24---25name: v2s16_trunc_different_bitcast_lshr1626tracksRegLiveness: true27legalized: true28body: |29  bb.0:30    liveins: $vgpr031    ; CHECK-LABEL: name: v2s16_trunc_different_bitcast_lshr1632    ; CHECK: liveins: $vgpr033    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr035    ; CHECK-NEXT: $vgpr0 = COPY %src(<2 x s16>)36    %src:_(<2 x s16>) = COPY $vgpr037    %bitcast0:_(s32) = G_BITCAST %src38    %bitcast1:_(s32) = G_BITCAST %src39    %lshr_amount:_(s32) = G_CONSTANT i32 1640    %lshr:_(s32) = G_LSHR %bitcast1, %lshr_amount41    %root:_(<2 x s16>) = G_BUILD_VECTOR_TRUNC %bitcast0, %lshr42    $vgpr0 = COPY %root43...44 45---46name: v2s16_trunc_same_bitcast_lshr8_nocombine47tracksRegLiveness: true48legalized: true49body: |50  bb.0:51    liveins: $vgpr052    ; CHECK-LABEL: name: v2s16_trunc_same_bitcast_lshr8_nocombine53    ; CHECK: liveins: $vgpr054    ; CHECK-NEXT: {{  $}}55    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr056    ; CHECK-NEXT: %bitcast:_(s32) = G_BITCAST %src(<2 x s16>)57    ; CHECK-NEXT: %lshr_amount:_(s32) = G_CONSTANT i32 858    ; CHECK-NEXT: %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount(s32)59    ; CHECK-NEXT: %root:_(<2 x s16>) = G_BUILD_VECTOR_TRUNC %bitcast(s32), %lshr(s32)60    ; CHECK-NEXT: $vgpr0 = COPY %root(<2 x s16>)61    %src:_(<2 x s16>) = COPY $vgpr062    %bitcast:_(s32) = G_BITCAST %src63    %lshr_amount:_(s32) = G_CONSTANT i32 864    %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount65    %root:_(<2 x s16>) = G_BUILD_VECTOR_TRUNC %bitcast, %lshr66    $vgpr0 = COPY %root67...68 69---70name: v2s16_same_bitcast_lshr1671tracksRegLiveness: true72legalized: true73body: |74  bb.0:75    liveins: $vgpr076    ; CHECK-LABEL: name: v2s16_same_bitcast_lshr1677    ; CHECK: liveins: $vgpr078    ; CHECK-NEXT: {{  $}}79    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr080    ; CHECK-NEXT: $vgpr0 = COPY %src(<2 x s16>)81    %src:_(<2 x s16>) = COPY $vgpr082    %bitcast:_(s32) = G_BITCAST %src83    %lshr_amount:_(s32) = G_CONSTANT i32 1684    %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount85    %trunclo:_(s16) = G_TRUNC %bitcast86    %trunchi:_(s16) = G_TRUNC %lshr87    %root:_(<2 x s16>) = G_BUILD_VECTOR %trunclo, %trunchi88    $vgpr0 = COPY %root89...90 91---92name: v2s16_same_bitcast_lshr8_nocombine93tracksRegLiveness: true94legalized: true95body: |96  bb.0:97    liveins: $vgpr098    ; CHECK-LABEL: name: v2s16_same_bitcast_lshr8_nocombine99    ; CHECK: liveins: $vgpr0100    ; CHECK-NEXT: {{  $}}101    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr0102    ; CHECK-NEXT: %bitcast:_(s32) = G_BITCAST %src(<2 x s16>)103    ; CHECK-NEXT: %lshr_amount:_(s32) = G_CONSTANT i32 8104    ; CHECK-NEXT: %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount(s32)105    ; CHECK-NEXT: %trunclo:_(s16) = G_TRUNC %bitcast(s32)106    ; CHECK-NEXT: %trunchi:_(s16) = G_TRUNC %lshr(s32)107    ; CHECK-NEXT: %root:_(<2 x s16>) = G_BUILD_VECTOR %trunclo(s16), %trunchi(s16)108    ; CHECK-NEXT: $vgpr0 = COPY %root(<2 x s16>)109    %src:_(<2 x s16>) = COPY $vgpr0110    %bitcast:_(s32) = G_BITCAST %src111    %lshr_amount:_(s32) = G_CONSTANT i32 8112    %lshr:_(s32) = G_LSHR %bitcast, %lshr_amount113    %trunclo:_(s16) = G_TRUNC %bitcast114    %trunchi:_(s16) = G_TRUNC %lshr115    %root:_(<2 x s16>) = G_BUILD_VECTOR %trunclo, %trunchi116    $vgpr0 = COPY %root117...118 119---120name: v2s16_undefhi121tracksRegLiveness: true122legalized: true123body: |124  bb.0:125    liveins: $vgpr0126    ; CHECK-LABEL: name: v2s16_undefhi127    ; CHECK: liveins: $vgpr0128    ; CHECK-NEXT: {{  $}}129    ; CHECK-NEXT: %src:_(<2 x s16>) = COPY $vgpr0130    ; CHECK-NEXT: $vgpr0 = COPY %src(<2 x s16>)131    %src:_(<2 x s16>) = COPY $vgpr0132    %bitcast:_(s32) = G_BITCAST %src133    %trunc:_(s16) = G_TRUNC %bitcast134    %undef:_(s16) = G_IMPLICIT_DEF135    %root:_(<2 x s16>) = G_BUILD_VECTOR %trunc, %undef136    $vgpr0 = COPY %root137...138 139---140name: v2s32_undefhi141tracksRegLiveness: true142legalized: true143body: |144  bb.0:145    liveins: $vgpr0_vgpr1146    ; CHECK-LABEL: name: v2s32_undefhi147    ; CHECK: liveins: $vgpr0_vgpr1148    ; CHECK-NEXT: {{  $}}149    ; CHECK-NEXT: %src:_(<2 x s32>) = COPY $vgpr0_vgpr1150    ; CHECK-NEXT: $vgpr0_vgpr1 = COPY %src(<2 x s32>)151    %src:_(<2 x s32>) = COPY $vgpr0_vgpr1152    %bitcast:_(s64) = G_BITCAST %src153    %trunc:_(s32) = G_TRUNC %bitcast154    %undef:_(s32) = G_IMPLICIT_DEF155    %root:_(<2 x s32>) = G_BUILD_VECTOR %trunc, %undef156    $vgpr0_vgpr1 = COPY %root157...158