1# RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN -check-prefix=VI %s 2# RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs -run-pass post-RA-hazard-rec %s -o - | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s 3 4# GCN-LABEL: name: hazard_implicit_def 5# GCN: bb.0.entry: 6# GCN: $m0 = S_MOV_B32 7# GFX9: S_NOP 0 8# VI-NOT: S_NOP_0 9# GCN: V_INTERP_P1_F32 10 11--- 12name: hazard_implicit_def 13alignment: 0 14exposesReturnsTwice: false 15legalized: false 16regBankSelected: false 17selected: false 18tracksRegLiveness: true 19registers: 20liveins: 21 - { reg: '$sgpr7', virtual-reg: '' } 22 - { reg: '$vgpr4', virtual-reg: '' } 23body: | 24 bb.0.entry: 25 liveins: $sgpr7, $vgpr4 26 27 $m0 = S_MOV_B32 killed $sgpr7 28 $vgpr5 = IMPLICIT_DEF 29 $vgpr0 = V_INTERP_P1_F32 killed $vgpr4, 0, 0, implicit $m0, implicit $exec 30 SI_RETURN_TO_EPILOG killed $vgpr5, killed $vgpr0 31 32... 33 34# GCN-LABEL: name: hazard_inlineasm 35# GCN: bb.0.entry: 36# GCN: $m0 = S_MOV_B32 37# GFX9: S_NOP 0 38# VI-NOT: S_NOP_0 39# GCN: V_INTERP_P1_F32 40--- 41name: hazard_inlineasm 42alignment: 0 43exposesReturnsTwice: false 44legalized: false 45regBankSelected: false 46selected: false 47tracksRegLiveness: true 48registers: 49liveins: 50 - { reg: '$sgpr7', virtual-reg: '' } 51 - { reg: '$vgpr4', virtual-reg: '' } 52body: | 53 bb.0.entry: 54 liveins: $sgpr7, $vgpr4 55 56 $m0 = S_MOV_B32 killed $sgpr7 57 INLINEASM &"; no-op", 1, 327690, def $vgpr5 58 $vgpr0 = V_INTERP_P1_F32 killed $vgpr4, 0, 0, implicit $m0, implicit $exec 59 SI_RETURN_TO_EPILOG killed $vgpr5, killed $vgpr0 60... 61