xref: /llvm-project/clang/test/CodeGenOpenCL/vector_logops.cl (revision 3dd33b296a6b1d602ad7ffde9774e01077068ffe)
1*3dd33b29STanya Lattner// RUN: %clang_cc1 -O3 %s -emit-llvm -o - | FileCheck %s
2*3dd33b29STanya Lattner
3*3dd33b29STanya Lattnertypedef int int2 __attribute((ext_vector_type(2)));
4*3dd33b29STanya Lattner
5*3dd33b29STanya Lattnerint test1()
6*3dd33b29STanya Lattner{
7*3dd33b29STanya Lattner  int2 a = (int2)(1,0);
8*3dd33b29STanya Lattner  int2 b = (int2)(1,1);
9*3dd33b29STanya Lattner  return (a&&b).x + (a||b).y;
10*3dd33b29STanya Lattner  // CHECK: ret i32 -2
11*3dd33b29STanya Lattner}
12*3dd33b29STanya Lattner
13*3dd33b29STanya Lattnerint test2()
14*3dd33b29STanya Lattner{
15*3dd33b29STanya Lattner  int2 a = (int2)(1,0);
16*3dd33b29STanya Lattner  return (!a).y;
17*3dd33b29STanya Lattner  // CHECK: ret i32 -1
18*3dd33b29STanya Lattner}
19*3dd33b29STanya Lattner
20