brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · 047452f Raw
97 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -run-pass=amdgpu-postlegalizer-combiner -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s3 4---5name:            select_from_different_results_of_unmerge_values6tracksRegLiveness: true7body:             |8  bb.0:9    liveins: $vgpr010 11    ; GCN-LABEL: name: select_from_different_results_of_unmerge_values12    ; GCN: liveins: $vgpr013    ; GCN-NEXT: {{  $}}14    ; GCN-NEXT: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF15    ; GCN-NEXT: $vgpr0 = COPY [[DEF]](s32)16    ; GCN-NEXT: SI_RETURN_TO_EPILOG $vgpr017    %0:_(<2 x s32>) = G_IMPLICIT_DEF18    %1:_(s32) = COPY $vgpr019    %2:_(s1) = G_TRUNC %1:_(s32)20    %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %0:_(<2 x s32>)21    %5:_(s32) = G_SELECT %2:_(s1), %3:_, %4:_22    $vgpr0 = COPY %523    SI_RETURN_TO_EPILOG $vgpr024 25...26 27---28name:            select_from_same_results_of_unmerge_values29tracksRegLiveness: true30body:             |31  bb.0:32    liveins: $vgpr033 34    ; GCN-LABEL: name: select_from_same_results_of_unmerge_values35    ; GCN: liveins: $vgpr036    ; GCN-NEXT: {{  $}}37    ; GCN-NEXT: [[DEF:%[0-9]+]]:_(s32) = G_IMPLICIT_DEF38    ; GCN-NEXT: $vgpr0 = COPY [[DEF]](s32)39    ; GCN-NEXT: SI_RETURN_TO_EPILOG $vgpr040    %0:_(<2 x s32>) = G_IMPLICIT_DEF41    %1:_(s32) = COPY $vgpr042    %2:_(s1) = G_TRUNC %1:_(s32)43    %3:_(s32), %4:_(s32) = G_UNMERGE_VALUES %0:_(<2 x s32>)44    %5:_(s32) = G_SELECT %2:_(s1), %3:_, %3:_45    $vgpr0 = COPY %546    SI_RETURN_TO_EPILOG $vgpr047 48...49 50---51name: select_different_result_from_different_unmerge_values_with_the_same_source52tracksRegLiveness: true53body: |54  bb.0:55    liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr456 57    ; GCN-LABEL: name: select_different_result_from_different_unmerge_values_with_the_same_source58    ; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr459    ; GCN-NEXT: {{  $}}60    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr361    ; GCN-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr462    ; GCN-NEXT: [[TRUNC:%[0-9]+]]:_(s1) = G_TRUNC [[COPY1]](s32)63    ; GCN-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32), [[UV2:%[0-9]+]]:_(s32), [[UV3:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<4 x s32>)64    ; GCN-NEXT: [[UV4:%[0-9]+]]:_(s32), [[UV5:%[0-9]+]]:_(s32), [[UV6:%[0-9]+]]:_(s32), [[UV7:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<4 x s32>)65    ; GCN-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[TRUNC]](s1), [[UV1]], [[UV7]]66    ; GCN-NEXT: $vgpr0 = COPY [[SELECT]](s32)67    %0:_(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr368    %1:_(s32) = COPY $vgpr469    %2:_(s1) = G_TRUNC %1:_(s32)70    %3:_(s32), %4:_(s32), %5:_(s32), %6:_(s32) = G_UNMERGE_VALUES %0:_(<4 x s32>)71    %7:_(s32), %8:_(s32), %9:_(s32), %10:_(s32) = G_UNMERGE_VALUES %0:_(<4 x s32>)72    %11:_(s32) = G_SELECT %2:_(s1), %4:_, %10:_73    $vgpr0 = COPY %1174...75 76---77name: select_same_result_from_different_unmerge_values_with_the_same_source78tracksRegLiveness: true79body: |80  bb.0:81    liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr482 83    ; GCN-LABEL: name: select_same_result_from_different_unmerge_values_with_the_same_source84    ; GCN: liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr485    ; GCN-NEXT: {{  $}}86    ; GCN-NEXT: [[COPY:%[0-9]+]]:_(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr387    ; GCN-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32), [[UV2:%[0-9]+]]:_(s32), [[UV3:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<4 x s32>)88    ; GCN-NEXT: $vgpr0 = COPY [[UV1]](s32)89    %0:_(<4 x s32>) = COPY $vgpr0_vgpr1_vgpr2_vgpr390    %1:_(s32) = COPY $vgpr491    %2:_(s1) = G_TRUNC %1:_(s32)92    %3:_(s32), %4:_(s32), %5:_(s32), %6:_(s32) = G_UNMERGE_VALUES %0:_(<4 x s32>)93    %7:_(s32), %8:_(s32), %9:_(s32), %10:_(s32) = G_UNMERGE_VALUES %0:_(<4 x s32>)94    %11:_(s32) = G_SELECT %2:_(s1), %4:_, %8:_95    $vgpr0 = COPY %1196...97