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