[llvm-dev] [RFC] [X86] Emit unaligned vector moves on avx machine with option control.

Philip Reames via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 19 09:21:34 PDT 2021


On 4/19/21 8:20 AM, via llvm-dev wrote:
>> So the application software is unchangeable, right?
> Exactly right.  The application software works fine within itself.
>
> The system software, which we update roughly twice a year, also
> accepted the misaligned data, until Clang was modified to emit the
> aligned (trapping) opcodes.  We had to fix that so the system
> software would continue to allow the (buggy but unchangeable)
> application software to continue to work.
>
> Yes, it is indeed the case that we can update the system software
> but not the game software.  I think it would be a distraction to
> spell out the scenarios but please accept that it is the case.

Out of curiosity, why do you solve this in the backend rather than 
patching your frontend/headers to not specify alignment?  To my 
knowledge (which isn't great in this area), alignment of pointer 
arguments isn't part of the ABI.  Wouldn't tweaking the headers and 
simply recompiling your system libraries get you the same effect?

p.s. The more you explain about your use case, the less motivating I 
find it for upstream.  This sounds like a weird situation you've created 
for yourselves and should bear the cost of maintaining the mitigation 
for.  Just as other downstream distributions do for other issues.  Just 
my 2 cents.

> --paulr
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev


More information about the llvm-dev mailing list