mirror of
https://github.com/intel/llvm.git
synced 2026-01-28 19:43:38 +08:00
testcase for vector element access stuff.
llvm-svn: 40783
This commit is contained in:
24
clang/test/CodeGen/ocu-vector.c
Normal file
24
clang/test/CodeGen/ocu-vector.c
Normal file
@@ -0,0 +1,24 @@
|
||||
// RUN: clang -emit-llvm %s
|
||||
|
||||
typedef __attribute__(( ocu_vector_type(4) )) float float4;
|
||||
//typedef __attribute__(( ocu_vector_type(3) )) float float3;
|
||||
typedef __attribute__(( ocu_vector_type(2) )) float float2;
|
||||
|
||||
|
||||
float4 test1(float4 V) {
|
||||
return V.wzyx+V;
|
||||
}
|
||||
|
||||
float2 vec2, vec2_2;
|
||||
float4 vec4, vec4_2;
|
||||
float f;
|
||||
|
||||
static void test2() {
|
||||
vec2 = vec4.rg; // shorten
|
||||
f = vec2.x; // extract elt
|
||||
vec4 = vec4.yyyy; // splat
|
||||
|
||||
vec2.x = f; // insert one.
|
||||
vec2.yx = vec2; // reverse
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user