diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2018-11-07 21:21:32 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2018-11-07 21:21:32 +0000 |
| commit | 7f1959ebb3739274ef01f397bfc5d4b746585f34 (patch) | |
| tree | bdd1019d8ced8137e21c7ef6f2643a5b589ef6ca /llvm/lib/Target | |
| parent | db22af0f45c4782d8488e191f406b7aa65e4b62e (diff) | |
| download | bcm5719-llvm-7f1959ebb3739274ef01f397bfc5d4b746585f34.tar.gz bcm5719-llvm-7f1959ebb3739274ef01f397bfc5d4b746585f34.zip | |
AMDGPU/NFC: Split MUBUF_Pseudo_Atomics into RTN/NO_RTN multiclasses
llvm-svn: 346357
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/BUFInstructions.td | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td index 18a59729faa..e48b73b0f1e 100644 --- a/llvm/lib/Target/AMDGPU/BUFInstructions.td +++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td @@ -656,11 +656,10 @@ class MUBUF_AtomicRet_Pseudo<string opName, int addrKind, let AsmMatchConverter = "cvtMubufAtomicReturn"; } -multiclass MUBUF_Pseudo_Atomics <string opName, - RegisterClass vdataClass, - ValueType vdataType, - SDPatternOperator atomic> { - +multiclass MUBUF_Pseudo_Atomics_NO_RTN <string opName, + RegisterClass vdataClass, + ValueType vdataType, + SDPatternOperator atomic> { def _OFFSET : MUBUF_AtomicNoRet_Pseudo <opName, BUFAddrKind.Offset, vdataClass>, MUBUFAddr64Table <0, NAME>; def _ADDR64 : MUBUF_AtomicNoRet_Pseudo <opName, BUFAddrKind.Addr64, vdataClass>, @@ -668,7 +667,12 @@ multiclass MUBUF_Pseudo_Atomics <string opName, def _OFFEN : MUBUF_AtomicNoRet_Pseudo <opName, BUFAddrKind.OffEn, vdataClass>; def _IDXEN : MUBUF_AtomicNoRet_Pseudo <opName, BUFAddrKind.IdxEn, vdataClass>; def _BOTHEN : MUBUF_AtomicNoRet_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>; +} +multiclass MUBUF_Pseudo_Atomics_RTN <string opName, + RegisterClass vdataClass, + ValueType vdataType, + SDPatternOperator atomic> { def _OFFSET_RTN : MUBUF_AtomicRet_Pseudo <opName, BUFAddrKind.Offset, vdataClass, [(set vdataType:$vdata, (atomic (MUBUFOffsetAtomic v4i32:$srsrc, i32:$soffset, i16:$offset, i1:$slc), @@ -686,6 +690,13 @@ multiclass MUBUF_Pseudo_Atomics <string opName, def _BOTHEN_RTN : MUBUF_AtomicRet_Pseudo <opName, BUFAddrKind.BothEn, vdataClass>; } +multiclass MUBUF_Pseudo_Atomics <string opName, + RegisterClass vdataClass, + ValueType vdataType, + SDPatternOperator atomic> : + MUBUF_Pseudo_Atomics_NO_RTN<opName, vdataClass, vdataType, atomic>, + MUBUF_Pseudo_Atomics_RTN<opName, vdataClass, vdataType, atomic>; + //===----------------------------------------------------------------------===// // MUBUF Instructions |

