[PATCH] Implement AArch64 SISD intrinsics for vget_high and vget_low
Jiangning Liu
liujiangning1 at gmail.com
Thu Nov 21 18:53:41 PST 2013
Tim,
You are correct. I made the change and committed as r195408 and r195409.
Thanks,
-Jiangning
2013/11/21 Tim Northover <t.p.northover at gmail.com>
> Hi Jiangning,
>
> On 18 November 2013 10:48, Jiangning Liu <liujiangning1 at gmail.com> wrote:
> > Attached patch is to implement AArch64 SISD intrinsics for vget_high and
> > vget_low.
>
> +def Neon_High2D : PatFrag<(ops node:$in),
> + (extract_subvector (v2i64 node:$in), (iPTR
> 1))>;
> +def Neon_High2d : PatFrag<(ops node:$in),
> + (extract_subvector (v2f64 node:$in), (iPTR
> 1))>;
>
> These two should not be named so similarly. There's also (existing,
> but shouldn't) capitalisation confusion in that area: Neon_High vs
> Neon_low.
>
> + def : Pat<(ResTy (GetLow VPR128:$Rn)),
> + (ResTy (DUPdv_D (OpTy VPR128:$Rn), 0))>;
>
> This should be a simple EXTRACT_SUBREG shouldn't it? That way the
> register allocator can almost certainly remove it completely. In
> particular I'd expect all of your tests to be empty functions: "ret"
> only.
>
> Cheers.
>
> Tim.
>
--
Thanks,
-Jiangning
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131122/6c1d89eb/attachment.html>
More information about the cfe-commits
mailing list