brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.1 KiB · 616fef1 Raw
321 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN %s3 4---5name:            highest_reg_shift_amt_v76tracksRegLiveness: true7body:             |8  bb.0:9 10    ; GCN-LABEL: name: highest_reg_shift_amt_v711    ; GCN: $vgpr7 = IMPLICIT_DEF12    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF13    ; GCN-NEXT: S_WAITCNT 014    ; GCN-NEXT: $vgpr0, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr0, implicit $exec15    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr0, killed $vgpr2_vgpr3, implicit $exec16    ; GCN-NEXT: $vgpr7, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr7, implicit $exec17    $vgpr7 = IMPLICIT_DEF18    $vgpr2_vgpr3 = IMPLICIT_DEF19    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr2_vgpr3, implicit $exec20...21 22---23name:            highest_reg_shift_amt_v1524tracksRegLiveness: true25body:             |26  bb.0:27 28    ; GCN-LABEL: name: highest_reg_shift_amt_v1529    ; GCN: $vgpr15 = IMPLICIT_DEF30    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF31    ; GCN-NEXT: S_WAITCNT 032    ; GCN-NEXT: $vgpr0, $vgpr15 = V_SWAP_B32 undef $vgpr15, undef $vgpr0, implicit $exec33    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr0, killed $vgpr2_vgpr3, implicit $exec34    ; GCN-NEXT: $vgpr15, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr15, implicit $exec35    $vgpr15 = IMPLICIT_DEF36    $vgpr2_vgpr3 = IMPLICIT_DEF37    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr15, killed $vgpr2_vgpr3, implicit $exec38...39 40---41name:            highest_reg_shift_amt_v25542tracksRegLiveness: true43body:             |44  bb.0:45 46    ; GCN-LABEL: name: highest_reg_shift_amt_v25547    ; GCN: $vgpr255 = IMPLICIT_DEF48    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF49    ; GCN-NEXT: S_WAITCNT 050    ; GCN-NEXT: $vgpr0, $vgpr255 = V_SWAP_B32 undef $vgpr255, undef $vgpr0, implicit $exec51    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr0, killed $vgpr2_vgpr3, implicit $exec52    ; GCN-NEXT: $vgpr255, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr255, implicit $exec53    $vgpr255 = IMPLICIT_DEF54    $vgpr2_vgpr3 = IMPLICIT_DEF55    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr255, killed $vgpr2_vgpr3, implicit $exec56...57 58---59name:            highest_reg_shift_amt_used_v0_dst60tracksRegLiveness: true61body:             |62  bb.0:63 64    ; GCN-LABEL: name: highest_reg_shift_amt_used_v0_dst65    ; GCN: $vgpr7 = IMPLICIT_DEF66    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF67    ; GCN-NEXT: S_WAITCNT 068    ; GCN-NEXT: $vgpr4, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr4, implicit $exec69    ; GCN-NEXT: renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr4, killed $vgpr2_vgpr3, implicit $exec70    ; GCN-NEXT: $vgpr7, $vgpr4 = V_SWAP_B32 $vgpr4, $vgpr7, implicit $exec71    $vgpr7 = IMPLICIT_DEF72    $vgpr2_vgpr3 = IMPLICIT_DEF73    renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr2_vgpr3, implicit $exec74...75 76---77name:            highest_reg_shift_amt_used_v0_src78tracksRegLiveness: true79body:             |80  bb.0:81 82    ; GCN-LABEL: name: highest_reg_shift_amt_used_v0_src83    ; GCN: $vgpr7 = IMPLICIT_DEF84    ; GCN-NEXT: $vgpr0_vgpr1 = IMPLICIT_DEF85    ; GCN-NEXT: S_WAITCNT 086    ; GCN-NEXT: $vgpr4, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr4, implicit $exec87    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr4, killed $vgpr0_vgpr1, implicit $exec88    ; GCN-NEXT: $vgpr7, $vgpr4 = V_SWAP_B32 $vgpr4, $vgpr7, implicit $exec89    $vgpr7 = IMPLICIT_DEF90    $vgpr0_vgpr1 = IMPLICIT_DEF91    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr0_vgpr1, implicit $exec92...93 94---95name:            highest_reg_shift_amt_used_v0_both96tracksRegLiveness: true97body:             |98  bb.0:99 100    ; GCN-LABEL: name: highest_reg_shift_amt_used_v0_both101    ; GCN: $vgpr7 = IMPLICIT_DEF102    ; GCN-NEXT: $vgpr0_vgpr1 = IMPLICIT_DEF103    ; GCN-NEXT: S_WAITCNT 0104    ; GCN-NEXT: $vgpr2, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr2, implicit $exec105    ; GCN-NEXT: renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr2, killed $vgpr0_vgpr1, implicit $exec106    ; GCN-NEXT: $vgpr7, $vgpr2 = V_SWAP_B32 $vgpr2, $vgpr7, implicit $exec107    $vgpr7 = IMPLICIT_DEF108    $vgpr0_vgpr1 = IMPLICIT_DEF109    renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr0_vgpr1, implicit $exec110...111 112---113name:            highest_reg_shift_amt_overlapped_src114tracksRegLiveness: true115body:             |116  bb.0:117 118    ; GCN-LABEL: name: highest_reg_shift_amt_overlapped_src119    ; GCN: $vgpr7 = IMPLICIT_DEF120    ; GCN-NEXT: $vgpr6_vgpr7 = IMPLICIT_DEF121    ; GCN-NEXT: S_WAITCNT 0122    ; GCN-NEXT: $vgpr2, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr2, implicit $exec123    ; GCN-NEXT: $vgpr3, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr3, implicit $exec124    ; GCN-NEXT: renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr3, undef $vgpr2_vgpr3, implicit $exec125    ; GCN-NEXT: $vgpr6, $vgpr2 = V_SWAP_B32 $vgpr2, $vgpr6, implicit $exec126    ; GCN-NEXT: $vgpr7, $vgpr3 = V_SWAP_B32 $vgpr3, $vgpr7, implicit $exec127    $vgpr7 = IMPLICIT_DEF128    $vgpr6_vgpr7 = IMPLICIT_DEF129    renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr6_vgpr7, implicit $exec130...131 132---133name:            highest_reg_shift_amt_overlapped_dst134tracksRegLiveness: true135body:             |136  bb.0:137 138    ; GCN-LABEL: name: highest_reg_shift_amt_overlapped_dst139    ; GCN: $vgpr7 = IMPLICIT_DEF140    ; GCN-NEXT: $vgpr0_vgpr1 = IMPLICIT_DEF141    ; GCN-NEXT: S_WAITCNT 0142    ; GCN-NEXT: $vgpr2, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr2, implicit $exec143    ; GCN-NEXT: $vgpr3, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr3, implicit $exec144    ; GCN-NEXT: $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr3, killed $vgpr0_vgpr1, implicit $exec145    ; GCN-NEXT: $vgpr6, $vgpr2 = V_SWAP_B32 $vgpr2, $vgpr6, implicit $exec146    ; GCN-NEXT: $vgpr7, $vgpr3 = V_SWAP_B32 $vgpr3, $vgpr7, implicit $exec147    $vgpr7 = IMPLICIT_DEF148    $vgpr0_vgpr1 = IMPLICIT_DEF149    renamable $vgpr6_vgpr7 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr0_vgpr1, implicit $exec150...151 152---153name:            highest_reg_shift_amt_overlapped_both154tracksRegLiveness: true155body:             |156  bb.0:157 158    ; GCN-LABEL: name: highest_reg_shift_amt_overlapped_both159    ; GCN: $vgpr7 = IMPLICIT_DEF160    ; GCN-NEXT: $vgpr6_vgpr7 = IMPLICIT_DEF161    ; GCN-NEXT: S_WAITCNT 0162    ; GCN-NEXT: $vgpr0, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr0, implicit $exec163    ; GCN-NEXT: $vgpr1, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr1, implicit $exec164    ; GCN-NEXT: $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr1, undef $vgpr0_vgpr1, implicit $exec165    ; GCN-NEXT: $vgpr6, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr6, implicit $exec166    ; GCN-NEXT: $vgpr7, $vgpr1 = V_SWAP_B32 $vgpr1, $vgpr7, implicit $exec167    $vgpr7 = IMPLICIT_DEF168    $vgpr6_vgpr7 = IMPLICIT_DEF169    renamable $vgpr6_vgpr7 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr6_vgpr7, implicit $exec170...171 172---173name:            highest_reg_shift_amt_hazard_in_swap174tracksRegLiveness: true175body:             |176  bb.0:177 178    ; GCN-LABEL: name: highest_reg_shift_amt_hazard_in_swap179    ; GCN: $vgpr7 = IMPLICIT_DEF180    ; GCN-NEXT: $vgpr0_vgpr1 = IMPLICIT_DEF181    ; GCN-NEXT: $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec182    ; GCN-NEXT: S_WAITCNT 0183    ; GCN-NEXT: S_NOP 4184    ; GCN-NEXT: $vgpr4, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr4, implicit $exec185    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr4, killed $vgpr0_vgpr1, implicit $exec186    ; GCN-NEXT: $vgpr7, $vgpr4 = V_SWAP_B32 $vgpr4, $vgpr7, implicit $exec187    $vgpr7 = IMPLICIT_DEF188    $vgpr0_vgpr1 = IMPLICIT_DEF189    $vgpr4_vgpr5 = V_MFMA_F64_4X4X4F64_vgprcd_e64 $vgpr0_vgpr1, $vgpr0_vgpr1, $vgpr0_vgpr1, 0, 0, 0, implicit $mode, implicit $exec190    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr0_vgpr1, implicit $exec191...192 193---194name:            highest_reg_shift_amt_hazard_in_swap2195tracksRegLiveness: true196body:             |197  bb.0:198 199    ; GCN-LABEL: name: highest_reg_shift_amt_hazard_in_swap2200    ; GCN: $vgpr1 = IMPLICIT_DEF201    ; GCN-NEXT: $vgpr7 = IMPLICIT_DEF202    ; GCN-NEXT: $vgpr6_vgpr7 = IMPLICIT_DEF203    ; GCN-NEXT: $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec204    ; GCN-NEXT: S_WAITCNT 0205    ; GCN-NEXT: $vgpr0, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr0, implicit $exec206    ; GCN-NEXT: S_NOP 0207    ; GCN-NEXT: $vgpr1, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr1, implicit $exec208    ; GCN-NEXT: $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr1, undef $vgpr0_vgpr1, implicit $exec209    ; GCN-NEXT: $vgpr6, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr6, implicit $exec210    ; GCN-NEXT: $vgpr7, $vgpr1 = V_SWAP_B32 $vgpr1, $vgpr7, implicit $exec211    $vgpr1 = IMPLICIT_DEF212    $vgpr7 = IMPLICIT_DEF213    $vgpr6_vgpr7 = IMPLICIT_DEF214    $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec215    renamable $vgpr6_vgpr7 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr6_vgpr7, implicit $exec216...217 218---219name:            highest_reg_shift_amt_v7_bundle220tracksRegLiveness: true221body:             |222  bb.0:223 224    ; GCN-LABEL: name: highest_reg_shift_amt_v7_bundle225    ; GCN: $vgpr7 = IMPLICIT_DEF226    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF227    ; GCN-NEXT: BUNDLE implicit-def $vgpr2_vgpr3, implicit-def $vgpr7 {228    ; GCN-NEXT:   S_WAITCNT 0229    ; GCN-NEXT:   $vgpr0, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr0, implicit $exec230    ; GCN-NEXT:   renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr0, killed $vgpr2_vgpr3, implicit $exec231    ; GCN-NEXT: }232    ; GCN-NEXT: $vgpr7, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr7, implicit $exec233    $vgpr7 = IMPLICIT_DEF234    $vgpr2_vgpr3 = IMPLICIT_DEF235    BUNDLE implicit-def $vgpr2_vgpr3, implicit-def $vgpr7 {236      renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 $vgpr7, killed $vgpr2_vgpr3, implicit $exec237    }238...239 240---241name:            highest_reg_shift_amt_hazard_in_swap2_bundle242tracksRegLiveness: true243body:             |244  bb.0:245 246    ; GCN-LABEL: name: highest_reg_shift_amt_hazard_in_swap2_bundle247    ; GCN: $vgpr1 = IMPLICIT_DEF248    ; GCN-NEXT: $vgpr7 = IMPLICIT_DEF249    ; GCN-NEXT: $vgpr6_vgpr7 = IMPLICIT_DEF250    ; GCN-NEXT: BUNDLE internal $vgpr7, implicit-def $vgpr1, implicit-def $vgpr6_vgpr7 {251    ; GCN-NEXT:   $vgpr1 = IMPLICIT_DEF252    ; GCN-NEXT:   $vgpr7 = IMPLICIT_DEF253    ; GCN-NEXT:   $vgpr6_vgpr7 = IMPLICIT_DEF254    ; GCN-NEXT:   $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec255    ; GCN-NEXT:   S_WAITCNT 0256    ; GCN-NEXT:   $vgpr0, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr0, implicit $exec257    ; GCN-NEXT:   S_NOP 0258    ; GCN-NEXT:   $vgpr1, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr1, implicit $exec259    ; GCN-NEXT:   $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr1, undef $vgpr0_vgpr1, implicit $exec260    ; GCN-NEXT: }261    ; GCN-NEXT: $vgpr6, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr6, implicit $exec262    ; GCN-NEXT: $vgpr7, $vgpr1 = V_SWAP_B32 $vgpr1, $vgpr7, implicit $exec263    $vgpr1 = IMPLICIT_DEF264    $vgpr7 = IMPLICIT_DEF265    $vgpr6_vgpr7 = IMPLICIT_DEF266    BUNDLE implicit-def $vgpr1, implicit-def $vgpr6_vgpr7, internal $vgpr7 {267      $vgpr1 = IMPLICIT_DEF268      $vgpr7 = IMPLICIT_DEF269      $vgpr6_vgpr7 = IMPLICIT_DEF270      $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec271      renamable $vgpr6_vgpr7 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr6_vgpr7, implicit $exec272    }273...274 275---276name:            highest_reg_shift_amt_v7_defined277tracksRegLiveness: true278body:             |279  bb.0:280 281    ; GCN-LABEL: name: highest_reg_shift_amt_v7_defined282    ; GCN: $vgpr0 = IMPLICIT_DEF283    ; GCN-NEXT: $vgpr7 = IMPLICIT_DEF284    ; GCN-NEXT: $vgpr2_vgpr3 = IMPLICIT_DEF285    ; GCN-NEXT: S_WAITCNT 0286    ; GCN-NEXT: $vgpr0, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr0, implicit $exec287    ; GCN-NEXT: renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 undef $vgpr0, killed $vgpr2_vgpr3, implicit $exec288    ; GCN-NEXT: $vgpr7, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr7, implicit $exec289    $vgpr0 = IMPLICIT_DEF290    $vgpr7 = IMPLICIT_DEF291    $vgpr2_vgpr3 = IMPLICIT_DEF292    renamable $vgpr2_vgpr3 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr2_vgpr3, implicit $exec293...294 295---296name:            highest_reg_shift_amt_hazard_in_swap2_defined297tracksRegLiveness: true298body:             |299  bb.0:300 301    ; GCN-LABEL: name: highest_reg_shift_amt_hazard_in_swap2_defined302    ; GCN: $vgpr0 = IMPLICIT_DEF303    ; GCN-NEXT: $vgpr1 = IMPLICIT_DEF304    ; GCN-NEXT: $vgpr7 = IMPLICIT_DEF305    ; GCN-NEXT: $vgpr6_vgpr7 = IMPLICIT_DEF306    ; GCN-NEXT: $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec307    ; GCN-NEXT: S_WAITCNT 0308    ; GCN-NEXT: $vgpr0, $vgpr6 = V_SWAP_B32 undef $vgpr6, undef $vgpr0, implicit $exec309    ; GCN-NEXT: S_NOP 0310    ; GCN-NEXT: $vgpr1, $vgpr7 = V_SWAP_B32 undef $vgpr7, undef $vgpr1, implicit $exec311    ; GCN-NEXT: $vgpr0_vgpr1 = V_LSHRREV_B64_e64 undef $vgpr1, undef $vgpr0_vgpr1, implicit $exec312    ; GCN-NEXT: $vgpr6, $vgpr0 = V_SWAP_B32 $vgpr0, $vgpr6, implicit $exec313    ; GCN-NEXT: $vgpr7, $vgpr1 = V_SWAP_B32 $vgpr1, $vgpr7, implicit $exec314    $vgpr0 = IMPLICIT_DEF315    $vgpr1 = IMPLICIT_DEF316    $vgpr7 = IMPLICIT_DEF317    $vgpr6_vgpr7 = IMPLICIT_DEF318    $vgpr1 = V_DOT4C_I32_I8_e32 $vgpr7, $vgpr7, $vgpr1, implicit $exec319    renamable $vgpr6_vgpr7 = V_LSHRREV_B64_e64 killed $vgpr7, killed $vgpr6_vgpr7, implicit $exec320...321