This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [gomp4] Some progress on #pragma omp simd
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, "Iyer, Balaji V" <balaji dot v dot iyer at intel dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 18 Jun 2013 09:09:00 +0200
- Subject: Re: [gomp4] Some progress on #pragma omp simd
- References: <BF230D13CA30DD48930C31D40993300032A39A2B at FMSMSX101 dot amr dot corp dot intel dot com> <517C0B34 dot 3050804 at redhat dot com> <20130427181734 dot GX28963 at tucnak dot redhat dot com> <51B8AE31 dot 7070808 at redhat dot com> <20130612173055 dot GA2336 at tucnak dot redhat dot com> <51B8B1F8 dot 6040408 at redhat dot com> <20130612213617 dot GB2336 at tucnak dot redhat dot com> <51BF43C0 dot 9080901 at redhat dot com> <51BF4613 dot 6000304 at redhat dot com> <51BFB0E3 dot 4060502 at redhat dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Mon, Jun 17, 2013 at 07:59:15PM -0500, Aldy Hernandez wrote:
> As discussed on IRC. Attached are these changes you requested, plus
> changing OMP_CLAUSE__SIMDUID__UID to OMP_CLAUSE__SIMDUID__DECL.
>
> I will tackle the dot named builtins in the next iteration.
Thanks.
> --- a/gcc/builtin-types.def
> +++ b/gcc/builtin-types.def
> @@ -227,6 +227,7 @@ DEF_FUNCTION_TYPE_1 (BT_FN_DFLOAT128_DFLOAT128, BT_DFLOAT128, BT_DFLOAT128)
> DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
> +DEF_FUNCTION_TYPE_1 (BT_FN_UINT_PTR, BT_UINT, BT_PTR)
> DEF_FUNCTION_TYPE_1 (BT_FN_ULONG_ULONG, BT_ULONG, BT_ULONG)
> DEF_FUNCTION_TYPE_1 (BT_FN_ULONGLONG_ULONGLONG, BT_ULONGLONG, BT_ULONGLONG)
> DEF_FUNCTION_TYPE_1 (BT_FN_UINT16_UINT16, BT_UINT16, BT_UINT16)
You can avoid this by using say unsigned_type_node as the type of the magic
decl rather than pointer type. Though, with internal functions this will
not be needed anyway.
> diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h
> index 6cc9a6c..41677bc 100644
> --- a/gcc/cfgloop.h
> +++ b/gcc/cfgloop.h
> @@ -176,7 +176,7 @@ struct GTY ((chain_next ("%h.next"))) loop {
>
> /* For SIMD loops, this is a unique identifier of the loop, referenced
> by __builtin_GOMP.simd_vf and __builtin_GOMP.simd_lane builtins. */
> - unsigned int simduid;
> + tree simduid;
>
> /* True if we should try harder to vectorize this loop. */
> bool force_vect;
Please move simduid after force_vect, so that it is better packed.
Jakub