brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · c9959bf Raw
160 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 %s -o - | FileCheck --check-prefix=GCN %s3# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1010 -run-pass=amdgpu-postlegalizer-combiner -verify-machineinstrs %s -o - | FileCheck --check-prefix=GCN %s4 5---6name:            bfe_and_lshr_s327legalized:       true8tracksRegLiveness: true9 10body: |11  bb.0.entry:12  liveins: $vgpr013 14    ; GCN-LABEL: name: bfe_and_lshr_s3215    ; GCN: liveins: $vgpr016    ; GCN-NEXT: {{  $}}17    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr018    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 519    ; GCN-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 820    ; GCN-NEXT: [[UBFX:%[0-9]+]]:_(s32) = G_UBFX [[COPY]], [[C1]](s32), [[C]]21    ; GCN-NEXT: $vgpr0 = COPY [[UBFX]](s32)22    %0:_(s32) = COPY $vgpr023    %1:_(s32) = G_CONSTANT i32 824    %2:_(s32) = G_LSHR %0, %1(s32)25    %3:_(s32) = G_CONSTANT i32 3126    %4:_(s32) = G_AND %2, %327    $vgpr0 = COPY %4(s32)28 29...30 31---32name:            bfe_and_lshr_s6433legalized:       true34tracksRegLiveness: true35 36body: |37  bb.0.entry:38  liveins: $vgpr0_vgpr139 40    ; GCN-LABEL: name: bfe_and_lshr_s6441    ; GCN: liveins: $vgpr0_vgpr142    ; GCN-NEXT: {{  $}}43    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr144    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 1045    ; GCN-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 846    ; GCN-NEXT: [[UBFX:%[0-9]+]]:_(s64) = G_UBFX [[COPY]], [[C1]](s32), [[C]]47    ; GCN-NEXT: $vgpr0_vgpr1 = COPY [[UBFX]](s64)48    %0:_(s64) = COPY $vgpr0_vgpr149    %1:_(s32) = G_CONSTANT i32 850    %2:_(s64) = G_LSHR %0, %1(s32)51    %3:_(s64) = G_CONSTANT i64 102352    %4:_(s64) = G_AND %2, %353    $vgpr0_vgpr1 = COPY %4(s64)54 55...56 57---58name:            toobig_and_lshr_s3259legalized:       true60tracksRegLiveness: true61 62body: |63  bb.0.entry:64  liveins: $vgpr065 66    ; GCN-LABEL: name: toobig_and_lshr_s3267    ; GCN: liveins: $vgpr068    ; GCN-NEXT: {{  $}}69    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr070    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 2871    ; GCN-NEXT: [[LSHR:%[0-9]+]]:_(s32) = G_LSHR [[COPY]], [[C]](s32)72    ; GCN-NEXT: $vgpr0 = COPY [[LSHR]](s32)73    %0:_(s32) = COPY $vgpr074    %1:_(s32) = G_CONSTANT i32 2875    %2:_(s32) = G_LSHR %0, %1(s32)76    %3:_(s32) = G_CONSTANT i32 51177    %4:_(s32) = G_AND %2, %378    $vgpr0 = COPY %4(s32)79 80...81 82---83name:            bfe_and_ashr_s3284legalized:       true85tracksRegLiveness: true86 87body: |88  bb.0.entry:89  liveins: $vgpr090 91    ; GCN-LABEL: name: bfe_and_ashr_s3292    ; GCN: liveins: $vgpr093    ; GCN-NEXT: {{  $}}94    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr095    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 896    ; GCN-NEXT: [[ASHR:%[0-9]+]]:_(s32) = G_ASHR [[COPY]], [[C]](s32)97    ; GCN-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 3198    ; GCN-NEXT: [[AND:%[0-9]+]]:_(s32) = G_AND [[ASHR]], [[C1]]99    ; GCN-NEXT: $vgpr0 = COPY [[AND]](s32)100    %0:_(s32) = COPY $vgpr0101    %1:_(s32) = G_CONSTANT i32 8102    %2:_(s32) = G_ASHR %0, %1(s32)103    %3:_(s32) = G_CONSTANT i32 31104    %4:_(s32) = G_AND %2, %3105    $vgpr0 = COPY %4(s32)106 107...108 109---110name:            bfe_lshr_and_s32111legalized:       true112tracksRegLiveness: true113 114body: |115  bb.0.entry:116  liveins: $vgpr0117 118    ; GCN-LABEL: name: bfe_lshr_and_s32119    ; GCN: liveins: $vgpr0120    ; GCN-NEXT: {{  $}}121    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0122    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 5123    ; GCN-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 8124    ; GCN-NEXT: [[UBFX:%[0-9]+]]:_(s32) = G_UBFX [[COPY]], [[C1]](s32), [[C]]125    ; GCN-NEXT: $vgpr0 = COPY [[UBFX]](s32)126    %0:_(s32) = COPY $vgpr0127    %1:_(s32) = G_CONSTANT i32 7936 ; 31 << 8128    %2:_(s32) = G_AND %0, %1129    %3:_(s32) = G_CONSTANT i32 8130    %4:_(s32) = G_LSHR %2, %3(s32)131    $vgpr0 = COPY %4(s32)132 133...134 135---136name:            bfe_lshr_and_s64137legalized:       true138tracksRegLiveness: true139 140body: |141  bb.0.entry:142  liveins: $vgpr0_vgpr1143 144    ; GCN-LABEL: name: bfe_lshr_and_s64145    ; GCN: liveins: $vgpr0_vgpr1146    ; GCN-NEXT: {{  $}}147    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $vgpr0_vgpr1148    ; GCN-NEXT: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 10149    ; GCN-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 8150    ; GCN-NEXT: [[UBFX:%[0-9]+]]:_(s64) = G_UBFX [[COPY]], [[C1]](s32), [[C]]151    ; GCN-NEXT: $vgpr0_vgpr1 = COPY [[UBFX]](s64)152    %0:_(s64) = COPY $vgpr0_vgpr1153    %1:_(s64) = G_CONSTANT i64 261888 ; 1023 << 8154    %2:_(s64) = G_AND %0, %1155    %3:_(s32) = G_CONSTANT i32 8156    %4:_(s64) = G_LSHR %2, %3(s32)157    $vgpr0_vgpr1 = COPY %4(s64)158 159...160