Skip to content

Commit 220b3dd

Browse files
committed
add v_cndmask_t16 to hazardmask
1 parent 9e1eaff commit 220b3dd

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2994,7 +2994,9 @@ bool GCNHazardRecognizer::fixVALUMaskWriteHazard(MachineInstr *MI) {
29942994
switch (I.getOpcode()) {
29952995
case AMDGPU::V_ADDC_U32_e32:
29962996
case AMDGPU::V_ADDC_U32_dpp:
2997+
case AMDGPU::V_CNDMASK_B16_t16_e32:
29972998
case AMDGPU::V_CNDMASK_B16_fake16_e32:
2999+
case AMDGPU::V_CNDMASK_B16_t16_dpp:
29983000
case AMDGPU::V_CNDMASK_B16_fake16_dpp:
29993001
case AMDGPU::V_CNDMASK_B32_e32:
30003002
case AMDGPU::V_CNDMASK_B32_dpp:
@@ -3010,7 +3012,9 @@ bool GCNHazardRecognizer::fixVALUMaskWriteHazard(MachineInstr *MI) {
30103012
HazardReg == AMDGPU::VCC_HI;
30113013
case AMDGPU::V_ADDC_U32_e64:
30123014
case AMDGPU::V_ADDC_U32_e64_dpp:
3015+
case AMDGPU::V_CNDMASK_B16_t16_e64:
30133016
case AMDGPU::V_CNDMASK_B16_fake16_e64:
3017+
case AMDGPU::V_CNDMASK_B16_t16_e64_dpp:
30143018
case AMDGPU::V_CNDMASK_B16_fake16_e64_dpp:
30153019
case AMDGPU::V_CNDMASK_B32_e64:
30163020
case AMDGPU::V_CNDMASK_B32_e64_dpp:
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2+
# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -mattr=+real-true16 -verify-machineinstrs -run-pass post-RA-hazard-rec -o - %s | FileCheck -check-prefixes=GCN %s
3+
4+
--- |
5+
@mem = internal unnamed_addr addrspace(4) constant [4 x <4 x i32>] [<4 x i32> <i32 0, i32 0, i32 0, i32 0>, <4 x i32> <i32 0, i32 0, i32 0, i32 0>, <4 x i32> <i32 0, i32 0, i32 0, i32 0>, <4 x i32> <i32 0, i32 0, i32 0, i32 0>]
6+
7+
define amdgpu_gs void @mask_hazard_cndmask_t16_dpp4() { ret void }
8+
---
9+
name: mask_hazard_cndmask_t16_dpp4
10+
body: |
11+
bb.0:
12+
; GCN-LABEL: name: mask_hazard_cndmask_t16_dpp4
13+
; GCN: $vgpr0_lo16 = V_CNDMASK_B16_t16_e64_dpp $vgpr0_lo16, 0, $vgpr1_lo16, 0, $vgpr2_lo16, $sgpr2_sgpr3, 0, 1, 15, 15, 1, implicit $exec
14+
; GCN-NEXT: $sgpr2_sgpr3 = S_CSELECT_B64 -1, 0, implicit $scc
15+
; GCN-NEXT: S_WAITCNT_DEPCTR 65534
16+
; GCN-NEXT: S_ENDPGM 0
17+
$vgpr0_lo16 = V_CNDMASK_B16_t16_e64_dpp $vgpr0_lo16, 0, $vgpr1_lo16, 0, $vgpr2_lo16, $sgpr2_sgpr3, 0, 1, 15, 15, 1, implicit $exec
18+
$sgpr2_sgpr3 = S_CSELECT_B64 -1, 0, implicit $scc
19+
S_ENDPGM 0
20+
...

0 commit comments

Comments
 (0)