[PATCH][AArch64]Implemented vcopy_lane patterns using scalar dup

Jiangning Liu liujiangning1 at gmail.com
Mon Dec 2 17:52:04 PST 2013


Hi Ana,

I mean the 3rd argument should be float64x2_t rather than float64x1_t,
because this intrinsic has contains 'laneq' rather than 'lane'.

float64x1_t vcopy_laneq_f64(float64x1_t a, const int lane1,
float64x2_t b, const int lane2)


Thanks,

-Jiangning



2013/12/3 Ana Pazos <apazos at codeaurora.org>

> Hi Jiangning,
>
>
>
> -              The file head should be unchanged – thanks for catching
> that deleted line.
>
> -              The test function does not have the lanes as input
> parameters, but the intrinsic call does, see the constant zero being
> passed. The intrinisic is correctly defined.
>
> float64x1_t test_vcopy_laneq_f64(float64x1_t a, float64x1_t c) {
>
>   return *vcopy_laneq_f64(a, 0, c, 0);*
>
> }
>
> -              Will add the missing vcopyq_laneq_f64.
>
>
>
> Will make these changes and check them in today.
>
>
>
> Thanks!
>
> Ana.
>
>
>
> *From:* Jiangning Liu [mailto:liujiangning1 at gmail.com]
> *Sent:* Wednesday, November 27, 2013 6:52 PM
> *To:* Ana Pazos
> *Cc:* llvm-commits; cfe-commits at cs.uiuc.edu; Jiangning Liu
> *Subject:* Re: [PATCH][AArch64]Implemented vcopy_lane patterns using
> scalar dup
>
>
>
> @@ -1,6 +1,3 @@
>
> -//===-- AArch64InstrNEON.td - NEON support for AArch64 -----*- tablegen
> -*-===//
>
> -//
>
> -//                     The LLVM Compiler Infrastructure
>
>  //
>
>  // This file is distributed under the University of Illinois Open Source
>
>  // License. See LICENSE.TXT for details.
>
>
>
> We should not remove this file head, should we?
>
>
>
> +// CHECK_AARCH64: test_vcopy_laneq_f64
>
> +float64x1_t test_vcopy_laneq_f64(float64x1_t a, float64x1_t c) {
>
> +  return vcopy_laneq_f64(a, 0, c, 0);
>
> +// CHECK: fmov {{d[0-9]+}}, {{d[0-9]+}}
>
> +// CHECK-NOT: dup {{d[0-9]+}}, {{v[0-9]+}}.d[0]
>
> +}
>
>
>
> vcopy_laneq_f64 should have prototype as below.
>
> float64x1_t vcopy_laneq_f64(float64x1_t a, const int lane1, float64x2_t b, const int lane2)
>
>
>
>
>
> And sorry, one more is missing in the list I previously gave you,
>
> float64x2_t vcopyq_laneq_f64(float64x2_t a, const int lane1, float64x2_t b, const int lane2)
>
>
>
>
>
> All others LGTM!
>
>
>
>
>
> Thanks,
>
>
>
> -Jiangning
>
>
>
>
>
>
>
> 2013/11/28 Ana Pazos <apazos at codeaurora.org>
>
> Hi Jiangning and reviewers,
>
>
>
> Here is the patch with the vcopy_lane* intrinsics that use scalar dup
> instructions.
>
>
>
> Send me your review/ok sign, and I will commit them.
>
>
>
> 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/20131203/aceb7b7a/attachment.html>


More information about the llvm-commits mailing list