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