brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · 130f87e Raw
304 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:            sitofp_i32_to_f327legalized:       true8regBankSelected: true9body:             |10  bb.0:11    liveins: $sgpr012 13    ; GFX1150-LABEL: name: sitofp_i32_to_f3214    ; GFX1150: liveins: $sgpr015    ; GFX1150-NEXT: {{  $}}16    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr017    ; GFX1150-NEXT: [[S_CVT_F32_I32_:%[0-9]+]]:sreg_32 = S_CVT_F32_I32 [[COPY]], implicit $mode18    ; GFX1150-NEXT: $sgpr0 = COPY [[S_CVT_F32_I32_]]19    %0:sgpr(s32) = COPY $sgpr020    %1:sgpr(s32) = G_SITOFP %0(s32)21    $sgpr0 = COPY %1(s32)22 23...24---25name:            uitofp_u32_to_f3226legalized:       true27regBankSelected: true28body:             |29  bb.0:30    liveins: $sgpr031 32    ; GFX1150-LABEL: name: uitofp_u32_to_f3233    ; GFX1150: liveins: $sgpr034    ; GFX1150-NEXT: {{  $}}35    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr036    ; GFX1150-NEXT: [[S_CVT_F32_U32_:%[0-9]+]]:sreg_32 = S_CVT_F32_U32 [[COPY]], implicit $mode37    ; GFX1150-NEXT: $sgpr0 = COPY [[S_CVT_F32_U32_]]38    %0:sgpr(s32) = COPY $sgpr039    %1:sgpr(s32) = G_UITOFP %0(s32)40    $sgpr0 = COPY %1(s32)41 42...43---44name:            fptosi_f32_to_i3245legalized:       true46regBankSelected: true47body:             |48  bb.0:49    liveins: $sgpr050 51    ; GFX1150-LABEL: name: fptosi_f32_to_i3252    ; GFX1150: liveins: $sgpr053    ; GFX1150-NEXT: {{  $}}54    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr055    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_CVT_I32_F32 [[COPY]], implicit $mode56    ; GFX1150-NEXT: $sgpr0 = COPY %157    %0:sgpr(s32) = COPY $sgpr058    %1:sgpr(s32) = G_FPTOSI %0(s32)59    $sgpr0 = COPY %1(s32)60 61...62---63name:            fptoui_f32_to_u3264legalized:       true65regBankSelected: true66body:             |67  bb.0:68    liveins: $sgpr069 70    ; GFX1150-LABEL: name: fptoui_f32_to_u3271    ; GFX1150: liveins: $sgpr072    ; GFX1150-NEXT: {{  $}}73    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr074    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_CVT_U32_F32 [[COPY]], implicit $mode75    ; GFX1150-NEXT: $sgpr0 = COPY %176    %0:sgpr(s32) = COPY $sgpr077    %1:sgpr(s32) = G_FPTOUI %0(s32)78    $sgpr0 = COPY %1(s32)79 80...81---82name:            fpext_f16_to_f3283legalized:       true84regBankSelected: true85body:             |86  bb.0:87    liveins: $sgpr088 89    ; GFX1150-LABEL: name: fpext_f16_to_f3290    ; GFX1150: liveins: $sgpr091    ; GFX1150-NEXT: {{  $}}92    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr093    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_CVT_F32_F16 [[COPY]], implicit $mode94    ; GFX1150-NEXT: $sgpr0 = COPY %295    %0:sgpr(s32) = COPY $sgpr096    %1:sgpr(s16) = G_TRUNC %0(s32)97    %2:sgpr(s32) = G_FPEXT %1(s16)98    $sgpr0 = COPY %2(s32)99 100...101---102name:            fpext_hif16_to_32103legalized:       true104regBankSelected: true105body:             |106  bb.0:107    liveins: $sgpr0108 109    ; GFX1150-LABEL: name: fpext_hif16_to_32110    ; GFX1150: liveins: $sgpr0111    ; GFX1150-NEXT: {{  $}}112    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0113    ; GFX1150-NEXT: [[S_CVT_HI_F32_F16_:%[0-9]+]]:sreg_32 = S_CVT_HI_F32_F16 [[COPY]], implicit $mode114    ; GFX1150-NEXT: $sgpr0 = COPY [[S_CVT_HI_F32_F16_]]115    %0:sgpr(<2 x s16>) = COPY $sgpr0116    %2:sgpr(s32) = G_BITCAST %0(<2 x s16>)117    %3:sgpr(s32) = G_CONSTANT i32 16118    %4:sgpr(s32) = G_LSHR %2, %3(s32)119    %5:sgpr(s16) = G_TRUNC %4(s32)120    %6:sgpr(s32) = G_FPEXT %5(s16)121    $sgpr0 = COPY %6(s32)122 123...124---125name:            fptrunc_f32_to_f16126legalized:       true127regBankSelected: true128body:             |129  bb.0:130    liveins: $sgpr0131 132    ; GFX1150-LABEL: name: fptrunc_f32_to_f16133    ; GFX1150: liveins: $sgpr0134    ; GFX1150-NEXT: {{  $}}135    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0136    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_CVT_F16_F32 [[COPY]], implicit $mode137    ; GFX1150-NEXT: $sgpr0 = COPY %1138    %0:sgpr(s32) = COPY $sgpr0139    %1:sgpr(s16) = G_FPTRUNC %0(s32)140    %2:sgpr(s32) = G_ANYEXT %1(s16)141    $sgpr0 = COPY %2(s32)142 143...144---145name:            fceil_f32146legalized:       true147regBankSelected: true148body:             |149  bb.0:150    liveins: $sgpr0151 152    ; GFX1150-LABEL: name: fceil_f32153    ; GFX1150: liveins: $sgpr0154    ; GFX1150-NEXT: {{  $}}155    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0156    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_CEIL_F32 [[COPY]], implicit $mode157    ; GFX1150-NEXT: $sgpr0 = COPY %1158    %0:sgpr(s32) = COPY $sgpr0159    %1:sgpr(s32) = G_FCEIL %0160    $sgpr0 = COPY %1(s32)161 162...163---164name:            ffloor_f32165legalized:       true166regBankSelected: true167body:             |168  bb.0:169    liveins: $sgpr0170 171    ; GFX1150-LABEL: name: ffloor_f32172    ; GFX1150: liveins: $sgpr0173    ; GFX1150-NEXT: {{  $}}174    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0175    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_FLOOR_F32 [[COPY]], implicit $mode176    ; GFX1150-NEXT: $sgpr0 = COPY %1177    %0:sgpr(s32) = COPY $sgpr0178    %1:sgpr(s32) = G_FFLOOR %0179    $sgpr0 = COPY %1(s32)180 181...182---183name:            ftrunc_f32184legalized:       true185regBankSelected: true186body:             |187  bb.0:188    liveins: $sgpr0189 190    ; GFX1150-LABEL: name: ftrunc_f32191    ; GFX1150: liveins: $sgpr0192    ; GFX1150-NEXT: {{  $}}193    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0194    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_TRUNC_F32 [[COPY]], implicit $mode195    ; GFX1150-NEXT: $sgpr0 = COPY %1196    %0:sgpr(s32) = COPY $sgpr0197    %1:sgpr(s32) = G_INTRINSIC_TRUNC %0198    $sgpr0 = COPY %1(s32)199 200...201---202name:            frint_f32203legalized:       true204regBankSelected: true205body:             |206  bb.0:207    liveins: $sgpr0208 209    ; GFX1150-LABEL: name: frint_f32210    ; GFX1150: liveins: $sgpr0211    ; GFX1150-NEXT: {{  $}}212    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0213    ; GFX1150-NEXT: %1:sreg_32 = nofpexcept S_RNDNE_F32 [[COPY]], implicit $mode214    ; GFX1150-NEXT: $sgpr0 = COPY %1215    %0:sgpr(s32) = COPY $sgpr0216    %1:sgpr(s32) = G_INTRINSIC_ROUNDEVEN %0217    $sgpr0 = COPY %1(s32)218 219...220---221name:            fceil_f16222legalized:       true223regBankSelected: true224body:             |225  bb.0:226    liveins: $sgpr0227 228    ; GFX1150-LABEL: name: fceil_f16229    ; GFX1150: liveins: $sgpr0230    ; GFX1150-NEXT: {{  $}}231    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0232    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_CEIL_F16 [[COPY]], implicit $mode233    ; GFX1150-NEXT: $sgpr0 = COPY %2234    %0:sgpr(s32) = COPY $sgpr0235    %1:sgpr(s16) = G_TRUNC %0(s32)236    %2:sgpr(s16) = G_FCEIL %1237    %3:sgpr(s32) = G_ANYEXT %2(s16)238    $sgpr0 = COPY %3(s32)239 240...241---242name:            ffloor_f16243legalized:       true244regBankSelected: true245body:             |246  bb.0:247    liveins: $sgpr0248 249    ; GFX1150-LABEL: name: ffloor_f16250    ; GFX1150: liveins: $sgpr0251    ; GFX1150-NEXT: {{  $}}252    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0253    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_FLOOR_F16 [[COPY]], implicit $mode254    ; GFX1150-NEXT: $sgpr0 = COPY %2255    %0:sgpr(s32) = COPY $sgpr0256    %1:sgpr(s16) = G_TRUNC %0(s32)257    %2:sgpr(s16) = G_FFLOOR %1258    %3:sgpr(s32) = G_ANYEXT %2(s16)259    $sgpr0 = COPY %3(s32)260 261...262---263name:            ftrunc_f16264legalized:       true265regBankSelected: true266body:             |267  bb.0:268    liveins: $sgpr0269 270    ; GFX1150-LABEL: name: ftrunc_f16271    ; GFX1150: liveins: $sgpr0272    ; GFX1150-NEXT: {{  $}}273    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0274    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_TRUNC_F16 [[COPY]], implicit $mode275    ; GFX1150-NEXT: $sgpr0 = COPY %2276    %0:sgpr(s32) = COPY $sgpr0277    %1:sgpr(s16) = G_TRUNC %0(s32)278    %2:sgpr(s16) = G_INTRINSIC_TRUNC %1279    %3:sgpr(s32) = G_ANYEXT %2(s16)280    $sgpr0 = COPY %3(s32)281 282...283---284name:            frint_f16285legalized:       true286regBankSelected: true287body:             |288  bb.0:289    liveins: $sgpr0290 291    ; GFX1150-LABEL: name: frint_f16292    ; GFX1150: liveins: $sgpr0293    ; GFX1150-NEXT: {{  $}}294    ; GFX1150-NEXT: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0295    ; GFX1150-NEXT: %2:sreg_32 = nofpexcept S_RNDNE_F16 [[COPY]], implicit $mode296    ; GFX1150-NEXT: $sgpr0 = COPY %2297    %0:sgpr(s32) = COPY $sgpr0298    %1:sgpr(s16) = G_TRUNC %0(s32)299    %2:sgpr(s16) = G_INTRINSIC_ROUNDEVEN %1300    %3:sgpr(s32) = G_ANYEXT %2(s16)301    $sgpr0 = COPY %3(s32)302 303...304