43 lines · c
1// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s2 3// PR270854 5typedef unsigned char uchar4 __attribute__ ((vector_size (4)));6 7// CHECK: @add28// CHECK: add <4 x i8> {{.*}}, splat (i8 2)9uchar4 add2(uchar4 v)10{11 return v + 2;12}13 14// CHECK: @sub215// CHECK: sub <4 x i8> {{.*}}, splat (i8 2)16uchar4 sub2(uchar4 v)17{18 return v - 2;19}20 21// CHECK: @mul222// CHECK: mul <4 x i8> {{.*}}, splat (i8 2)23uchar4 mul2(uchar4 v)24{25 return v * 2;26}27 28// CHECK: @div229// CHECK: udiv <4 x i8> {{.*}}, splat (i8 2)30uchar4 div2(uchar4 v)31{32 return v / 2;33}34 35typedef __attribute__(( ext_vector_type(4) )) unsigned char uchar4_ext;36 37// CHECK: @div3_ext38// CHECK: udiv <4 x i8> %{{.*}}, splat (i8 3)39uchar4_ext div3_ext(uchar4_ext v)40{41 return v / 3;42}43