[PATCH][AArch64] Implemented Neon scalar vdup_lane intrinsics

Jiangning Liu liujiangning1 at gmail.com
Tue Nov 19 23:45:53 PST 2013


Hi Ana,

+def : Pat<(v1i64 (extract_subvector (v2i64 VPR128:$Rn),
neon_uimm1_bare:$Imm)),
+          (v1i64 (DUPdv_D VPR128:$Rn, neon_uimm1_bare:$Imm))>

This rule should be a redundant one, because we already have the following
patterns to cover all cases around DUPdv_D.

multiclass NeonI_SDUP<PatFrag GetLow, PatFrag GetHigh,
                 ValueType ResTy, ValueType OpTy> {
  def : Pat<(ResTy (GetLow VPR128:$Rn)),
            (ResTy (DUPdv_D (OpTy VPR128:$Rn), 0))>;
  def : Pat<(ResTy (GetHigh VPR128:$Rn)),
            (ResTy (DUPdv_D (OpTy VPR128:$Rn), 1))>;
}

However, the name NeonI_SDUP is inconsistent with the one you are adding
like NeonI_Scalar_DUP_Vec_pattern, so maybe you can change it to be
NeonI_Scalar_DUP_Vec_pattern_D or something else like that.

All others LGTM.

Thanks,
-Jiangning


2013/11/20 Ana Pazos <apazos at codeaurora.org>

> Hi Tim and reviewers,
>
>
>
> This patch supports scalar vdup_lane intrinsics, a fix for scalar dup
> alias and test cases.
>
>
>
> This completes the scalar intrinsics implementation.
>
>
>
> I would like to push these patches (and the ones I posted earlier today
> for scalar by element intrinsics) to the release 3.4 branch as well.
>
>
>
> Please review them and let me know if ok to check them in mainline and
> release 3.4.
>
>
>
> Thanks,
>
> Ana.
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>


-- 
Thanks,
-Jiangning
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131120/969ebf7c/attachment.html>


More information about the cfe-commits mailing list