dolson added a comment.

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?


Repository:
  rL LLVM

https://reviews.llvm.org/D15075



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to