From e471d87a278cf2fba653b2f6d2c8d9c33f5721b7 Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Sun, 8 Jul 2012 09:10:14 +0000 Subject: [PATCH] MIPS: Mark arguments of __builtin_mips_wrdsp / __builtin_mips_rddsp as a constant expression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159910 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Basic/BuiltinsMips.def | 4 ++-- test/CodeGen/builtins-mips-args.c | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 test/CodeGen/builtins-mips-args.c diff --git a/include/clang/Basic/BuiltinsMips.def b/include/clang/Basic/BuiltinsMips.def index 0ddcd6fdf0..d647e348dc 100644 --- a/include/clang/Basic/BuiltinsMips.def +++ b/include/clang/Basic/BuiltinsMips.def @@ -107,8 +107,8 @@ BUILTIN(__builtin_mips_extr_r_w, "iLLii", "nc") BUILTIN(__builtin_mips_extp, "iLLii", "nc") BUILTIN(__builtin_mips_extpdp, "iLLii", "nc") -BUILTIN(__builtin_mips_wrdsp, "vii", "nc") -BUILTIN(__builtin_mips_rddsp, "ii", "nc") +BUILTIN(__builtin_mips_wrdsp, "viIi", "nc") +BUILTIN(__builtin_mips_rddsp, "iIi", "nc") BUILTIN(__builtin_mips_insv, "iii", "nc") BUILTIN(__builtin_mips_bitrev, "ii", "nc") BUILTIN(__builtin_mips_packrl_ph, "V2sV2sV2s", "nc") diff --git a/test/CodeGen/builtins-mips-args.c b/test/CodeGen/builtins-mips-args.c new file mode 100644 index 0000000000..7dc73776a7 --- /dev/null +++ b/test/CodeGen/builtins-mips-args.c @@ -0,0 +1,9 @@ +// RUN: %clang_cc1 -triple mips-unknown-linux-gnu -fsyntax-only -verify %s + +void foo() { + // MIPS DSP Rev 1 + + int a = 3; + __builtin_mips_wrdsp(2052, a); // expected-error{{argument to '__builtin_mips_wrdsp' must be a constant integer}} + __builtin_mips_rddsp(a); // expected-error{{argument to '__builtin_mips_rddsp' must be a constant integer}} +} -- 2.50.1