brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 581cf6c Raw
117 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GFX6 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GFX9 %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GFX9 %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck -check-prefix=GFX9 %s6 7---8name: smax_neg_abs_pattern_s32_ss9legalized: true10regBankSelected: true11tracksRegLiveness: true12 13body: |14  bb.0:15    liveins: $sgpr016 17    ; GFX6-LABEL: name: smax_neg_abs_pattern_s32_ss18    ; GFX6: liveins: $sgpr019    ; GFX6-NEXT: {{  $}}20    ; GFX6-NEXT: %src0:sreg_32 = COPY $sgpr021    ; GFX6-NEXT: %smax:sreg_32 = S_ABS_I32 %src0, implicit-def dead $scc22    ; GFX6-NEXT: S_ENDPGM 0, implicit %smax23    ;24    ; GFX9-LABEL: name: smax_neg_abs_pattern_s32_ss25    ; GFX9: liveins: $sgpr026    ; GFX9-NEXT: {{  $}}27    ; GFX9-NEXT: %src0:sreg_32 = COPY $sgpr028    ; GFX9-NEXT: %smax:sreg_32 = S_ABS_I32 %src0, implicit-def dead $scc29    ; GFX9-NEXT: S_ENDPGM 0, implicit %smax30    %src0:sgpr(s32) = COPY $sgpr031    %zero:sgpr(s32) = G_CONSTANT i32 032    %ineg:sgpr(s32) = G_SUB %zero, %src033    %smax:sgpr(s32) = G_SMAX %src0, %ineg34    S_ENDPGM 0, implicit %smax35...36 37---38name: smax_neg_abs_pattern_s32_ss_commute39legalized: true40regBankSelected: true41tracksRegLiveness: true42 43body: |44  bb.0:45    liveins: $sgpr046 47    ; GFX6-LABEL: name: smax_neg_abs_pattern_s32_ss_commute48    ; GFX6: liveins: $sgpr049    ; GFX6-NEXT: {{  $}}50    ; GFX6-NEXT: %src0:sreg_32 = COPY $sgpr051    ; GFX6-NEXT: %smax:sreg_32 = S_ABS_I32 %src0, implicit-def dead $scc52    ; GFX6-NEXT: S_ENDPGM 0, implicit %smax53    ;54    ; GFX9-LABEL: name: smax_neg_abs_pattern_s32_ss_commute55    ; GFX9: liveins: $sgpr056    ; GFX9-NEXT: {{  $}}57    ; GFX9-NEXT: %src0:sreg_32 = COPY $sgpr058    ; GFX9-NEXT: %smax:sreg_32 = S_ABS_I32 %src0, implicit-def dead $scc59    ; GFX9-NEXT: S_ENDPGM 0, implicit %smax60    %src0:sgpr(s32) = COPY $sgpr061    %zero:sgpr(s32) = G_CONSTANT i32 062    %ineg:sgpr(s32) = G_SUB %zero, %src063    %smax:sgpr(s32) = G_SMAX %ineg, %src064    S_ENDPGM 0, implicit %smax65...66 67---68name: smax_neg_abs_pattern_s32_vv69legalized: true70regBankSelected: true71tracksRegLiveness: true72 73body: |74  bb.0:75    liveins: $vgpr076 77    ; GFX6-LABEL: name: smax_neg_abs_pattern_s32_vv78    ; GFX6: liveins: $vgpr079    ; GFX6-NEXT: {{  $}}80    ; GFX6-NEXT: %src0:vgpr_32 = COPY $vgpr081    ; GFX6-NEXT: %zero:vgpr_32 = V_MOV_B32_e32 0, implicit $exec82    ; GFX6-NEXT: %ineg:vgpr_32, dead %4:sreg_64 = V_SUB_CO_U32_e64 %zero, %src0, 0, implicit $exec83    ; GFX6-NEXT: %smax:vgpr_32 = V_MAX_I32_e64 %src0, %ineg, implicit $exec84    ; GFX6-NEXT: S_ENDPGM 0, implicit %smax85    ;86    ; GFX9-LABEL: name: smax_neg_abs_pattern_s32_vv87    ; GFX9: liveins: $vgpr088    ; GFX9-NEXT: {{  $}}89    ; GFX9-NEXT: %src0:vgpr_32 = COPY $vgpr090    ; GFX9-NEXT: %zero:vgpr_32 = V_MOV_B32_e32 0, implicit $exec91    ; GFX9-NEXT: %ineg:vgpr_32 = V_SUB_U32_e64 %zero, %src0, 0, implicit $exec92    ; GFX9-NEXT: %smax:vgpr_32 = V_MAX_I32_e64 %src0, %ineg, implicit $exec93    ; GFX9-NEXT: S_ENDPGM 0, implicit %smax94    %src0:vgpr(s32) = COPY $vgpr095    %zero:vgpr(s32) = G_CONSTANT i32 096    %ineg:vgpr(s32) = G_SUB %zero, %src097    %smax:vgpr(s32) = G_SMAX %src0, %ineg98    S_ENDPGM 0, implicit %smax99...100 101# FIXME: Violates constant bus restriction102# ---103# name: smax_neg_abs_pattern_s32_vs104# legalized: true105# regBankSelected: true106 107# body: |108#   bb.0:109#     liveins: $sgpr0110 111#     %src0:sgpr(s32) = COPY $sgpr0112#     %zero:sgpr(s32) = G_CONSTANT i32 0113#     %ineg:sgpr(s32) = G_SUB %zero, %src0114#     %smax:vgpr(s32) = G_SMAX %src0, %ineg115#     S_ENDPGM 0, implicit %smax116# ...117