1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=gfx900 -run-pass si-insert-skips -amdgpu-skip-threshold-legacy=1 -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: successors: %bb.1(0x40000000), %bb.2(0x40000000) 12 ; CHECK: SI_MASK_BRANCH %bb.2, implicit $exec 13 ; CHECK: S_CBRANCH_EXECZ %bb.2, implicit $exec 14 ; CHECK: bb.1: 15 ; CHECK: successors: %bb.2(0x80000000) 16 ; CHECK: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 17 ; CHECK: DS_GWS_INIT $vgpr0, 0, 1, implicit $m0, implicit $exec 18 ; CHECK: bb.2: 19 ; CHECK: S_ENDPGM 0 20 bb.0: 21 successors: %bb.1, %bb.2 22 SI_MASK_BRANCH %bb.2, implicit $exec 23 24 bb.1: 25 successors: %bb.2 26 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 27 DS_GWS_INIT $vgpr0, 0, 1, implicit $m0, implicit $exec 28 29 bb.2: 30 S_ENDPGM 0 31... 32 33--- 34 35name: skip_gws_barrier 36body: | 37 ; CHECK-LABEL: name: skip_gws_barrier 38 ; CHECK: bb.0: 39 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) 40 ; CHECK: SI_MASK_BRANCH %bb.2, implicit $exec 41 ; CHECK: S_CBRANCH_EXECZ %bb.2, implicit $exec 42 ; CHECK: bb.1: 43 ; CHECK: successors: %bb.2(0x80000000) 44 ; CHECK: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 45 ; CHECK: DS_GWS_BARRIER $vgpr0, 0, 1, implicit $m0, implicit $exec 46 ; CHECK: bb.2: 47 ; CHECK: S_ENDPGM 0 48 bb.0: 49 successors: %bb.1, %bb.2 50 SI_MASK_BRANCH %bb.2, implicit $exec 51 52 bb.1: 53 successors: %bb.2 54 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 55 DS_GWS_BARRIER $vgpr0, 0, 1, implicit $m0, implicit $exec 56 57 bb.2: 58 S_ENDPGM 0 59... 60