brintos

brintos / llvm-project-archived public Read only

0
0
Text · 10.0 KiB · 64a4708 Raw
287 lines · plain
1# RUN: llc -mtriple=amdgcn -run-pass peephole-opt -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s2# RUN: llc -mtriple=amdgcn -passes peephole-opt -verify-machineinstrs %s -o - | FileCheck -check-prefix=GCN %s3...4# GCN-LABEL: name: no_fold_imm_madak_mac_clamp_f325# GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec6# GCN-NEXT: %24:vgpr_32 = nofpexcept V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $mode, implicit $exec7 8name:            no_fold_imm_madak_mac_clamp_f329tracksRegLiveness: true10registers:11  - { id: 0, class: sgpr_64 }12  - { id: 1, class: sreg_32_xm0 }13  - { id: 2, class: sgpr_32 }14  - { id: 3, class: vgpr_32 }15  - { id: 4, class: sreg_64_xexec }16  - { id: 5, class: sreg_64_xexec }17  - { id: 6, class: sreg_64_xexec }18  - { id: 7, class: sreg_32 }19  - { id: 8, class: sreg_32 }20  - { id: 9, class: sreg_32_xm0 }21  - { id: 10, class: sreg_64 }22  - { id: 11, class: sreg_32_xm0 }23  - { id: 12, class: sreg_32_xm0 }24  - { id: 13, class: sgpr_64 }25  - { id: 14, class: sgpr_128 }26  - { id: 15, class: sreg_32_xm0 }27  - { id: 16, class: sreg_64 }28  - { id: 17, class: sgpr_128 }29  - { id: 18, class: sgpr_128 }30  - { id: 19, class: vgpr_32 }31  - { id: 20, class: vreg_64 }32  - { id: 21, class: vgpr_32 }33  - { id: 22, class: vreg_64 }34  - { id: 23, class: vgpr_32 }35  - { id: 24, class: vgpr_32 }36  - { id: 25, class: vgpr_32 }37  - { id: 26, class: vreg_64 }38  - { id: 27, class: vgpr_32 }39  - { id: 28, class: vreg_64 }40  - { id: 29, class: vreg_64 }41liveins:42  - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }43  - { reg: '$vgpr0', virtual-reg: '%3' }44body:             |45  bb.0:46    liveins: $sgpr0_sgpr1, $vgpr047 48    %3 = COPY $vgpr049    %0 = COPY $sgpr0_sgpr150    %4 = S_LOAD_DWORDX2_IMM %0, 9, 051    %5 = S_LOAD_DWORDX2_IMM %0, 11, 052    %6 = S_LOAD_DWORDX2_IMM %0, 13, 053    %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec54    %28 = REG_SEQUENCE %3, 1, %27, 255    %11 = S_MOV_B32 6144056    %12 = S_MOV_B32 057    %13 = REG_SEQUENCE killed %12, 1, killed %11, 258    %14 = REG_SEQUENCE killed %5, 17, %13, 1859    %15 = S_MOV_B32 260    %29 = V_LSHL_B64_e64 killed %28, killed %15, implicit $exec61    %17 = REG_SEQUENCE killed %6, 17, %13, 1862    %18 = REG_SEQUENCE killed %4, 17, %13, 1863    %20 = COPY %2964    %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, implicit $exec65    %22 = COPY %2966    %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, implicit $exec67    %23 = V_MOV_B32_e32 1090519040, implicit $exec68    %24 = nofpexcept V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $mode, implicit $exec69    %26 = COPY %2970    BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, implicit $exec71    S_ENDPGM 072 73...74---75# GCN-LABEL: name: no_fold_imm_madak_mac_omod_f3276# GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec77# GCN: %24:vgpr_32 = nofpexcept V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 2, implicit $mode, implicit $exec78 79name:            no_fold_imm_madak_mac_omod_f3280tracksRegLiveness: true81registers:82  - { id: 0, class: sgpr_64 }83  - { id: 1, class: sreg_32_xm0 }84  - { id: 2, class: sgpr_32 }85  - { id: 3, class: vgpr_32 }86  - { id: 4, class: sreg_64_xexec }87  - { id: 5, class: sreg_64_xexec }88  - { id: 6, class: sreg_64_xexec }89  - { id: 7, class: sreg_32 }90  - { id: 8, class: sreg_32 }91  - { id: 9, class: sreg_32_xm0 }92  - { id: 10, class: sreg_64 }93  - { id: 11, class: sreg_32_xm0 }94  - { id: 12, class: sreg_32_xm0 }95  - { id: 13, class: sgpr_64 }96  - { id: 14, class: sgpr_128 }97  - { id: 15, class: sreg_32_xm0 }98  - { id: 16, class: sreg_64 }99  - { id: 17, class: sgpr_128 }100  - { id: 18, class: sgpr_128 }101  - { id: 19, class: vgpr_32 }102  - { id: 20, class: vreg_64 }103  - { id: 21, class: vgpr_32 }104  - { id: 22, class: vreg_64 }105  - { id: 23, class: vgpr_32 }106  - { id: 24, class: vgpr_32 }107  - { id: 25, class: vgpr_32 }108  - { id: 26, class: vreg_64 }109  - { id: 27, class: vgpr_32 }110  - { id: 28, class: vreg_64 }111  - { id: 29, class: vreg_64 }112liveins:113  - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }114  - { reg: '$vgpr0', virtual-reg: '%3' }115body:             |116  bb.0:117    liveins: $sgpr0_sgpr1, $vgpr0118 119    %3 = COPY $vgpr0120    %0 = COPY $sgpr0_sgpr1121    %4 = S_LOAD_DWORDX2_IMM %0, 9, 0122    %5 = S_LOAD_DWORDX2_IMM %0, 11, 0123    %6 = S_LOAD_DWORDX2_IMM %0, 13, 0124    %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec125    %28 = REG_SEQUENCE %3, 1, %27, 2126    %11 = S_MOV_B32 61440127    %12 = S_MOV_B32 0128    %13 = REG_SEQUENCE killed %12, 1, killed %11, 2129    %14 = REG_SEQUENCE killed %5, 17, %13, 18130    %15 = S_MOV_B32 2131    %29 = V_LSHL_B64_e64 killed %28, killed %15, implicit $exec132    %17 = REG_SEQUENCE killed %6, 17, %13, 18133    %18 = REG_SEQUENCE killed %4, 17, %13, 18134    %20 = COPY %29135    %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, implicit $exec136    %22 = COPY %29137    %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, implicit $exec138    %23 = V_MOV_B32_e32 1090519040, implicit $exec139    %24 = nofpexcept V_MAC_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 2, implicit $mode, implicit $exec140    %26 = COPY %29141    BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, implicit $exec142    S_ENDPGM 0143 144...145---146# GCN: name: no_fold_imm_madak_mad_clamp_f32147# GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec148# GCN: %24:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $mode, implicit $exec149 150name:            no_fold_imm_madak_mad_clamp_f32151tracksRegLiveness: true152registers:153  - { id: 0, class: sgpr_64 }154  - { id: 1, class: sreg_32_xm0 }155  - { id: 2, class: sgpr_32 }156  - { id: 3, class: vgpr_32 }157  - { id: 4, class: sreg_64_xexec }158  - { id: 5, class: sreg_64_xexec }159  - { id: 6, class: sreg_64_xexec }160  - { id: 7, class: sreg_32 }161  - { id: 8, class: sreg_32 }162  - { id: 9, class: sreg_32_xm0 }163  - { id: 10, class: sreg_64 }164  - { id: 11, class: sreg_32_xm0 }165  - { id: 12, class: sreg_32_xm0 }166  - { id: 13, class: sgpr_64 }167  - { id: 14, class: sgpr_128 }168  - { id: 15, class: sreg_32_xm0 }169  - { id: 16, class: sreg_64 }170  - { id: 17, class: sgpr_128 }171  - { id: 18, class: sgpr_128 }172  - { id: 19, class: vgpr_32 }173  - { id: 20, class: vreg_64 }174  - { id: 21, class: vgpr_32 }175  - { id: 22, class: vreg_64 }176  - { id: 23, class: vgpr_32 }177  - { id: 24, class: vgpr_32 }178  - { id: 25, class: vgpr_32 }179  - { id: 26, class: vreg_64 }180  - { id: 27, class: vgpr_32 }181  - { id: 28, class: vreg_64 }182  - { id: 29, class: vreg_64 }183liveins:184  - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }185  - { reg: '$vgpr0', virtual-reg: '%3' }186body:             |187  bb.0:188    liveins: $sgpr0_sgpr1, $vgpr0189 190    %3 = COPY $vgpr0191    %0 = COPY $sgpr0_sgpr1192    %4 = S_LOAD_DWORDX2_IMM %0, 9, 0193    %5 = S_LOAD_DWORDX2_IMM %0, 11, 0194    %6 = S_LOAD_DWORDX2_IMM %0, 13, 0195    %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec196    %28 = REG_SEQUENCE %3, 1, %27, 2197    %11 = S_MOV_B32 61440198    %12 = S_MOV_B32 0199    %13 = REG_SEQUENCE killed %12, 1, killed %11, 2200    %14 = REG_SEQUENCE killed %5, 17, %13, 18201    %15 = S_MOV_B32 2202    %29 = V_LSHL_B64_e64 killed %28, killed %15, implicit $exec203    %17 = REG_SEQUENCE killed %6, 17, %13, 18204    %18 = REG_SEQUENCE killed %4, 17, %13, 18205    %20 = COPY %29206    %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, implicit $exec207    %22 = COPY %29208    %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, implicit $exec209    %23 = V_MOV_B32_e32 1090519040, implicit $exec210    %24 = nofpexcept V_MAD_F32_e64 0, killed %19, 0, killed %21, 0, %23, 1, 0, implicit $mode, implicit $exec211    %26 = COPY %29212    BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, implicit $exec213    S_ENDPGM 0214 215...216---217# GCN: name: no_fold_imm_madak_mad_omod_f32218# GCN: %23:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec219# GCN: %24:vgpr_32 = nofpexcept V_MAD_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 1, implicit $mode, implicit $exec220 221name:            no_fold_imm_madak_mad_omod_f32222tracksRegLiveness: true223registers:224  - { id: 0, class: sgpr_64 }225  - { id: 1, class: sreg_32_xm0 }226  - { id: 2, class: sgpr_32 }227  - { id: 3, class: vgpr_32 }228  - { id: 4, class: sreg_64_xexec }229  - { id: 5, class: sreg_64_xexec }230  - { id: 6, class: sreg_64_xexec }231  - { id: 7, class: sreg_32 }232  - { id: 8, class: sreg_32 }233  - { id: 9, class: sreg_32_xm0 }234  - { id: 10, class: sreg_64 }235  - { id: 11, class: sreg_32_xm0 }236  - { id: 12, class: sreg_32_xm0 }237  - { id: 13, class: sgpr_64 }238  - { id: 14, class: sgpr_128 }239  - { id: 15, class: sreg_32_xm0 }240  - { id: 16, class: sreg_64 }241  - { id: 17, class: sgpr_128 }242  - { id: 18, class: sgpr_128 }243  - { id: 19, class: vgpr_32 }244  - { id: 20, class: vreg_64 }245  - { id: 21, class: vgpr_32 }246  - { id: 22, class: vreg_64 }247  - { id: 23, class: vgpr_32 }248  - { id: 24, class: vgpr_32 }249  - { id: 25, class: vgpr_32 }250  - { id: 26, class: vreg_64 }251  - { id: 27, class: vgpr_32 }252  - { id: 28, class: vreg_64 }253  - { id: 29, class: vreg_64 }254liveins:255  - { reg: '$sgpr0_sgpr1', virtual-reg: '%0' }256  - { reg: '$vgpr0', virtual-reg: '%3' }257body:             |258  bb.0:259    liveins: $sgpr0_sgpr1, $vgpr0260 261    %3 = COPY $vgpr0262    %0 = COPY $sgpr0_sgpr1263    %4 = S_LOAD_DWORDX2_IMM %0, 9, 0264    %5 = S_LOAD_DWORDX2_IMM %0, 11, 0265    %6 = S_LOAD_DWORDX2_IMM %0, 13, 0266    %27 = V_ASHRREV_I32_e32 31, %3, implicit $exec267    %28 = REG_SEQUENCE %3, 1, %27, 2268    %11 = S_MOV_B32 61440269    %12 = S_MOV_B32 0270    %13 = REG_SEQUENCE killed %12, 1, killed %11, 2271    %14 = REG_SEQUENCE killed %5, 17, %13, 18272    %15 = S_MOV_B32 2273    %29 = V_LSHL_B64_e64 killed %28, killed %15, implicit $exec274    %17 = REG_SEQUENCE killed %6, 17, %13, 18275    %18 = REG_SEQUENCE killed %4, 17, %13, 18276    %20 = COPY %29277    %19 = BUFFER_LOAD_DWORD_ADDR64 %20, killed %14, 0, 0, 0, 0, implicit $exec278    %22 = COPY %29279    %21 = BUFFER_LOAD_DWORD_ADDR64 %22, killed %17, 0, 0, 0, 0, implicit $exec280    %23 = V_MOV_B32_e32 1090519040, implicit $exec281    %24 = nofpexcept V_MAD_F32_e64 0, killed %19, 0, killed %21, 0, %23, 0, 1, implicit $mode, implicit $exec282    %26 = COPY %29283    BUFFER_STORE_DWORD_ADDR64 killed %24, %26, killed %18, 0, 0, 0, 0, implicit $exec284    S_ENDPGM 0285 286...287