[PATCH] [AArch64] zext/sext from v1xx to v1xx
Jiangning Liu
liujiangning1 at gmail.com
Sat Jan 25 21:03:16 PST 2014
Last commitment missed to improve case zext from v1i8 to v1i32 with dup, so
committed another patch at r200119 for this case.
Thanks,
-Jiangning
2014-01-26 Jiangning Liu <liujiangning1 at gmail.com>
> OK. Fixed the following two and committed as r200113.
> 1) using "dup b0, v0.b[0]" for v1i8->v1i64
> 2) using "dup h0, v0.h[0]" for v1i16->v1i64
>
> Thanks,
> -Jiangning
>
>
> 2014/1/24 Tim Northover <t.p.northover at gmail.com>
>
>> > Attached is to fix pattern match failure for zext/sext from v1xx to
>> v1xx.
>>
>> +def : Pat<(v1i64 (zext (v1i8 FPR8:$Rn))),
>> + (v1i64 (ANDvvv_8B
>> + (v8i8 (SUBREG_TO_REG (i64 0), $Rn, sub_8)),
>> + (v8i8 (MOVIdi 1))))>;
>>
>> I'm not sure how much of an improvement it would be, but I think
>> "(v1i64 (SUBREG_TO_REG (i64 0), (DUPbv_8 $Rn), sub_8))" (i.e. a single
>> "mov bD, vN.b[0]" might be more efficient. Less register pressure and
>> a single instruction.
>>
>> Other than that, it looks good.
>>
>> Cheers.
>>
>> Tim.
>>
>
>
>
> --
> Thanks,
> -Jiangning
>
--
Thanks,
-Jiangning
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140126/e7ffef03/attachment.html>
More information about the llvm-commits
mailing list