From 6fbd382a761029a0d9549dd0e68485afd294f732 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Sat, 10 Feb 2018 17:55:23 +0000 Subject: [PATCH] Add vector add/sub/mul/div by scalar tests (PR27085) Ensure the scalar is correctly splatted to all lanes git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@324818 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/vector-scalar.c | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/CodeGen/vector-scalar.c diff --git a/test/CodeGen/vector-scalar.c b/test/CodeGen/vector-scalar.c new file mode 100644 index 0000000000..0c973cd41e --- /dev/null +++ b/test/CodeGen/vector-scalar.c @@ -0,0 +1,42 @@ +// RUN: %clang_cc1 -emit-llvm %s -o - | FileCheck %s + +// PR27085 + +typedef unsigned char uchar4 __attribute__ ((vector_size (4))); + +// CHECK: @add2 +// CHECK: add <4 x i8> {{.*}}, +uchar4 add2(uchar4 v) +{ + return v + 2; +} + +// CHECK: @sub2 +// CHECK: sub <4 x i8> {{.*}}, +uchar4 sub2(uchar4 v) +{ + return v - 2; +} + +// CHECK: @mul2 +// CHECK: mul <4 x i8> {{.*}}, +uchar4 mul2(uchar4 v) +{ + return v * 2; +} + +// CHECK: @div2 +// CHECK: udiv <4 x i8> {{.*}}, +uchar4 div2(uchar4 v) +{ + return v / 2; +} + +typedef __attribute__(( ext_vector_type(4) )) unsigned char uchar4_ext; + +// CHECK: @div3_ext +// CHECK: udiv <4 x i8> %{{.*}}, +uchar4_ext div3_ext(uchar4_ext v) +{ + return v / 3; +} -- 2.40.0