summaryrefslogtreecommitdiff
path: root/utests/compiler_double.cpp
diff options
context:
space:
mode:
authorHomer Hsing <homer.xing@intel.com>2013-06-21 12:26:31 +0800
committerZhigang Gong <zhigang.gong@linux.intel.com>2013-06-21 14:27:57 +0800
commit675086fabb6f32e38c5912931c8566ed8819eb79 (patch)
tree214c52f73ef9efe064c80765a2d889b56ba42b9a /utests/compiler_double.cpp
parent104839f4c631dad188791c6584c9a114bc551a7b (diff)
downloadbeignet-675086fabb6f32e38c5912931c8566ed8819eb79.tar.gz
Support 64-bit float
support: arithmetic(+ - *) store load immediate_value if else select other change: add "nib control" field in machine instruction format support "nib control" fix "directly store float-64 after load float-64". change hard coded store size (4) to flexible size (4 or 8) when using float-64 load(store), change to SIMD8 example: /* support arithmetic store load immediate_value */ kernel void f(global double *src, global double *dst) { int i = get_global_id(0); double d = 1.234567890123456789; dst[i] = d * (src[i] + d); } /* support if else */ kernel void f(global float *src, global double *dst) { int i = get_global_id(0); float d = 1.234567890123456789f; if (i < 14) dst[i] = d * (d + src[i]); else dst[i] = 14; } /* support select */ kernel void f(global float *src, global double *dst) { int i = get_global_id(0); float d = 1.234567890123456789f; dst[i] = i < 14 ? d : 14; } Signed-off-by: Homer Hsing <homer.xing@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com> Tested-by: Yang Rong <rong.r.yang@intel.com>
Diffstat (limited to 'utests/compiler_double.cpp')
0 files changed, 0 insertions, 0 deletions