[PATCH] Fix VGATHER operand constraints

Dmitry Babokin babokin at gmail.com
Wed Jun 5 14:46:21 PDT 2013


For our project (ISPC, ispc.github.com), as LLVM optimizer clients,
it's important to have this fix in 3.3. Otherwise we have 1/6 of our
tests failing on Haswell hardware.

This bug also has good chances to show off for clang users as Haswell
becomes a common target for people.

I would appreciate if it's approved for "last minute" check-in before
the release.

-----
Best regards, Dmitry.

On 05.06.2013, at 22:15, Michael Liao <michael.liao at intel.com> wrote:

> Thanks. It's committed in r183327. Just curious, whether we still have
> chance to merge this patch into 3.3 branch?
>
> Thanks
> - Michael
>
> On Wed, 2013-06-05 at 11:06 -0700, Nadav Rotem wrote:
>> LGTM.
>>
>> On Jun 5, 2013, at 10:10 AM, Michael Liao <michael.liao at intel.com>
>> wrote:
>>
>>> Hi,
>>>
>>> This patch adds 'earlyclobber' constraints on VGATHER* output
>>> operands
>>> to prevent its input registers being allocated as the output
>>> register.
>>> According to the spec[1], "If any pair of the index, mask, or
>>> destination registers are the same, this instructions results a UD
>>> fault." With this constraint, RA could assign the same physical reg
>>> when
>>> MASK or SRC in 'undef'.
>>>
>>> Thanks for review
>>> - Michael
>>> ------------------------
>>> [1] http://software.intel.com/sites/default/files/319433-014.pdf
>>> <0001-Fix-VGATHER-operand-constraints.patch>_______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list