diff options
| author | Tom Stellard <thomas.stellard@amd.com> | 2014-03-21 16:21:58 +0000 |
|---|---|---|
| committer | Tom Stellard <thomas.stellard@amd.com> | 2014-03-21 16:21:58 +0000 |
| commit | 074e7a8ed082572f3e401693e1a3cb299b69bb1c (patch) | |
| tree | 96f354338b44e6df102bb592e996d645c30f28d1 /libclc/generic/lib/geometric | |
| parent | 1583409e33c826d8b7d3706c3076e82cdef869f2 (diff) | |
| download | bcm5719-llvm-074e7a8ed082572f3e401693e1a3cb299b69bb1c.tar.gz bcm5719-llvm-074e7a8ed082572f3e401693e1a3cb299b69bb1c.zip | |
Add cross for double3 and double4
Patch by: Jeroen Ketema
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 204477
Diffstat (limited to 'libclc/generic/lib/geometric')
| -rw-r--r-- | libclc/generic/lib/geometric/cross.cl | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/libclc/generic/lib/geometric/cross.cl b/libclc/generic/lib/geometric/cross.cl index 4c1bc6f0346..3b4ca6cafae 100644 --- a/libclc/generic/lib/geometric/cross.cl +++ b/libclc/generic/lib/geometric/cross.cl @@ -9,3 +9,17 @@ _CLC_OVERLOAD _CLC_DEF float4 cross(float4 p0, float4 p1) { return (float4)(p0.y*p1.z - p0.z*p1.y, p0.z*p1.x - p0.x*p1.z, p0.x*p1.y - p0.y*p1.x, 0.f); } + +#ifdef cl_khr_fp64 +#pragma OPENCL EXTENSION cl_khr_fp64 : enable + +_CLC_OVERLOAD _CLC_DEF double3 cross(double3 p0, double3 p1) { + return (double3)(p0.y*p1.z - p0.z*p1.y, p0.z*p1.x - p0.x*p1.z, + p0.x*p1.y - p0.y*p1.x); +} + +_CLC_OVERLOAD _CLC_DEF double4 cross(double4 p0, double4 p1) { + return (double4)(p0.y*p1.z - p0.z*p1.y, p0.z*p1.x - p0.x*p1.z, + p0.x*p1.y - p0.y*p1.x, 0.f); +} +#endif |

