r190505 - [mips][msa] Corrected the definition of the dotp_[su].[hwd] intrinsics
Daniel Sanders
daniel.sanders at imgtec.com
Wed Sep 11 02:59:17 PDT 2013
Author: dsanders
Date: Wed Sep 11 04:59:17 2013
New Revision: 190505
URL: http://llvm.org/viewvc/llvm-project?rev=190505&view=rev
Log:
[mips][msa] Corrected the definition of the dotp_[su].[hwd] intrinsics
The elements of the operands should be half the width of the elements of
the result.
Modified:
cfe/trunk/include/clang/Basic/BuiltinsMips.def
cfe/trunk/test/CodeGen/builtins-mips-msa.c
Modified: cfe/trunk/include/clang/Basic/BuiltinsMips.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/BuiltinsMips.def?rev=190505&r1=190504&r2=190505&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/BuiltinsMips.def (original)
+++ cfe/trunk/include/clang/Basic/BuiltinsMips.def Wed Sep 11 04:59:17 2013
@@ -371,13 +371,13 @@ BUILTIN(__builtin_msa_div_u_h, "V8UsV8Us
BUILTIN(__builtin_msa_div_u_w, "V4UiV4UiV4Ui", "nc")
BUILTIN(__builtin_msa_div_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
-BUILTIN(__builtin_msa_dotp_s_h, "V8SsV8SsV8Ss", "nc")
-BUILTIN(__builtin_msa_dotp_s_w, "V4SiV4SiV4Si", "nc")
-BUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV2SLLiV2SLLi", "nc")
+BUILTIN(__builtin_msa_dotp_s_h, "V8SsV16ScV16Sc", "nc")
+BUILTIN(__builtin_msa_dotp_s_w, "V4SiV8SsV8Ss", "nc")
+BUILTIN(__builtin_msa_dotp_s_d, "V2SLLiV4SiV4Si", "nc")
-BUILTIN(__builtin_msa_dotp_u_h, "V8UsV8UsV8Us", "nc")
-BUILTIN(__builtin_msa_dotp_u_w, "V4UiV4UiV4Ui", "nc")
-BUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV2ULLiV2ULLi", "nc")
+BUILTIN(__builtin_msa_dotp_u_h, "V8UsV16UcV16Uc", "nc")
+BUILTIN(__builtin_msa_dotp_u_w, "V4UiV8UsV8Us", "nc")
+BUILTIN(__builtin_msa_dotp_u_d, "V2ULLiV4UiV4Ui", "nc")
BUILTIN(__builtin_msa_dpadd_s_h, "V8SsV8SsV16ScV16Sc", "nc")
BUILTIN(__builtin_msa_dpadd_s_w, "V4SiV4SiV8SsV8Ss", "nc")
Modified: cfe/trunk/test/CodeGen/builtins-mips-msa.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/builtins-mips-msa.c?rev=190505&r1=190504&r2=190505&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/builtins-mips-msa.c (original)
+++ cfe/trunk/test/CodeGen/builtins-mips-msa.c Wed Sep 11 04:59:17 2013
@@ -256,13 +256,13 @@ void test(void) {
v4u32_r = __builtin_msa_div_u_w(v4u32_a, v4u32_b); // CHECK: call <4 x i32> @llvm.mips.div.u.w(
v2u64_r = __builtin_msa_div_u_d(v2u64_a, v2u64_b); // CHECK: call <2 x i64> @llvm.mips.div.u.d(
- v8i16_r = __builtin_msa_dotp_s_h(v8i16_a, v8i16_b); // CHECK: call <8 x i16> @llvm.mips.dotp.s.h(
- v4i32_r = __builtin_msa_dotp_s_w(v4i32_a, v4i32_b); // CHECK: call <4 x i32> @llvm.mips.dotp.s.w(
- v2i64_r = __builtin_msa_dotp_s_d(v2i64_a, v2i64_b); // CHECK: call <2 x i64> @llvm.mips.dotp.s.d(
+ v8i16_r = __builtin_msa_dotp_s_h(v16i8_a, v16i8_b); // CHECK: call <8 x i16> @llvm.mips.dotp.s.h(
+ v4i32_r = __builtin_msa_dotp_s_w(v8i16_a, v8i16_b); // CHECK: call <4 x i32> @llvm.mips.dotp.s.w(
+ v2i64_r = __builtin_msa_dotp_s_d(v4i32_a, v4i32_b); // CHECK: call <2 x i64> @llvm.mips.dotp.s.d(
- v8u16_r = __builtin_msa_dotp_u_h(v8u16_a, v8u16_b); // CHECK: call <8 x i16> @llvm.mips.dotp.u.h(
- v4u32_r = __builtin_msa_dotp_u_w(v4u32_a, v4u32_b); // CHECK: call <4 x i32> @llvm.mips.dotp.u.w(
- v2u64_r = __builtin_msa_dotp_u_d(v2u64_a, v2u64_b); // CHECK: call <2 x i64> @llvm.mips.dotp.u.d(
+ v8u16_r = __builtin_msa_dotp_u_h(v16u8_a, v16u8_b); // CHECK: call <8 x i16> @llvm.mips.dotp.u.h(
+ v4u32_r = __builtin_msa_dotp_u_w(v8u16_a, v8u16_b); // CHECK: call <4 x i32> @llvm.mips.dotp.u.w(
+ v2u64_r = __builtin_msa_dotp_u_d(v4u32_a, v4u32_b); // CHECK: call <2 x i64> @llvm.mips.dotp.u.d(
v8i16_r = __builtin_msa_dpadd_s_h(v8i16_r, v16i8_a, v16i8_b); // CHECK: call <8 x i16> @llvm.mips.dpadd.s.h(
v4i32_r = __builtin_msa_dpadd_s_w(v4i32_r, v8i16_a, v8i16_b); // CHECK: call <4 x i32> @llvm.mips.dpadd.s.w(
More information about the cfe-commits
mailing list