71 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=CHECK %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=CHECK %s4# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=CHECK %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=-real-true16 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefixes=GFX11 %s6 7---8name: fminnum_f16_vv9legalized: true10regBankSelected: true11 12body: |13 bb.0:14 liveins: $vgpr0, $vgpr115 16 ; CHECK-LABEL: name: fminnum_f16_vv17 ; CHECK: liveins: $vgpr0, $vgpr118 ; CHECK-NEXT: {{ $}}19 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr020 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr121 ; CHECK-NEXT: [[V_MIN_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_MIN_F16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec22 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_MIN_F16_e64_]]23 ;24 ; GFX11-LABEL: name: fminnum_f16_vv25 ; GFX11: liveins: $vgpr0, $vgpr126 ; GFX11-NEXT: {{ $}}27 ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr028 ; GFX11-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr129 ; GFX11-NEXT: [[V_MIN_F16_fake16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_MIN_F16_fake16_e64 0, [[COPY]], 0, [[COPY1]], 0, 0, implicit $mode, implicit $exec30 ; GFX11-NEXT: S_ENDPGM 0, implicit [[V_MIN_F16_fake16_e64_]]31 %0:vgpr(s32) = COPY $vgpr032 %1:vgpr(s32) = COPY $vgpr133 %2:vgpr(s16) = G_TRUNC %034 %3:vgpr(s16) = G_TRUNC %135 %4:vgpr(s16) = G_FMINNUM %2, %336 S_ENDPGM 0, implicit %437...38 39---40name: fminnum_f16_v_fneg_v41legalized: true42regBankSelected: true43 44body: |45 bb.0:46 liveins: $vgpr0, $vgpr147 48 ; CHECK-LABEL: name: fminnum_f16_v_fneg_v49 ; CHECK: liveins: $vgpr0, $vgpr150 ; CHECK-NEXT: {{ $}}51 ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr052 ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr153 ; CHECK-NEXT: [[V_MIN_F16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_MIN_F16_e64 0, [[COPY]], 1, [[COPY1]], 0, 0, implicit $mode, implicit $exec54 ; CHECK-NEXT: S_ENDPGM 0, implicit [[V_MIN_F16_e64_]]55 ;56 ; GFX11-LABEL: name: fminnum_f16_v_fneg_v57 ; GFX11: liveins: $vgpr0, $vgpr158 ; GFX11-NEXT: {{ $}}59 ; GFX11-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr060 ; GFX11-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr161 ; GFX11-NEXT: [[V_MIN_F16_fake16_e64_:%[0-9]+]]:vgpr_32 = nofpexcept V_MIN_F16_fake16_e64 0, [[COPY]], 1, [[COPY1]], 0, 0, implicit $mode, implicit $exec62 ; GFX11-NEXT: S_ENDPGM 0, implicit [[V_MIN_F16_fake16_e64_]]63 %0:vgpr(s32) = COPY $vgpr064 %1:vgpr(s32) = COPY $vgpr165 %2:vgpr(s16) = G_TRUNC %066 %3:vgpr(s16) = G_TRUNC %167 %4:vgpr(s16) = G_FNEG %368 %5:vgpr(s16) = G_FMINNUM %2, %469 S_ENDPGM 0, implicit %570...71