Change compiler_function_argument3 to cover llvm.memcpy.
authorYang Rong <rong.r.yang@intel.com>
Wed, 15 Jan 2014 08:31:06 +0000 (16:31 +0800)
committerZhigang Gong <zhigang.gong@intel.com>
Thu, 16 Jan 2014 06:45:17 +0000 (14:45 +0800)
We found clang wound emit llvm.memcpy when assign a stuct to another,
if sizeof(struct) > 64. Add a assignment to produce llvm.memcpy.

Signed-off-by: Yang Rong <rong.r.yang@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
kernels/compiler_function_argument3.cl

index 4df2816..9395cd7 100644 (file)
@@ -66,4 +66,6 @@ struct sfloat8 f, __global struct sfloat8 *result)
   result[5].f = 12.0f;
   result[5].g = 12.0f;
   result[5].h = f.a + f.h;
+
+  result[6] = result[0];
 }