On Thu, Nov 30, 2017 at 10:21 AM, Dan Olson via Phabricator <
revi...@reviews.llvm.org> wrote:

> 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?


Yes, they should be. I misread this thread and thought somebody had gone
and fixed these, but I guess not. I sent out https://reviews.llvm.org/D40686
.
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to