[Libclc-dev] [PATCH 1/3] 64 bit integers are legal in full profile without an extension

Tom Stellard via Libclc-dev libclc-dev at lists.llvm.org
Wed Jun 1 19:02:25 PDT 2016


On Wed, Jun 01, 2016 at 12:15:34PM -0400, Jan Vesely via Libclc-dev wrote:
> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>

LGTM for all three patches.

-Tom

> ---
>  configure.py               |  1 -
>  generic/lib/gen_convert.py | 17 ++++++++++++-----
>  2 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/configure.py b/configure.py
> index 63f5ada..43ab69d 100755
> --- a/configure.py
> +++ b/configure.py
> @@ -198,7 +198,6 @@ for target in targets:
>                       "-fno-builtin " \
>                       "-Dcl_clang_storage_class_specifiers " \
>                       "%s " \
> -                     "-Dcles_khr_int64 " \
>                       "-D__CLC_INTERNAL " \
>                       "-emit-llvm" % (target, clang_cl_includes, device_defines)
>      if device['gpu'] != '':
> diff --git a/generic/lib/gen_convert.py b/generic/lib/gen_convert.py
> index f91a89a..5c87fcb 100644
> --- a/generic/lib/gen_convert.py
> +++ b/generic/lib/gen_convert.py
> @@ -97,14 +97,12 @@ def conditional_guard(src, dst):
>      int64_count = int64_count +1
>    elif dst in float64_types:
>      float64_count = float64_count + 1
> -  if float64_count > 0 and int64_count > 0:
> -    print("#if defined(cl_khr_fp64) && defined(cles_khr_int64)")
> -    return True
> -  elif float64_count > 0:
> +  if float64_count > 0:
> +    #In embedded profile, if cl_khr_fp64 is supported cles_khr_int64 has to be
>      print("#ifdef cl_khr_fp64")
>      return True
>    elif int64_count > 0:
> -    print("#ifdef cles_khr_int64")
> +    print("#if defined cles_khr_int64 || !defined(__EMBEDDED_PROFILE__)")
>      return True
>    return False
>  
> @@ -142,6 +140,15 @@ print("""/* !!!! AUTOGENERATED FILE generated by convert_type.py !!!!!
>  
>  #ifdef cl_khr_fp64
>  #pragma OPENCL EXTENSION cl_khr_fp64 : enable
> +
> +#if defined(__EMBEDDED_PROFILE__) && !defined(cles_khr_int64)
> +#error Embedded profile that supports cl_khr_fp64 also has to support cles_khr_int64
> +#endif
> +
> +#endif
> +
> +#ifdef cles_khr_int64
> +#pragma OPENCL EXTENSION cles_khr_int64 : enable
>  #endif
>  
>  """)
> -- 
> 2.5.5
> 
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev


More information about the Libclc-dev mailing list