1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py 2# RUN: llc -march=amdgcn -mcpu=polaris10 -run-pass si-pre-emit-peephole -amdgpu-skip-threshold=1 -verify-machineinstrs %s -o - | FileCheck %s 3 4--- 5 6name: skip_execz_flat 7body: | 8 ; CHECK-LABEL: name: skip_execz_flat 9 ; CHECK: bb.0: 10 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) 11 ; CHECK: S_CBRANCH_EXECZ %bb.2, implicit $exec 12 ; CHECK: bb.1: 13 ; CHECK: successors: %bb.2(0x80000000) 14 ; CHECK: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 15 ; CHECK: FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr 16 ; CHECK: bb.2: 17 ; CHECK: S_ENDPGM 0 18 bb.0: 19 successors: %bb.1, %bb.2 20 S_CBRANCH_EXECZ %bb.2, implicit $exec 21 22 bb.1: 23 successors: %bb.2 24 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 25 FLAT_STORE_DWORD undef $vgpr1_vgpr2, $vgpr0, 0, 0, implicit $exec, implicit $flat_scr 26 27 bb.2: 28 S_ENDPGM 0 29... 30 31--- 32 33name: skip_execz_mubuf 34body: | 35 ; CHECK-LABEL: name: skip_execz_mubuf 36 ; CHECK: bb.0: 37 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) 38 ; CHECK: S_CBRANCH_EXECZ %bb.2, implicit $exec 39 ; CHECK: bb.1: 40 ; CHECK: successors: %bb.2(0x80000000) 41 ; CHECK: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 42 ; CHECK: BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec 43 ; CHECK: bb.2: 44 ; CHECK: S_ENDPGM 0 45 bb.0: 46 successors: %bb.1, %bb.2 47 S_CBRANCH_EXECZ %bb.2, implicit $exec 48 49 bb.1: 50 successors: %bb.2 51 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 52 BUFFER_STORE_DWORD_OFFSET $vgpr0, undef $sgpr0_sgpr1_sgpr2_sgpr3, undef $sgpr4, 0, 0, 0, 0, implicit $exec 53 54 bb.2: 55 S_ENDPGM 0 56... 57 58--- 59 60name: skip_execz_ds 61body: | 62 ; CHECK-LABEL: name: skip_execz_ds 63 ; CHECK: bb.0: 64 ; CHECK: successors: %bb.1(0x40000000), %bb.2(0x40000000) 65 ; CHECK: S_CBRANCH_EXECZ %bb.2, implicit $exec 66 ; CHECK: bb.1: 67 ; CHECK: successors: %bb.2(0x80000000) 68 ; CHECK: $vgpr0 = V_MOV_B32_e32 0, implicit $exec 69 ; CHECK: DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec 70 ; CHECK: bb.2: 71 ; CHECK: S_ENDPGM 0 72 bb.0: 73 successors: %bb.1, %bb.2 74 S_CBRANCH_EXECZ %bb.2, implicit $exec 75 76 bb.1: 77 successors: %bb.2 78 $vgpr0 = V_MOV_B32_e32 0, implicit $exec 79 DS_WRITE_B32 $vgpr0, $vgpr0, 0, 0, implicit $m0, implicit $exec 80 81 bb.2: 82 S_ENDPGM 0 83... 84