brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.7 KiB · d80a13c Raw
295 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1150 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX1150 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX1150 %s4 5---6name:            fadd_f327legalized:       true8regBankSelected: true9body:             |10  bb.0:11    liveins: $sgpr0, $sgpr112 13    ; GFX1150-LABEL: name: fadd_f3214    ; GFX1150: liveins: $sgpr0, $sgpr115    ; GFX1150-NEXT: {{  $}}16    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr017    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr118    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_ADD_F32 [[COPY]], [[COPY1]], implicit $mode19    ; GFX1150-NEXT: $sgpr0 = COPY %220    %0:sgpr(s32) = COPY $sgpr021    %1:sgpr(s32) = COPY $sgpr122    %2:sgpr(s32) = G_FADD %0, %123    $sgpr0 = COPY %2(s32)24 25...26---27name:            fsub_f3228legalized:       true29regBankSelected: true30body:             |31  bb.0:32    liveins: $sgpr0, $sgpr133 34    ; GFX1150-LABEL: name: fsub_f3235    ; GFX1150: liveins: $sgpr0, $sgpr136    ; GFX1150-NEXT: {{  $}}37    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr038    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr139    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_SUB_F32 [[COPY]], [[COPY1]], implicit $mode40    ; GFX1150-NEXT: $sgpr0 = COPY %241    %0:sgpr(s32) = COPY $sgpr042    %1:sgpr(s32) = COPY $sgpr143    %2:sgpr(s32) = G_FSUB %0, %144    $sgpr0 = COPY %2(s32)45 46...47---48name:            fmul_f3249legalized:       true50regBankSelected: true51body:             |52  bb.0:53    liveins: $sgpr0, $sgpr154 55    ; GFX1150-LABEL: name: fmul_f3256    ; GFX1150: liveins: $sgpr0, $sgpr157    ; GFX1150-NEXT: {{  $}}58    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr059    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr160    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_MUL_F32 [[COPY]], [[COPY1]], implicit $mode61    ; GFX1150-NEXT: $sgpr0 = COPY %262    %0:sgpr(s32) = COPY $sgpr063    %1:sgpr(s32) = COPY $sgpr164    %2:sgpr(s32) = G_FMUL %0, %165    $sgpr0 = COPY %2(s32)66 67...68---69name:            fmin_f3270legalized:       true71regBankSelected: true72body:             |73  bb.0:74    liveins: $sgpr0, $sgpr175 76    ; GFX1150-LABEL: name: fmin_f3277    ; GFX1150: liveins: $sgpr0, $sgpr178    ; GFX1150-NEXT: {{  $}}79    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr080    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr181    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_MIN_F32 [[COPY]], [[COPY1]], implicit $mode82    ; GFX1150-NEXT: $sgpr0 = COPY %283    %0:sgpr(s32) = COPY $sgpr084    %1:sgpr(s32) = COPY $sgpr185    %2:sgpr(s32) = G_FMINNUM %0, %186    $sgpr0 = COPY %2(s32)87 88...89---90name:            fmax_f3291legalized:       true92regBankSelected: true93body:             |94  bb.0:95    liveins: $sgpr0, $sgpr196 97    ; GFX1150-LABEL: name: fmax_f3298    ; GFX1150: liveins: $sgpr0, $sgpr199    ; GFX1150-NEXT: {{  $}}100    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0101    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1102    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_MAX_F32 [[COPY]], [[COPY1]], implicit $mode103    ; GFX1150-NEXT: $sgpr0 = COPY %2104    %0:sgpr(s32) = COPY $sgpr0105    %1:sgpr(s32) = COPY $sgpr1106    %2:sgpr(s32) = G_FMAXNUM %0, %1107    $sgpr0 = COPY %2(s32)108 109...110---111name:            fadd_f16112legalized:       true113regBankSelected: true114body:             |115  bb.0:116    liveins: $sgpr0, $sgpr1117 118    ; GFX1150-LABEL: name: fadd_f16119    ; GFX1150: liveins: $sgpr0, $sgpr1120    ; GFX1150-NEXT: {{  $}}121    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0122    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1123    ; GFX1150-NEXT: %4:sreg_32 = nofpexcept S_ADD_F16 [[COPY]], [[COPY1]], implicit $mode124    ; GFX1150-NEXT: $sgpr0 = COPY %4125    %0:sgpr(s32) = COPY $sgpr0126    %1:sgpr(s16) = G_TRUNC %0(s32)127    %2:sgpr(s32) = COPY $sgpr1128    %3:sgpr(s16) = G_TRUNC %2(s32)129    %4:sgpr(s16) = G_FADD %1, %3130    %5:sgpr(s32) = G_ANYEXT %4(s16)131    $sgpr0 = COPY %5(s32)132 133...134---135name:            fsub_f16136legalized:       true137regBankSelected: true138body:             |139 bb.0:140    liveins: $sgpr0, $sgpr1141 142    ; GFX1150-LABEL: name: fsub_f16143    ; GFX1150: liveins: $sgpr0, $sgpr1144    ; GFX1150-NEXT: {{  $}}145    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0146    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1147    ; GFX1150-NEXT: %4:sreg_32 = nofpexcept S_SUB_F16 [[COPY]], [[COPY1]], implicit $mode148    ; GFX1150-NEXT: $sgpr0 = COPY %4149    %0:sgpr(s32) = COPY $sgpr0150    %1:sgpr(s16) = G_TRUNC %0(s32)151    %2:sgpr(s32) = COPY $sgpr1152    %3:sgpr(s16) = G_TRUNC %2(s32)153    %4:sgpr(s16) = G_FSUB %1, %3154    %5:sgpr(s32) = G_ANYEXT %4(s16)155    $sgpr0 = COPY %5(s32)156 157...158---159name:            fmul_f16160legalized:       true161regBankSelected: true162body:             |163  bb.0:164    liveins: $sgpr0, $sgpr1165 166    ; GFX1150-LABEL: name: fmul_f16167    ; GFX1150: liveins: $sgpr0, $sgpr1168    ; GFX1150-NEXT: {{  $}}169    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0170    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1171    ; GFX1150-NEXT: %4:sreg_32 = nofpexcept S_MUL_F16 [[COPY]], [[COPY1]], implicit $mode172    ; GFX1150-NEXT: $sgpr0 = COPY %4173    %0:sgpr(s32) = COPY $sgpr0174    %1:sgpr(s16) = G_TRUNC %0(s32)175    %2:sgpr(s32) = COPY $sgpr1176    %3:sgpr(s16) = G_TRUNC %2(s32)177    %4:sgpr(s16) = G_FMUL %1, %3178    %5:sgpr(s32) = G_ANYEXT %4(s16)179    $sgpr0 = COPY %5(s32)180 181...182---183name:            fmin_f16184legalized:       true185regBankSelected: true186body:             |187  bb.0:188    liveins: $sgpr0, $sgpr1189 190    ; GFX1150-LABEL: name: fmin_f16191    ; GFX1150: liveins: $sgpr0, $sgpr1192    ; GFX1150-NEXT: {{  $}}193    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0194    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1195    ; GFX1150-NEXT: %4:sreg_32 = nofpexcept S_MIN_F16 [[COPY]], [[COPY1]], implicit $mode196    ; GFX1150-NEXT: $sgpr0 = COPY %4197    %0:sgpr(s32) = COPY $sgpr0198    %1:sgpr(s16) = G_TRUNC %0(s32)199    %2:sgpr(s32) = COPY $sgpr1200    %3:sgpr(s16) = G_TRUNC %2(s32)201    %4:sgpr(s16) = G_FMINNUM %1, %3202    %5:sgpr(s32) = G_ANYEXT %4(s16)203    $sgpr0 = COPY %5(s32)204 205...206---207name:            fmax_f16208legalized:       true209regBankSelected: true210body:             |211  bb.0:212    liveins: $sgpr0, $sgpr1213 214    ; GFX1150-LABEL: name: fmax_f16215    ; GFX1150: liveins: $sgpr0, $sgpr1216    %0:sgpr(s32) = COPY $sgpr0217    %1:sgpr(s16) = G_TRUNC %0(s32)218    %2:sgpr(s32) = COPY $sgpr1219    %3:sgpr(s16) = G_TRUNC %2(s32)220    %4:sgpr(s16) = G_FMAXNUM %1, %3221    %5:sgpr(s32) = G_ANYEXT %4(s16)222 223...224---225name:            s_cvt_pkrtz_v2f16_f32226legalized:       true227regBankSelected: true228body:             |229  bb.0:230    liveins: $sgpr0, $sgpr1231 232    ; GFX1150-LABEL: name: s_cvt_pkrtz_v2f16_f32233    ; GFX1150: liveins: $sgpr0, $sgpr1234    ; GFX1150-NEXT: {{  $}}235    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0236    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1237    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_CVT_PK_RTZ_F16_F32 [[COPY]], [[COPY1]], implicit $mode238    ; GFX1150-NEXT: $sgpr0 = COPY %2239    %0:sgpr(s32) = COPY $sgpr0240    %1:sgpr(s32) = COPY $sgpr1241    %2:sgpr(<2 x s16>) = G_INTRINSIC intrinsic(@llvm.amdgcn.cvt.pkrtz), %0(s32), %1(s32)242    $sgpr0 = COPY %2(<2 x s16>)243 244...245---246name:            fmac_f32247legalized:       true248regBankSelected: true249body:             |250  bb.0:251    liveins: $sgpr0, $sgpr1, $sgpr2252 253    ; GFX1150-LABEL: name: fmac_f32254    ; GFX1150: liveins: $sgpr0, $sgpr1, $sgpr2255    ; GFX1150-NEXT: {{  $}}256    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0257    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1258    ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2259    ; GFX1150-NEXT: %3:sreg_32 = nofpexcept S_FMAC_F32 [[COPY1]], [[COPY2]], [[COPY]], implicit $mode260    ; GFX1150-NEXT: $sgpr0 = COPY %3261    %0:sgpr(s32) = COPY $sgpr0262    %1:sgpr(s32) = COPY $sgpr1263    %2:sgpr(s32) = COPY $sgpr2264    %3:sgpr(s32) = G_FMA %1, %2, %0265    $sgpr0 = COPY %3(s32)266 267...268---269name:            fmac_f16270legalized:       true271regBankSelected: true272body:             |273  bb.0:274    liveins: $sgpr0, $sgpr1, $sgpr2275 276    ; GFX1150-LABEL: name: fmac_f16277    ; GFX1150: liveins: $sgpr0, $sgpr1, $sgpr2278    ; GFX1150-NEXT: {{  $}}279    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0280    ; GFX1150-NEXT: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1281    ; GFX1150-NEXT: [[COPY2:%[0-9]+]]:sreg_32 = COPY $sgpr2282    ; GFX1150-NEXT: %6:sreg_32 = nofpexcept S_FMAC_F16 [[COPY1]], [[COPY2]], [[COPY]], implicit $mode283    ; GFX1150-NEXT: $sgpr0 = COPY %6284    %0:sgpr(s32) = COPY $sgpr0285    %1:sgpr(s16) = G_TRUNC %0(s32)286    %2:sgpr(s32) = COPY $sgpr1287    %3:sgpr(s16) = G_TRUNC %2(s32)288    %4:sgpr(s32) = COPY $sgpr2289    %5:sgpr(s16) = G_TRUNC %4(s32)290    %6:sgpr(s16) = G_FMA %3, %5, %1291    %7:sgpr(s32) = G_ANYEXT %6(s16)292    $sgpr0 = COPY %7(s32)293 294...295