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 */