Hi Jiangning,

On 18 November 2013 10:48, Jiangning Liu <[email protected]> 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.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to