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

via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 19 08:02:11 PDT 2021


> > Hi James,
> >
> > It's apparent from your reply that you misunderstand one thing:
> > The mine has *already* exploded.
> 
> > I still don't know exactly what Intel is facing, but at Sony we
> > have games already shipped that CANNOT BE FIXED because they are
> > embedded in DVD.  It is literally physically impossible to fix the
> > buggy software, and we have a moral contract with users that their
> > games will continue to run on all future releases of the console.
> Are they JIT'ed? If not, i'm not really sure how this change
> to the X86 backend would retroactively "fix" already-compiled code.

No; the actual problem is that buggy game code uses a type that is
tagged as 32-byte aligned but allocates data that is 16-byte aligned.
The problem is when the (immutable) game calls (updated) system
software that expects 32-byte alignment, and doesn't get it.

The backend change allows our system software not to trap on the
misaligned data that the caller gives to it.
--paulr



More information about the llvm-dev mailing list