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