brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.5 KiB · af0db8a Raw
244 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s4 5---6name:            v_s_exp_f327legalized:       true8body:             |9  bb.0:10    liveins: $sgpr011 12    ; CHECK-LABEL: name: v_s_exp_f3213    ; CHECK: liveins: $sgpr014    ; CHECK-NEXT: {{  $}}15    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr016    ; CHECK-NEXT: [[FEXP2_:%[0-9]+]]:sgpr(s32) = G_FEXP2 [[FEXP2_]]17    ; CHECK-NEXT: $vgpr0 = COPY [[FEXP2_]](s32)18    %0:_(s32) = COPY $sgpr019    %1:_(s32) = G_FEXP2 %120    $vgpr0 = COPY %1(s32)21...22---23name:            v_s_exp_f1624legalized:       true25body:             |26  bb.0:27    liveins: $sgpr028 29    ; CHECK-LABEL: name: v_s_exp_f1630    ; CHECK: liveins: $sgpr031    ; CHECK-NEXT: {{  $}}32    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr033    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)34    ; CHECK-NEXT: [[FEXP2_:%[0-9]+]]:sgpr(s16) = G_FEXP2 [[TRUNC]]35    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[FEXP2_]](s16)36    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)37    %0:_(s32) = COPY $sgpr038    %1:_(s16) = G_TRUNC %0(s32)39    %2:_(s16) = G_FEXP2 %140    %3:_(s32) = G_ANYEXT %2(s16)41    $vgpr0 = COPY %3(s32)42 43...44---45name:            v_s_log_f3246legalized:       true47body:             |48  bb.0:49    liveins: $sgpr050 51    ; CHECK-LABEL: name: v_s_log_f3252    ; CHECK: liveins: $sgpr053    ; CHECK-NEXT: {{  $}}54    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr055    ; CHECK-NEXT: [[FLOG2_:%[0-9]+]]:sgpr(s32) = G_FLOG2 [[COPY]]56    ; CHECK-NEXT: $vgpr0 = COPY [[FLOG2_]](s32)57    %0:_(s32) = COPY $sgpr058    %1:_(s32) = G_FLOG2 %059    $vgpr0 = COPY %1(s32)60 61...62---63name:            v_s_log_f1664legalized:       true65body:             |66  bb.0:67    liveins: $sgpr068 69    ; CHECK-LABEL: name: v_s_log_f1670    ; CHECK: liveins: $sgpr071    ; CHECK-NEXT: {{  $}}72    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr073    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)74    ; CHECK-NEXT: [[FLOG2_:%[0-9]+]]:sgpr(s16) = G_FLOG2 [[TRUNC]]75    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[FLOG2_]](s16)76    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)77    %0:_(s32) = COPY $sgpr078    %1:_(s16) = G_TRUNC %0(s32)79    %2:_(s16) = G_FLOG2 %180    %3:_(s32) = G_ANYEXT %2(s16)81    $vgpr0 = COPY %3(s32)82 83...84---85name:            v_s_rcp_f3286legalized:       true87body:             |88  bb.0:89    liveins: $sgpr090 91    ; CHECK-LABEL: name: v_s_rcp_f3292    ; CHECK: liveins: $sgpr093    ; CHECK-NEXT: {{  $}}94    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr095    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s32) = nnan ninf nsz arcp contract afn reassoc G_INTRINSIC intrinsic(@llvm.amdgcn.rcp), [[COPY]](s32)96    ; CHECK-NEXT: $vgpr0 = COPY [[INT]](s32)97    %0:_(s32) = COPY $sgpr098    %1:_(s32) = nnan ninf nsz arcp contract afn reassoc G_INTRINSIC intrinsic(@llvm.amdgcn.rcp), %0(s32)99    $vgpr0 = COPY %1(s32)100 101...102---103name:            v_s_rcp_f16104legalized:       true105body:             |106  bb.0:107    liveins: $sgpr0108 109    ; CHECK-LABEL: name: v_s_rcp_f16110    ; CHECK: liveins: $sgpr0111    ; CHECK-NEXT: {{  $}}112    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0113    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)114    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s16) = nnan ninf nsz arcp contract afn reassoc G_INTRINSIC intrinsic(@llvm.amdgcn.rcp), [[TRUNC]](s16)115    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[INT]](s16)116    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)117    %0:_(s32) = COPY $sgpr0118    %1:_(s16) = G_TRUNC %0(s32)119    %2:_(s16) = nnan ninf nsz arcp contract afn reassoc G_INTRINSIC intrinsic(@llvm.amdgcn.rcp), %1(s16)120    %3:_(s32) = G_ANYEXT %2(s16)121    $vgpr0 = COPY %3(s32)122 123...124---125name:            v_s_rsq_f32126legalized:       true127body:             |128  bb.0:129    liveins: $sgpr0130 131    ; CHECK-LABEL: name: v_s_rsq_f32132    ; CHECK: liveins: $sgpr0133    ; CHECK-NEXT: {{  $}}134    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0135    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.rsq), [[COPY]](s32)136    ; CHECK-NEXT: $vgpr0 = COPY [[INT]](s32)137    %0:_(s32) = COPY $sgpr0138    %1:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.rsq), %0(s32)139    $vgpr0 = COPY %1(s32)140 141...142---143name:            v_s_rsq_f16144legalized:       true145body:             |146  bb.0:147    liveins: $sgpr0148 149    ; CHECK-LABEL: name: v_s_rsq_f16150    ; CHECK: liveins: $sgpr0151    ; CHECK-NEXT: {{  $}}152    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0153    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)154    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.rsq), [[TRUNC]](s16)155    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[INT]](s16)156    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)157    %0:_(s32) = COPY $sgpr0158    %1:_(s16) = G_TRUNC %0(s32)159    %2:_(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.rsq), %1(s16)160    %3:_(s32) = G_ANYEXT %2(s16)161    $vgpr0 = COPY %3(s32)162 163...164---165name:            v_s_sqrt_f32166legalized:       true167body:             |168  bb.0:169    liveins: $sgpr0170 171    ; CHECK-LABEL: name: v_s_sqrt_f32172    ; CHECK: liveins: $sgpr0173    ; CHECK-NEXT: {{  $}}174    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0175    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:sgpr(s32) = G_FSQRT [[COPY]]176    ; CHECK-NEXT: $vgpr0 = COPY [[FSQRT]](s32)177    %0:_(s32) = COPY $sgpr0178    %1:_(s32) = G_FSQRT %0179    $vgpr0 = COPY %1(s32)180 181...182---183name:            v_s_sqrt_f16184legalized:       true185body:             |186  bb.0:187    liveins: $sgpr0188 189    ; CHECK-LABEL: name: v_s_sqrt_f16190    ; CHECK: liveins: $sgpr0191    ; CHECK-NEXT: {{  $}}192    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0193    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)194    ; CHECK-NEXT: [[FSQRT:%[0-9]+]]:sgpr(s16) = G_FSQRT [[TRUNC]]195    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[FSQRT]](s16)196    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)197    %0:_(s32) = COPY $sgpr0198    %1:_(s16) = G_TRUNC %0(s32)199    %2:_(s16) = G_FSQRT %1200    %3:_(s32) = G_ANYEXT %2(s16)201    $vgpr0 = COPY %3(s32)202 203...204---205name:            v_amdgcn_sqrt_f32206legalized:       true207body:             |208  bb.0:209    liveins: $sgpr0210 211    ; CHECK-LABEL: name: v_amdgcn_sqrt_f32212    ; CHECK: liveins: $sgpr0213    ; CHECK-NEXT: {{  $}}214    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0215    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.sqrt), [[COPY]](s32)216    ; CHECK-NEXT: $vgpr0 = COPY [[INT]](s32)217    %0:_(s32) = COPY $sgpr0218    %1:_(s32) = G_INTRINSIC intrinsic(@llvm.amdgcn.sqrt), %0(s32)219    $vgpr0 = COPY %1(s32)220 221...222---223name:            v_amdgcn_sqrt_f16224legalized:       true225body:             |226  bb.0:227    liveins: $sgpr0228 229    ; CHECK-LABEL: name: v_amdgcn_sqrt_f16230    ; CHECK: liveins: $sgpr0231    ; CHECK-NEXT: {{  $}}232    ; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0233    ; CHECK-NEXT: [[TRUNC:%[0-9]+]]:sgpr(s16) = G_TRUNC [[COPY]](s32)234    ; CHECK-NEXT: [[INT:%[0-9]+]]:sgpr(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.sqrt), [[TRUNC]](s16)235    ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:sgpr(s32) = G_ANYEXT [[INT]](s16)236    ; CHECK-NEXT: $vgpr0 = COPY [[ANYEXT]](s32)237    %0:_(s32) = COPY $sgpr0238    %1:_(s16) = G_TRUNC %0(s32)239    %2:_(s16) = G_INTRINSIC intrinsic(@llvm.amdgcn.sqrt), %1(s16)240    %3:_(s32) = G_ANYEXT %2(s16)241    $vgpr0 = COPY %3(s32)242 243...244