[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