diff options
author | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2022-01-21 12:12:31 -0800 |
---|---|---|
committer | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2022-01-26 14:48:20 -0800 |
commit | dbf278b984eebf17a8977e79b67cdb960e9af5db (patch) | |
tree | 962dc5f91ad255cfadfca137f7a62e21ec1d4b2b /llvm/lib/Object/MachOObjectFile.cpp | |
parent | f32dccb9a43b02ce4e540d6ba5dbbdb188f2dc7d (diff) | |
download | llvm-dbf278b984eebf17a8977e79b67cdb960e9af5db.zip llvm-dbf278b984eebf17a8977e79b67cdb960e9af5db.tar.gz llvm-dbf278b984eebf17a8977e79b67cdb960e9af5db.tar.bz2 |
[AMDGPU] Prevent aliasing of SrcC and Dst in MAI
Form the MAI spec: It’s ok that Src_C and vDst are the exact same VGPRs
or Src_C and vDst are completely separated. The case that Src_C and vDst
are overlapping should be avoid as new value could be written to accumulator
input before it gets read.
Note that this inevitably increases register pressure to the point where
some programs will become uncompilable.
This patch separates MAC and FMA versions of MFMA instructions using either
tied dst and src2 or earlyclobber dst.
Fixes: SWDEV-318900
Differential Revision: https://reviews.llvm.org/D117844
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions