brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.3 KiB · d134f29 Raw
481 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass=postra-machine-sink -mattr=+wavefrontsize64 -o - %s | FileCheck -check-prefixes=GFX10 %s3# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -passes='postra-machine-sink' -mattr=+wavefrontsize64 -o - %s | FileCheck -check-prefixes=GFX10 %s4 5# Ensure that PostRA Machine Sink does not sink instructions6# past block prologues which would overwrite their uses.7 8---9# Make sure COPY to $sgpr9 is not sunk after S_AND_SAVEEXEC_B64.10name:            _amdgpu_ps_main11alignment:       112tracksRegLiveness: true13registers:       []14liveins:15  - { reg: '$sgpr4', virtual-reg: '' }16body:             |17  ; GFX10-LABEL: name: _amdgpu_ps_main18  ; GFX10: bb.0:19  ; GFX10-NEXT:   successors: %bb.1(0x80000000)20  ; GFX10-NEXT:   liveins: $sgpr421  ; GFX10-NEXT: {{  $}}22  ; GFX10-NEXT:   renamable $sgpr9 = COPY $sgpr423  ; GFX10-NEXT:   renamable $vgpr5 = IMPLICIT_DEF24  ; GFX10-NEXT:   renamable $sgpr0_sgpr1 = nofpexcept V_CMP_NGT_F32_e64 0, 0, 0, $vgpr5, 0, implicit $mode, implicit $exec25  ; GFX10-NEXT:   S_BRANCH %bb.126  ; GFX10-NEXT: {{  $}}27  ; GFX10-NEXT: bb.1:28  ; GFX10-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)29  ; GFX10-NEXT:   liveins: $sgpr6, $sgpr9, $sgpr0_sgpr130  ; GFX10-NEXT: {{  $}}31  ; GFX10-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec32  ; GFX10-NEXT:   renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc33  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.3, implicit $exec34  ; GFX10-NEXT:   S_BRANCH %bb.235  ; GFX10-NEXT: {{  $}}36  ; GFX10-NEXT: bb.2:37  ; GFX10-NEXT:   successors: %bb.3(0x80000000)38  ; GFX10-NEXT:   liveins: $sgpr639  ; GFX10-NEXT: {{  $}}40  ; GFX10-NEXT:   $m0 = COPY killed renamable $sgpr641  ; GFX10-NEXT:   S_BRANCH %bb.342  ; GFX10-NEXT: {{  $}}43  ; GFX10-NEXT: bb.3:44  ; GFX10-NEXT:   S_ENDPGM 045  bb.0:46    successors: %bb.1(0x80000000)47    liveins: $sgpr448 49    renamable $sgpr9 = COPY $sgpr450    renamable $vgpr5 = IMPLICIT_DEF51    renamable $sgpr0_sgpr1 = nofpexcept V_CMP_NGT_F32_e64 0, 0, 0, $vgpr5, 0, implicit $mode, implicit $exec52    S_BRANCH %bb.153 54  bb.1:55    successors: %bb.2(0x40000000), %bb.8(0x40000000)56    liveins: $sgpr6, $sgpr9, $sgpr0_sgpr157 58    $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec59    renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc60    S_CBRANCH_EXECZ %bb.8, implicit $exec61    S_BRANCH %bb.262 63  bb.2:64    successors: %bb.8(0x40000000)65    liveins: $sgpr666 67    $m0 = COPY killed renamable $sgpr668    S_BRANCH %bb.869 70  bb.8:71 72    S_ENDPGM 073 74...75---76# Make sure COPY to $sgpr0_sgpr1 is not sunk after S_AND_SAVEEXEC_B64.77name:            _amdgpu_ps_main278alignment:       179tracksRegLiveness: true80registers:       []81liveins:82  - { reg: '$sgpr4', virtual-reg: '' }83  - { reg: '$sgpr6_sgpr7', virtual-reg: '' }84body:             |85  ; GFX10-LABEL: name: _amdgpu_ps_main286  ; GFX10: bb.0:87  ; GFX10-NEXT:   successors: %bb.1(0x80000000)88  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr6_sgpr789  ; GFX10-NEXT: {{  $}}90  ; GFX10-NEXT:   renamable $sgpr9 = COPY $sgpr491  ; GFX10-NEXT:   renamable $vgpr5 = IMPLICIT_DEF92  ; GFX10-NEXT:   renamable $sgpr0_sgpr1 = COPY $sgpr6_sgpr793  ; GFX10-NEXT:   S_BRANCH %bb.194  ; GFX10-NEXT: {{  $}}95  ; GFX10-NEXT: bb.1:96  ; GFX10-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)97  ; GFX10-NEXT:   liveins: $sgpr6, $sgpr9, $sgpr0_sgpr198  ; GFX10-NEXT: {{  $}}99  ; GFX10-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec100  ; GFX10-NEXT:   renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc101  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.3, implicit $exec102  ; GFX10-NEXT:   S_BRANCH %bb.2103  ; GFX10-NEXT: {{  $}}104  ; GFX10-NEXT: bb.2:105  ; GFX10-NEXT:   successors: %bb.3(0x80000000)106  ; GFX10-NEXT:   liveins: $sgpr6107  ; GFX10-NEXT: {{  $}}108  ; GFX10-NEXT:   $m0 = COPY killed renamable $sgpr6109  ; GFX10-NEXT:   S_BRANCH %bb.3110  ; GFX10-NEXT: {{  $}}111  ; GFX10-NEXT: bb.3:112  ; GFX10-NEXT:   S_ENDPGM 0113  bb.0:114    successors: %bb.1(0x80000000)115    liveins: $sgpr4, $sgpr6_sgpr7116 117    renamable $sgpr9 = COPY $sgpr4118    renamable $vgpr5 = IMPLICIT_DEF119    renamable $sgpr0_sgpr1 = COPY $sgpr6_sgpr7120    S_BRANCH %bb.1121 122  bb.1:123    successors: %bb.2(0x40000000), %bb.8(0x40000000)124    liveins: $sgpr6, $sgpr9, $sgpr0_sgpr1125 126    $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec127    renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc128    S_CBRANCH_EXECZ %bb.8, implicit $exec129    S_BRANCH %bb.2130 131  bb.2:132    successors: %bb.8(0x40000000)133    liveins: $sgpr6134 135    $m0 = COPY killed renamable $sgpr6136    S_BRANCH %bb.8137 138  bb.8:139 140    S_ENDPGM 0141 142...143---144# Make sure COPY to $sgpr2_sgpr3 is not sunk after S_AND_SAVEEXEC_B32.145name:            _amdgpu_ps_main3146alignment:       1147tracksRegLiveness: true148registers:       []149liveins:150  - { reg: '$sgpr6_sgpr7', virtual-reg: '' }151  - { reg: '$sgpr8', virtual-reg: '' }152body:             |153  ; GFX10-LABEL: name: _amdgpu_ps_main3154  ; GFX10: bb.0:155  ; GFX10-NEXT:   successors: %bb.1(0x80000000)156  ; GFX10-NEXT:   liveins: $sgpr6_sgpr7, $sgpr8157  ; GFX10-NEXT: {{  $}}158  ; GFX10-NEXT:   renamable $vgpr5 = IMPLICIT_DEF159  ; GFX10-NEXT:   renamable $sgpr0_sgpr1 = IMPLICIT_DEF160  ; GFX10-NEXT:   renamable $sgpr2_sgpr3 = COPY $sgpr6_sgpr7161  ; GFX10-NEXT:   S_BRANCH %bb.1162  ; GFX10-NEXT: {{  $}}163  ; GFX10-NEXT: bb.1:164  ; GFX10-NEXT:   successors: %bb.2(0x40000000), %bb.3(0x40000000)165  ; GFX10-NEXT:   liveins: $sgpr6, $sgpr8, $sgpr0_sgpr1, $sgpr2_sgpr3166  ; GFX10-NEXT: {{  $}}167  ; GFX10-NEXT:   $sgpr2 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec168  ; GFX10-NEXT:   $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec169  ; GFX10-NEXT:   renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc170  ; GFX10-NEXT:   S_NOP 0, implicit $sgpr2_sgpr3171  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.3, implicit $exec172  ; GFX10-NEXT:   S_BRANCH %bb.2173  ; GFX10-NEXT: {{  $}}174  ; GFX10-NEXT: bb.2:175  ; GFX10-NEXT:   successors: %bb.3(0x80000000)176  ; GFX10-NEXT:   liveins: $sgpr6177  ; GFX10-NEXT: {{  $}}178  ; GFX10-NEXT:   $m0 = COPY killed renamable $sgpr6179  ; GFX10-NEXT:   S_BRANCH %bb.3180  ; GFX10-NEXT: {{  $}}181  ; GFX10-NEXT: bb.3:182  ; GFX10-NEXT:   S_ENDPGM 0183  bb.0:184    successors: %bb.1(0x80000000)185    liveins: $sgpr6_sgpr7, $sgpr8186 187    renamable $vgpr5 = IMPLICIT_DEF188    renamable $sgpr0_sgpr1 = IMPLICIT_DEF189    renamable $sgpr2_sgpr3 = COPY $sgpr6_sgpr7190    S_BRANCH %bb.1191 192  bb.1:193    successors: %bb.2(0x40000000), %bb.8(0x40000000)194    liveins: $sgpr6, $sgpr8, $sgpr0_sgpr1, $sgpr2_sgpr3195 196    $sgpr2 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec197    $sgpr4_sgpr5 = S_AND_SAVEEXEC_B64 $sgpr0_sgpr1, implicit-def $exec, implicit-def $scc, implicit $exec198    renamable $sgpr14_sgpr15 = S_XOR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def dead $scc199    S_NOP 0, implicit $sgpr2_sgpr3200    S_CBRANCH_EXECZ %bb.8, implicit $exec201    S_BRANCH %bb.2202 203  bb.2:204    successors: %bb.8(0x40000000)205    liveins: $sgpr6206 207    $m0 = COPY killed renamable $sgpr6208    S_BRANCH %bb.8209 210  bb.8:211 212    S_ENDPGM 0213 214...215 216---217name:            machinesink_loop_vgpr_out_of_divergent_loop_postra218tracksRegLiveness: true219body:             |220  ; GFX10-LABEL: name: machinesink_loop_vgpr_out_of_divergent_loop_postra221  ; GFX10: bb.0:222  ; GFX10-NEXT:   successors: %bb.1(0x80000000)223  ; GFX10-NEXT:   liveins: $sgpr8, $vgpr0, $vgpr1224  ; GFX10-NEXT: {{  $}}225  ; GFX10-NEXT: bb.1:226  ; GFX10-NEXT:   successors: %bb.7(0x40000000), %bb.2(0x40000000)227  ; GFX10-NEXT:   liveins: $sgpr8, $vgpr0228  ; GFX10-NEXT: {{  $}}229  ; GFX10-NEXT:   $sgpr4 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec230  ; GFX10-NEXT:   renamable $sgpr4 = S_XOR_B32 $exec_lo, killed renamable $sgpr4, implicit-def dead $scc231  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.7, implicit $exec232  ; GFX10-NEXT: {{  $}}233  ; GFX10-NEXT: bb.2:234  ; GFX10-NEXT:   successors: %bb.3(0x80000000)235  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $vgpr0236  ; GFX10-NEXT: {{  $}}237  ; GFX10-NEXT: bb.3:238  ; GFX10-NEXT:   successors: %bb.5(0x40000000), %bb.4(0x40000000)239  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $vgpr0240  ; GFX10-NEXT: {{  $}}241  ; GFX10-NEXT:   $sgpr5 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec242  ; GFX10-NEXT:   renamable $sgpr5 = S_XOR_B32 $exec_lo, killed renamable $sgpr5, implicit-def dead $scc243  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.5, implicit $exec244  ; GFX10-NEXT:   S_BRANCH %bb.4245  ; GFX10-NEXT: {{  $}}246  ; GFX10-NEXT: bb.4:247  ; GFX10-NEXT:   successors: %bb.5(0x80000000)248  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0249  ; GFX10-NEXT: {{  $}}250  ; GFX10-NEXT: bb.5:251  ; GFX10-NEXT:   successors: %bb.3(0x40000000), %bb.6(0x40000000)252  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0253  ; GFX10-NEXT: {{  $}}254  ; GFX10-NEXT:   renamable $vgpr1 = V_ADD_U32_e64 $sgpr8, $vgpr0, 0, implicit $exec255  ; GFX10-NEXT:   renamable $sgpr5 = S_AND_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc256  ; GFX10-NEXT:   renamable $sgpr5 = S_OR_B32 killed renamable $sgpr5, renamable $sgpr4, implicit-def $scc257  ; GFX10-NEXT:   $exec_lo = S_ANDN2_B32 $exec_lo, renamable $sgpr5, implicit-def $scc258  ; GFX10-NEXT:   S_CBRANCH_EXECNZ %bb.3, implicit $exec259  ; GFX10-NEXT:   S_BRANCH %bb.6260  ; GFX10-NEXT: {{  $}}261  ; GFX10-NEXT: bb.6:262  ; GFX10-NEXT:   successors: %bb.3(0x80000000)263  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0, $vgpr1264  ; GFX10-NEXT: {{  $}}265  ; GFX10-NEXT:   $exec_lo = S_OR_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc266  ; GFX10-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit killed renamable $vgpr1267  ; GFX10-NEXT:   S_BRANCH %bb.3268  ; GFX10-NEXT: {{  $}}269  ; GFX10-NEXT: bb.7:270  ; GFX10-NEXT:   successors: %bb.1(0x40000000), %bb.8(0x40000000)271  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $vgpr0272  ; GFX10-NEXT: {{  $}}273  ; GFX10-NEXT:   $exec_lo = S_ANDN2_B32 $exec_lo, killed renamable $sgpr4, implicit-def $scc274  ; GFX10-NEXT:   S_CBRANCH_EXECNZ %bb.1, implicit $exec275  ; GFX10-NEXT: {{  $}}276  ; GFX10-NEXT: bb.8:277  ; GFX10-NEXT:   successors: %bb.9(0x80000000)278  ; GFX10-NEXT: {{  $}}279  ; GFX10-NEXT: bb.9:280  ; GFX10-NEXT:   successors: %bb.9(0x40000000), %bb.10(0x40000000)281  ; GFX10-NEXT: {{  $}}282  ; GFX10-NEXT:   S_CBRANCH_VCCNZ %bb.9, implicit undef $vcc283  ; GFX10-NEXT:   S_BRANCH %bb.10284  ; GFX10-NEXT: {{  $}}285  ; GFX10-NEXT: bb.10:286  ; GFX10-NEXT:   SI_RETURN287  bb.0:288    liveins: $sgpr8, $vgpr0, $vgpr1289 290  bb.1:291    liveins: $sgpr8, $vgpr0292 293    $sgpr4 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec294    renamable $sgpr4 = S_XOR_B32 $exec_lo, killed renamable $sgpr4, implicit-def dead $scc295    S_CBRANCH_EXECZ %bb.6, implicit $exec296 297  bb.9:298    liveins: $sgpr4, $sgpr8, $vgpr0299 300 301  bb.2:302    liveins: $sgpr4, $sgpr8, $vgpr0303 304    $sgpr5 = S_AND_SAVEEXEC_B32 $sgpr8, implicit-def $exec, implicit-def $scc, implicit $exec305    renamable $sgpr5 = S_XOR_B32 $exec_lo, killed renamable $sgpr5, implicit-def dead $scc306    S_CBRANCH_EXECZ %bb.4, implicit $exec307    S_BRANCH %bb.3308 309  bb.3:310    liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0311 312 313  bb.4:314    liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0315 316    renamable $vgpr1 = V_ADD_U32_e64 $sgpr8, $vgpr0, 0, implicit $exec317    renamable $sgpr5 = S_AND_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc318    renamable $sgpr5 = S_OR_B32 killed renamable $sgpr5, renamable $sgpr4, implicit-def $scc319 320    $exec_lo = S_ANDN2_B32 $exec_lo, renamable $sgpr5, implicit-def $scc321    S_CBRANCH_EXECNZ %bb.2, implicit $exec322    S_BRANCH %bb.5323 324  bb.5:325    liveins: $sgpr4, $sgpr5, $sgpr8, $vgpr0, $vgpr1326 327    $exec_lo = S_OR_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc328    INLINEASM &"", 1 /* sideeffect attdialect */, implicit killed renamable $vgpr1329    S_BRANCH %bb.2330 331  bb.6:332    liveins: $sgpr4, $sgpr8, $vgpr0333 334    $exec_lo = S_ANDN2_B32 $exec_lo, killed renamable $sgpr4, implicit-def $scc335    S_CBRANCH_EXECNZ %bb.1, implicit $exec336 337  bb.10:338 339  bb.7:340    S_CBRANCH_VCCNZ %bb.7, implicit undef $vcc341    S_BRANCH %bb.8342 343  bb.8:344    SI_RETURN345 346...347 348---349name:            machinesink_loop_sgpr_out_of_divergent_loop_postra350tracksRegLiveness: true351body:             |352  ; GFX10-LABEL: name: machinesink_loop_sgpr_out_of_divergent_loop_postra353  ; GFX10: bb.0:354  ; GFX10-NEXT:   successors: %bb.1(0x80000000)355  ; GFX10-NEXT:   liveins: $sgpr8, $sgpr9, $sgpr10356  ; GFX10-NEXT: {{  $}}357  ; GFX10-NEXT: bb.1:358  ; GFX10-NEXT:   successors: %bb.7(0x40000000), %bb.2(0x40000000)359  ; GFX10-NEXT:   liveins: $sgpr8, $sgpr9360  ; GFX10-NEXT: {{  $}}361  ; GFX10-NEXT:   $sgpr4 = S_AND_SAVEEXEC_B32 $sgpr9, implicit-def $exec, implicit-def $scc, implicit $exec362  ; GFX10-NEXT:   renamable $sgpr4 = S_XOR_B32 $exec_lo, killed renamable $sgpr4, implicit-def dead $scc363  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.7, implicit $exec364  ; GFX10-NEXT: {{  $}}365  ; GFX10-NEXT: bb.2:366  ; GFX10-NEXT:   successors: %bb.3(0x80000000)367  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $sgpr9368  ; GFX10-NEXT: {{  $}}369  ; GFX10-NEXT: bb.3:370  ; GFX10-NEXT:   successors: %bb.5(0x40000000), %bb.4(0x40000000)371  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $sgpr9372  ; GFX10-NEXT: {{  $}}373  ; GFX10-NEXT:   $sgpr5 = S_AND_SAVEEXEC_B32 $sgpr9, implicit-def $exec, implicit-def $scc, implicit $exec374  ; GFX10-NEXT:   renamable $sgpr5 = S_XOR_B32 $exec_lo, killed renamable $sgpr5, implicit-def dead $scc375  ; GFX10-NEXT:   S_CBRANCH_EXECZ %bb.5, implicit $exec376  ; GFX10-NEXT:   S_BRANCH %bb.4377  ; GFX10-NEXT: {{  $}}378  ; GFX10-NEXT: bb.4:379  ; GFX10-NEXT:   successors: %bb.5(0x80000000)380  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr8, $sgpr9381  ; GFX10-NEXT: {{  $}}382  ; GFX10-NEXT: bb.5:383  ; GFX10-NEXT:   successors: %bb.3(0x40000000), %bb.6(0x40000000)384  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr8, $sgpr9385  ; GFX10-NEXT: {{  $}}386  ; GFX10-NEXT:   renamable $sgpr6 = S_ADD_I32 renamable $sgpr8, renamable $sgpr9, implicit-def dead $scc387  ; GFX10-NEXT:   renamable $sgpr5 = S_AND_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc388  ; GFX10-NEXT:   renamable $sgpr5 = S_OR_B32 killed renamable $sgpr5, renamable $sgpr4, implicit-def $scc389  ; GFX10-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */390  ; GFX10-NEXT:   $exec_lo = S_ANDN2_B32 $exec_lo, renamable $sgpr5, implicit-def $scc391  ; GFX10-NEXT:   S_CBRANCH_EXECNZ %bb.3, implicit $exec392  ; GFX10-NEXT:   S_BRANCH %bb.6393  ; GFX10-NEXT: {{  $}}394  ; GFX10-NEXT: bb.6:395  ; GFX10-NEXT:   successors: %bb.3(0x80000000)396  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr8, $sgpr9397  ; GFX10-NEXT: {{  $}}398  ; GFX10-NEXT:   $exec_lo = S_OR_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc399  ; GFX10-NEXT:   INLINEASM &"", 1 /* sideeffect attdialect */, implicit killed renamable $sgpr6400  ; GFX10-NEXT:   S_BRANCH %bb.3401  ; GFX10-NEXT: {{  $}}402  ; GFX10-NEXT: bb.7:403  ; GFX10-NEXT:   successors: %bb.1(0x40000000), %bb.8(0x40000000)404  ; GFX10-NEXT:   liveins: $sgpr4, $sgpr8, $sgpr9405  ; GFX10-NEXT: {{  $}}406  ; GFX10-NEXT:   $exec_lo = S_ANDN2_B32 $exec_lo, killed renamable $sgpr4, implicit-def $scc407  ; GFX10-NEXT:   S_CBRANCH_EXECNZ %bb.1, implicit $exec408  ; GFX10-NEXT: {{  $}}409  ; GFX10-NEXT: bb.8:410  ; GFX10-NEXT:   successors: %bb.9(0x80000000)411  ; GFX10-NEXT: {{  $}}412  ; GFX10-NEXT: bb.9:413  ; GFX10-NEXT:   successors: %bb.9(0x40000000), %bb.10(0x40000000)414  ; GFX10-NEXT: {{  $}}415  ; GFX10-NEXT:   S_CBRANCH_VCCNZ %bb.9, implicit undef $vcc416  ; GFX10-NEXT:   S_BRANCH %bb.10417  ; GFX10-NEXT: {{  $}}418  ; GFX10-NEXT: bb.10:419  ; GFX10-NEXT:   SI_RETURN420  bb.0:421    liveins: $sgpr8, $sgpr9, $sgpr10422 423 424  bb.1:425    liveins: $sgpr8, $sgpr9426 427    $sgpr4 = S_AND_SAVEEXEC_B32 $sgpr9, implicit-def $exec, implicit-def $scc, implicit $exec428    renamable $sgpr4 = S_XOR_B32 $exec_lo, killed renamable $sgpr4, implicit-def dead $scc429    S_CBRANCH_EXECZ %bb.6, implicit $exec430 431  bb.9:432    liveins: $sgpr4, $sgpr8, $sgpr9433 434 435  bb.2:436    liveins: $sgpr4, $sgpr8, $sgpr9437 438    $sgpr5 = S_AND_SAVEEXEC_B32 $sgpr9, implicit-def $exec, implicit-def $scc, implicit $exec439    renamable $sgpr5 = S_XOR_B32 $exec_lo, killed renamable $sgpr5, implicit-def dead $scc440    S_CBRANCH_EXECZ %bb.4, implicit $exec441    S_BRANCH %bb.3442 443  bb.3:444    liveins: $sgpr4, $sgpr5, $sgpr8, $sgpr9445 446 447  bb.4:448    liveins: $sgpr4, $sgpr5, $sgpr8, $sgpr9449 450    renamable $sgpr6 = S_ADD_I32 renamable $sgpr8, renamable $sgpr9, implicit-def dead $scc451    renamable $sgpr5 = S_AND_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc452    renamable $sgpr5 = S_OR_B32 killed renamable $sgpr5, renamable $sgpr4, implicit-def $scc453    INLINEASM &"", 1 /* sideeffect attdialect */454    $exec_lo = S_ANDN2_B32 $exec_lo, renamable $sgpr5, implicit-def $scc455    S_CBRANCH_EXECNZ %bb.2, implicit $exec456    S_BRANCH %bb.5457 458  bb.5:459    liveins: $sgpr4, $sgpr5, $sgpr6, $sgpr8, $sgpr9460 461    $exec_lo = S_OR_B32 $exec_lo, killed renamable $sgpr5, implicit-def $scc462    INLINEASM &"", 1 /* sideeffect attdialect */, implicit killed renamable $sgpr6463    S_BRANCH %bb.2464 465  bb.6:466    liveins: $sgpr4, $sgpr8, $sgpr9467 468    $exec_lo = S_ANDN2_B32 $exec_lo, killed renamable $sgpr4, implicit-def $scc469    S_CBRANCH_EXECNZ %bb.1, implicit $exec470 471  bb.10:472 473  bb.7:474    S_CBRANCH_VCCNZ %bb.7, implicit undef $vcc475    S_BRANCH %bb.8476 477  bb.8:478    SI_RETURN479 480...481