There are some copies from VGPR to SGPR while inlineasm lowering which causes illegal copy.
Inserting a readfirstlane for SGPR copy to avoid producing an illegal copy later incase the copy is from VGPR to SGPR
Details
Diff Detail
Unit Tests
Event Timeline
llvm/lib/Target/AMDGPU/AMDGPUInlineAsmLowering.cpp | ||
---|---|---|
29–30 | Seems like a place that accidentally works | |
38 | This should only happen for physical registers which you also need to handle | |
66 | Already have SrcTy above. Also this won't work for any tuple type. You need to split up any larger registers | |
llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-inline-asm.ll | ||
299 | Don't use anonymous values | |
300 | Better to have real input values | |
303 | This needs a full range of tested types. You need at least i16, half, <2 x i16>, <2 x half>, pointers of various address spaces, and vectors of all of those |
Seems like a place that accidentally works