[Beignet] [PATCH] Add some preprocessor macros __IMAGE_SUPPORT__ and __FAST_RELAXED_MATH__ define.

Zhigang Gong zhigang.gong at linux.intel.com
Wed Oct 9 02:36:41 PDT 2013


LGTM, thanks.

On Wed, Oct 09, 2013 at 04:44:47PM +0800, Yang Rong wrote:
> 
> Signed-off-by: Yang Rong <rong.r.yang at intel.com>
> ---
>  backend/src/backend/program.cpp | 7 ++++++-
>  backend/src/ocl_stdlib.tmpl.h   | 1 +
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/backend/src/backend/program.cpp b/backend/src/backend/program.cpp
> index 647a958..6ba9593 100644
> --- a/backend/src/backend/program.cpp
> +++ b/backend/src/backend/program.cpp
> @@ -449,6 +449,7 @@ namespace gbe {
>      // Arguments to pass to the clang frontend
>      vector<const char *> args;
>      bool bOpt = true;
> +    bool bFastMath = false;
>  
>      vector<std::string> useless; //hold substrings to avoid c_str free
>      size_t start = 0, end = 0;
> @@ -465,6 +466,7 @@ namespace gbe {
>        if(str.size() == 0)
>          continue;
>        if(str == "-cl-opt-disable") bOpt = false;
> +      if(str == "-cl-fast-relaxed-math") bFastMath = true;
>        useless.push_back(str);
>        args.push_back(str.c_str());
>      }
> @@ -475,7 +477,10 @@ namespace gbe {
>      // XXX we haven't implement those builtin functions,
>      // so disable it currently.
>      args.push_back("-fno-builtin");
> -    if(bOpt)  args.push_back("-O2");
> +    if(bOpt)
> +      args.push_back("-O3");
> +    if(bFastMath)
> +      args.push_back("-D __FAST_RELAXED_MATH__=1");
>  #if LLVM_VERSION_MINOR <= 2
>      args.push_back("-triple");
>      args.push_back("nvptx");
> diff --git a/backend/src/ocl_stdlib.tmpl.h b/backend/src/ocl_stdlib.tmpl.h
> index 170ec70..eada9fd 100644
> --- a/backend/src/ocl_stdlib.tmpl.h
> +++ b/backend/src/ocl_stdlib.tmpl.h
> @@ -110,6 +110,7 @@ typedef size_t __event_t;
>  #define __CL_VERSION_1_0__ 100
>  #define __CL_VERSION_1_1__ 110
>  #define __ENDIAN_LITTLE__ 1
> +#define __IMAGE_SUPPORT__ 1
>  #define __kernel_exec(X, TYPE) __kernel __attribute__((work_group_size_hint(X,1,1))) \
>                                          __attribute__((vec_type_hint(TYPE)))
>  #define kernel_exec(X, TYPE) __kernel_exec(X, TYPE)
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Beignet mailing list
> Beignet at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/beignet


More information about the Beignet mailing list