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