[PATCH] D15075: No error for conflict between inputs\outputs and clobber list
Marina Yatsina via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Dec 1 01:01:26 PST 2017
myatsina added a comment.
In https://reviews.llvm.org/D15075#940711, @dolson wrote:
> Hello,
>
> In the process of upgrading from clang 3.6.1 to a newer version, I ran into this new error and thus imported the new intrinsics from intrin.h for rep movsb and friends. I see several discussions in this thread about how having the registers solely in the inputs list is not sufficient for something like "rep movsb" because the modified registers will not be clobbered, however none of these suggested changes made it into the eventual intrin.h.
>
> I found that using the versions of `__movsb` and `__stosb` that are at the head revision intrin.h produced bad code generation vs the versions with the clobbers. Note this is on PS4 under the older clang 3.6.1, but I don't see anything in this CL that would update the clobber behavior for newer versions of clang.
>
> Shouldn't the intrinsics be updated to use input/output registers or some other method of clobbering?
Reid created https://reviews.llvm.org/D40686 which addresses this issue.
Repository:
rL LLVM
https://reviews.llvm.org/D15075
More information about the cfe-commits
mailing list