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
