diff options
| author | Simon Atanasyan <satanasyan@mips.com> | 2012-07-16 18:52:02 +0000 |
|---|---|---|
| committer | Simon Atanasyan <satanasyan@mips.com> | 2012-07-16 18:52:02 +0000 |
| commit | a06d06b6605933ab727f0c7ece8d9fcc073d7503 (patch) | |
| tree | 63877fbe1d9352757c9460a971e7e6ce7f62ccf8 /clang/test/CodeGen/builtins-mips-ovld.c | |
| parent | ef2128c12cd29dea1d1faa4a6267eb09c9ee4f62 (diff) | |
| download | bcm5719-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.c | 13 |
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); +} |

