1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass si-pre-emit-peephole -verify-machineinstrs %s -o - | FileCheck %s 3# Make sure mandatory skips are inserted to ensure GWS ops aren't run with exec = 0 4 5--- 6 7name: skip_gws_init 8body: | 9 ; CHECK-LABEL: name: skip_gws_init 10 ; CHECK: bb.0: 11 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000) 12 ; CHECK-NEXT: {{ $}} 13 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 14 ; CHECK-NEXT: {{ $}} 15 ; CHECK-NEXT: bb.1: 16 ; CHECK-NEXT: successors: %bb.2(0x80000000) 17 ; CHECK-NEXT: {{ $}} 18 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 19 ; CHECK-NEXT: DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec 20 ; CHECK-NEXT: {{ $}} 21 ; CHECK-NEXT: bb.2: 22 ; CHECK-NEXT: S_ENDPGM 0 23 bb.0: 24 successors: %bb.1, %bb.2 25 S_CBRANCH_EXECZ %bb.2, implicit $exec 26 27 bb.1: 28 successors: %bb.2 29 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 30 DS_GWS_INIT $vgpr0, 0, implicit $m0, implicit $exec 31 32 bb.2: 33 S_ENDPGM 0 34... 35 36--- 37 38name: skip_gws_barrier 39body: | 40 ; CHECK-LABEL: name: skip_gws_barrier 41 ; CHECK: bb.0: 42 ; CHECK-NEXT: successors: %bb.1(0x40000000), %bb.2(0x40000000) 43 ; CHECK-NEXT: {{ $}} 44 ; CHECK-NEXT: S_CBRANCH_EXECZ %bb.2, implicit $exec 45 ; CHECK-NEXT: {{ $}} 46 ; CHECK-NEXT: bb.1: 47 ; CHECK-NEXT: successors: %bb.2(0x80000000) 48 ; CHECK-NEXT: {{ $}} 49 ; CHECK-NEXT: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 50 ; CHECK-NEXT: DS_GWS_BARRIER $vgpr0, 0, implicit $m0, implicit $exec 51 ; CHECK-NEXT: {{ $}} 52 ; CHECK-NEXT: bb.2: 53 ; CHECK-NEXT: S_ENDPGM 0 54 bb.0: 55 successors: %bb.1, %bb.2 56 S_CBRANCH_EXECZ %bb.2, implicit $exec 57 58 bb.1: 59 successors: %bb.2 60 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 61 DS_GWS_BARRIER $vgpr0, 0, implicit $m0, implicit $exec 62 63 bb.2: 64 S_ENDPGM 0 65... 66