brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.0 KiB · 5f34655 Raw
214 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=GFX6 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX10 %s4 5---6 7name:            fmad_f328legalized:       true9regBankSelected: true10 11body: |12  bb.0:13    liveins: $vgpr0, $vgpr1, $vgpr214 15    ; GFX6-LABEL: name: fmad_f3216    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr217    ; GFX6-NEXT: {{  $}}18    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr019    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr120    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr221    ; GFX6-NEXT: [[V_MAC_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAC_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec22    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAC_F32_e64_]]23    ; GFX10-LABEL: name: fmad_f3224    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr225    ; GFX10-NEXT: {{  $}}26    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr027    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr128    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr229    ; GFX10-NEXT: [[V_MAC_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAC_F32_e64 0, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec30    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAC_F32_e64_]]31    %0:vgpr(s32) = COPY $vgpr032    %1:vgpr(s32) = COPY $vgpr133    %2:vgpr(s32) = COPY $vgpr234    %3:vgpr(s32) = G_FMAD %0, %1, %235    S_ENDPGM 0, implicit %336 37...38 39---40 41name:            fmad_f32_fneg_src042legalized:       true43regBankSelected: true44 45body: |46  bb.0:47    liveins: $vgpr0, $vgpr1, $vgpr248 49    ; GFX6-LABEL: name: fmad_f32_fneg_src050    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr251    ; GFX6-NEXT: {{  $}}52    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr053    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr154    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr255    ; GFX6-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 1, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec56    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]57    ; GFX10-LABEL: name: fmad_f32_fneg_src058    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr259    ; GFX10-NEXT: {{  $}}60    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr061    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr162    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr263    ; GFX10-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 1, [[COPY]], 0, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec64    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]65    %0:vgpr(s32) = COPY $vgpr066    %1:vgpr(s32) = COPY $vgpr167    %2:vgpr(s32) = COPY $vgpr268    %3:vgpr(s32) = G_FNEG %069    %4:vgpr(s32) = G_FMAD %3, %1, %270    S_ENDPGM 0, implicit %471 72...73 74---75 76name:            fmad_f32_fneg_src177legalized:       true78regBankSelected: true79 80body: |81  bb.0:82    liveins: $vgpr0, $vgpr1, $vgpr283 84    ; GFX6-LABEL: name: fmad_f32_fneg_src185    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr286    ; GFX6-NEXT: {{  $}}87    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr088    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr189    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr290    ; GFX6-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 1, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec91    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]92    ; GFX10-LABEL: name: fmad_f32_fneg_src193    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr294    ; GFX10-NEXT: {{  $}}95    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr096    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr197    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr298    ; GFX10-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 1, [[COPY1]], 0, [[COPY2]], 0, 0, implicit $mode, implicit $exec99    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]100    %0:vgpr(s32) = COPY $vgpr0101    %1:vgpr(s32) = COPY $vgpr1102    %2:vgpr(s32) = COPY $vgpr2103    %3:vgpr(s32) = G_FNEG %1104    %4:vgpr(s32) = G_FMAD %0, %3, %2105    S_ENDPGM 0, implicit %4106 107...108 109---110 111name:            fmad_f32_fneg_src2112legalized:       true113regBankSelected: true114 115body: |116  bb.0:117    liveins: $vgpr0, $vgpr1, $vgpr2118 119    ; GFX6-LABEL: name: fmad_f32_fneg_src2120    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr2121    ; GFX6-NEXT: {{  $}}122    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0123    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1124    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2125    ; GFX6-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 1, [[COPY2]], 0, 0, implicit $mode, implicit $exec126    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]127    ; GFX10-LABEL: name: fmad_f32_fneg_src2128    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr2129    ; GFX10-NEXT: {{  $}}130    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0131    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1132    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2133    ; GFX10-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 1, [[COPY2]], 0, 0, implicit $mode, implicit $exec134    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]135    %0:vgpr(s32) = COPY $vgpr0136    %1:vgpr(s32) = COPY $vgpr1137    %2:vgpr(s32) = COPY $vgpr2138    %3:vgpr(s32) = G_FNEG %2139    %4:vgpr(s32) = G_FMAD %0, %1, %3140    S_ENDPGM 0, implicit %4141 142...143 144---145 146name:            fmad_f32_fabs_src2147legalized:       true148regBankSelected: true149 150body: |151  bb.0:152    liveins: $vgpr0, $vgpr1, $vgpr2153 154    ; GFX6-LABEL: name: fmad_f32_fabs_src2155    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr2156    ; GFX6-NEXT: {{  $}}157    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0158    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1159    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2160    ; GFX6-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 2, [[COPY2]], 0, 0, implicit $mode, implicit $exec161    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]162    ; GFX10-LABEL: name: fmad_f32_fabs_src2163    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr2164    ; GFX10-NEXT: {{  $}}165    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0166    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1167    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2168    ; GFX10-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 2, [[COPY2]], 0, 0, implicit $mode, implicit $exec169    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]170    %0:vgpr(s32) = COPY $vgpr0171    %1:vgpr(s32) = COPY $vgpr1172    %2:vgpr(s32) = COPY $vgpr2173    %3:vgpr(s32) = G_FABS %2174    %4:vgpr(s32) = G_FMAD %0, %1, %3175    S_ENDPGM 0, implicit %4176 177...178 179---180 181name:            fmad_f32_copy_fneg_src2182legalized:       true183regBankSelected: true184 185body: |186  bb.0:187    liveins: $vgpr0, $vgpr1, $vgpr2188 189    ; GFX6-LABEL: name: fmad_f32_copy_fneg_src2190    ; GFX6: liveins: $vgpr0, $vgpr1, $vgpr2191    ; GFX6-NEXT: {{  $}}192    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0193    ; GFX6-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1194    ; GFX6-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2195    ; GFX6-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 1, [[COPY2]], 0, 0, implicit $mode, implicit $exec196    ; GFX6-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]197    ; GFX10-LABEL: name: fmad_f32_copy_fneg_src2198    ; GFX10: liveins: $vgpr0, $vgpr1, $vgpr2199    ; GFX10-NEXT: {{  $}}200    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0201    ; GFX10-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1202    ; GFX10-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2203    ; GFX10-NEXT: [[V_MAD_F32_e64_:%[0-9]+]]:vgpr_32 = V_MAD_F32_e64 0, [[COPY]], 0, [[COPY1]], 1, [[COPY2]], 0, 0, implicit $mode, implicit $exec204    ; GFX10-NEXT: S_ENDPGM 0, implicit [[V_MAD_F32_e64_]]205    %0:vgpr(s32) = COPY $vgpr0206    %1:vgpr(s32) = COPY $vgpr1207    %2:vgpr(s32) = COPY $vgpr2208    %3:vgpr(s32) = G_FNEG %2209    %4:vgpr(s32) = COPY %3210    %5:vgpr(s32) = G_FMAD %0, %1, %4211    S_ENDPGM 0, implicit %5212 213...214