summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/AMDGPU/illegal-sgpr-to-vgpr-copy.ll
Commit message (Collapse)AuthorAgeFilesLines
* [AMDGPU] Fix illegal agpr use by VALUStanislav Mekhanoshin2019-10-021-3/+6
| | | | | | | | | | | | | | | | | | | When SIFixSGPRCopies attempts to fix an illegal copy from vector to scalar register it calls moveToVALU(). A copy from an agpr to sgpr becomes a copy from agpr to agpr, which may result in the illegal register class at a use of this copy. Solution is to copy it always into a vgpr. This may result in a subsequent copy into an agpr if that is what really needed, however should not happen too often and likely will be folded later. The opposite situation may not happen because an sgpr is always illegal where agpr is legal, so such user instructions may not exist. Differential Revision: https://reviews.llvm.org/D68358 llvm-svn: 373544
* [AMDGPU] gfx908 mfma supportStanislav Mekhanoshin2019-07-111-0/+17
| | | | | | Differential Revision: https://reviews.llvm.org/D64584 llvm-svn: 365824
* AMDGPU: Use correct register names in inline assemblyMatt Arsenault2017-06-081-10/+10
| | | | | | Fixes using physical registers in inline asm from clang. llvm-svn: 305004
* AMDGPU: Diagnose illegal SGPR to VGPR copiesMatt Arsenault2017-04-061-0/+45
This is possible in ways that are not compiler bugs, so stop asserting on them. This emits an extra error when emitting objects when it can't encode the new pseudo, but I'm not sure that matters. llvm-svn: 299712
OpenPOWER on IntegriCloud