[llvm] r227983 - Fix program crashes due to alignment exceptions generated for SSE memop instructions (PR22371).

Hans Wennborg hans at chromium.org
Wed Feb 4 10:52:45 PST 2015


Elena, Michael: is this safe for merging to 3.6?

As far as I understand it's basically a revert or r224330.

On Tue, Feb 3, 2015 at 3:44 PM, Nadav Rotem <nrotem at apple.com> wrote:
> The change looks good to me, but I would wait a day and let Elena or Michael
> review it.
>
> On Feb 3, 2015, at 3:19 PM, Hans Wennborg <hans at chromium.org> wrote:
>
> On Tue, Feb 3, 2015 at 9:13 AM, Sanjay Patel <spatel at rotateright.com> wrote:
>
> Author: spatel
> Date: Tue Feb  3 11:13:04 2015
> New Revision: 227983
>
> URL: http://llvm.org/viewvc/llvm-project?rev=227983&view=rev
> Log:
> Fix program crashes due to alignment exceptions generated for SSE memop
> instructions (PR22371).
>
> r224330 introduced a bug by misinterpreting the "FeatureVectorUAMem" bit.
> The commit log says that change did not affect anything, but that's not
> correct.
> That change allowed SSE instructions to have unaligned mem operands folded
> into
> math ops, and that's not allowed in the default specification for any SSE
> variant.
>
> The bug is exposed when compiling for an AVX-capable CPU that had this
> feature
> flag but without enabling AVX codegen. Another mistake in r224330 was not
> adding
> the feature flag to all AVX CPUs; the AMD chips were excluded.
>
> This is part of the fix for PR22371 (
> http://llvm.org/bugs/show_bug.cgi?id=22371 ).
>
> This feature bit is SSE-specific, so I've renamed it to
> "FeatureSSEUnalignedMem".
> Changed the existing test case for the feature bit to reflect the new name
> and
> renamed the test file itself to better reflect the feature.
> Added runs to fold-vex.ll to check for the failing codegen.
>
> Note that the feature bit is not set by default on any CPU because it may
> require a
> configuration register setting to enable the enhanced unaligned behavior.
>
>
> Sanjay requested in [1] that we should merge this to the 3.6 branch.
> I'm not qualified to determine if this is safe or not. Is there somone
> else with X86 expertise that would like to chime in? Nadav, you're
> listed as the code owner here.
>
> Thanks,
> Hans
>
> 1. http://llvm.org/bugs/show_bug.cgi?id=22374#c3
>
>



More information about the llvm-commits mailing list