Lines Matching +full:depth +full:- +full:wise

1 //===--- opencl-c.h - OpenCL C language builtin function header -----------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
12 #include "opencl-c-base.h"
43 // OpenCL v1.1/1.2/2.0 s6.2.3 - Explicit conversions
5464 // Convert half types to non-double types.
5976 // Convert non-double types to half types.
6346 // OpenCL v1.1 s6.11.1, v1.2 s6.12.1, v2.0 s6.13.1 - Work-item Functions
6357 * Returns the number of global work-items specified for
6361 * are 0 to get_work_dim() - 1. For other values of
6368 * Returns the unique global work-item ID value for
6369 * dimension identified by dimindx. The global work-item
6370 * ID specifies the work-item ID based on the number of
6371 * global work-items specified to execute the kernel. Valid
6372 * values of dimindx are 0 to get_work_dim() - 1. For
6379 * Returns the number of local work-items specified in
6386 * get_work_dim() - 1. For other values of dimindx,
6393 * Returns the unique local work-item ID i.e. a work-item
6394 * within a specific work-group for dimension identified by
6396 * get_work_dim() - 1. For other values of dimindx,
6403 * Returns the number of work-groups that will execute a
6405 * Valid values of dimindx are 0 to get_work_dim() - 1.
6412 * get_group_id returns the work-group ID which is a
6413 * number from 0 .. get_num_groups(dimindx) - 1.
6414 * Valid values of dimindx are 0 to get_work_dim() - 1.
6424 * Valid values of dimindx are 0 to get_work_dim() - 1.
6436 // OpenCL v1.1 s6.11.2, v1.2 s6.12.2, v2.0 s6.13.2 - Math functions
6725 * Compute cube-root.
7013 * Compute e^x- 1.0.
7039 * Compute absolute value of a floating-point number.
7065 * x - y if x > y, +0 if x is less than or equal to y.
7091 * Round to integral value using the round to -ve
7118 * Returns the correctly rounded floating-point
7122 * behavior is per the IEEE 754-2008 standard.
7236 * Modulus. Returns x - y * trunc (x/y).
7262 * Returns fmin(x - floor (x), 0x1.fffffep-1f ).
7868 * Decompose a floating-point number. The modf
7988 * Computes the next representable single-precision
7989 * floating-point value following x in the direction of
7991 * largest representable floating-point number less
8096 * Compute the value r such that r = x - n*y, where n
8126 * that r = x - n*y, where n is the integer nearest the
8223 * even rounding mode) in floating-point format.
8657 * Compute cosine. x must be in the range -2^16 ... +2^16.
8677 * Compute the base- e exponential of x.
8687 * Compute the base- 2 exponential of x.
8697 * Compute the base- 10 exponential of x.
8767 * Compute sine. x must be in the range -2^16 ... +2^16.
8787 * Compute tangent. x must be in the range -216 ... +216.
8797 * Compute cosine over an implementation-defined range.
8798 * The maximum error is implementation-defined.
8808 * Compute x / y over an implementation-defined range.
8809 * The maximum error is implementation-defined.
8819 * Compute the base- e exponential of x over an
8820 * implementation-defined range. The maximum error is
8821 * implementation-defined.
8831 * Compute the base- 2 exponential of x over an
8832 * implementation-defined range. The maximum error is
8833 * implementation-defined.
8843 * Compute the base- 10 exponential of x over an
8844 * implementation-defined range. The maximum error is
8845 * implementation-defined.
8890 * x and y are implementation-defined. The maximum error
8891 * is implementation-defined.
8901 * Compute reciprocal over an implementation-defined
8902 * range. The maximum error is implementation-defined.
8923 * Compute sine over an implementation-defined range.
8924 * The maximum error is implementation-defined.
8934 * Compute square root over an implementation-defined
8935 * range. The maximum error is implementation-defined.
8945 * Compute tangent over an implementation-defined range.
8946 * The maximum error is implementation-defined.
8955 // OpenCL v1.1 s6.11.3, v1.2 s6.12.3, v2.0 s6.13.3 - Integer Functions
9010 * Returns | x - y | without modulo overflow.
9313 * Returns the number of leading 0-bits in x, starting
9366 * Returns the count of trailing 0-bits in x. If x is 0,
9820 * Returns x - y and saturates the result.
9976 * Multiply two 24-bit integer values x and y and add
9977 * the 32-bit integer result to the 32-bit integer z.
9978 * Refer to definition of mul24 to see how the 24-bit
9995 * Multiply two 24-bit integer values x and y. x and y
9996 * are 32-bit integers but only the low 24-bits are used
9998 * be used when values in x and y are in the range [-
9999 * 2^23, 2^23-1] if x and y are signed integers and in the
10000 * range [0, 2^24-1] if x and y are unsigned integers. If
10002 * result is implementation-defined.
10017 // OpenCL v1.1 s6.11.4, v1.2 s6.12.4, v2.0 s6.13.4 - Common Functions
10174 * x + (y - x) * a
10293 * t = clamp ((x - edge0) / (edge1 - edge0), 0, 1);
10294 * return t * t * (3 - 2 * t);
10337 * Returns 1.0 if x > 0, -0.0 if x = -0.0, +0.0 if x =
10338 * +0.0, or -1.0 if x < 0. Returns 0.0 if x is a NaN.
10363 // OpenCL v1.1 s6.11.5, v1.2 s6.12.5, v2.0 s6.13.5 - Geometric Functions
10402 * calculated as length(p0 - p1).
10464 * Returns fast_length(p0 - p1).
10492 * then the value of the floating-point values in the
10506 // OpenCL v1.1 s6.11.6, v1.2 s6.12.6, v2.0 s6.13.6 - Relational Functions
10510 * Returns the component-wise compare of x == y.
10536 * Returns the component-wise compare of x != y.
10562 * Returns the component-wise compare of x > y.
10588 * Returns the component-wise compare of x >= y.
10614 * Returns the component-wise compare of x < y.
10640 * Returns the component-wise compare of x <= y.
10666 * Returns the component-wise compare of
10719 * Test for infinity value (+ve or -ve) .
10826 * takes arguments x and y, returning non-zero if x or y
10856 * following for each component in floatn: a -1 if the
11168 // OpenCL v1.1 s6.11.7, v1.2 s6.12.7, v2.0 s6.13.7 - Vector Data Load and Store Functions
11169 // OpenCL extensions v1.1 s9.6.6, v1.2 s9.5.6, v2.0 s9.4.6 - Vector Data Load and Store Functions f…
11171 * Use generic type gentype to indicate the built-in data types
11180 * 8-bit aligned if gentype is char, uchar;
11181 * 16-bit aligned if gentype is short, ushort, half;
11182 * 32-bit aligned if gentype is int, uint, float;
11183 * 64-bit aligned if gentype is long, ulong, double.
11725 * must be 16-bit aligned.
11744 * as (p + (offset * n)) must be 16-bit aligned.
11782 * address computed as (p + offset) must be 16-
11844 * 16-bit aligned.
12367 // OpenCL v1.1 s6.11.8, v1.2 s6.12.8, v2.0 s6.13.8 - Synchronization Functions
12370 * All work-items in a work-group executing the kernel
12373 * This function must be encountered by all work-items in
12374 * a work-group executing the kernel.
12376 * work-items must enter the conditional if any work-item
12379 * If barrer is inside a loop, all work-items must execute
12388 * CLK_LOCAL_MEM_FENCE - The barrier function
12392 * CLK_GLOBAL_MEM_FENCE - The barrier function
12395 * useful when work-items, for example, write to buffer or
12406 // OpenCL v1.1 s6.11.9, v1.2 s6.12.9 - Explicit Memory Fence Functions
12409 * Orders loads and stores of a work-item
12447 // OpenCL v2.0 s6.13.9 - Address Space Qualifier Functions
12462 // OpenCL v1.1 s6.11.10, v1.2 s6.12.10, v2.0 s6.13.10 - Async Copies from Global to Local Memory, L…
12472 * copy is performed by all work-items in a workgroup
12473 * and this built-in function must therefore
12474 * be encountered by all work-items in a workgroup
12485 * If event argument is non-zero, the event object
12635 * performed by all work-items in a work-group.
12636 * This built-in function must therefore be
12637 * encountered by all work-items in a work-group
12648 * If event argument is non-zero, the event object
12798 * in a work-group executing the kernel with
12807 * instruction is applied to a work-item in a workgroup
12882 // OpenCL v1.1 s6.11.1, v1.2 s6.12.11 - Atomic Functions
12889 * Read the 32-bit value (referred to as old)
12920 * Read the 32-bit value (referred to as old) stored at location pointed by p.
12921 * Compute (old - val) and store result at location pointed by p. The function
12983 * Read the 32-bit value (referred to as old)
13014 * Read the 32-bit value (referred to as old)
13016 * (old - 1) and store result at location
13045 * Read the 32-bit value (referred to as old)
13077 * Read the 32-bit value (referred to as old)
13109 * Read the 32-bit value (referred to as old)
13141 * Read the 32-bit value (referred to as old)
13172 * Read the 32-bit value (referred to as old)
13203 * Read the 32-bit value (referred to as old)
13238 // OpenCL v2.0 s6.13.11 - Atomics Functions
14587 // OpenCL v1.1 s6.11.12, v1.2 s6.12.12, v2.0 s6.13.12 - Miscellaneous Vector Functions
14590 * The shuffle and shuffle2 built-in functions construct
14597 * the ilogb(2m-1) least significant bits of each mask
14599 * ilogb(2m-1)+1 least significant bits of each mask
14629 * b = shuffle(a, mask); <- not valid
15079 // OpenCL v1.1 s6.11.3, v1.2 s6.12.14, v2.0 s6.13.14 - Image Read and Write Functions
15107 * element lookup in the 2D multi-sample image specified
15111 * lookup in the 2D multi-sample image layer
15112 * identified by index coord.z in the 2D multi-sample
15115 * For mipmap images, use the mip-level specified by
15116 * the Level-of-Detail (lod) or use gradients for LOD
15119 * read_imagef returns floating-point values in the
15125 * read_imagef returns floating-point values in the
15126 * range [-1.0 ... 1.0] for image objects created with
15130 * read_imagef returns floating-point values for image
15137 * 32-bit integer.
15244 // OpenCL Extension v2.0 s9.18 - Mipmaps
15310 * Sampler-less Image Access
15358 * Sampler-less Image Access
15487 * and must be in the range 0 ... image width - 1, and 0
15488 * ... image height - 1.
15495 * - 1.
15500 * and must be in the range 0 ... image width - 1.
15506 * and must be in the range 0 ... image width - 1.
15511 * and must be in the range 0 ... image width - 1, and 0
15512 * ... image height - 1.
15514 * For mipmap images, use mip-level specified by lod.
15521 * the pre-defined packed formats or set to
15526 * data from a floating-point value to actual data format
15547 * values that are not in the range (0 ... image width -1,
15548 * 0 ... image height - 1), respectively, is undefined.
15581 // OpenCL Extension v2.0 s9.18 - Mipmaps
15815 * Return the image depth in pixels.
15827 // OpenCL Extension v2.0 s9.18 - Mipmaps
16075 * Return the 3D image width, height, and depth as an
16077 * component, height in the y component, depth in the z
16146 // OpenCL v2.0 s6.13.15 - Work-group Functions
16248 // OpenCL v2.0 s6.13.16 - Pipe Functions
16254 // OpenCL v2.0 s6.13.17 - Enqueue Kernels
16288 // OpenCL Extension v2.0 s9.17 - Sub-groups
17333 // Intel-Specific Sub Group Functions
17654 // MCE built-in functions
17725 // IME built-in functions
17848 // REF built-in functions
17888 // SIC built-in functions