Hello community,

here is the log from the commit of package libclc for openSUSE:Factory checked 
in at 2016-07-16 22:11:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libclc (Old)
 and      /work/SRC/openSUSE:Factory/.libclc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libclc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/libclc/libclc.changes    2015-12-27 
01:57:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.libclc.new/libclc.changes       2016-07-16 
22:11:49.000000000 +0200
@@ -1,0 +2,15 @@
+Sun Jul 03 08:32:55 UTC 2016 - [email protected]
+
+- Update to version 0.2.0+git.20160209:
+  * integer: remove explicit casts from _MIN definitions
+  * AMDGPU: Add alias for tonga
+  * AMDGPU: Add aliases for all VI targets
+  * Add _CLC_V_V_VP_VECTORIZE macro
+  * Implement modf math builtin
+  * math: Add frexp ported from amd-builtins
+  * math: Fix log2 vectorization on non-fp64 hw
+  * configure: Introduce per device defines
+  * configure: Remove cl_khr_fp64 for device that don't support doubles
+  * configure: Remove llvm 3.6 defines
+
+-------------------------------------------------------------------

Old:
----
  libclc-0.2.0+git20151006.6d78407.tar.xz

New:
----
  _servicedata
  libclc-0.2.0+git.20160209.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libclc.spec ++++++
--- /var/tmp/diff_new_pack.d9aKtb/_old  2016-07-16 22:11:50.000000000 +0200
+++ /var/tmp/diff_new_pack.d9aKtb/_new  2016-07-16 22:11:50.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libclc
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           libclc
-Version:        0.2.0+git20151006.6d78407
+Version:        0.2.0+git.20160209
 Release:        0
 Summary:        OpenCL C programming language library
 License:        BSD-3-Clause or MIT
@@ -27,11 +27,10 @@
 Source1:        %{name}-rpmlintrc
 BuildRequires:  gcc
 BuildRequires:  libstdc++-devel
-BuildRequires:  libtool
 BuildRequires:  llvm-clang-devel
 BuildRequires:  llvm-devel >= 3.7
 BuildRequires:  ncurses-devel
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  python
 BuildRequires:  zlib-devel
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
@@ -55,11 +54,10 @@
   --enable-runtime-subnormal \
   --pkgconfigdir=%{_libdir}/pkgconfig/ \
   --libexecdir=%{_libdir}/clc/
-
 make %{?_smp_mflags} VERBOSE=1
 
 %install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+%make_install
 
 %files
 %defattr(-,root,root)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.d9aKtb/_old  2016-07-16 22:11:50.000000000 +0200
+++ /var/tmp/diff_new_pack.d9aKtb/_new  2016-07-16 22:11:50.000000000 +0200
@@ -3,8 +3,9 @@
     <param name="scm">git</param>
     <param name="url">https://github.com/llvm-mirror/libclc.git</param>
     <param name="submodules">enable</param>
-    <param name="versionformat">0.2.0+git%cd.%h</param>
-    <param name="revision">6d784075bc56815b0fc493690572c893979abbdd</param>
+    <param name="changesgenerate">enable</param>
+    <param name="revision">b518692b52a0bbdf9cf0e2167b9629dd9501abcd</param>
+    <param name="versionformat">0.2.0+git.%cd</param>
   </service>
   <service name="recompress" mode="disabled">
     <param name="compression">xz</param>

++++++ _servicedata ++++++
<servicedata>
  <service name="tar_scm">
    <param name="url">https://github.com/llvm-mirror/libclc.git</param>
    <param 
name="changesrevision">b518692b52a0bbdf9cf0e2167b9629dd9501abcd</param>
  </service>
</servicedata>
++++++ libclc-0.2.0+git20151006.6d78407.tar.xz -> 
libclc-0.2.0+git.20160209.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libclc-0.2.0+git20151006.6d78407/configure.py 
new/libclc-0.2.0+git.20160209/configure.py
--- old/libclc-0.2.0+git20151006.6d78407/configure.py   2015-12-01 
06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/configure.py  2016-07-03 10:32:55.000000000 
+0200
@@ -91,16 +91,25 @@
 
 available_targets = {
   'r600--' : { 'devices' :
-               [{'gpu' : 'cedar',   'aliases' : ['palm', 'sumo', 'sumo2', 
'redwood', 'juniper']},
-                {'gpu' : 'cypress', 'aliases' : ['hemlock']},
-                {'gpu' : 'barts',   'aliases' : ['turks', 'caicos']},
-                {'gpu' : 'cayman',  'aliases' : ['aruba']}]},
+               [{'gpu' : 'cedar',   'aliases' : ['palm', 'sumo', 'sumo2', 
'redwood', 'juniper'],
+                 'defines' : {}},
+                {'gpu' : 'cypress', 'aliases' : ['hemlock'],
+                 'defines' : {}},
+                {'gpu' : 'barts',   'aliases' : ['turks', 'caicos'],
+                 'defines' : {}},
+                {'gpu' : 'cayman',  'aliases' : ['aruba'],
+                 'defines' : {}} ]},
   'amdgcn--': { 'devices' :
-                [{'gpu' : 'tahiti',  'aliases' : ['pitcairn', 'verde', 
'oland', 'hainan', 'bonaire', 'kabini', 'kaveri', 'hawaii','mullins']}]},
-  'nvptx--'   : { 'devices' : [{'gpu' : '', 'aliases' : []}]},
-  'nvptx64--'   : { 'devices' : [{'gpu' : '', 'aliases' : []}] },
-  'nvptx--nvidiacl'   : { 'devices' : [{'gpu' : '', 'aliases' : []}] },
-  'nvptx64--nvidiacl' : { 'devices' : [{'gpu' : '', 'aliases' : []}] }
+                [{'gpu' : 'tahiti', 'aliases' : ['pitcairn', 'verde', 'oland', 
'hainan', 'bonaire', 'kabini', 'kaveri', 
'hawaii','mullins','tonga','carrizo','iceland','fiji','stoney'],
+                 'defines' : {}} ]},
+  'nvptx--'   : { 'devices' : [{'gpu' : '', 'aliases' : [],
+                                'defines' : {'all' : ['cl_khr_fp64']}}]},
+  'nvptx64--' : { 'devices' : [{'gpu' : '', 'aliases' : [],
+                                'defines' : {'all' : ['cl_khr_fp64']}}]},
+  'nvptx--nvidiacl'   : { 'devices' : [{'gpu' : '', 'aliases' : [],
+                                        'defines' : {'all' : 
['cl_khr_fp64']}}]},
+  'nvptx64--nvidiacl' : { 'devices' : [{'gpu' : '', 'aliases' : [],
+                                        'defines' : {'all' : 
['cl_khr_fp64']}}]},
 }
 
 default_targets = ['nvptx--nvidiacl', 'nvptx64--nvidiacl', 'r600--', 
'amdgcn--']
@@ -178,13 +187,17 @@
 
   for device in available_targets[target]['devices']:
     # The rule for building a .bc file for the specified architecture using 
clang.
+    device_def_list = (device['defines']['all'] if 'all' in device['defines'] 
else []);
+    if llvm_string_version in device['defines']:
+        device_def_list += (device['defines'][llvm_string_version]);
+    device_defines = ' '.join(["-D%s" % define for define in device_def_list])
     clang_bc_flags = "-target %s -I`dirname $in` %s " \
                      "-fno-builtin " \
                      "-Dcl_clang_storage_class_specifiers " \
-                     "-Dcl_khr_fp64 " \
+                     "%s " \
                      "-Dcles_khr_int64 " \
                      "-D__CLC_INTERNAL " \
-                     "-emit-llvm" % (target, clang_cl_includes)
+                     "-emit-llvm" % (target, clang_cl_includes, device_defines)
     if device['gpu'] != '':
       clang_bc_flags += ' -mcpu=' + device['gpu']
     clang_bc_rule = "CLANG_CL_BC_" + target + "_" + device['gpu']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/clc.h 
new/libclc-0.2.0+git.20160209/generic/include/clc/clc.h
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/clc.h      
2015-12-01 06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/clc.h     2016-07-03 
10:32:55.000000000 +0200
@@ -58,6 +58,7 @@
 #include <clc/math/fmin.h>
 #include <clc/math/fmod.h>
 #include <clc/math/fract.h>
+#include <clc/math/frexp.h>
 #include <clc/math/half_rsqrt.h>
 #include <clc/math/half_sqrt.h>
 #include <clc/math/hypot.h>
@@ -67,6 +68,7 @@
 #include <clc/math/log1p.h>
 #include <clc/math/log2.h>
 #include <clc/math/mad.h>
+#include <clc/math/modf.h>
 #include <clc/math/nextafter.h>
 #include <clc/math/pow.h>
 #include <clc/math/pown.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/frexp.h 
new/libclc-0.2.0+git.20160209/generic/include/clc/math/frexp.h
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/frexp.h       
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/math/frexp.h      
2016-07-03 10:32:55.000000000 +0200
@@ -0,0 +1,2 @@
+#define __CLC_BODY <clc/math/frexp.inc>
+#include <clc/math/gentype.inc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/frexp.inc 
new/libclc-0.2.0+git.20160209/generic/include/clc/math/frexp.inc
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/frexp.inc     
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/math/frexp.inc    
2016-07-03 10:32:55.000000000 +0200
@@ -0,0 +1,3 @@
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE frexp(__CLC_GENTYPE x, global __CLC_INTN 
*iptr);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE frexp(__CLC_GENTYPE x, local __CLC_INTN 
*iptr);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE frexp(__CLC_GENTYPE x, private 
__CLC_INTN *iptr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/gentype.inc 
new/libclc-0.2.0+git.20160209/generic/include/clc/math/gentype.inc
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/gentype.inc   
2015-12-01 06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/math/gentype.inc  
2016-07-03 10:32:55.000000000 +0200
@@ -2,38 +2,50 @@
 #define __CLC_FPSIZE 32
 
 #define __CLC_GENTYPE float
+#define __CLC_INTN int
 #define __CLC_SCALAR
 #include __CLC_BODY
 #undef __CLC_GENTYPE
+#undef __CLC_INTN
 #undef __CLC_SCALAR
 
 #define __CLC_GENTYPE float2
 #define __CLC_INTN int2
+#define __CLC_VECSIZE 2
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE float3
 #define __CLC_INTN int3
+#define __CLC_VECSIZE 3
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE float4
 #define __CLC_INTN int4
+#define __CLC_VECSIZE 4
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE float8
 #define __CLC_INTN int8
+#define __CLC_VECSIZE 8
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE float16
 #define __CLC_INTN int16
+#define __CLC_VECSIZE 16
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
@@ -47,37 +59,49 @@
 
 #define __CLC_SCALAR
 #define __CLC_GENTYPE double
+#define __CLC_INTN int
 #include __CLC_BODY
 #undef __CLC_GENTYPE
+#undef __CLC_INTN
 #undef __CLC_SCALAR
 
 #define __CLC_GENTYPE double2
 #define __CLC_INTN int2
+#define __CLC_VECSIZE 2
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE double3
 #define __CLC_INTN int3
+#define __CLC_VECSIZE 3
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE double4
 #define __CLC_INTN int4
+#define __CLC_VECSIZE 4
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE double8
 #define __CLC_INTN int8
+#define __CLC_VECSIZE 8
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
 #define __CLC_GENTYPE double16
 #define __CLC_INTN int16
+#define __CLC_VECSIZE 16
 #include __CLC_BODY
+#undef __CLC_VECSIZE
 #undef __CLC_GENTYPE
 #undef __CLC_INTN
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/modf.h 
new/libclc-0.2.0+git.20160209/generic/include/clc/math/modf.h
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/modf.h        
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/math/modf.h       
2016-07-03 10:32:55.000000000 +0200
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2014 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#define __CLC_BODY <clc/math/modf.inc>
+#include <clc/math/gentype.inc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/modf.inc 
new/libclc-0.2.0+git.20160209/generic/include/clc/math/modf.inc
--- old/libclc-0.2.0+git20151006.6d78407/generic/include/clc/math/modf.inc      
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/include/clc/math/modf.inc     
2016-07-03 10:32:55.000000000 +0200
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2014, 2015 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE modf(__CLC_GENTYPE x, global 
__CLC_GENTYPE *iptr);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE modf(__CLC_GENTYPE x, local 
__CLC_GENTYPE *iptr);
+_CLC_OVERLOAD _CLC_DECL __CLC_GENTYPE modf(__CLC_GENTYPE x, private 
__CLC_GENTYPE *iptr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libclc-0.2.0+git20151006.6d78407/generic/lib/SOURCES 
new/libclc-0.2.0+git.20160209/generic/lib/SOURCES
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/SOURCES    2015-12-01 
06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/SOURCES   2016-07-03 
10:32:55.000000000 +0200
@@ -86,6 +86,7 @@
 math/fmin.cl
 math/fmod.cl
 math/fract.cl
+math/frexp.cl
 math/half_rsqrt.cl
 math/half_sqrt.cl
 math/hypot.cl
@@ -96,6 +97,7 @@
 math/log1p.cl
 math/log2.cl
 math/mad.cl
+math/modf.cl
 math/native_log.cl
 math/native_log2.cl
 math/tables.cl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/clcmacro.h 
new/libclc-0.2.0+git.20160209/generic/lib/clcmacro.h
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/clcmacro.h 2015-12-01 
06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/clcmacro.h        2016-07-03 
10:32:55.000000000 +0200
@@ -109,6 +109,28 @@
   } \
 \
 
+#define _CLC_V_V_VP_VECTORIZE(DECLSPEC, RET_TYPE, FUNCTION, ARG1_TYPE, 
ARG2_TYPE) \
+  DECLSPEC RET_TYPE##2 FUNCTION(ARG1_TYPE##2 x, ARG2_TYPE##2 *y) { \
+    return (RET_TYPE##2)(FUNCTION(x.x, (ARG2_TYPE*)y), FUNCTION(x.y, 
(ARG2_TYPE*)y+1)); \
+  } \
+\
+  DECLSPEC RET_TYPE##3 FUNCTION(ARG1_TYPE##3 x, ARG2_TYPE##3 *y) { \
+    return (RET_TYPE##3)(FUNCTION(x.x, (ARG2_TYPE*)y), FUNCTION(x.y, 
(ARG2_TYPE*)y+1), \
+                         FUNCTION(x.z, (ARG2_TYPE*)y+2)); \
+  } \
+\
+  DECLSPEC RET_TYPE##4 FUNCTION(ARG1_TYPE##4 x, ARG2_TYPE##4 *y) { \
+    return (RET_TYPE##4)(FUNCTION(x.lo, (ARG2_TYPE##2*)y), FUNCTION(x.hi, 
(ARG2_TYPE##2*)((ARG2_TYPE*)y+2))); \
+  } \
+\
+  DECLSPEC RET_TYPE##8 FUNCTION(ARG1_TYPE##8 x, ARG2_TYPE##8 *y) { \
+    return (RET_TYPE##8)(FUNCTION(x.lo, (ARG2_TYPE##4*)y), FUNCTION(x.hi, 
(ARG2_TYPE##4*)((ARG2_TYPE*)y+4))); \
+  } \
+\
+  DECLSPEC RET_TYPE##16 FUNCTION(ARG1_TYPE##16 x, ARG2_TYPE##16 *y) { \
+    return (RET_TYPE##16)(FUNCTION(x.lo, (ARG2_TYPE##8*)y), FUNCTION(x.hi, 
(ARG2_TYPE##8*)((ARG2_TYPE*)y+8))); \
+  }
+
 #define _CLC_DEFINE_BINARY_BUILTIN(RET_TYPE, FUNCTION, BUILTIN, ARG1_TYPE, 
ARG2_TYPE) \
 _CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG1_TYPE x, ARG2_TYPE y) { \
   return BUILTIN(x, y); \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/frexp.cl 
new/libclc-0.2.0+git.20160209/generic/lib/math/frexp.cl
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/frexp.cl      
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/math/frexp.cl     2016-07-03 
10:32:55.000000000 +0200
@@ -0,0 +1,10 @@
+#include <clc/clc.h>
+
+#include "math.h"
+
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
+#define __CLC_BODY <frexp.inc>
+#include <clc/math/gentype.inc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/frexp.inc 
new/libclc-0.2.0+git.20160209/generic/lib/math/frexp.inc
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/frexp.inc     
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/math/frexp.inc    2016-07-03 
10:32:55.000000000 +0200
@@ -0,0 +1,110 @@
+/*
+ * Copyright (c) 2014 Advanced Micro Devices, Inc.
+ * Copyright (c) 2016 Aaron Watry
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+#if __CLC_FPSIZE == 32
+#ifdef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE frexp(float x, private int *ep) {
+    int i = as_int(x);
+    int ai = i & 0x7fffffff;
+    int d = ai > 0 & ai < 0x00800000;
+    // scale subnormal by 2^26 without multiplying
+    float s = as_float(ai | 0x0d800000) - 0x1.0p-100F;
+    ai = d ? as_int(s) : ai;
+    int e = (ai >> 23) - 126 - (d ? 26 : 0);
+    int t = ai == 0 | e == 129;
+    i = (i & 0x80000000) | 0x3f000000 | (ai & 0x007fffff);
+    *ep = t ? 0 : e;
+    return t ? x : as_float(i);
+}
+#define __CLC_FREXP_VEC(width) \
+_CLC_OVERLOAD _CLC_DEF float##width frexp(float##width x, private int##width 
*ep) { \
+    int##width i = as_int##width(x); \
+    int##width ai = i & 0x7fffffff; \
+    int##width d = ai > 0 & ai < 0x00800000; \
+    /* scale subnormal by 2^26 without multiplying */ \
+    float##width s = as_float##width(ai | 0x0d800000) - 0x1.0p-100F; \
+    ai = bitselect(ai, as_int##width(s), d); \
+    int##width e = (ai >> 23) - 126 - bitselect((int##width)0, (int##width)26, 
d); \
+    int##width t = ai == (int##width)0 | e == (int##width)129; \
+    i = (i & (int##width)0x80000000) | (int##width)0x3f000000 | (ai & 
0x007fffff); \
+    *ep = bitselect(e, (int##width)0, t); \
+    return bitselect(as_float##width(i), x, as_float##width(t)); \
+}
+__CLC_FREXP_VEC(2)
+__CLC_FREXP_VEC(3)
+__CLC_FREXP_VEC(4)
+__CLC_FREXP_VEC(8)
+__CLC_FREXP_VEC(16)
+#undef __CLC_FREXP_VEC
+#endif
+#endif
+
+#if __CLC_FPSIZE == 64
+#ifdef __CLC_SCALAR
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE frexp(__CLC_GENTYPE x, private __CLC_INTN 
*ep) {
+    long i = as_long(x);
+    long ai = i & 0x7fffffffffffffffL;
+    int d = ai > 0 & ai < 0x0010000000000000L;
+    // scale subnormal by 2^54 without multiplying
+    double s = as_double(ai | 0x0370000000000000L) - 0x1.0p-968;
+    ai = d ? as_long(s) : ai;
+    int e = (int)(ai >> 52) - 1022 - (d ? 54 : 0);
+    int t = ai == 0 | e == 1025;
+    i = (i & 0x8000000000000000L) | 0x3fe0000000000000L | (ai & 
0x000fffffffffffffL);
+    *ep = t ? 0 : e;
+    return t ? x : as_double(i);
+}
+#define __CLC_FREXP_VEC(width) \
+_CLC_OVERLOAD _CLC_DEF double##width frexp(double##width x, private int##width 
*ep) { \
+    long##width i = as_long##width(x); \
+    long##width ai = i & 0x7fffffffffffffffL; \
+    long##width d = ai > 0 & ai < 0x0010000000000000L; \
+    /* scale subnormal by 2^54 without multiplying */ \
+    double##width s = as_double##width(ai | 0x0370000000000000L) - 0x1.0p-968; 
\
+    ai = bitselect(ai, as_long##width(s), d); \
+    int##width e = convert_int##width(ai >> 52) - 1022 - 
bitselect((int##width)0, (int##width)54, convert_int##width(d)); \
+    int##width t = convert_int##width(ai == (long##width)0) | (e == 
(int##width)129); \
+    i = (i & (long##width)0x8000000000000000L) | 
(long##width)0x3fe0000000000000L | (ai & 0x000fffffffffffffL); \
+    *ep = bitselect(e, (int##width)0, t); \
+    return bitselect(as_double##width(i), x, 
as_double##width(convert_long##width(t))); \
+}
+__CLC_FREXP_VEC(2)
+__CLC_FREXP_VEC(3)
+__CLC_FREXP_VEC(4)
+__CLC_FREXP_VEC(8)
+__CLC_FREXP_VEC(16)
+#undef __CLC_FREXP_VEC
+#endif
+#endif
+
+#define __CLC_FREXP_DEF(addrspace) \
+  _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE frexp(__CLC_GENTYPE x, addrspace 
__CLC_INTN *iptr) { \
+    __CLC_INTN private_iptr; \
+    __CLC_GENTYPE ret = frexp(x, &private_iptr); \
+    *iptr = private_iptr; \
+    return ret; \
+}
+
+__CLC_FREXP_DEF(local);
+__CLC_FREXP_DEF(global);
+
+#undef __CLC_FREXP_DEF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/log2.cl 
new/libclc-0.2.0+git.20160209/generic/lib/math/log2.cl
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/log2.cl       
2015-12-01 06:52:51.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/math/log2.cl      2016-07-03 
10:32:55.000000000 +0200
@@ -34,4 +34,6 @@
 
 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, float, log2, float);
 
+#ifdef cl_khr_fp64
 _CLC_UNARY_VECTORIZE(_CLC_OVERLOAD _CLC_DEF, double, log2, double);
+#endif // cl_khr_fp64
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/modf.cl 
new/libclc-0.2.0+git.20160209/generic/lib/math/modf.cl
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/modf.cl       
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/math/modf.cl      2016-07-03 
10:32:55.000000000 +0200
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2015 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include <clc/clc.h>
+
+#include "math.h"
+
+#ifdef cl_khr_fp64
+#pragma OPENCL EXTENSION cl_khr_fp64 : enable
+#endif
+
+#define __CLC_BODY <modf.inc>
+#include <clc/math/gentype.inc>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/modf.inc 
new/libclc-0.2.0+git.20160209/generic/lib/math/modf.inc
--- old/libclc-0.2.0+git20151006.6d78407/generic/lib/math/modf.inc      
1970-01-01 01:00:00.000000000 +0100
+++ new/libclc-0.2.0+git.20160209/generic/lib/math/modf.inc     2016-07-03 
10:32:55.000000000 +0200
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015 Advanced Micro Devices, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE modf(__CLC_GENTYPE x, __CLC_GENTYPE 
*iptr) {
+  *iptr = trunc(x);
+  return copysign(isinf(x) ? 0.0f : x - *iptr, x);
+}
+
+#define MODF_DEF(addrspace) \
+  _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE modf(__CLC_GENTYPE x, addrspace 
__CLC_GENTYPE *iptr) { \
+    __CLC_GENTYPE private_iptr; \
+    __CLC_GENTYPE ret = modf(x, &private_iptr); \
+    *iptr = private_iptr; \
+    return ret; \
+}
+
+MODF_DEF(local);
+MODF_DEF(global);


Reply via email to