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