aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9
diff options
context:
space:
mode:
authorSteve Ellcey <Steve.Ellcey@imgtec.com>2015-05-11 20:39:25 (GMT)
committerSteve Ellcey <Steve.Ellcey@imgtec.com>2015-05-11 20:39:25 (GMT)
commitf337190e2f75ceb93b7080d0bef9b8d7253b8014 (patch)
treebdab45505c742b624be7c27fd94ff82bc2320cc4 /gcc-4.9
parent0dd93631a0aa1b5c2f807270305225bc2786393b (diff)
downloadtoolchain_gcc-f337190e2f75ceb93b7080d0bef9b8d7253b8014.zip
toolchain_gcc-f337190e2f75ceb93b7080d0bef9b8d7253b8014.tar.gz
toolchain_gcc-f337190e2f75ceb93b7080d0bef9b8d7253b8014.tar.bz2
Remove prototypes for vector builtins for clang.
Fix builtin vector types for 64 bit mode. Change-Id: I0641798eb23646dcd3fc4d5ee623ad4d8dcbd142
Diffstat (limited to 'gcc-4.9')
-rw-r--r--gcc-4.9/gcc/config/mips/mips.c16
-rw-r--r--gcc-4.9/gcc/config/mips/msa.h535
2 files changed, 11 insertions, 540 deletions
diff --git a/gcc-4.9/gcc/config/mips/mips.c b/gcc-4.9/gcc/config/mips/mips.c
index 524c6d5..8597558 100644
--- a/gcc-4.9/gcc/config/mips/mips.c
+++ b/gcc-4.9/gcc/config/mips/mips.c
@@ -16448,17 +16448,23 @@ mips_build_cvpointer_type (void)
#define MIPS_ATYPE_V4QI mips_builtin_vector_type (intQI_type_node, V4QImode)
#define MIPS_ATYPE_V4HI mips_builtin_vector_type (intHI_type_node, V4HImode)
#define MIPS_ATYPE_V8QI mips_builtin_vector_type (intQI_type_node, V8QImode)
-#define MIPS_ATYPE_V2DI mips_builtin_vector_type (intDI_type_node, V2DImode)
+
+#define MIPS_ATYPE_V2DI \
+ mips_builtin_vector_type (long_long_integer_type_node, V2DImode)
#define MIPS_ATYPE_V4SI mips_builtin_vector_type (intSI_type_node, V4SImode)
#define MIPS_ATYPE_V8HI mips_builtin_vector_type (intHI_type_node, V8HImode)
#define MIPS_ATYPE_V16QI mips_builtin_vector_type (intQI_type_node, V16QImode)
#define MIPS_ATYPE_V2DF mips_builtin_vector_type (double_type_node, V2DFmode)
#define MIPS_ATYPE_V4SF mips_builtin_vector_type (float_type_node, V4SFmode)
-#define MIPS_ATYPE_UV2DI mips_builtin_vector_type (unsigned_intDI_type_node, V2DImode)
-#define MIPS_ATYPE_UV4SI mips_builtin_vector_type (unsigned_intSI_type_node, V4SImode)
-#define MIPS_ATYPE_UV8HI mips_builtin_vector_type (unsigned_intHI_type_node, V8HImode)
-#define MIPS_ATYPE_UV16QI mips_builtin_vector_type (unsigned_intQI_type_node, V16QImode)
+#define MIPS_ATYPE_UV2DI \
+ mips_builtin_vector_type (long_long_unsigned_type_node, V2DImode)
+#define MIPS_ATYPE_UV4SI \
+ mips_builtin_vector_type (unsigned_intSI_type_node, V4SImode)
+#define MIPS_ATYPE_UV8HI \
+ mips_builtin_vector_type (unsigned_intHI_type_node, V8HImode)
+#define MIPS_ATYPE_UV16QI \
+ mips_builtin_vector_type (unsigned_intQI_type_node, V16QImode)
#define MIPS_ATYPE_UV2SI \
mips_builtin_vector_type (unsigned_intSI_type_node, V2SImode)
diff --git a/gcc-4.9/gcc/config/mips/msa.h b/gcc-4.9/gcc/config/mips/msa.h
index fe2eaa1..f24c320 100644
--- a/gcc-4.9/gcc/config/mips/msa.h
+++ b/gcc-4.9/gcc/config/mips/msa.h
@@ -49,541 +49,6 @@ typedef float v4f32_w __attribute__((vector_size(16), aligned(4)));
typedef double v2f64 __attribute__ ((vector_size(16), aligned(16)));
typedef double v2f64_d __attribute__ ((vector_size(16), aligned(8)));
-#ifndef __clang__
-extern v16i8 __builtin_msa_sll_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_sll_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_sll_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_sll_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_slli_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_slli_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_slli_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_slli_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_sra_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_sra_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_sra_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_sra_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_srai_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_srai_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_srai_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_srai_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_srar_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_srar_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_srar_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_srar_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_srari_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_srari_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_srari_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_srari_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_srl_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_srl_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_srl_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_srl_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_srli_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_srli_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_srli_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_srli_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_srlr_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_srlr_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_srlr_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_srlr_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_srlri_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_srlri_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_srlri_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_srlri_d(v2i64, unsigned char);
-extern v16u8 __builtin_msa_bclr_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_bclr_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_bclr_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_bclr_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_bclri_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_bclri_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_bclri_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_bclri_d(v2u64, unsigned char);
-extern v16u8 __builtin_msa_bset_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_bset_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_bset_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_bset_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_bseti_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_bseti_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_bseti_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_bseti_d(v2u64, unsigned char);
-extern v16u8 __builtin_msa_bneg_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_bneg_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_bneg_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_bneg_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_bnegi_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_bnegi_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_bnegi_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_bnegi_d(v2u64, unsigned char);
-extern v16u8 __builtin_msa_binsl_b(v16u8, v16u8, v16u8);
-extern v8u16 __builtin_msa_binsl_h(v8u16, v8u16, v8u16);
-extern v4u32 __builtin_msa_binsl_w(v4u32, v4u32, v4u32);
-extern v2u64 __builtin_msa_binsl_d(v2u64, v2u64, v2u64);
-extern v16u8 __builtin_msa_binsli_b(v16u8, v16u8, unsigned char);
-extern v8u16 __builtin_msa_binsli_h(v8u16, v8u16, unsigned char);
-extern v4u32 __builtin_msa_binsli_w(v4u32, v4u32, unsigned char);
-extern v2u64 __builtin_msa_binsli_d(v2u64, v2u64, unsigned char);
-extern v16u8 __builtin_msa_binsr_b(v16u8, v16u8, v16u8);
-extern v8u16 __builtin_msa_binsr_h(v8u16, v8u16, v8u16);
-extern v4u32 __builtin_msa_binsr_w(v4u32, v4u32, v4u32);
-extern v2u64 __builtin_msa_binsr_d(v2u64, v2u64, v2u64);
-extern v16u8 __builtin_msa_binsri_b(v16u8, v16u8, unsigned char);
-extern v8u16 __builtin_msa_binsri_h(v8u16, v8u16, unsigned char);
-extern v4u32 __builtin_msa_binsri_w(v4u32, v4u32, unsigned char);
-extern v2u64 __builtin_msa_binsri_d(v2u64, v2u64, unsigned char);
-extern v16i8 __builtin_msa_addv_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_addv_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_addv_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_addv_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_addvi_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_addvi_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_addvi_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_addvi_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_subv_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_subv_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_subv_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_subv_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_subvi_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_subvi_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_subvi_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_subvi_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_max_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_max_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_max_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_max_s_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_maxi_s_b(v16i8, char);
-extern v8i16 __builtin_msa_maxi_s_h(v8i16, char);
-extern v4i32 __builtin_msa_maxi_s_w(v4i32, char);
-extern v2i64 __builtin_msa_maxi_s_d(v2i64, char);
-extern v16u8 __builtin_msa_max_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_max_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_max_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_max_u_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_maxi_u_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_maxi_u_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_maxi_u_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_maxi_u_d(v2u64, unsigned char);
-extern v16i8 __builtin_msa_min_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_min_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_min_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_min_s_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_mini_s_b(v16i8, char);
-extern v8i16 __builtin_msa_mini_s_h(v8i16, char);
-extern v4i32 __builtin_msa_mini_s_w(v4i32, char);
-extern v2i64 __builtin_msa_mini_s_d(v2i64, char);
-extern v16u8 __builtin_msa_min_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_min_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_min_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_min_u_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_mini_u_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_mini_u_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_mini_u_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_mini_u_d(v2u64, unsigned char);
-extern v16i8 __builtin_msa_max_a_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_max_a_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_max_a_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_max_a_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_min_a_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_min_a_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_min_a_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_min_a_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ceq_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ceq_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ceq_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ceq_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ceqi_b(v16i8, char);
-extern v8i16 __builtin_msa_ceqi_h(v8i16, char);
-extern v4i32 __builtin_msa_ceqi_w(v4i32, char);
-extern v2i64 __builtin_msa_ceqi_d(v2i64, char);
-extern v16i8 __builtin_msa_clt_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_clt_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_clt_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_clt_s_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_clti_s_b(v16i8, char);
-extern v8i16 __builtin_msa_clti_s_h(v8i16, char);
-extern v4i32 __builtin_msa_clti_s_w(v4i32, char);
-extern v2i64 __builtin_msa_clti_s_d(v2i64, char);
-extern v16i8 __builtin_msa_clt_u_b(v16u8, v16u8);
-extern v8i16 __builtin_msa_clt_u_h(v8u16, v8u16);
-extern v4i32 __builtin_msa_clt_u_w(v4u32, v4u32);
-extern v2i64 __builtin_msa_clt_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_clti_u_b(v16u8, unsigned char);
-extern v8i16 __builtin_msa_clti_u_h(v8u16, unsigned char);
-extern v4i32 __builtin_msa_clti_u_w(v4u32, unsigned char);
-extern v2i64 __builtin_msa_clti_u_d(v2u64, unsigned char);
-extern v16i8 __builtin_msa_cle_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_cle_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_cle_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_cle_s_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_clei_s_b(v16i8, char);
-extern v8i16 __builtin_msa_clei_s_h(v8i16, char);
-extern v4i32 __builtin_msa_clei_s_w(v4i32, char);
-extern v2i64 __builtin_msa_clei_s_d(v2i64, char);
-extern v16i8 __builtin_msa_cle_u_b(v16u8, v16u8);
-extern v8i16 __builtin_msa_cle_u_h(v8u16, v8u16);
-extern v4i32 __builtin_msa_cle_u_w(v4u32, v4u32);
-extern v2i64 __builtin_msa_cle_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_clei_u_b(v16u8, unsigned char);
-extern v8i16 __builtin_msa_clei_u_h(v8u16, unsigned char);
-extern v4i32 __builtin_msa_clei_u_w(v4u32, unsigned char);
-extern v2i64 __builtin_msa_clei_u_d(v2u64, unsigned char);
-extern v16i8 __builtin_msa_ld_b(void *, int);
-extern v8i16 __builtin_msa_ld_h(void *, int);
-extern v4i32 __builtin_msa_ld_w(void *, int);
-extern v2i64 __builtin_msa_ld_d(void *, int);
-extern void __builtin_msa_st_b(v16i8, char *, int);
-extern void __builtin_msa_st_h(v8i16, char *, int);
-extern void __builtin_msa_st_w(v4i32, char *, int);
-extern void __builtin_msa_st_d(v2i64, char *, int);
-extern v16i8 __builtin_msa_sat_s_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_sat_s_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_sat_s_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_sat_s_d(v2i64, unsigned char);
-extern v16u8 __builtin_msa_sat_u_b(v16u8, unsigned char);
-extern v8u16 __builtin_msa_sat_u_h(v8u16, unsigned char);
-extern v4u32 __builtin_msa_sat_u_w(v4u32, unsigned char);
-extern v2u64 __builtin_msa_sat_u_d(v2u64, unsigned char);
-extern v16i8 __builtin_msa_add_a_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_add_a_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_add_a_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_add_a_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_adds_a_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_adds_a_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_adds_a_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_adds_a_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_adds_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_adds_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_adds_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_adds_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_adds_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_adds_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_adds_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_adds_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_ave_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ave_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ave_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ave_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_ave_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_ave_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_ave_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_ave_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_aver_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_aver_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_aver_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_aver_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_aver_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_aver_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_aver_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_aver_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_subs_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_subs_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_subs_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_subs_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_subs_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_subs_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_subs_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_subs_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_subsuu_s_b(v16u8, v16u8);
-extern v8i16 __builtin_msa_subsuu_s_h(v8u16, v8u16);
-extern v4i32 __builtin_msa_subsuu_s_w(v4u32, v4u32);
-extern v2i64 __builtin_msa_subsuu_s_d(v2u64, v2u64);
-extern v16u8 __builtin_msa_subsus_u_b(v16u8, v16i8);
-extern v8u16 __builtin_msa_subsus_u_h(v8u16, v8i16);
-extern v4u32 __builtin_msa_subsus_u_w(v4u32, v4i32);
-extern v2u64 __builtin_msa_subsus_u_d(v2u64, v2i64);
-extern v16i8 __builtin_msa_asub_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_asub_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_asub_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_asub_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_asub_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_asub_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_asub_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_asub_u_d(v2u64, v2u64);
-extern v16i8 __builtin_msa_mulv_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_mulv_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_mulv_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_mulv_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_maddv_b(v16i8, v16i8, v16i8);
-extern v8i16 __builtin_msa_maddv_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_maddv_w(v4i32, v4i32, v4i32);
-extern v2i64 __builtin_msa_maddv_d(v2i64, v2i64, v2i64);
-extern v16i8 __builtin_msa_msubv_b(v16i8, v16i8, v16i8);
-extern v8i16 __builtin_msa_msubv_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_msubv_w(v4i32, v4i32, v4i32);
-extern v2i64 __builtin_msa_msubv_d(v2i64, v2i64, v2i64);
-extern v16i8 __builtin_msa_div_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_div_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_div_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_div_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_div_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_div_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_div_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_div_u_d(v2u64, v2u64);
-extern v8i16 __builtin_msa_hadd_s_h(v16i8, v16i8);
-extern v4i32 __builtin_msa_hadd_s_w(v8i16, v8i16);
-extern v2i64 __builtin_msa_hadd_s_d(v4i32, v4i32);
-extern v8u16 __builtin_msa_hadd_u_h(v16u8, v16u8);
-extern v4u32 __builtin_msa_hadd_u_w(v8u16, v8u16);
-extern v2u64 __builtin_msa_hadd_u_d(v4u32, v4u32);
-extern v8i16 __builtin_msa_hsub_s_h(v16i8, v16i8);
-extern v4i32 __builtin_msa_hsub_s_w(v8i16, v8i16);
-extern v2i64 __builtin_msa_hsub_s_d(v4i32, v4i32);
-extern v8i16 __builtin_msa_hsub_u_h(v16u8, v16u8);
-extern v4i32 __builtin_msa_hsub_u_w(v8u16, v8u16);
-extern v2i64 __builtin_msa_hsub_u_d(v4u32, v4u32);
-extern v16i8 __builtin_msa_mod_s_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_mod_s_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_mod_s_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_mod_s_d(v2i64, v2i64);
-extern v16u8 __builtin_msa_mod_u_b(v16u8, v16u8);
-extern v8u16 __builtin_msa_mod_u_h(v8u16, v8u16);
-extern v4u32 __builtin_msa_mod_u_w(v4u32, v4u32);
-extern v2u64 __builtin_msa_mod_u_d(v2u64, v2u64);
-extern v8i16 __builtin_msa_dotp_s_h(v16i8, v16i8);
-extern v4i32 __builtin_msa_dotp_s_w(v8i16, v8i16);
-extern v2i64 __builtin_msa_dotp_s_d(v4i32, v4i32);
-extern v8u16 __builtin_msa_dotp_u_h(v16u8, v16u8);
-extern v4u32 __builtin_msa_dotp_u_w(v8u16, v8u16);
-extern v2u64 __builtin_msa_dotp_u_d(v4u32, v4u32);
-extern v8i16 __builtin_msa_dpadd_s_h(v8i16, v16i8, v16i8);
-extern v4i32 __builtin_msa_dpadd_s_w(v4i32, v8i16, v8i16);
-extern v2i64 __builtin_msa_dpadd_s_d(v2i64, v4i32, v4i32);
-extern v8u16 __builtin_msa_dpadd_u_h(v8u16, v16u8, v16u8);
-extern v4u32 __builtin_msa_dpadd_u_w(v4u32, v8u16, v8u16);
-extern v2u64 __builtin_msa_dpadd_u_d(v2u64, v4u32, v4u32);
-extern v8i16 __builtin_msa_dpsub_s_h(v8i16, v16i8, v16i8);
-extern v4i32 __builtin_msa_dpsub_s_w(v4i32, v8i16, v8i16);
-extern v2i64 __builtin_msa_dpsub_s_d(v2i64, v4i32, v4i32);
-extern v8i16 __builtin_msa_dpsub_u_h(v8i16, v16u8, v16u8);
-extern v4i32 __builtin_msa_dpsub_u_w(v4i32, v8u16, v8u16);
-extern v2i64 __builtin_msa_dpsub_u_d(v2i64, v4u32, v4u32);
-extern v16i8 __builtin_msa_sld_b(v16i8, v16i8, int);
-extern v8i16 __builtin_msa_sld_h(v8i16, v8i16, int);
-extern v4i32 __builtin_msa_sld_w(v4i32, v4i32, int);
-extern v2i64 __builtin_msa_sld_d(v2i64, v2i64, int);
-extern v16i8 __builtin_msa_sldi_b(v16i8, v16i8, unsigned char);
-extern v8i16 __builtin_msa_sldi_h(v8i16, v8i16, unsigned char);
-extern v4i32 __builtin_msa_sldi_w(v4i32, v4i32, unsigned char);
-extern v2i64 __builtin_msa_sldi_d(v2i64, v2i64, unsigned char);
-extern v16i8 __builtin_msa_splat_b(v16i8, int);
-extern v8i16 __builtin_msa_splat_h(v8i16, int);
-extern v4i32 __builtin_msa_splat_w(v4i32, int);
-extern v2i64 __builtin_msa_splat_d(v2i64, int);
-extern v16i8 __builtin_msa_splati_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_splati_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_splati_w(v4i32, unsigned char);
-extern v2i64 __builtin_msa_splati_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_pckev_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_pckev_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_pckev_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_pckev_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_pckod_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_pckod_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_pckod_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_pckod_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ilvl_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ilvl_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ilvl_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ilvl_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ilvr_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ilvr_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ilvr_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ilvr_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ilvev_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ilvev_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ilvev_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ilvev_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_ilvod_b(v16i8, v16i8);
-extern v8i16 __builtin_msa_ilvod_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_ilvod_w(v4i32, v4i32);
-extern v2i64 __builtin_msa_ilvod_d(v2i64, v2i64);
-extern v16i8 __builtin_msa_vshf_b(v16i8, v16i8, v16i8);
-extern v8i16 __builtin_msa_vshf_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_vshf_w(v4i32, v4i32, v4i32);
-extern v2i64 __builtin_msa_vshf_d(v2i64, v2i64, v2i64);
-extern v16u8 __builtin_msa_and_v(v16u8, v16u8);
-extern v16u8 __builtin_msa_andi_b(v16u8, unsigned char);
-extern v16u8 __builtin_msa_or_v(v16u8, v16u8);
-extern v16u8 __builtin_msa_ori_b(v16u8, unsigned char);
-extern v16u8 __builtin_msa_nor_v(v16u8, v16u8);
-extern v16u8 __builtin_msa_nori_b(v16u8, unsigned char);
-extern v16u8 __builtin_msa_xor_v(v16u8, v16u8);
-extern v16u8 __builtin_msa_xori_b(v16u8, unsigned char);
-extern v16u8 __builtin_msa_bmnz_v(v16u8, v16u8, v16u8);
-extern v16u8 __builtin_msa_bmnzi_b(v16u8, v16u8, unsigned char);
-extern v16u8 __builtin_msa_bmz_v(v16u8, v16u8, v16u8);
-extern v16u8 __builtin_msa_bmzi_b(v16u8, v16u8, unsigned char);
-extern v16u8 __builtin_msa_bsel_v(v16u8, v16u8, v16u8);
-extern v16u8 __builtin_msa_bseli_b(v16u8, v16u8, unsigned char);
-extern v16i8 __builtin_msa_shf_b(v16i8, unsigned char);
-extern v8i16 __builtin_msa_shf_h(v8i16, unsigned char);
-extern v4i32 __builtin_msa_shf_w(v4i32, unsigned char);
-extern int __builtin_msa_bnz_v(v16u8);
-extern int __builtin_msa_bz_v(v16u8);
-extern v16i8 __builtin_msa_fill_b(int);
-extern v8i16 __builtin_msa_fill_h(int);
-extern v4i32 __builtin_msa_fill_w(int);
-extern v2i64 __builtin_msa_fill_d(long long);
-extern v16i8 __builtin_msa_pcnt_b(v16i8);
-extern v8i16 __builtin_msa_pcnt_h(v8i16);
-extern v4i32 __builtin_msa_pcnt_w(v4i32);
-extern v2i64 __builtin_msa_pcnt_d(v2i64);
-extern v16i8 __builtin_msa_nloc_b(v16i8);
-extern v8i16 __builtin_msa_nloc_h(v8i16);
-extern v4i32 __builtin_msa_nloc_w(v4i32);
-extern v2i64 __builtin_msa_nloc_d(v2i64);
-extern v16i8 __builtin_msa_nlzc_b(v16i8);
-extern v8i16 __builtin_msa_nlzc_h(v8i16);
-extern v4i32 __builtin_msa_nlzc_w(v4i32);
-extern v2i64 __builtin_msa_nlzc_d(v2i64);
-extern int __builtin_msa_copy_s_b(v16i8, unsigned char);
-extern int __builtin_msa_copy_s_h(v8i16, unsigned char);
-extern int __builtin_msa_copy_s_w(v4i32, unsigned char);
-extern long long __builtin_msa_copy_s_d(v2i64, unsigned char);
-extern int __builtin_msa_copy_u_b(v16i8, unsigned char);
-extern int __builtin_msa_copy_u_h(v8i16, unsigned char);
-extern int __builtin_msa_copy_u_w(v4i32, unsigned char);
-extern long long __builtin_msa_copy_u_d(v2i64, unsigned char);
-extern v16i8 __builtin_msa_insert_b(v16i8, unsigned char, int);
-extern v8i16 __builtin_msa_insert_h(v8i16, unsigned char, int);
-extern v4i32 __builtin_msa_insert_w(v4i32, unsigned char, int);
-extern v2i64 __builtin_msa_insert_d(v2i64, unsigned char, long long);
-extern v16i8 __builtin_msa_insve_b(v16i8, unsigned char, v16i8);
-extern v8i16 __builtin_msa_insve_h(v8i16, unsigned char, v8i16);
-extern v4i32 __builtin_msa_insve_w(v4i32, unsigned char, v4i32);
-extern v2i64 __builtin_msa_insve_d(v2i64, unsigned char, v2i64);
-extern int __builtin_msa_bnz_b(v16u8);
-extern int __builtin_msa_bnz_h(v8u16);
-extern int __builtin_msa_bnz_w(v4u32);
-extern int __builtin_msa_bnz_d(v2u64);
-extern int __builtin_msa_bz_b(v16u8);
-extern int __builtin_msa_bz_h(v8u16);
-extern int __builtin_msa_bz_w(v4u32);
-extern int __builtin_msa_bz_d(v2u64);
-extern v16i8 __builtin_msa_ldi_b(short);
-extern v8i16 __builtin_msa_ldi_h(short);
-extern v4i32 __builtin_msa_ldi_w(short);
-extern v2i64 __builtin_msa_ldi_d(short);
-extern v4i32 __builtin_msa_fcaf_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcaf_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcor_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcor_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcun_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcun_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcune_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcune_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcueq_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcueq_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fceq_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fceq_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcne_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcne_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fclt_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fclt_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcult_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcult_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcle_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcle_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fcule_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fcule_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsaf_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsaf_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsor_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsor_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsun_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsun_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsune_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsune_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsueq_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsueq_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fseq_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fseq_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsne_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsne_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fslt_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fslt_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsult_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsult_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsle_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsle_d(v2f64, v2f64);
-extern v4i32 __builtin_msa_fsule_w(v4f32, v4f32);
-extern v2i64 __builtin_msa_fsule_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fadd_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fadd_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fsub_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fsub_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmul_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fmul_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fdiv_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fdiv_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmadd_w(v4f32, v4f32, v4f32);
-extern v2f64 __builtin_msa_fmadd_d(v2f64, v2f64, v2f64);
-extern v4f32 __builtin_msa_fmsub_w(v4f32, v4f32, v4f32);
-extern v2f64 __builtin_msa_fmsub_d(v2f64, v2f64, v2f64);
-extern v4f32 __builtin_msa_fexp2_w(v4f32, v4i32);
-extern v2f64 __builtin_msa_fexp2_d(v2f64, v2i64);
-extern v8i16 __builtin_msa_fexdo_h(v4f32, v4f32);
-extern v4f32 __builtin_msa_fexdo_w(v2f64, v2f64);
-extern v8i16 __builtin_msa_ftq_h(v4f32, v4f32);
-extern v4i32 __builtin_msa_ftq_w(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmin_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fmin_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmin_a_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fmin_a_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmax_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fmax_d(v2f64, v2f64);
-extern v4f32 __builtin_msa_fmax_a_w(v4f32, v4f32);
-extern v2f64 __builtin_msa_fmax_a_d(v2f64, v2f64);
-extern v8i16 __builtin_msa_mul_q_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_mul_q_w(v4i32, v4i32);
-extern v8i16 __builtin_msa_mulr_q_h(v8i16, v8i16);
-extern v4i32 __builtin_msa_mulr_q_w(v4i32, v4i32);
-extern v8i16 __builtin_msa_madd_q_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_madd_q_w(v4i32, v4i32, v4i32);
-extern v8i16 __builtin_msa_maddr_q_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_maddr_q_w(v4i32, v4i32, v4i32);
-extern v8i16 __builtin_msa_msub_q_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_msub_q_w(v4i32, v4i32, v4i32);
-extern v8i16 __builtin_msa_msubr_q_h(v8i16, v8i16, v8i16);
-extern v4i32 __builtin_msa_msubr_q_w(v4i32, v4i32, v4i32);
-extern v4i32 __builtin_msa_fclass_w(v4f32);
-extern v2i64 __builtin_msa_fclass_d(v2f64);
-extern v4f32 __builtin_msa_fsqrt_w(v4f32);
-extern v2f64 __builtin_msa_fsqrt_d(v2f64);
-extern v4f32 __builtin_msa_frcp_w(v4f32);
-extern v2f64 __builtin_msa_frcp_d(v2f64);
-extern v4f32 __builtin_msa_frint_w(v4f32);
-extern v2f64 __builtin_msa_frint_d(v2f64);
-extern v4f32 __builtin_msa_frsqrt_w(v4f32);
-extern v2f64 __builtin_msa_frsqrt_d(v2f64);
-extern v4f32 __builtin_msa_flog2_w(v4f32);
-extern v2f64 __builtin_msa_flog2_d(v2f64);
-extern v4f32 __builtin_msa_fexupl_w(v8i16);
-extern v2f64 __builtin_msa_fexupl_d(v4f32);
-extern v4f32 __builtin_msa_fexupr_w(v8i16);
-extern v2f64 __builtin_msa_fexupr_d(v4f32);
-extern v4f32 __builtin_msa_ffql_w(v8i16);
-extern v2f64 __builtin_msa_ffql_d(v4i32);
-extern v4f32 __builtin_msa_ffqr_w(v8i16);
-extern v2f64 __builtin_msa_ffqr_d(v4i32);
-extern v4i32 __builtin_msa_ftint_s_w(v4f32);
-extern v2i64 __builtin_msa_ftint_s_d(v2f64);
-extern v4u32 __builtin_msa_ftint_u_w(v4f32);
-extern v2u64 __builtin_msa_ftint_u_d(v2f64);
-extern v4i32 __builtin_msa_ftrunc_s_w(v4f32);
-extern v2i64 __builtin_msa_ftrunc_s_d(v2f64);
-extern v4u32 __builtin_msa_ftrunc_u_w(v4f32);
-extern v2u64 __builtin_msa_ftrunc_u_d(v2f64);
-extern v4f32 __builtin_msa_ffint_s_w(v4i32);
-extern v2f64 __builtin_msa_ffint_s_d(v2i64);
-extern v4f32 __builtin_msa_ffint_u_w(v4u32);
-extern v2f64 __builtin_msa_ffint_u_d(v2u64);
-extern int __builtin_msa_cfcmsa(unsigned char);
-extern v16i8 __builtin_msa_move_v(v16i8);
-extern v4f32 __builtin_msa_cast_to_vector_float(float);
-extern v2f64 __builtin_msa_cast_to_vector_double(double);
-extern float __builtin_msa_cast_to_scalar_float(v4f32);
-extern double __builtin_msa_cast_to_scalar_double(v2f64);
-#endif /* __clang__ */
#define __msa_sll_b __builtin_msa_sll_b
#define __msa_sll_h __builtin_msa_sll_h
#define __msa_sll_w __builtin_msa_sll_w