AMDGPU: Stop validating earlyclobber operands in assembler
This validation was introduced in D34003 for v_qsad/v_mqsad instructions but it applies to all instructions with earlyclobber operands, which now includes v_mad_i64/v_mad_u64. In all these cases I do not think there is documentation saying that the destination must not overlap the sources. Rather there are *some* cases where the instruction may not function correctly if there is an overlap, and we are using earlyclobber as a conservative way of preventing codegen from generating those cases. I think it is unhelpful for the assembler to enforce the earlyclobber restriction because it prevents assembling cases where the programmer knows that in fact the overlap is safe. See also: https://github.com/llvm/llvm-project/issues/57610 Differential Revision: https://reviews.llvm.org/D134272
Loading
Please sign in to comment