Skip to content

Commit d6c3d79

Browse files
committed
[AMDGPU] Refactor multiclass FLAT_Atomic_Pseudo. NFC.
This is just for consistency with FLAT_Global_Atomic_Pseudo. Differential Revision: https://reviews.llvm.org/D143662
1 parent 8ce6f7d commit d6c3d79

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

llvm/lib/Target/AMDGPU/FLATInstructions.td

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -466,7 +466,7 @@ class FLAT_AtomicRet_Pseudo<string opName, dag outs, dag ins,
466466
let PseudoInstr = NAME # "_RTN";
467467
}
468468

469-
multiclass FLAT_Atomic_Pseudo<
469+
multiclass FLAT_Atomic_Pseudo_NO_RTN<
470470
string opName,
471471
RegisterClass vdst_rc,
472472
ValueType vt,
@@ -484,7 +484,16 @@ multiclass FLAT_Atomic_Pseudo<
484484
let FPAtomic = isFP;
485485
let AddedComplexity = -1; // Prefer global atomics if available
486486
}
487+
}
487488

489+
multiclass FLAT_Atomic_Pseudo_RTN<
490+
string opName,
491+
RegisterClass vdst_rc,
492+
ValueType vt,
493+
ValueType data_vt = vt,
494+
RegisterClass data_rc = vdst_rc,
495+
bit isFP = isFloatType<data_vt>.ret,
496+
RegisterOperand data_op = getLdStRegisterOperand<data_rc>.ret> {
488497
def _RTN : FLAT_AtomicRet_Pseudo <opName,
489498
(outs getLdStRegisterOperand<vdst_rc>.ret:$vdst),
490499
(ins VReg_64:$vaddr, data_op:$vdata, flat_offset:$offset, CPol_GLC1:$cpol),
@@ -496,6 +505,18 @@ multiclass FLAT_Atomic_Pseudo<
496505
}
497506
}
498507

508+
multiclass FLAT_Atomic_Pseudo<
509+
string opName,
510+
RegisterClass vdst_rc,
511+
ValueType vt,
512+
ValueType data_vt = vt,
513+
RegisterClass data_rc = vdst_rc,
514+
bit isFP = isFloatType<data_vt>.ret,
515+
RegisterOperand data_op = getLdStRegisterOperand<data_rc>.ret> {
516+
defm "" : FLAT_Atomic_Pseudo_NO_RTN<opName, vdst_rc, vt, data_vt, data_rc, isFP, data_op>;
517+
defm "" : FLAT_Atomic_Pseudo_RTN<opName, vdst_rc, vt, data_vt, data_rc, isFP, data_op>;
518+
}
519+
499520
multiclass FLAT_Global_Atomic_Pseudo_NO_RTN<
500521
string opName,
501522
RegisterClass vdst_rc,

0 commit comments

Comments
 (0)