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