[PATCH][AArch64] Implemented remaining Neon scalar by element intrinsics

Jiangning Liu liujiangning1 at gmail.com
Wed Nov 20 21:07:08 PST 2013


Yes. I think we prefer to use the intrinsics shared with ARM backend as
possible as we could, and this way we could minimize adding new intrinsics
for AArch64. This is the solution we have been using previously.

However, if you could add more profile constraint for the aarch64 version
intrinsics, it would be helpful to verify the semantic correctness on LLVM
IR. I think this would also be acceptable. Otherwise, we should just reuse
the arm version.

Thanks,
-Jiangning


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

> The reason I added is because the new target aarch64 intrinsics support
> i8, i16, i32 and i64 while the original target arm intrinsic only supports
> i64.
>
>
>
> The definition of the intrinsics are generic right now, I can reuse the
> same target arm intrinsic if that is preferred.
>
>
>
> Ana.
>
>
>
> *From:* Jiangning Liu [mailto:liujiangning1 at gmail.com]
> *Sent:* Wednesday, November 20, 2013 7:05 PM
> *To:* Ana Pazos
> *Cc:* cfe-commits at cs.uiuc.edu; llvm-commits at cs.uiuc.edu for LLVM; Tim
> Northover; Tim Northover
> *Subject:* Re: [PATCH][AArch64] Implemented remaining Neon scalar by
> element intrinsics
>
>
>
> Hi Ana,
>
>
>
> +// doubling multiply-add long (scalar, by element)
>
> +defm : Neon_ScalarXIndexedElem_MLAL_Patterns<int_aarch64_neon_vqadds,
>
> +  int_arm_neon_vqdmull, SQDMLALshv_4H, v1i32, FPR32, FPR16, v1i16, v4i16,
>
> +  i32, VPR64Lo, neon_uimm2_bare>;
>
>
>
> Here int_aarch64_neon_vqadds should be able to be replaced by
> int_arm_neon_vqadds, and I don't really see the semantic differences
> between them.
>
>
>
> Therefore the definition of int_aarch64_neon_vqadds and all others like
> this in IntrinsicsAArch64.td should be able to be removed completely.
>
>
>
> // Scalar Saturating Add (Signed, Unsigned)
>
> def int_aarch64_neon_vqadds : Neon_2Arg_Intrinsic;
>
> def int_aarch64_neon_vqaddu : Neon_2Arg_Intrinsic;
>
>
>
> // Scalar Saturating Sub (Signed, Unsigned)
>
> def int_aarch64_neon_vqsubs : Neon_2Arg_Intrinsic;
>
> def int_aarch64_neon_vqsubu : Neon_2Arg_Intrinsic;
>
>
>
> All others LGTM.
>
>
>
> Thanks,
>
> -Jiangning
>
>
>
>
>
> 2013/11/21 Ana Pazos <apazos at codeaurora.org>
>
> Pinging...please let me know if ok to check this in.
>
> Ana.
>
>
>
> *From:* llvm-commits-bounces at cs.uiuc.edu [mailto:
> llvm-commits-bounces at cs.uiuc.edu] *On Behalf Of *Ana Pazos
> *Sent:* Tuesday, November 19, 2013 11:58 AM
> *To:* cfe-commits at cs.uiuc.edu; llvm-commits at cs.uiuc.edu;
> t.p.northover at gmail.com
> *Subject:* [PATCH][AArch64] Implemented remaining Neon scalar by element
> intrinsics
>
>
>
> Hi Tim and reviewers,
>
>
>
> This patch implements the remaining Neon scalar by element intrinsics:
> vqdmull_lane, vqdmulh_lane, vqrdmulh_lane, vqdmlal_lane, vqdmlsl_lane.
>
>
>
> Please let me know when you are done reviewing so I can check them in.
>
>
> Thanks,
>
> Ana.
>
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
>
>
>
> --
>
> Thanks,
>
> -Jiangning
>



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


More information about the llvm-commits mailing list