[PATCH 1/2, x86] Add palignr support for AVX2.
Evgeny Stupachenko
evstupac@gmail.com
Wed Sep 17 13:01:00 GMT 2014
It fix "gcc.target/i386/pr52252-atom.c" in core-avx2 make check and pr62128.
On Tue, Sep 16, 2014 at 6:51 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Tue, Sep 16, 2014 at 6:15 AM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
>> PING 2
>>
>> On Mon, Sep 8, 2014 at 2:03 PM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
>>> PING
>>>
>>> On Wed, Aug 27, 2014 at 7:50 PM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
>>>> The rotate insn appeared right after expand.
>>>> I've done it similar to define_insn_and_split "*avx_vperm_broadcast_<mode>".
>>>> I don't see any potential losses on splitting that after reload.
>>>>
>>>> On Tue, Aug 26, 2014 at 8:29 PM, Richard Henderson <rth@redhat.com> wrote:
>>>>> On 08/26/2014 05:59 AM, Evgeny Stupachenko wrote:
>>>>>> +(define_insn_and_split "avx2_rotate<mode>_perm"
>>>>>> + [(set (match_operand:V_256 0 "register_operand" "=&x")
>>>>>> + (vec_select:V_256
>>>>>> + (match_operand:V_256 1 "register_operand" "x")
>>>>>> + (match_parallel 2 "palignr_operand"
>>>>>> + [(match_operand 3 "const_int_operand" "n")])))]
>>>>>> + "TARGET_AVX2"
>>>>>> + "#"
>>>>>> + "&& reload_completed"
>>>>>> + [(const_int 0)]
>>>>>
>>>>> Why are you waiting until after reload to expand this? It's only the
>>>>> vec_select parallel that determines which direction the palignr should be done.
>>>>>
>>>>> This seems like something you could do during permutation expansion.
>>>>>
>>>>>
>
> Assuming your change is triggered today without any additional changes
> you should include some testcases. For now, it doesn't show if it does
> anything useful.
>
> --
> H.J.
More information about the Gcc-patches
mailing list