Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/s390/vecintrin.h @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 84e7813d76e9 |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 /* GNU compiler vector extension intrinsics | 1 /* GNU compiler vector extension intrinsics |
2 Copyright (C) 2015-2018 Free Software Foundation, Inc. | 2 Copyright (C) 2015-2020 Free Software Foundation, Inc. |
3 Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com) | 3 Contributed by Andreas Krebbel (Andreas.Krebbel@de.ibm.com) |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
107 #define vec_trunc(X) __builtin_s390_vfi((X), 4, 5) | 107 #define vec_trunc(X) __builtin_s390_vfi((X), 4, 5) |
108 #define vec_roundz(X) __builtin_s390_vfi((X), 4, 5) | 108 #define vec_roundz(X) __builtin_s390_vfi((X), 4, 5) |
109 #define vec_rint(X) __builtin_s390_vfi((X), 0, 0) | 109 #define vec_rint(X) __builtin_s390_vfi((X), 0, 0) |
110 #define vec_roundc(X) __builtin_s390_vfi((X), 4, 0) | 110 #define vec_roundc(X) __builtin_s390_vfi((X), 4, 0) |
111 #define vec_round(X) __builtin_s390_vfi((X), 4, 4) | 111 #define vec_round(X) __builtin_s390_vfi((X), 4, 4) |
112 #define vec_signed(X) __builtin_s390_vcgdb((X), 0, 0) | |
113 #define vec_unsigned(X) __builtin_s390_vclgdb((X), 0, 0) | |
114 #define vec_doublee(X) __builtin_s390_vfll((X)) | 112 #define vec_doublee(X) __builtin_s390_vfll((X)) |
115 #define vec_floate(X) __builtin_s390_vflr((X), 0, 0) | 113 #define vec_floate(X) __builtin_s390_vflr((X), 0, 0) |
116 #define vec_load_len_r(X,Y) __builtin_s390_vlrl((Y),(X)) | 114 #define vec_load_len_r(X,Y) __builtin_s390_vlrl((Y),(X)) |
117 #define vec_store_len_r(X,Y) __builtin_s390_vstrl((Y),(X)) | 115 #define vec_store_len_r(X,Y) __builtin_s390_vstrl((Y),(X)) |
118 | 116 |
157 | __VEC_CLASS_FP_NORMAL_N \ | 155 | __VEC_CLASS_FP_NORMAL_N \ |
158 | __VEC_CLASS_FP_SUBNORMAL \ | 156 | __VEC_CLASS_FP_SUBNORMAL \ |
159 | __VEC_CLASS_FP_SUBNORMAL_N, &cc); \ | 157 | __VEC_CLASS_FP_SUBNORMAL_N, &cc); \ |
160 cc != 3 ? 1 : 0; \ | 158 cc != 3 ? 1 : 0; \ |
161 }) | 159 }) |
160 | |
161 #define vec_vstbrh vec_vlbrh | |
162 #define vec_vstbrf vec_vlbrf | |
163 #define vec_vstbrg vec_vlbrg | |
164 #define vec_vstbrq vec_vlbrq | |
165 #define vec_vstbrf_flt vec_vlbrf_flt | |
166 #define vec_vstbrg_dbl vec_vlbrg_dbl | |
167 | |
168 #define vec_vsterb vec_vlerb | |
169 #define vec_vsterh vec_vlerh | |
170 #define vec_vsterf vec_vlerh | |
171 #define vec_vsterg vec_vlerh | |
172 #define vec_vsterf_flt vec_vlerf_flt | |
173 #define vec_vsterg_dbl vec_vlerg_dbl | |
162 #define vec_gather_element __builtin_s390_vec_gather_element | 174 #define vec_gather_element __builtin_s390_vec_gather_element |
163 #define vec_xl __builtin_s390_vec_xl | 175 #define vec_xl __builtin_s390_vec_xl |
164 #define vec_xld2 __builtin_s390_vec_xld2 | 176 #define vec_xld2 __builtin_s390_vec_xld2 |
165 #define vec_xlw4 __builtin_s390_vec_xlw4 | 177 #define vec_xlw4 __builtin_s390_vec_xlw4 |
166 #define vec_splats __builtin_s390_vec_splats | 178 #define vec_splats __builtin_s390_vec_splats |
299 #define vec_ctd __builtin_s390_vec_ctd | 311 #define vec_ctd __builtin_s390_vec_ctd |
300 #define vec_ctd_s64 __builtin_s390_vec_ctd_s64 | 312 #define vec_ctd_s64 __builtin_s390_vec_ctd_s64 |
301 #define vec_ctd_u64 __builtin_s390_vec_ctd_u64 | 313 #define vec_ctd_u64 __builtin_s390_vec_ctd_u64 |
302 #define vec_ctsl __builtin_s390_vec_ctsl | 314 #define vec_ctsl __builtin_s390_vec_ctsl |
303 #define vec_ctul __builtin_s390_vec_ctul | 315 #define vec_ctul __builtin_s390_vec_ctul |
316 #define vec_float __builtin_s390_vec_float | |
317 #define vec_double __builtin_s390_vec_double | |
318 #define vec_signed __builtin_s390_vec_signed | |
319 #define vec_unsigned __builtin_s390_vec_unsigned | |
304 #define vec_ld2f __builtin_s390_vec_ld2f | 320 #define vec_ld2f __builtin_s390_vec_ld2f |
305 #define vec_st2f __builtin_s390_vec_st2f | 321 #define vec_st2f __builtin_s390_vec_st2f |
306 #define vec_double __builtin_s390_vec_double | |
307 #define vec_madd __builtin_s390_vec_madd | 322 #define vec_madd __builtin_s390_vec_madd |
308 #define vec_msub __builtin_s390_vec_msub | 323 #define vec_msub __builtin_s390_vec_msub |
309 #define vec_nmadd __builtin_s390_vec_nmadd | 324 #define vec_nmadd __builtin_s390_vec_nmadd |
310 #define vec_nmsub __builtin_s390_vec_nmsub | 325 #define vec_nmsub __builtin_s390_vec_nmsub |
311 #define vec_nabs __builtin_s390_vec_nabs | 326 #define vec_nabs __builtin_s390_vec_nabs |
312 #define vec_sqrt __builtin_s390_vec_sqrt | 327 #define vec_sqrt __builtin_s390_vec_sqrt |
313 #define vec_fp_test_data_class __builtin_s390_vec_fp_test_data_class | 328 #define vec_fp_test_data_class __builtin_s390_vec_fp_test_data_class |
329 #define vec_revb __builtin_s390_vec_revb | |
330 #define vec_reve __builtin_s390_vec_reve | |
331 #define vec_sldb __builtin_s390_vec_sldb | |
332 #define vec_srdb __builtin_s390_vec_srdb | |
333 #define vec_search_string_cc __builtin_s390_vec_search_string_cc | |
334 #define vec_search_string_until_zero_cc __builtin_s390_vec_search_string_until_zero_cc | |
314 #endif /* _VECINTRIN_H */ | 335 #endif /* _VECINTRIN_H */ |