diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2012-04-14 14:01:31 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2012-04-14 14:01:31 +0000 |
| commit | dbe13110f59f48b4dbb7552b3ac2935acdeece7f (patch) | |
| tree | be1815eb79b42ff482a8562b13c2dcbf0c5dcbee /test/CodeGenOpenCL/vector_literals_nested.cl | |
| parent | 9da628931ebf2609493570f87824ca22402cc65f (diff) | |
Notes
Diffstat (limited to 'test/CodeGenOpenCL/vector_literals_nested.cl')
| -rw-r--r-- | test/CodeGenOpenCL/vector_literals_nested.cl | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGenOpenCL/vector_literals_nested.cl b/test/CodeGenOpenCL/vector_literals_nested.cl new file mode 100644 index 000000000000..b9013d0482f9 --- /dev/null +++ b/test/CodeGenOpenCL/vector_literals_nested.cl @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 %s -emit-llvm -O3 -o - | FileCheck %s + +typedef int int2 __attribute((ext_vector_type(2))); +typedef int int4 __attribute((ext_vector_type(4))); + +__constant const int4 itest1 = (int4)(1, 2, ((int2)(3, 4))); +// CHECK: constant <4 x i32> <i32 1, i32 2, i32 3, i32 4> +__constant const int4 itest2 = (int4)(1, 2, ((int2)(3))); +// CHECK: constant <4 x i32> <i32 1, i32 2, i32 3, i32 3> + +typedef float float2 __attribute((ext_vector_type(2))); +typedef float float4 __attribute((ext_vector_type(4))); + +void ftest1(float4 *p) { + *p = (float4)(1.1f, 1.2f, ((float2)(1.3f, 1.4f))); +// CHECK: store <4 x float> <float 0x3FF19999A0000000, float 0x3FF3333340000000, float 0x3FF4CCCCC0000000, float 0x3FF6666660000000> +} + +float4 ftest2(float4 *p) { + *p = (float4)(1.1f, 1.2f, ((float2)(1.3f))); +// CHECK: store <4 x float> <float 0x3FF19999A0000000, float 0x3FF3333340000000, float 0x3FF4CCCCC0000000, float 0x3FF4CCCCC0000000> +} + |
