summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/builtins-mips-ovld.c
diff options
context:
space:
mode:
authorSimon Atanasyan <satanasyan@mips.com>2012-07-16 18:52:02 +0000
committerSimon Atanasyan <satanasyan@mips.com>2012-07-16 18:52:02 +0000
commita06d06b6605933ab727f0c7ece8d9fcc073d7503 (patch)
tree63877fbe1d9352757c9460a971e7e6ce7f62ccf8 /clang/test/CodeGen/builtins-mips-ovld.c
parentef2128c12cd29dea1d1faa4a6267eb09c9ee4f62 (diff)
downloadbcm5719-llvm-a06d06b6605933ab727f0c7ece8d9fcc073d7503.tar.gz
bcm5719-llvm-a06d06b6605933ab727f0c7ece8d9fcc073d7503.zip
MIPS: Implement __builtin_mips_shll_qb builtin function overloading.
This function has two versions. The first one is used for a register operand. The second one is used for an immediate number. llvm-svn: 160308
Diffstat (limited to 'clang/test/CodeGen/builtins-mips-ovld.c')
-rw-r--r--clang/test/CodeGen/builtins-mips-ovld.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/clang/test/CodeGen/builtins-mips-ovld.c b/clang/test/CodeGen/builtins-mips-ovld.c
new file mode 100644
index 00000000000..b3460abd904
--- /dev/null
+++ b/clang/test/CodeGen/builtins-mips-ovld.c
@@ -0,0 +1,13 @@
+// REQUIRES: mips-registered-target
+// RUN: %clang_cc1 -triple mips-unknown-linux-gnu -emit-llvm -o - %s | FileCheck %s
+
+typedef signed char v4i8 __attribute__ ((vector_size(4)));
+
+void foo() {
+ v4i8 a = {1, 2, 3, 4};
+ int shift = 1;
+// CHECK: {{%.*}} = call <4 x i8> @llvm.mips.shll.qb(<4 x i8> {{%.*}}, i32 1)
+ v4i8 r1 = __builtin_mips_shll_qb(a, 1);
+// CHECK: {{%.*}} = call <4 x i8> @llvm.mips.shll.qb.v(<4 x i8> {{%.*}}, i32 {{%.*}})
+ v4i8 r2 = __builtin_mips_shll_qb(a, shift);
+}
OpenPOWER on IntegriCloud