[PATCH] D59744: Fix i386 ABI "__m64" type bug
Hans Wennborg via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 18 01:50:07 PDT 2019
hans added a comment.
In D59744#1547445 <https://reviews.llvm.org/D59744#1547445>, @wxiao3 wrote:
> @hans
>
> Please make sure all Chromium for 32-bit Linux libraries are following System V ABI (i.e., m64 is passed on mmx register). I suspect that there are some hand written assembly code in your libraries which is not following the ABI.
We still don't have the root cause, but the library in question (Skia) doesn't have much assembly code. After your patch, %st0 (which aliases with %mm0) gets clobbered if a function returns a 4 x u16 vector. Skia tries to work around this by force-inlining such functions, but we're still seeing functions where %mm0 gets used. We believe this is the cause, but I'm still trying to figure out where the remaining %mm0 uses come from.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59744/new/
https://reviews.llvm.org/D59744
More information about the llvm-commits
mailing list