1  /* MIPS MSA intrinsics include file.
       2  
       3     Copyright (C) 2015-2023 Free Software Foundation, Inc.
       4     Contributed by Imagination Technologies Ltd.
       5  
       6     This file is part of GCC.
       7  
       8     GCC is free software; you can redistribute it and/or modify it
       9     under the terms of the GNU General Public License as published
      10     by the Free Software Foundation; either version 3, or (at your
      11     option) any later version.
      12  
      13     GCC is distributed in the hope that it will be useful, but WITHOUT
      14     ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
      15     or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
      16     License for more details.
      17  
      18     Under Section 7 of GPL version 3, you are granted additional
      19     permissions described in the GCC Runtime Library Exception, version
      20     3.1, as published by the Free Software Foundation.
      21  
      22     You should have received a copy of the GNU General Public License and
      23     a copy of the GCC Runtime Library Exception along with this program;
      24     see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
      25     <http://www.gnu.org/licenses/>.  */
      26  
      27  #ifndef _MSA_H
      28  #define _MSA_H 1
      29  
      30  #if defined(__mips_msa)
      31  typedef signed char v16i8 __attribute__ ((vector_size(16), aligned(16)));
      32  typedef signed char v16i8_b __attribute__ ((vector_size(16), aligned(1)));
      33  typedef unsigned char v16u8 __attribute__ ((vector_size(16), aligned(16)));
      34  typedef unsigned char v16u8_b __attribute__ ((vector_size(16), aligned(1)));
      35  typedef short v8i16 __attribute__ ((vector_size(16), aligned(16)));
      36  typedef short v8i16_h __attribute__ ((vector_size(16), aligned(2)));
      37  typedef unsigned short v8u16 __attribute__ ((vector_size(16), aligned(16)));
      38  typedef unsigned short v8u16_h __attribute__ ((vector_size(16), aligned(2)));
      39  typedef int v4i32 __attribute__ ((vector_size(16), aligned(16)));
      40  typedef int v4i32_w __attribute__ ((vector_size(16), aligned(4)));
      41  typedef unsigned int v4u32 __attribute__ ((vector_size(16), aligned(16)));
      42  typedef unsigned int v4u32_w __attribute__ ((vector_size(16), aligned(4)));
      43  typedef long long v2i64 __attribute__ ((vector_size(16), aligned(16)));
      44  typedef long long v2i64_d __attribute__ ((vector_size(16), aligned(8)));
      45  typedef unsigned long long v2u64 __attribute__ ((vector_size(16), aligned(16)));
      46  typedef unsigned long long v2u64_d __attribute__ ((vector_size(16), aligned(8)));
      47  typedef float v4f32 __attribute__ ((vector_size(16), aligned(16)));
      48  typedef float v4f32_w __attribute__ ((vector_size(16), aligned(4)));
      49  typedef double v2f64 __attribute__ ((vector_size(16), aligned(16)));
      50  typedef double v2f64_d __attribute__ ((vector_size(16), aligned(8)));
      51  
      52  #define __msa_sll_b __builtin_msa_sll_b
      53  #define __msa_sll_h __builtin_msa_sll_h
      54  #define __msa_sll_w __builtin_msa_sll_w
      55  #define __msa_sll_d __builtin_msa_sll_d
      56  #define __msa_slli_b __builtin_msa_slli_b
      57  #define __msa_slli_h __builtin_msa_slli_h
      58  #define __msa_slli_w __builtin_msa_slli_w
      59  #define __msa_slli_d __builtin_msa_slli_d
      60  #define __msa_sra_b __builtin_msa_sra_b
      61  #define __msa_sra_h __builtin_msa_sra_h
      62  #define __msa_sra_w __builtin_msa_sra_w
      63  #define __msa_sra_d __builtin_msa_sra_d
      64  #define __msa_srai_b __builtin_msa_srai_b
      65  #define __msa_srai_h __builtin_msa_srai_h
      66  #define __msa_srai_w __builtin_msa_srai_w
      67  #define __msa_srai_d __builtin_msa_srai_d
      68  #define __msa_srar_b __builtin_msa_srar_b
      69  #define __msa_srar_h __builtin_msa_srar_h
      70  #define __msa_srar_w __builtin_msa_srar_w
      71  #define __msa_srar_d __builtin_msa_srar_d
      72  #define __msa_srari_b __builtin_msa_srari_b
      73  #define __msa_srari_h __builtin_msa_srari_h
      74  #define __msa_srari_w __builtin_msa_srari_w
      75  #define __msa_srari_d __builtin_msa_srari_d
      76  #define __msa_srl_b __builtin_msa_srl_b
      77  #define __msa_srl_h __builtin_msa_srl_h
      78  #define __msa_srl_w __builtin_msa_srl_w
      79  #define __msa_srl_d __builtin_msa_srl_d
      80  #define __msa_srli_b __builtin_msa_srli_b
      81  #define __msa_srli_h __builtin_msa_srli_h
      82  #define __msa_srli_w __builtin_msa_srli_w
      83  #define __msa_srli_d __builtin_msa_srli_d
      84  #define __msa_srlr_b __builtin_msa_srlr_b
      85  #define __msa_srlr_h __builtin_msa_srlr_h
      86  #define __msa_srlr_w __builtin_msa_srlr_w
      87  #define __msa_srlr_d __builtin_msa_srlr_d
      88  #define __msa_srlri_b __builtin_msa_srlri_b
      89  #define __msa_srlri_h __builtin_msa_srlri_h
      90  #define __msa_srlri_w __builtin_msa_srlri_w
      91  #define __msa_srlri_d __builtin_msa_srlri_d
      92  #define __msa_bclr_b __builtin_msa_bclr_b
      93  #define __msa_bclr_h __builtin_msa_bclr_h
      94  #define __msa_bclr_w __builtin_msa_bclr_w
      95  #define __msa_bclr_d __builtin_msa_bclr_d
      96  #define __msa_bclri_b __builtin_msa_bclri_b
      97  #define __msa_bclri_h __builtin_msa_bclri_h
      98  #define __msa_bclri_w __builtin_msa_bclri_w
      99  #define __msa_bclri_d __builtin_msa_bclri_d
     100  #define __msa_bset_b __builtin_msa_bset_b
     101  #define __msa_bset_h __builtin_msa_bset_h
     102  #define __msa_bset_w __builtin_msa_bset_w
     103  #define __msa_bset_d __builtin_msa_bset_d
     104  #define __msa_bseti_b __builtin_msa_bseti_b
     105  #define __msa_bseti_h __builtin_msa_bseti_h
     106  #define __msa_bseti_w __builtin_msa_bseti_w
     107  #define __msa_bseti_d __builtin_msa_bseti_d
     108  #define __msa_bneg_b __builtin_msa_bneg_b
     109  #define __msa_bneg_h __builtin_msa_bneg_h
     110  #define __msa_bneg_w __builtin_msa_bneg_w
     111  #define __msa_bneg_d __builtin_msa_bneg_d
     112  #define __msa_bnegi_b __builtin_msa_bnegi_b
     113  #define __msa_bnegi_h __builtin_msa_bnegi_h
     114  #define __msa_bnegi_w __builtin_msa_bnegi_w
     115  #define __msa_bnegi_d __builtin_msa_bnegi_d
     116  #define __msa_binsl_b __builtin_msa_binsl_b
     117  #define __msa_binsl_h __builtin_msa_binsl_h
     118  #define __msa_binsl_w __builtin_msa_binsl_w
     119  #define __msa_binsl_d __builtin_msa_binsl_d
     120  #define __msa_binsli_b __builtin_msa_binsli_b
     121  #define __msa_binsli_h __builtin_msa_binsli_h
     122  #define __msa_binsli_w __builtin_msa_binsli_w
     123  #define __msa_binsli_d __builtin_msa_binsli_d
     124  #define __msa_binsr_b __builtin_msa_binsr_b
     125  #define __msa_binsr_h __builtin_msa_binsr_h
     126  #define __msa_binsr_w __builtin_msa_binsr_w
     127  #define __msa_binsr_d __builtin_msa_binsr_d
     128  #define __msa_binsri_b __builtin_msa_binsri_b
     129  #define __msa_binsri_h __builtin_msa_binsri_h
     130  #define __msa_binsri_w __builtin_msa_binsri_w
     131  #define __msa_binsri_d __builtin_msa_binsri_d
     132  #define __msa_addv_b __builtin_msa_addv_b
     133  #define __msa_addv_h __builtin_msa_addv_h
     134  #define __msa_addv_w __builtin_msa_addv_w
     135  #define __msa_addv_d __builtin_msa_addv_d
     136  #define __msa_addvi_b __builtin_msa_addvi_b
     137  #define __msa_addvi_h __builtin_msa_addvi_h
     138  #define __msa_addvi_w __builtin_msa_addvi_w
     139  #define __msa_addvi_d __builtin_msa_addvi_d
     140  #define __msa_subv_b __builtin_msa_subv_b
     141  #define __msa_subv_h __builtin_msa_subv_h
     142  #define __msa_subv_w __builtin_msa_subv_w
     143  #define __msa_subv_d __builtin_msa_subv_d
     144  #define __msa_subvi_b __builtin_msa_subvi_b
     145  #define __msa_subvi_h __builtin_msa_subvi_h
     146  #define __msa_subvi_w __builtin_msa_subvi_w
     147  #define __msa_subvi_d __builtin_msa_subvi_d
     148  #define __msa_max_s_b __builtin_msa_max_s_b
     149  #define __msa_max_s_h __builtin_msa_max_s_h
     150  #define __msa_max_s_w __builtin_msa_max_s_w
     151  #define __msa_max_s_d __builtin_msa_max_s_d
     152  #define __msa_maxi_s_b __builtin_msa_maxi_s_b
     153  #define __msa_maxi_s_h __builtin_msa_maxi_s_h
     154  #define __msa_maxi_s_w __builtin_msa_maxi_s_w
     155  #define __msa_maxi_s_d __builtin_msa_maxi_s_d
     156  #define __msa_max_u_b __builtin_msa_max_u_b
     157  #define __msa_max_u_h __builtin_msa_max_u_h
     158  #define __msa_max_u_w __builtin_msa_max_u_w
     159  #define __msa_max_u_d __builtin_msa_max_u_d
     160  #define __msa_maxi_u_b __builtin_msa_maxi_u_b
     161  #define __msa_maxi_u_h __builtin_msa_maxi_u_h
     162  #define __msa_maxi_u_w __builtin_msa_maxi_u_w
     163  #define __msa_maxi_u_d __builtin_msa_maxi_u_d
     164  #define __msa_min_s_b __builtin_msa_min_s_b
     165  #define __msa_min_s_h __builtin_msa_min_s_h
     166  #define __msa_min_s_w __builtin_msa_min_s_w
     167  #define __msa_min_s_d __builtin_msa_min_s_d
     168  #define __msa_mini_s_b __builtin_msa_mini_s_b
     169  #define __msa_mini_s_h __builtin_msa_mini_s_h
     170  #define __msa_mini_s_w __builtin_msa_mini_s_w
     171  #define __msa_mini_s_d __builtin_msa_mini_s_d
     172  #define __msa_min_u_b __builtin_msa_min_u_b
     173  #define __msa_min_u_h __builtin_msa_min_u_h
     174  #define __msa_min_u_w __builtin_msa_min_u_w
     175  #define __msa_min_u_d __builtin_msa_min_u_d
     176  #define __msa_mini_u_b __builtin_msa_mini_u_b
     177  #define __msa_mini_u_h __builtin_msa_mini_u_h
     178  #define __msa_mini_u_w __builtin_msa_mini_u_w
     179  #define __msa_mini_u_d __builtin_msa_mini_u_d
     180  #define __msa_max_a_b __builtin_msa_max_a_b
     181  #define __msa_max_a_h __builtin_msa_max_a_h
     182  #define __msa_max_a_w __builtin_msa_max_a_w
     183  #define __msa_max_a_d __builtin_msa_max_a_d
     184  #define __msa_min_a_b __builtin_msa_min_a_b
     185  #define __msa_min_a_h __builtin_msa_min_a_h
     186  #define __msa_min_a_w __builtin_msa_min_a_w
     187  #define __msa_min_a_d __builtin_msa_min_a_d
     188  #define __msa_ceq_b __builtin_msa_ceq_b
     189  #define __msa_ceq_h __builtin_msa_ceq_h
     190  #define __msa_ceq_w __builtin_msa_ceq_w
     191  #define __msa_ceq_d __builtin_msa_ceq_d
     192  #define __msa_ceqi_b __builtin_msa_ceqi_b
     193  #define __msa_ceqi_h __builtin_msa_ceqi_h
     194  #define __msa_ceqi_w __builtin_msa_ceqi_w
     195  #define __msa_ceqi_d __builtin_msa_ceqi_d
     196  #define __msa_clt_s_b __builtin_msa_clt_s_b
     197  #define __msa_clt_s_h __builtin_msa_clt_s_h
     198  #define __msa_clt_s_w __builtin_msa_clt_s_w
     199  #define __msa_clt_s_d __builtin_msa_clt_s_d
     200  #define __msa_clti_s_b __builtin_msa_clti_s_b
     201  #define __msa_clti_s_h __builtin_msa_clti_s_h
     202  #define __msa_clti_s_w __builtin_msa_clti_s_w
     203  #define __msa_clti_s_d __builtin_msa_clti_s_d
     204  #define __msa_clt_u_b __builtin_msa_clt_u_b
     205  #define __msa_clt_u_h __builtin_msa_clt_u_h
     206  #define __msa_clt_u_w __builtin_msa_clt_u_w
     207  #define __msa_clt_u_d __builtin_msa_clt_u_d
     208  #define __msa_clti_u_b __builtin_msa_clti_u_b
     209  #define __msa_clti_u_h __builtin_msa_clti_u_h
     210  #define __msa_clti_u_w __builtin_msa_clti_u_w
     211  #define __msa_clti_u_d __builtin_msa_clti_u_d
     212  #define __msa_cle_s_b __builtin_msa_cle_s_b
     213  #define __msa_cle_s_h __builtin_msa_cle_s_h
     214  #define __msa_cle_s_w __builtin_msa_cle_s_w
     215  #define __msa_cle_s_d __builtin_msa_cle_s_d
     216  #define __msa_clei_s_b __builtin_msa_clei_s_b
     217  #define __msa_clei_s_h __builtin_msa_clei_s_h
     218  #define __msa_clei_s_w __builtin_msa_clei_s_w
     219  #define __msa_clei_s_d __builtin_msa_clei_s_d
     220  #define __msa_cle_u_b __builtin_msa_cle_u_b
     221  #define __msa_cle_u_h __builtin_msa_cle_u_h
     222  #define __msa_cle_u_w __builtin_msa_cle_u_w
     223  #define __msa_cle_u_d __builtin_msa_cle_u_d
     224  #define __msa_clei_u_b __builtin_msa_clei_u_b
     225  #define __msa_clei_u_h __builtin_msa_clei_u_h
     226  #define __msa_clei_u_w __builtin_msa_clei_u_w
     227  #define __msa_clei_u_d __builtin_msa_clei_u_d
     228  #define __msa_ld_b __builtin_msa_ld_b
     229  #define __msa_ld_h __builtin_msa_ld_h
     230  #define __msa_ld_w __builtin_msa_ld_w
     231  #define __msa_ld_d __builtin_msa_ld_d
     232  #define __msa_st_b __builtin_msa_st_b
     233  #define __msa_st_h __builtin_msa_st_h
     234  #define __msa_st_w __builtin_msa_st_w
     235  #define __msa_st_d __builtin_msa_st_d
     236  #define __msa_sat_s_b __builtin_msa_sat_s_b
     237  #define __msa_sat_s_h __builtin_msa_sat_s_h
     238  #define __msa_sat_s_w __builtin_msa_sat_s_w
     239  #define __msa_sat_s_d __builtin_msa_sat_s_d
     240  #define __msa_sat_u_b __builtin_msa_sat_u_b
     241  #define __msa_sat_u_h __builtin_msa_sat_u_h
     242  #define __msa_sat_u_w __builtin_msa_sat_u_w
     243  #define __msa_sat_u_d __builtin_msa_sat_u_d
     244  #define __msa_add_a_b __builtin_msa_add_a_b
     245  #define __msa_add_a_h __builtin_msa_add_a_h
     246  #define __msa_add_a_w __builtin_msa_add_a_w
     247  #define __msa_add_a_d __builtin_msa_add_a_d
     248  #define __msa_adds_a_b __builtin_msa_adds_a_b
     249  #define __msa_adds_a_h __builtin_msa_adds_a_h
     250  #define __msa_adds_a_w __builtin_msa_adds_a_w
     251  #define __msa_adds_a_d __builtin_msa_adds_a_d
     252  #define __msa_adds_s_b __builtin_msa_adds_s_b
     253  #define __msa_adds_s_h __builtin_msa_adds_s_h
     254  #define __msa_adds_s_w __builtin_msa_adds_s_w
     255  #define __msa_adds_s_d __builtin_msa_adds_s_d
     256  #define __msa_adds_u_b __builtin_msa_adds_u_b
     257  #define __msa_adds_u_h __builtin_msa_adds_u_h
     258  #define __msa_adds_u_w __builtin_msa_adds_u_w
     259  #define __msa_adds_u_d __builtin_msa_adds_u_d
     260  #define __msa_ave_s_b __builtin_msa_ave_s_b
     261  #define __msa_ave_s_h __builtin_msa_ave_s_h
     262  #define __msa_ave_s_w __builtin_msa_ave_s_w
     263  #define __msa_ave_s_d __builtin_msa_ave_s_d
     264  #define __msa_ave_u_b __builtin_msa_ave_u_b
     265  #define __msa_ave_u_h __builtin_msa_ave_u_h
     266  #define __msa_ave_u_w __builtin_msa_ave_u_w
     267  #define __msa_ave_u_d __builtin_msa_ave_u_d
     268  #define __msa_aver_s_b __builtin_msa_aver_s_b
     269  #define __msa_aver_s_h __builtin_msa_aver_s_h
     270  #define __msa_aver_s_w __builtin_msa_aver_s_w
     271  #define __msa_aver_s_d __builtin_msa_aver_s_d
     272  #define __msa_aver_u_b __builtin_msa_aver_u_b
     273  #define __msa_aver_u_h __builtin_msa_aver_u_h
     274  #define __msa_aver_u_w __builtin_msa_aver_u_w
     275  #define __msa_aver_u_d __builtin_msa_aver_u_d
     276  #define __msa_subs_s_b __builtin_msa_subs_s_b
     277  #define __msa_subs_s_h __builtin_msa_subs_s_h
     278  #define __msa_subs_s_w __builtin_msa_subs_s_w
     279  #define __msa_subs_s_d __builtin_msa_subs_s_d
     280  #define __msa_subs_u_b __builtin_msa_subs_u_b
     281  #define __msa_subs_u_h __builtin_msa_subs_u_h
     282  #define __msa_subs_u_w __builtin_msa_subs_u_w
     283  #define __msa_subs_u_d __builtin_msa_subs_u_d
     284  #define __msa_subsuu_s_b __builtin_msa_subsuu_s_b
     285  #define __msa_subsuu_s_h __builtin_msa_subsuu_s_h
     286  #define __msa_subsuu_s_w __builtin_msa_subsuu_s_w
     287  #define __msa_subsuu_s_d __builtin_msa_subsuu_s_d
     288  #define __msa_subsus_u_b __builtin_msa_subsus_u_b
     289  #define __msa_subsus_u_h __builtin_msa_subsus_u_h
     290  #define __msa_subsus_u_w __builtin_msa_subsus_u_w
     291  #define __msa_subsus_u_d __builtin_msa_subsus_u_d
     292  #define __msa_asub_s_b __builtin_msa_asub_s_b
     293  #define __msa_asub_s_h __builtin_msa_asub_s_h
     294  #define __msa_asub_s_w __builtin_msa_asub_s_w
     295  #define __msa_asub_s_d __builtin_msa_asub_s_d
     296  #define __msa_asub_u_b __builtin_msa_asub_u_b
     297  #define __msa_asub_u_h __builtin_msa_asub_u_h
     298  #define __msa_asub_u_w __builtin_msa_asub_u_w
     299  #define __msa_asub_u_d __builtin_msa_asub_u_d
     300  #define __msa_mulv_b __builtin_msa_mulv_b
     301  #define __msa_mulv_h __builtin_msa_mulv_h
     302  #define __msa_mulv_w __builtin_msa_mulv_w
     303  #define __msa_mulv_d __builtin_msa_mulv_d
     304  #define __msa_maddv_b __builtin_msa_maddv_b
     305  #define __msa_maddv_h __builtin_msa_maddv_h
     306  #define __msa_maddv_w __builtin_msa_maddv_w
     307  #define __msa_maddv_d __builtin_msa_maddv_d
     308  #define __msa_msubv_b __builtin_msa_msubv_b
     309  #define __msa_msubv_h __builtin_msa_msubv_h
     310  #define __msa_msubv_w __builtin_msa_msubv_w
     311  #define __msa_msubv_d __builtin_msa_msubv_d
     312  #define __msa_div_s_b __builtin_msa_div_s_b
     313  #define __msa_div_s_h __builtin_msa_div_s_h
     314  #define __msa_div_s_w __builtin_msa_div_s_w
     315  #define __msa_div_s_d __builtin_msa_div_s_d
     316  #define __msa_div_u_b __builtin_msa_div_u_b
     317  #define __msa_div_u_h __builtin_msa_div_u_h
     318  #define __msa_div_u_w __builtin_msa_div_u_w
     319  #define __msa_div_u_d __builtin_msa_div_u_d
     320  #define __msa_hadd_s_h __builtin_msa_hadd_s_h
     321  #define __msa_hadd_s_w __builtin_msa_hadd_s_w
     322  #define __msa_hadd_s_d __builtin_msa_hadd_s_d
     323  #define __msa_hadd_u_h __builtin_msa_hadd_u_h
     324  #define __msa_hadd_u_w __builtin_msa_hadd_u_w
     325  #define __msa_hadd_u_d __builtin_msa_hadd_u_d
     326  #define __msa_hsub_s_h __builtin_msa_hsub_s_h
     327  #define __msa_hsub_s_w __builtin_msa_hsub_s_w
     328  #define __msa_hsub_s_d __builtin_msa_hsub_s_d
     329  #define __msa_hsub_u_h __builtin_msa_hsub_u_h
     330  #define __msa_hsub_u_w __builtin_msa_hsub_u_w
     331  #define __msa_hsub_u_d __builtin_msa_hsub_u_d
     332  #define __msa_mod_s_b __builtin_msa_mod_s_b
     333  #define __msa_mod_s_h __builtin_msa_mod_s_h
     334  #define __msa_mod_s_w __builtin_msa_mod_s_w
     335  #define __msa_mod_s_d __builtin_msa_mod_s_d
     336  #define __msa_mod_u_b __builtin_msa_mod_u_b
     337  #define __msa_mod_u_h __builtin_msa_mod_u_h
     338  #define __msa_mod_u_w __builtin_msa_mod_u_w
     339  #define __msa_mod_u_d __builtin_msa_mod_u_d
     340  #define __msa_dotp_s_h __builtin_msa_dotp_s_h
     341  #define __msa_dotp_s_w __builtin_msa_dotp_s_w
     342  #define __msa_dotp_s_d __builtin_msa_dotp_s_d
     343  #define __msa_dotp_u_h __builtin_msa_dotp_u_h
     344  #define __msa_dotp_u_w __builtin_msa_dotp_u_w
     345  #define __msa_dotp_u_d __builtin_msa_dotp_u_d
     346  #define __msa_dpadd_s_h __builtin_msa_dpadd_s_h
     347  #define __msa_dpadd_s_w __builtin_msa_dpadd_s_w
     348  #define __msa_dpadd_s_d __builtin_msa_dpadd_s_d
     349  #define __msa_dpadd_u_h __builtin_msa_dpadd_u_h
     350  #define __msa_dpadd_u_w __builtin_msa_dpadd_u_w
     351  #define __msa_dpadd_u_d __builtin_msa_dpadd_u_d
     352  #define __msa_dpsub_s_h __builtin_msa_dpsub_s_h
     353  #define __msa_dpsub_s_w __builtin_msa_dpsub_s_w
     354  #define __msa_dpsub_s_d __builtin_msa_dpsub_s_d
     355  #define __msa_dpsub_u_h __builtin_msa_dpsub_u_h
     356  #define __msa_dpsub_u_w __builtin_msa_dpsub_u_w
     357  #define __msa_dpsub_u_d __builtin_msa_dpsub_u_d
     358  #define __msa_sld_b __builtin_msa_sld_b
     359  #define __msa_sld_h __builtin_msa_sld_h
     360  #define __msa_sld_w __builtin_msa_sld_w
     361  #define __msa_sld_d __builtin_msa_sld_d
     362  #define __msa_sldi_b __builtin_msa_sldi_b
     363  #define __msa_sldi_h __builtin_msa_sldi_h
     364  #define __msa_sldi_w __builtin_msa_sldi_w
     365  #define __msa_sldi_d __builtin_msa_sldi_d
     366  #define __msa_splat_b __builtin_msa_splat_b
     367  #define __msa_splat_h __builtin_msa_splat_h
     368  #define __msa_splat_w __builtin_msa_splat_w
     369  #define __msa_splat_d __builtin_msa_splat_d
     370  #define __msa_splati_b __builtin_msa_splati_b
     371  #define __msa_splati_h __builtin_msa_splati_h
     372  #define __msa_splati_w __builtin_msa_splati_w
     373  #define __msa_splati_d __builtin_msa_splati_d
     374  #define __msa_pckev_b __builtin_msa_pckev_b
     375  #define __msa_pckev_h __builtin_msa_pckev_h
     376  #define __msa_pckev_w __builtin_msa_pckev_w
     377  #define __msa_pckev_d __builtin_msa_pckev_d
     378  #define __msa_pckod_b __builtin_msa_pckod_b
     379  #define __msa_pckod_h __builtin_msa_pckod_h
     380  #define __msa_pckod_w __builtin_msa_pckod_w
     381  #define __msa_pckod_d __builtin_msa_pckod_d
     382  #define __msa_ilvl_b __builtin_msa_ilvl_b
     383  #define __msa_ilvl_h __builtin_msa_ilvl_h
     384  #define __msa_ilvl_w __builtin_msa_ilvl_w
     385  #define __msa_ilvl_d __builtin_msa_ilvl_d
     386  #define __msa_ilvr_b __builtin_msa_ilvr_b
     387  #define __msa_ilvr_h __builtin_msa_ilvr_h
     388  #define __msa_ilvr_w __builtin_msa_ilvr_w
     389  #define __msa_ilvr_d __builtin_msa_ilvr_d
     390  #define __msa_ilvev_b __builtin_msa_ilvev_b
     391  #define __msa_ilvev_h __builtin_msa_ilvev_h
     392  #define __msa_ilvev_w __builtin_msa_ilvev_w
     393  #define __msa_ilvev_d __builtin_msa_ilvev_d
     394  #define __msa_ilvod_b __builtin_msa_ilvod_b
     395  #define __msa_ilvod_h __builtin_msa_ilvod_h
     396  #define __msa_ilvod_w __builtin_msa_ilvod_w
     397  #define __msa_ilvod_d __builtin_msa_ilvod_d
     398  #define __msa_vshf_b __builtin_msa_vshf_b
     399  #define __msa_vshf_h __builtin_msa_vshf_h
     400  #define __msa_vshf_w __builtin_msa_vshf_w
     401  #define __msa_vshf_d __builtin_msa_vshf_d
     402  #define __msa_and_v __builtin_msa_and_v
     403  #define __msa_andi_b __builtin_msa_andi_b
     404  #define __msa_or_v __builtin_msa_or_v
     405  #define __msa_ori_b __builtin_msa_ori_b
     406  #define __msa_nor_v __builtin_msa_nor_v
     407  #define __msa_nori_b __builtin_msa_nori_b
     408  #define __msa_xor_v __builtin_msa_xor_v
     409  #define __msa_xori_b __builtin_msa_xori_b
     410  #define __msa_bmnz_v __builtin_msa_bmnz_v
     411  #define __msa_bmnzi_b __builtin_msa_bmnzi_b
     412  #define __msa_bmz_v __builtin_msa_bmz_v
     413  #define __msa_bmzi_b __builtin_msa_bmzi_b
     414  #define __msa_bsel_v __builtin_msa_bsel_v
     415  #define __msa_bseli_b __builtin_msa_bseli_b
     416  #define __msa_shf_b __builtin_msa_shf_b
     417  #define __msa_shf_h __builtin_msa_shf_h
     418  #define __msa_shf_w __builtin_msa_shf_w
     419  #define __msa_test_bnz_v __builtin_msa_bnz_v
     420  #define __msa_test_bz_v __builtin_msa_bz_v
     421  #define __msa_fill_b __builtin_msa_fill_b
     422  #define __msa_fill_h __builtin_msa_fill_h
     423  #define __msa_fill_w __builtin_msa_fill_w
     424  #define __msa_fill_d __builtin_msa_fill_d
     425  #define __msa_pcnt_b __builtin_msa_pcnt_b
     426  #define __msa_pcnt_h __builtin_msa_pcnt_h
     427  #define __msa_pcnt_w __builtin_msa_pcnt_w
     428  #define __msa_pcnt_d __builtin_msa_pcnt_d
     429  #define __msa_nloc_b __builtin_msa_nloc_b
     430  #define __msa_nloc_h __builtin_msa_nloc_h
     431  #define __msa_nloc_w __builtin_msa_nloc_w
     432  #define __msa_nloc_d __builtin_msa_nloc_d
     433  #define __msa_nlzc_b __builtin_msa_nlzc_b
     434  #define __msa_nlzc_h __builtin_msa_nlzc_h
     435  #define __msa_nlzc_w __builtin_msa_nlzc_w
     436  #define __msa_nlzc_d __builtin_msa_nlzc_d
     437  #define __msa_copy_s_b __builtin_msa_copy_s_b
     438  #define __msa_copy_s_h __builtin_msa_copy_s_h
     439  #define __msa_copy_s_w __builtin_msa_copy_s_w
     440  #define __msa_copy_s_d __builtin_msa_copy_s_d
     441  #define __msa_copy_u_b __builtin_msa_copy_u_b
     442  #define __msa_copy_u_h __builtin_msa_copy_u_h
     443  #define __msa_copy_u_w __builtin_msa_copy_u_w
     444  #define __msa_copy_u_d __builtin_msa_copy_u_d
     445  #define __msa_insert_b __builtin_msa_insert_b
     446  #define __msa_insert_h __builtin_msa_insert_h
     447  #define __msa_insert_w __builtin_msa_insert_w
     448  #define __msa_insert_d __builtin_msa_insert_d
     449  #define __msa_insve_b __builtin_msa_insve_b
     450  #define __msa_insve_h __builtin_msa_insve_h
     451  #define __msa_insve_w __builtin_msa_insve_w
     452  #define __msa_insve_d __builtin_msa_insve_d
     453  #define __msa_test_bnz_b __builtin_msa_bnz_b
     454  #define __msa_test_bnz_h __builtin_msa_bnz_h
     455  #define __msa_test_bnz_w __builtin_msa_bnz_w
     456  #define __msa_test_bnz_d __builtin_msa_bnz_d
     457  #define __msa_test_bz_b __builtin_msa_bz_b
     458  #define __msa_test_bz_h __builtin_msa_bz_h
     459  #define __msa_test_bz_w __builtin_msa_bz_w
     460  #define __msa_test_bz_d __builtin_msa_bz_d
     461  #define __msa_ldi_b __builtin_msa_ldi_b
     462  #define __msa_ldi_h __builtin_msa_ldi_h
     463  #define __msa_ldi_w __builtin_msa_ldi_w
     464  #define __msa_ldi_d __builtin_msa_ldi_d
     465  #define __msa_fcaf_w __builtin_msa_fcaf_w
     466  #define __msa_fcaf_d __builtin_msa_fcaf_d
     467  #define __msa_fcor_w __builtin_msa_fcor_w
     468  #define __msa_fcor_d __builtin_msa_fcor_d
     469  #define __msa_fcun_w __builtin_msa_fcun_w
     470  #define __msa_fcun_d __builtin_msa_fcun_d
     471  #define __msa_fcune_w __builtin_msa_fcune_w
     472  #define __msa_fcune_d __builtin_msa_fcune_d
     473  #define __msa_fcueq_w __builtin_msa_fcueq_w
     474  #define __msa_fcueq_d __builtin_msa_fcueq_d
     475  #define __msa_fceq_w __builtin_msa_fceq_w
     476  #define __msa_fceq_d __builtin_msa_fceq_d
     477  #define __msa_fcne_w __builtin_msa_fcne_w
     478  #define __msa_fcne_d __builtin_msa_fcne_d
     479  #define __msa_fclt_w __builtin_msa_fclt_w
     480  #define __msa_fclt_d __builtin_msa_fclt_d
     481  #define __msa_fcult_w __builtin_msa_fcult_w
     482  #define __msa_fcult_d __builtin_msa_fcult_d
     483  #define __msa_fcle_w __builtin_msa_fcle_w
     484  #define __msa_fcle_d __builtin_msa_fcle_d
     485  #define __msa_fcule_w __builtin_msa_fcule_w
     486  #define __msa_fcule_d __builtin_msa_fcule_d
     487  #define __msa_fsaf_w __builtin_msa_fsaf_w
     488  #define __msa_fsaf_d __builtin_msa_fsaf_d
     489  #define __msa_fsor_w __builtin_msa_fsor_w
     490  #define __msa_fsor_d __builtin_msa_fsor_d
     491  #define __msa_fsun_w __builtin_msa_fsun_w
     492  #define __msa_fsun_d __builtin_msa_fsun_d
     493  #define __msa_fsune_w __builtin_msa_fsune_w
     494  #define __msa_fsune_d __builtin_msa_fsune_d
     495  #define __msa_fsueq_w __builtin_msa_fsueq_w
     496  #define __msa_fsueq_d __builtin_msa_fsueq_d
     497  #define __msa_fseq_w __builtin_msa_fseq_w
     498  #define __msa_fseq_d __builtin_msa_fseq_d
     499  #define __msa_fsne_w __builtin_msa_fsne_w
     500  #define __msa_fsne_d __builtin_msa_fsne_d
     501  #define __msa_fslt_w __builtin_msa_fslt_w
     502  #define __msa_fslt_d __builtin_msa_fslt_d
     503  #define __msa_fsult_w __builtin_msa_fsult_w
     504  #define __msa_fsult_d __builtin_msa_fsult_d
     505  #define __msa_fsle_w __builtin_msa_fsle_w
     506  #define __msa_fsle_d __builtin_msa_fsle_d
     507  #define __msa_fsule_w __builtin_msa_fsule_w
     508  #define __msa_fsule_d __builtin_msa_fsule_d
     509  #define __msa_fadd_w __builtin_msa_fadd_w
     510  #define __msa_fadd_d __builtin_msa_fadd_d
     511  #define __msa_fsub_w __builtin_msa_fsub_w
     512  #define __msa_fsub_d __builtin_msa_fsub_d
     513  #define __msa_fmul_w __builtin_msa_fmul_w
     514  #define __msa_fmul_d __builtin_msa_fmul_d
     515  #define __msa_fdiv_w __builtin_msa_fdiv_w
     516  #define __msa_fdiv_d __builtin_msa_fdiv_d
     517  #define __msa_fmadd_w __builtin_msa_fmadd_w
     518  #define __msa_fmadd_d __builtin_msa_fmadd_d
     519  #define __msa_fmsub_w __builtin_msa_fmsub_w
     520  #define __msa_fmsub_d __builtin_msa_fmsub_d
     521  #define __msa_fexp2_w __builtin_msa_fexp2_w
     522  #define __msa_fexp2_d __builtin_msa_fexp2_d
     523  #define __msa_fexdo_h __builtin_msa_fexdo_h
     524  #define __msa_fexdo_w __builtin_msa_fexdo_w
     525  #define __msa_ftq_h __builtin_msa_ftq_h
     526  #define __msa_ftq_w __builtin_msa_ftq_w
     527  #define __msa_fmin_w __builtin_msa_fmin_w
     528  #define __msa_fmin_d __builtin_msa_fmin_d
     529  #define __msa_fmin_a_w __builtin_msa_fmin_a_w
     530  #define __msa_fmin_a_d __builtin_msa_fmin_a_d
     531  #define __msa_fmax_w __builtin_msa_fmax_w
     532  #define __msa_fmax_d __builtin_msa_fmax_d
     533  #define __msa_fmax_a_w __builtin_msa_fmax_a_w
     534  #define __msa_fmax_a_d __builtin_msa_fmax_a_d
     535  #define __msa_mul_q_h __builtin_msa_mul_q_h
     536  #define __msa_mul_q_w __builtin_msa_mul_q_w
     537  #define __msa_mulr_q_h __builtin_msa_mulr_q_h
     538  #define __msa_mulr_q_w __builtin_msa_mulr_q_w
     539  #define __msa_madd_q_h __builtin_msa_madd_q_h
     540  #define __msa_madd_q_w __builtin_msa_madd_q_w
     541  #define __msa_maddr_q_h __builtin_msa_maddr_q_h
     542  #define __msa_maddr_q_w __builtin_msa_maddr_q_w
     543  #define __msa_msub_q_h __builtin_msa_msub_q_h
     544  #define __msa_msub_q_w __builtin_msa_msub_q_w
     545  #define __msa_msubr_q_h __builtin_msa_msubr_q_h
     546  #define __msa_msubr_q_w __builtin_msa_msubr_q_w
     547  #define __msa_fclass_w __builtin_msa_fclass_w
     548  #define __msa_fclass_d __builtin_msa_fclass_d
     549  #define __msa_fsqrt_w __builtin_msa_fsqrt_w
     550  #define __msa_fsqrt_d __builtin_msa_fsqrt_d
     551  #define __msa_frcp_w __builtin_msa_frcp_w
     552  #define __msa_frcp_d __builtin_msa_frcp_d
     553  #define __msa_frint_w __builtin_msa_frint_w
     554  #define __msa_frint_d __builtin_msa_frint_d
     555  #define __msa_frsqrt_w __builtin_msa_frsqrt_w
     556  #define __msa_frsqrt_d __builtin_msa_frsqrt_d
     557  #define __msa_flog2_w __builtin_msa_flog2_w
     558  #define __msa_flog2_d __builtin_msa_flog2_d
     559  #define __msa_fexupl_w __builtin_msa_fexupl_w
     560  #define __msa_fexupl_d __builtin_msa_fexupl_d
     561  #define __msa_fexupr_w __builtin_msa_fexupr_w
     562  #define __msa_fexupr_d __builtin_msa_fexupr_d
     563  #define __msa_ffql_w __builtin_msa_ffql_w
     564  #define __msa_ffql_d __builtin_msa_ffql_d
     565  #define __msa_ffqr_w __builtin_msa_ffqr_w
     566  #define __msa_ffqr_d __builtin_msa_ffqr_d
     567  #define __msa_ftint_s_w __builtin_msa_ftint_s_w
     568  #define __msa_ftint_s_d __builtin_msa_ftint_s_d
     569  #define __msa_ftint_u_w __builtin_msa_ftint_u_w
     570  #define __msa_ftint_u_d __builtin_msa_ftint_u_d
     571  #define __msa_ftrunc_s_w __builtin_msa_ftrunc_s_w
     572  #define __msa_ftrunc_s_d __builtin_msa_ftrunc_s_d
     573  #define __msa_ftrunc_u_w __builtin_msa_ftrunc_u_w
     574  #define __msa_ftrunc_u_d __builtin_msa_ftrunc_u_d
     575  #define __msa_ffint_s_w __builtin_msa_ffint_s_w
     576  #define __msa_ffint_s_d __builtin_msa_ffint_s_d
     577  #define __msa_ffint_u_w __builtin_msa_ffint_u_w
     578  #define __msa_ffint_u_d __builtin_msa_ffint_u_d
     579  #define __msa_cfcmsa __builtin_msa_cfcmsa
     580  #define __msa_move_v __builtin_msa_move_v
     581  #endif /* defined(__mips_msa) */
     582  #endif /* _MSA_H */