@cpp-linter/clang-tidy-win32-x64 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.TXT +279 -0
- package/README.md +7 -0
- package/bin/clang-tidy.exe +4 -0
- package/lib/clang/12.0.1/include/__clang_cuda_builtin_vars.h +121 -0
- package/lib/clang/12.0.1/include/__clang_cuda_cmath.h +512 -0
- package/lib/clang/12.0.1/include/__clang_cuda_complex_builtins.h +285 -0
- package/lib/clang/12.0.1/include/__clang_cuda_device_functions.h +1486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_intrinsics.h +486 -0
- package/lib/clang/12.0.1/include/__clang_cuda_libdevice_declares.h +462 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math.h +348 -0
- package/lib/clang/12.0.1/include/__clang_cuda_math_forward_declares.h +284 -0
- package/lib/clang/12.0.1/include/__clang_cuda_runtime_wrapper.h +443 -0
- package/lib/clang/12.0.1/include/__clang_hip_cmath.h +664 -0
- package/lib/clang/12.0.1/include/__clang_hip_libdevice_declares.h +334 -0
- package/lib/clang/12.0.1/include/__clang_hip_math.h +1275 -0
- package/lib/clang/12.0.1/include/__clang_hip_runtime_wrapper.h +69 -0
- package/lib/clang/12.0.1/include/__stddef_max_align_t.h +27 -0
- package/lib/clang/12.0.1/include/__wmmintrin_aes.h +140 -0
- package/lib/clang/12.0.1/include/__wmmintrin_pclmul.h +48 -0
- package/lib/clang/12.0.1/include/adxintrin.h +72 -0
- package/lib/clang/12.0.1/include/altivec.h +18239 -0
- package/lib/clang/12.0.1/include/ammintrin.h +179 -0
- package/lib/clang/12.0.1/include/amxintrin.h +278 -0
- package/lib/clang/12.0.1/include/arm64intr.h +35 -0
- package/lib/clang/12.0.1/include/arm_acle.h +716 -0
- package/lib/clang/12.0.1/include/arm_bf16.h +20 -0
- package/lib/clang/12.0.1/include/arm_cde.h +410 -0
- package/lib/clang/12.0.1/include/arm_cmse.h +217 -0
- package/lib/clang/12.0.1/include/arm_fp16.h +596 -0
- package/lib/clang/12.0.1/include/arm_mve.h +19187 -0
- package/lib/clang/12.0.1/include/arm_neon.h +68982 -0
- package/lib/clang/12.0.1/include/arm_sve.h +18148 -0
- package/lib/clang/12.0.1/include/armintr.h +31 -0
- package/lib/clang/12.0.1/include/avx2intrin.h +1148 -0
- package/lib/clang/12.0.1/include/avx512bf16intrin.h +279 -0
- package/lib/clang/12.0.1/include/avx512bitalgintrin.h +83 -0
- package/lib/clang/12.0.1/include/avx512bwintrin.h +2024 -0
- package/lib/clang/12.0.1/include/avx512cdintrin.h +123 -0
- package/lib/clang/12.0.1/include/avx512dqintrin.h +1377 -0
- package/lib/clang/12.0.1/include/avx512erintrin.h +271 -0
- package/lib/clang/12.0.1/include/avx512fintrin.h +9618 -0
- package/lib/clang/12.0.1/include/avx512ifmaintrin.h +68 -0
- package/lib/clang/12.0.1/include/avx512ifmavlintrin.h +119 -0
- package/lib/clang/12.0.1/include/avx512pfintrin.h +97 -0
- package/lib/clang/12.0.1/include/avx512vbmi2intrin.h +357 -0
- package/lib/clang/12.0.1/include/avx512vbmiintrin.h +105 -0
- package/lib/clang/12.0.1/include/avx512vbmivlintrin.h +188 -0
- package/lib/clang/12.0.1/include/avx512vlbf16intrin.h +474 -0
- package/lib/clang/12.0.1/include/avx512vlbitalgintrin.h +145 -0
- package/lib/clang/12.0.1/include/avx512vlbwintrin.h +2809 -0
- package/lib/clang/12.0.1/include/avx512vlcdintrin.h +225 -0
- package/lib/clang/12.0.1/include/avx512vldqintrin.h +1167 -0
- package/lib/clang/12.0.1/include/avx512vlintrin.h +8445 -0
- package/lib/clang/12.0.1/include/avx512vlvbmi2intrin.h +689 -0
- package/lib/clang/12.0.1/include/avx512vlvnniintrin.h +304 -0
- package/lib/clang/12.0.1/include/avx512vlvp2intersectintrin.h +121 -0
- package/lib/clang/12.0.1/include/avx512vnniintrin.h +115 -0
- package/lib/clang/12.0.1/include/avx512vp2intersectintrin.h +77 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqintrin.h +54 -0
- package/lib/clang/12.0.1/include/avx512vpopcntdqvlintrin.h +91 -0
- package/lib/clang/12.0.1/include/avxintrin.h +5053 -0
- package/lib/clang/12.0.1/include/avxvnniintrin.h +225 -0
- package/lib/clang/12.0.1/include/bmi2intrin.h +81 -0
- package/lib/clang/12.0.1/include/bmiintrin.h +427 -0
- package/lib/clang/12.0.1/include/cet.h +66 -0
- package/lib/clang/12.0.1/include/cetintrin.h +99 -0
- package/lib/clang/12.0.1/include/cldemoteintrin.h +36 -0
- package/lib/clang/12.0.1/include/clflushoptintrin.h +27 -0
- package/lib/clang/12.0.1/include/clwbintrin.h +38 -0
- package/lib/clang/12.0.1/include/clzerointrin.h +36 -0
- package/lib/clang/12.0.1/include/cpuid.h +319 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/algorithm +116 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/complex +82 -0
- package/lib/clang/12.0.1/include/cuda_wrappers/new +106 -0
- package/lib/clang/12.0.1/include/emmintrin.h +4981 -0
- package/lib/clang/12.0.1/include/enqcmdintrin.h +63 -0
- package/lib/clang/12.0.1/include/f16cintrin.h +162 -0
- package/lib/clang/12.0.1/include/float.h +152 -0
- package/lib/clang/12.0.1/include/fma4intrin.h +218 -0
- package/lib/clang/12.0.1/include/fmaintrin.h +216 -0
- package/lib/clang/12.0.1/include/fxsrintrin.h +91 -0
- package/lib/clang/12.0.1/include/gfniintrin.h +193 -0
- package/lib/clang/12.0.1/include/hresetintrin.h +49 -0
- package/lib/clang/12.0.1/include/htmintrin.h +212 -0
- package/lib/clang/12.0.1/include/htmxlintrin.h +345 -0
- package/lib/clang/12.0.1/include/ia32intrin.h +441 -0
- package/lib/clang/12.0.1/include/immintrin.h +600 -0
- package/lib/clang/12.0.1/include/intrin.h +585 -0
- package/lib/clang/12.0.1/include/inttypes.h +97 -0
- package/lib/clang/12.0.1/include/invpcidintrin.h +23 -0
- package/lib/clang/12.0.1/include/iso646.h +27 -0
- package/lib/clang/12.0.1/include/keylockerintrin.h +506 -0
- package/lib/clang/12.0.1/include/limits.h +102 -0
- package/lib/clang/12.0.1/include/lwpintrin.h +136 -0
- package/lib/clang/12.0.1/include/lzcntintrin.h +104 -0
- package/lib/clang/12.0.1/include/mm3dnow.h +157 -0
- package/lib/clang/12.0.1/include/mm_malloc.h +67 -0
- package/lib/clang/12.0.1/include/mmintrin.h +1558 -0
- package/lib/clang/12.0.1/include/module.modulemap +164 -0
- package/lib/clang/12.0.1/include/movdirintrin.h +49 -0
- package/lib/clang/12.0.1/include/msa.h +573 -0
- package/lib/clang/12.0.1/include/mwaitxintrin.h +33 -0
- package/lib/clang/12.0.1/include/nmmintrin.h +16 -0
- package/lib/clang/12.0.1/include/opencl-c-base.h +589 -0
- package/lib/clang/12.0.1/include/opencl-c.h +17162 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/__clang_openmp_device_functions.h +42 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/cmath +78 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex +52 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex.h +27 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/complex_cmath.h +388 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/math.h +51 -0
- package/lib/clang/12.0.1/include/openmp_wrappers/new +70 -0
- package/lib/clang/12.0.1/include/pconfigintrin.h +40 -0
- package/lib/clang/12.0.1/include/pkuintrin.h +34 -0
- package/lib/clang/12.0.1/include/pmmintrin.h +290 -0
- package/lib/clang/12.0.1/include/popcntintrin.h +59 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/emmintrin.h +2324 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mm_malloc.h +50 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/mmintrin.h +1450 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/pmmintrin.h +150 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/smmintrin.h +109 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/tmmintrin.h +495 -0
- package/lib/clang/12.0.1/include/ppc_wrappers/xmmintrin.h +1843 -0
- package/lib/clang/12.0.1/include/prfchwintrin.h +55 -0
- package/lib/clang/12.0.1/include/ptwriteintrin.h +37 -0
- package/lib/clang/12.0.1/include/rdseedintrin.h +42 -0
- package/lib/clang/12.0.1/include/rtmintrin.h +45 -0
- package/lib/clang/12.0.1/include/s390intrin.h +25 -0
- package/lib/clang/12.0.1/include/serializeintrin.h +30 -0
- package/lib/clang/12.0.1/include/sgxintrin.h +60 -0
- package/lib/clang/12.0.1/include/shaintrin.h +61 -0
- package/lib/clang/12.0.1/include/smmintrin.h +2430 -0
- package/lib/clang/12.0.1/include/stdalign.h +21 -0
- package/lib/clang/12.0.1/include/stdarg.h +35 -0
- package/lib/clang/12.0.1/include/stdatomic.h +176 -0
- package/lib/clang/12.0.1/include/stdbool.h +31 -0
- package/lib/clang/12.0.1/include/stddef.h +121 -0
- package/lib/clang/12.0.1/include/stdint.h +693 -0
- package/lib/clang/12.0.1/include/stdnoreturn.h +16 -0
- package/lib/clang/12.0.1/include/tbmintrin.h +140 -0
- package/lib/clang/12.0.1/include/tgmath.h +1368 -0
- package/lib/clang/12.0.1/include/tmmintrin.h +771 -0
- package/lib/clang/12.0.1/include/tsxldtrkintrin.h +56 -0
- package/lib/clang/12.0.1/include/uintrintrin.h +150 -0
- package/lib/clang/12.0.1/include/unwind.h +327 -0
- package/lib/clang/12.0.1/include/vadefs.h +51 -0
- package/lib/clang/12.0.1/include/vaesintrin.h +84 -0
- package/lib/clang/12.0.1/include/varargs.h +12 -0
- package/lib/clang/12.0.1/include/vecintrin.h +10998 -0
- package/lib/clang/12.0.1/include/vpclmulqdqintrin.h +28 -0
- package/lib/clang/12.0.1/include/waitpkgintrin.h +42 -0
- package/lib/clang/12.0.1/include/wasm_simd128.h +1167 -0
- package/lib/clang/12.0.1/include/wbnoinvdintrin.h +24 -0
- package/lib/clang/12.0.1/include/wmmintrin.h +19 -0
- package/lib/clang/12.0.1/include/x86gprintrin.h +23 -0
- package/lib/clang/12.0.1/include/x86intrin.h +63 -0
- package/lib/clang/12.0.1/include/xmmintrin.h +3008 -0
- package/lib/clang/12.0.1/include/xopintrin.h +770 -0
- package/lib/clang/12.0.1/include/xsavecintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsaveintrin.h +63 -0
- package/lib/clang/12.0.1/include/xsaveoptintrin.h +34 -0
- package/lib/clang/12.0.1/include/xsavesintrin.h +44 -0
- package/lib/clang/12.0.1/include/xtestintrin.h +27 -0
- package/package.json +32 -0
|
@@ -0,0 +1,596 @@
|
|
|
1
|
+
/*===---- arm_fp16.h - ARM FP16 intrinsics ---------------------------------===
|
|
2
|
+
*
|
|
3
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
* in the Software without restriction, including without limitation the rights
|
|
6
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
* furnished to do so, subject to the following conditions:
|
|
9
|
+
*
|
|
10
|
+
* The above copyright notice and this permission notice shall be included in
|
|
11
|
+
* all copies or substantial portions of the Software.
|
|
12
|
+
*
|
|
13
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
* THE SOFTWARE.
|
|
20
|
+
*
|
|
21
|
+
*===-----------------------------------------------------------------------===
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
#ifndef __ARM_FP16_H
|
|
25
|
+
#define __ARM_FP16_H
|
|
26
|
+
|
|
27
|
+
#include <stdint.h>
|
|
28
|
+
|
|
29
|
+
typedef __fp16 float16_t;
|
|
30
|
+
#define __ai static __inline__ __attribute__((__always_inline__, __nodebug__))
|
|
31
|
+
|
|
32
|
+
#if defined(__ARM_FEATURE_FP16_SCALAR_ARITHMETIC) && defined(__aarch64__)
|
|
33
|
+
#define vabdh_f16(__p0, __p1) __extension__ ({ \
|
|
34
|
+
float16_t __s0 = __p0; \
|
|
35
|
+
float16_t __s1 = __p1; \
|
|
36
|
+
float16_t __ret; \
|
|
37
|
+
__ret = (float16_t) __builtin_neon_vabdh_f16(__s0, __s1); \
|
|
38
|
+
__ret; \
|
|
39
|
+
})
|
|
40
|
+
#define vabsh_f16(__p0) __extension__ ({ \
|
|
41
|
+
float16_t __s0 = __p0; \
|
|
42
|
+
float16_t __ret; \
|
|
43
|
+
__ret = (float16_t) __builtin_neon_vabsh_f16(__s0); \
|
|
44
|
+
__ret; \
|
|
45
|
+
})
|
|
46
|
+
#define vaddh_f16(__p0, __p1) __extension__ ({ \
|
|
47
|
+
float16_t __s0 = __p0; \
|
|
48
|
+
float16_t __s1 = __p1; \
|
|
49
|
+
float16_t __ret; \
|
|
50
|
+
__ret = (float16_t) __builtin_neon_vaddh_f16(__s0, __s1); \
|
|
51
|
+
__ret; \
|
|
52
|
+
})
|
|
53
|
+
#define vcageh_f16(__p0, __p1) __extension__ ({ \
|
|
54
|
+
float16_t __s0 = __p0; \
|
|
55
|
+
float16_t __s1 = __p1; \
|
|
56
|
+
uint16_t __ret; \
|
|
57
|
+
__ret = (uint16_t) __builtin_neon_vcageh_f16(__s0, __s1); \
|
|
58
|
+
__ret; \
|
|
59
|
+
})
|
|
60
|
+
#define vcagth_f16(__p0, __p1) __extension__ ({ \
|
|
61
|
+
float16_t __s0 = __p0; \
|
|
62
|
+
float16_t __s1 = __p1; \
|
|
63
|
+
uint16_t __ret; \
|
|
64
|
+
__ret = (uint16_t) __builtin_neon_vcagth_f16(__s0, __s1); \
|
|
65
|
+
__ret; \
|
|
66
|
+
})
|
|
67
|
+
#define vcaleh_f16(__p0, __p1) __extension__ ({ \
|
|
68
|
+
float16_t __s0 = __p0; \
|
|
69
|
+
float16_t __s1 = __p1; \
|
|
70
|
+
uint16_t __ret; \
|
|
71
|
+
__ret = (uint16_t) __builtin_neon_vcaleh_f16(__s0, __s1); \
|
|
72
|
+
__ret; \
|
|
73
|
+
})
|
|
74
|
+
#define vcalth_f16(__p0, __p1) __extension__ ({ \
|
|
75
|
+
float16_t __s0 = __p0; \
|
|
76
|
+
float16_t __s1 = __p1; \
|
|
77
|
+
uint16_t __ret; \
|
|
78
|
+
__ret = (uint16_t) __builtin_neon_vcalth_f16(__s0, __s1); \
|
|
79
|
+
__ret; \
|
|
80
|
+
})
|
|
81
|
+
#define vceqh_f16(__p0, __p1) __extension__ ({ \
|
|
82
|
+
float16_t __s0 = __p0; \
|
|
83
|
+
float16_t __s1 = __p1; \
|
|
84
|
+
uint16_t __ret; \
|
|
85
|
+
__ret = (uint16_t) __builtin_neon_vceqh_f16(__s0, __s1); \
|
|
86
|
+
__ret; \
|
|
87
|
+
})
|
|
88
|
+
#define vceqzh_f16(__p0) __extension__ ({ \
|
|
89
|
+
float16_t __s0 = __p0; \
|
|
90
|
+
uint16_t __ret; \
|
|
91
|
+
__ret = (uint16_t) __builtin_neon_vceqzh_f16(__s0); \
|
|
92
|
+
__ret; \
|
|
93
|
+
})
|
|
94
|
+
#define vcgeh_f16(__p0, __p1) __extension__ ({ \
|
|
95
|
+
float16_t __s0 = __p0; \
|
|
96
|
+
float16_t __s1 = __p1; \
|
|
97
|
+
uint16_t __ret; \
|
|
98
|
+
__ret = (uint16_t) __builtin_neon_vcgeh_f16(__s0, __s1); \
|
|
99
|
+
__ret; \
|
|
100
|
+
})
|
|
101
|
+
#define vcgezh_f16(__p0) __extension__ ({ \
|
|
102
|
+
float16_t __s0 = __p0; \
|
|
103
|
+
uint16_t __ret; \
|
|
104
|
+
__ret = (uint16_t) __builtin_neon_vcgezh_f16(__s0); \
|
|
105
|
+
__ret; \
|
|
106
|
+
})
|
|
107
|
+
#define vcgth_f16(__p0, __p1) __extension__ ({ \
|
|
108
|
+
float16_t __s0 = __p0; \
|
|
109
|
+
float16_t __s1 = __p1; \
|
|
110
|
+
uint16_t __ret; \
|
|
111
|
+
__ret = (uint16_t) __builtin_neon_vcgth_f16(__s0, __s1); \
|
|
112
|
+
__ret; \
|
|
113
|
+
})
|
|
114
|
+
#define vcgtzh_f16(__p0) __extension__ ({ \
|
|
115
|
+
float16_t __s0 = __p0; \
|
|
116
|
+
uint16_t __ret; \
|
|
117
|
+
__ret = (uint16_t) __builtin_neon_vcgtzh_f16(__s0); \
|
|
118
|
+
__ret; \
|
|
119
|
+
})
|
|
120
|
+
#define vcleh_f16(__p0, __p1) __extension__ ({ \
|
|
121
|
+
float16_t __s0 = __p0; \
|
|
122
|
+
float16_t __s1 = __p1; \
|
|
123
|
+
uint16_t __ret; \
|
|
124
|
+
__ret = (uint16_t) __builtin_neon_vcleh_f16(__s0, __s1); \
|
|
125
|
+
__ret; \
|
|
126
|
+
})
|
|
127
|
+
#define vclezh_f16(__p0) __extension__ ({ \
|
|
128
|
+
float16_t __s0 = __p0; \
|
|
129
|
+
uint16_t __ret; \
|
|
130
|
+
__ret = (uint16_t) __builtin_neon_vclezh_f16(__s0); \
|
|
131
|
+
__ret; \
|
|
132
|
+
})
|
|
133
|
+
#define vclth_f16(__p0, __p1) __extension__ ({ \
|
|
134
|
+
float16_t __s0 = __p0; \
|
|
135
|
+
float16_t __s1 = __p1; \
|
|
136
|
+
uint16_t __ret; \
|
|
137
|
+
__ret = (uint16_t) __builtin_neon_vclth_f16(__s0, __s1); \
|
|
138
|
+
__ret; \
|
|
139
|
+
})
|
|
140
|
+
#define vcltzh_f16(__p0) __extension__ ({ \
|
|
141
|
+
float16_t __s0 = __p0; \
|
|
142
|
+
uint16_t __ret; \
|
|
143
|
+
__ret = (uint16_t) __builtin_neon_vcltzh_f16(__s0); \
|
|
144
|
+
__ret; \
|
|
145
|
+
})
|
|
146
|
+
#define vcvth_n_s16_f16(__p0, __p1) __extension__ ({ \
|
|
147
|
+
float16_t __s0 = __p0; \
|
|
148
|
+
int16_t __ret; \
|
|
149
|
+
__ret = (int16_t) __builtin_neon_vcvth_n_s16_f16(__s0, __p1); \
|
|
150
|
+
__ret; \
|
|
151
|
+
})
|
|
152
|
+
#define vcvth_n_s32_f16(__p0, __p1) __extension__ ({ \
|
|
153
|
+
float16_t __s0 = __p0; \
|
|
154
|
+
int32_t __ret; \
|
|
155
|
+
__ret = (int32_t) __builtin_neon_vcvth_n_s32_f16(__s0, __p1); \
|
|
156
|
+
__ret; \
|
|
157
|
+
})
|
|
158
|
+
#define vcvth_n_s64_f16(__p0, __p1) __extension__ ({ \
|
|
159
|
+
float16_t __s0 = __p0; \
|
|
160
|
+
int64_t __ret; \
|
|
161
|
+
__ret = (int64_t) __builtin_neon_vcvth_n_s64_f16(__s0, __p1); \
|
|
162
|
+
__ret; \
|
|
163
|
+
})
|
|
164
|
+
#define vcvth_n_u16_f16(__p0, __p1) __extension__ ({ \
|
|
165
|
+
float16_t __s0 = __p0; \
|
|
166
|
+
uint16_t __ret; \
|
|
167
|
+
__ret = (uint16_t) __builtin_neon_vcvth_n_u16_f16(__s0, __p1); \
|
|
168
|
+
__ret; \
|
|
169
|
+
})
|
|
170
|
+
#define vcvth_n_u32_f16(__p0, __p1) __extension__ ({ \
|
|
171
|
+
float16_t __s0 = __p0; \
|
|
172
|
+
uint32_t __ret; \
|
|
173
|
+
__ret = (uint32_t) __builtin_neon_vcvth_n_u32_f16(__s0, __p1); \
|
|
174
|
+
__ret; \
|
|
175
|
+
})
|
|
176
|
+
#define vcvth_n_u64_f16(__p0, __p1) __extension__ ({ \
|
|
177
|
+
float16_t __s0 = __p0; \
|
|
178
|
+
uint64_t __ret; \
|
|
179
|
+
__ret = (uint64_t) __builtin_neon_vcvth_n_u64_f16(__s0, __p1); \
|
|
180
|
+
__ret; \
|
|
181
|
+
})
|
|
182
|
+
#define vcvth_s16_f16(__p0) __extension__ ({ \
|
|
183
|
+
float16_t __s0 = __p0; \
|
|
184
|
+
int16_t __ret; \
|
|
185
|
+
__ret = (int16_t) __builtin_neon_vcvth_s16_f16(__s0); \
|
|
186
|
+
__ret; \
|
|
187
|
+
})
|
|
188
|
+
#define vcvth_s32_f16(__p0) __extension__ ({ \
|
|
189
|
+
float16_t __s0 = __p0; \
|
|
190
|
+
int32_t __ret; \
|
|
191
|
+
__ret = (int32_t) __builtin_neon_vcvth_s32_f16(__s0); \
|
|
192
|
+
__ret; \
|
|
193
|
+
})
|
|
194
|
+
#define vcvth_s64_f16(__p0) __extension__ ({ \
|
|
195
|
+
float16_t __s0 = __p0; \
|
|
196
|
+
int64_t __ret; \
|
|
197
|
+
__ret = (int64_t) __builtin_neon_vcvth_s64_f16(__s0); \
|
|
198
|
+
__ret; \
|
|
199
|
+
})
|
|
200
|
+
#define vcvth_u16_f16(__p0) __extension__ ({ \
|
|
201
|
+
float16_t __s0 = __p0; \
|
|
202
|
+
uint16_t __ret; \
|
|
203
|
+
__ret = (uint16_t) __builtin_neon_vcvth_u16_f16(__s0); \
|
|
204
|
+
__ret; \
|
|
205
|
+
})
|
|
206
|
+
#define vcvth_u32_f16(__p0) __extension__ ({ \
|
|
207
|
+
float16_t __s0 = __p0; \
|
|
208
|
+
uint32_t __ret; \
|
|
209
|
+
__ret = (uint32_t) __builtin_neon_vcvth_u32_f16(__s0); \
|
|
210
|
+
__ret; \
|
|
211
|
+
})
|
|
212
|
+
#define vcvth_u64_f16(__p0) __extension__ ({ \
|
|
213
|
+
float16_t __s0 = __p0; \
|
|
214
|
+
uint64_t __ret; \
|
|
215
|
+
__ret = (uint64_t) __builtin_neon_vcvth_u64_f16(__s0); \
|
|
216
|
+
__ret; \
|
|
217
|
+
})
|
|
218
|
+
#define vcvtah_s16_f16(__p0) __extension__ ({ \
|
|
219
|
+
float16_t __s0 = __p0; \
|
|
220
|
+
int16_t __ret; \
|
|
221
|
+
__ret = (int16_t) __builtin_neon_vcvtah_s16_f16(__s0); \
|
|
222
|
+
__ret; \
|
|
223
|
+
})
|
|
224
|
+
#define vcvtah_s32_f16(__p0) __extension__ ({ \
|
|
225
|
+
float16_t __s0 = __p0; \
|
|
226
|
+
int32_t __ret; \
|
|
227
|
+
__ret = (int32_t) __builtin_neon_vcvtah_s32_f16(__s0); \
|
|
228
|
+
__ret; \
|
|
229
|
+
})
|
|
230
|
+
#define vcvtah_s64_f16(__p0) __extension__ ({ \
|
|
231
|
+
float16_t __s0 = __p0; \
|
|
232
|
+
int64_t __ret; \
|
|
233
|
+
__ret = (int64_t) __builtin_neon_vcvtah_s64_f16(__s0); \
|
|
234
|
+
__ret; \
|
|
235
|
+
})
|
|
236
|
+
#define vcvtah_u16_f16(__p0) __extension__ ({ \
|
|
237
|
+
float16_t __s0 = __p0; \
|
|
238
|
+
uint16_t __ret; \
|
|
239
|
+
__ret = (uint16_t) __builtin_neon_vcvtah_u16_f16(__s0); \
|
|
240
|
+
__ret; \
|
|
241
|
+
})
|
|
242
|
+
#define vcvtah_u32_f16(__p0) __extension__ ({ \
|
|
243
|
+
float16_t __s0 = __p0; \
|
|
244
|
+
uint32_t __ret; \
|
|
245
|
+
__ret = (uint32_t) __builtin_neon_vcvtah_u32_f16(__s0); \
|
|
246
|
+
__ret; \
|
|
247
|
+
})
|
|
248
|
+
#define vcvtah_u64_f16(__p0) __extension__ ({ \
|
|
249
|
+
float16_t __s0 = __p0; \
|
|
250
|
+
uint64_t __ret; \
|
|
251
|
+
__ret = (uint64_t) __builtin_neon_vcvtah_u64_f16(__s0); \
|
|
252
|
+
__ret; \
|
|
253
|
+
})
|
|
254
|
+
#define vcvth_f16_u16(__p0) __extension__ ({ \
|
|
255
|
+
uint16_t __s0 = __p0; \
|
|
256
|
+
float16_t __ret; \
|
|
257
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_u16(__s0); \
|
|
258
|
+
__ret; \
|
|
259
|
+
})
|
|
260
|
+
#define vcvth_f16_s16(__p0) __extension__ ({ \
|
|
261
|
+
int16_t __s0 = __p0; \
|
|
262
|
+
float16_t __ret; \
|
|
263
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_s16(__s0); \
|
|
264
|
+
__ret; \
|
|
265
|
+
})
|
|
266
|
+
#define vcvth_f16_u32(__p0) __extension__ ({ \
|
|
267
|
+
uint32_t __s0 = __p0; \
|
|
268
|
+
float16_t __ret; \
|
|
269
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_u32(__s0); \
|
|
270
|
+
__ret; \
|
|
271
|
+
})
|
|
272
|
+
#define vcvth_f16_s32(__p0) __extension__ ({ \
|
|
273
|
+
int32_t __s0 = __p0; \
|
|
274
|
+
float16_t __ret; \
|
|
275
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_s32(__s0); \
|
|
276
|
+
__ret; \
|
|
277
|
+
})
|
|
278
|
+
#define vcvth_f16_u64(__p0) __extension__ ({ \
|
|
279
|
+
uint64_t __s0 = __p0; \
|
|
280
|
+
float16_t __ret; \
|
|
281
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_u64(__s0); \
|
|
282
|
+
__ret; \
|
|
283
|
+
})
|
|
284
|
+
#define vcvth_f16_s64(__p0) __extension__ ({ \
|
|
285
|
+
int64_t __s0 = __p0; \
|
|
286
|
+
float16_t __ret; \
|
|
287
|
+
__ret = (float16_t) __builtin_neon_vcvth_f16_s64(__s0); \
|
|
288
|
+
__ret; \
|
|
289
|
+
})
|
|
290
|
+
#define vcvth_n_f16_u32(__p0, __p1) __extension__ ({ \
|
|
291
|
+
uint32_t __s0 = __p0; \
|
|
292
|
+
float16_t __ret; \
|
|
293
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_u32(__s0, __p1); \
|
|
294
|
+
__ret; \
|
|
295
|
+
})
|
|
296
|
+
#define vcvth_n_f16_s32(__p0, __p1) __extension__ ({ \
|
|
297
|
+
int32_t __s0 = __p0; \
|
|
298
|
+
float16_t __ret; \
|
|
299
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_s32(__s0, __p1); \
|
|
300
|
+
__ret; \
|
|
301
|
+
})
|
|
302
|
+
#define vcvth_n_f16_u64(__p0, __p1) __extension__ ({ \
|
|
303
|
+
uint64_t __s0 = __p0; \
|
|
304
|
+
float16_t __ret; \
|
|
305
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_u64(__s0, __p1); \
|
|
306
|
+
__ret; \
|
|
307
|
+
})
|
|
308
|
+
#define vcvth_n_f16_s64(__p0, __p1) __extension__ ({ \
|
|
309
|
+
int64_t __s0 = __p0; \
|
|
310
|
+
float16_t __ret; \
|
|
311
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_s64(__s0, __p1); \
|
|
312
|
+
__ret; \
|
|
313
|
+
})
|
|
314
|
+
#define vcvth_n_f16_u16(__p0, __p1) __extension__ ({ \
|
|
315
|
+
uint16_t __s0 = __p0; \
|
|
316
|
+
float16_t __ret; \
|
|
317
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_u16(__s0, __p1); \
|
|
318
|
+
__ret; \
|
|
319
|
+
})
|
|
320
|
+
#define vcvth_n_f16_s16(__p0, __p1) __extension__ ({ \
|
|
321
|
+
int16_t __s0 = __p0; \
|
|
322
|
+
float16_t __ret; \
|
|
323
|
+
__ret = (float16_t) __builtin_neon_vcvth_n_f16_s16(__s0, __p1); \
|
|
324
|
+
__ret; \
|
|
325
|
+
})
|
|
326
|
+
#define vcvtmh_s16_f16(__p0) __extension__ ({ \
|
|
327
|
+
float16_t __s0 = __p0; \
|
|
328
|
+
int16_t __ret; \
|
|
329
|
+
__ret = (int16_t) __builtin_neon_vcvtmh_s16_f16(__s0); \
|
|
330
|
+
__ret; \
|
|
331
|
+
})
|
|
332
|
+
#define vcvtmh_s32_f16(__p0) __extension__ ({ \
|
|
333
|
+
float16_t __s0 = __p0; \
|
|
334
|
+
int32_t __ret; \
|
|
335
|
+
__ret = (int32_t) __builtin_neon_vcvtmh_s32_f16(__s0); \
|
|
336
|
+
__ret; \
|
|
337
|
+
})
|
|
338
|
+
#define vcvtmh_s64_f16(__p0) __extension__ ({ \
|
|
339
|
+
float16_t __s0 = __p0; \
|
|
340
|
+
int64_t __ret; \
|
|
341
|
+
__ret = (int64_t) __builtin_neon_vcvtmh_s64_f16(__s0); \
|
|
342
|
+
__ret; \
|
|
343
|
+
})
|
|
344
|
+
#define vcvtmh_u16_f16(__p0) __extension__ ({ \
|
|
345
|
+
float16_t __s0 = __p0; \
|
|
346
|
+
uint16_t __ret; \
|
|
347
|
+
__ret = (uint16_t) __builtin_neon_vcvtmh_u16_f16(__s0); \
|
|
348
|
+
__ret; \
|
|
349
|
+
})
|
|
350
|
+
#define vcvtmh_u32_f16(__p0) __extension__ ({ \
|
|
351
|
+
float16_t __s0 = __p0; \
|
|
352
|
+
uint32_t __ret; \
|
|
353
|
+
__ret = (uint32_t) __builtin_neon_vcvtmh_u32_f16(__s0); \
|
|
354
|
+
__ret; \
|
|
355
|
+
})
|
|
356
|
+
#define vcvtmh_u64_f16(__p0) __extension__ ({ \
|
|
357
|
+
float16_t __s0 = __p0; \
|
|
358
|
+
uint64_t __ret; \
|
|
359
|
+
__ret = (uint64_t) __builtin_neon_vcvtmh_u64_f16(__s0); \
|
|
360
|
+
__ret; \
|
|
361
|
+
})
|
|
362
|
+
#define vcvtnh_s16_f16(__p0) __extension__ ({ \
|
|
363
|
+
float16_t __s0 = __p0; \
|
|
364
|
+
int16_t __ret; \
|
|
365
|
+
__ret = (int16_t) __builtin_neon_vcvtnh_s16_f16(__s0); \
|
|
366
|
+
__ret; \
|
|
367
|
+
})
|
|
368
|
+
#define vcvtnh_s32_f16(__p0) __extension__ ({ \
|
|
369
|
+
float16_t __s0 = __p0; \
|
|
370
|
+
int32_t __ret; \
|
|
371
|
+
__ret = (int32_t) __builtin_neon_vcvtnh_s32_f16(__s0); \
|
|
372
|
+
__ret; \
|
|
373
|
+
})
|
|
374
|
+
#define vcvtnh_s64_f16(__p0) __extension__ ({ \
|
|
375
|
+
float16_t __s0 = __p0; \
|
|
376
|
+
int64_t __ret; \
|
|
377
|
+
__ret = (int64_t) __builtin_neon_vcvtnh_s64_f16(__s0); \
|
|
378
|
+
__ret; \
|
|
379
|
+
})
|
|
380
|
+
#define vcvtnh_u16_f16(__p0) __extension__ ({ \
|
|
381
|
+
float16_t __s0 = __p0; \
|
|
382
|
+
uint16_t __ret; \
|
|
383
|
+
__ret = (uint16_t) __builtin_neon_vcvtnh_u16_f16(__s0); \
|
|
384
|
+
__ret; \
|
|
385
|
+
})
|
|
386
|
+
#define vcvtnh_u32_f16(__p0) __extension__ ({ \
|
|
387
|
+
float16_t __s0 = __p0; \
|
|
388
|
+
uint32_t __ret; \
|
|
389
|
+
__ret = (uint32_t) __builtin_neon_vcvtnh_u32_f16(__s0); \
|
|
390
|
+
__ret; \
|
|
391
|
+
})
|
|
392
|
+
#define vcvtnh_u64_f16(__p0) __extension__ ({ \
|
|
393
|
+
float16_t __s0 = __p0; \
|
|
394
|
+
uint64_t __ret; \
|
|
395
|
+
__ret = (uint64_t) __builtin_neon_vcvtnh_u64_f16(__s0); \
|
|
396
|
+
__ret; \
|
|
397
|
+
})
|
|
398
|
+
#define vcvtph_s16_f16(__p0) __extension__ ({ \
|
|
399
|
+
float16_t __s0 = __p0; \
|
|
400
|
+
int16_t __ret; \
|
|
401
|
+
__ret = (int16_t) __builtin_neon_vcvtph_s16_f16(__s0); \
|
|
402
|
+
__ret; \
|
|
403
|
+
})
|
|
404
|
+
#define vcvtph_s32_f16(__p0) __extension__ ({ \
|
|
405
|
+
float16_t __s0 = __p0; \
|
|
406
|
+
int32_t __ret; \
|
|
407
|
+
__ret = (int32_t) __builtin_neon_vcvtph_s32_f16(__s0); \
|
|
408
|
+
__ret; \
|
|
409
|
+
})
|
|
410
|
+
#define vcvtph_s64_f16(__p0) __extension__ ({ \
|
|
411
|
+
float16_t __s0 = __p0; \
|
|
412
|
+
int64_t __ret; \
|
|
413
|
+
__ret = (int64_t) __builtin_neon_vcvtph_s64_f16(__s0); \
|
|
414
|
+
__ret; \
|
|
415
|
+
})
|
|
416
|
+
#define vcvtph_u16_f16(__p0) __extension__ ({ \
|
|
417
|
+
float16_t __s0 = __p0; \
|
|
418
|
+
uint16_t __ret; \
|
|
419
|
+
__ret = (uint16_t) __builtin_neon_vcvtph_u16_f16(__s0); \
|
|
420
|
+
__ret; \
|
|
421
|
+
})
|
|
422
|
+
#define vcvtph_u32_f16(__p0) __extension__ ({ \
|
|
423
|
+
float16_t __s0 = __p0; \
|
|
424
|
+
uint32_t __ret; \
|
|
425
|
+
__ret = (uint32_t) __builtin_neon_vcvtph_u32_f16(__s0); \
|
|
426
|
+
__ret; \
|
|
427
|
+
})
|
|
428
|
+
#define vcvtph_u64_f16(__p0) __extension__ ({ \
|
|
429
|
+
float16_t __s0 = __p0; \
|
|
430
|
+
uint64_t __ret; \
|
|
431
|
+
__ret = (uint64_t) __builtin_neon_vcvtph_u64_f16(__s0); \
|
|
432
|
+
__ret; \
|
|
433
|
+
})
|
|
434
|
+
#define vdivh_f16(__p0, __p1) __extension__ ({ \
|
|
435
|
+
float16_t __s0 = __p0; \
|
|
436
|
+
float16_t __s1 = __p1; \
|
|
437
|
+
float16_t __ret; \
|
|
438
|
+
__ret = (float16_t) __builtin_neon_vdivh_f16(__s0, __s1); \
|
|
439
|
+
__ret; \
|
|
440
|
+
})
|
|
441
|
+
#define vfmah_f16(__p0, __p1, __p2) __extension__ ({ \
|
|
442
|
+
float16_t __s0 = __p0; \
|
|
443
|
+
float16_t __s1 = __p1; \
|
|
444
|
+
float16_t __s2 = __p2; \
|
|
445
|
+
float16_t __ret; \
|
|
446
|
+
__ret = (float16_t) __builtin_neon_vfmah_f16(__s0, __s1, __s2); \
|
|
447
|
+
__ret; \
|
|
448
|
+
})
|
|
449
|
+
#define vfmsh_f16(__p0, __p1, __p2) __extension__ ({ \
|
|
450
|
+
float16_t __s0 = __p0; \
|
|
451
|
+
float16_t __s1 = __p1; \
|
|
452
|
+
float16_t __s2 = __p2; \
|
|
453
|
+
float16_t __ret; \
|
|
454
|
+
__ret = (float16_t) __builtin_neon_vfmsh_f16(__s0, __s1, __s2); \
|
|
455
|
+
__ret; \
|
|
456
|
+
})
|
|
457
|
+
#define vmaxh_f16(__p0, __p1) __extension__ ({ \
|
|
458
|
+
float16_t __s0 = __p0; \
|
|
459
|
+
float16_t __s1 = __p1; \
|
|
460
|
+
float16_t __ret; \
|
|
461
|
+
__ret = (float16_t) __builtin_neon_vmaxh_f16(__s0, __s1); \
|
|
462
|
+
__ret; \
|
|
463
|
+
})
|
|
464
|
+
#define vmaxnmh_f16(__p0, __p1) __extension__ ({ \
|
|
465
|
+
float16_t __s0 = __p0; \
|
|
466
|
+
float16_t __s1 = __p1; \
|
|
467
|
+
float16_t __ret; \
|
|
468
|
+
__ret = (float16_t) __builtin_neon_vmaxnmh_f16(__s0, __s1); \
|
|
469
|
+
__ret; \
|
|
470
|
+
})
|
|
471
|
+
#define vminh_f16(__p0, __p1) __extension__ ({ \
|
|
472
|
+
float16_t __s0 = __p0; \
|
|
473
|
+
float16_t __s1 = __p1; \
|
|
474
|
+
float16_t __ret; \
|
|
475
|
+
__ret = (float16_t) __builtin_neon_vminh_f16(__s0, __s1); \
|
|
476
|
+
__ret; \
|
|
477
|
+
})
|
|
478
|
+
#define vminnmh_f16(__p0, __p1) __extension__ ({ \
|
|
479
|
+
float16_t __s0 = __p0; \
|
|
480
|
+
float16_t __s1 = __p1; \
|
|
481
|
+
float16_t __ret; \
|
|
482
|
+
__ret = (float16_t) __builtin_neon_vminnmh_f16(__s0, __s1); \
|
|
483
|
+
__ret; \
|
|
484
|
+
})
|
|
485
|
+
#define vmulh_f16(__p0, __p1) __extension__ ({ \
|
|
486
|
+
float16_t __s0 = __p0; \
|
|
487
|
+
float16_t __s1 = __p1; \
|
|
488
|
+
float16_t __ret; \
|
|
489
|
+
__ret = (float16_t) __builtin_neon_vmulh_f16(__s0, __s1); \
|
|
490
|
+
__ret; \
|
|
491
|
+
})
|
|
492
|
+
#define vmulxh_f16(__p0, __p1) __extension__ ({ \
|
|
493
|
+
float16_t __s0 = __p0; \
|
|
494
|
+
float16_t __s1 = __p1; \
|
|
495
|
+
float16_t __ret; \
|
|
496
|
+
__ret = (float16_t) __builtin_neon_vmulxh_f16(__s0, __s1); \
|
|
497
|
+
__ret; \
|
|
498
|
+
})
|
|
499
|
+
#define vnegh_f16(__p0) __extension__ ({ \
|
|
500
|
+
float16_t __s0 = __p0; \
|
|
501
|
+
float16_t __ret; \
|
|
502
|
+
__ret = (float16_t) __builtin_neon_vnegh_f16(__s0); \
|
|
503
|
+
__ret; \
|
|
504
|
+
})
|
|
505
|
+
#define vrecpeh_f16(__p0) __extension__ ({ \
|
|
506
|
+
float16_t __s0 = __p0; \
|
|
507
|
+
float16_t __ret; \
|
|
508
|
+
__ret = (float16_t) __builtin_neon_vrecpeh_f16(__s0); \
|
|
509
|
+
__ret; \
|
|
510
|
+
})
|
|
511
|
+
#define vrecpsh_f16(__p0, __p1) __extension__ ({ \
|
|
512
|
+
float16_t __s0 = __p0; \
|
|
513
|
+
float16_t __s1 = __p1; \
|
|
514
|
+
float16_t __ret; \
|
|
515
|
+
__ret = (float16_t) __builtin_neon_vrecpsh_f16(__s0, __s1); \
|
|
516
|
+
__ret; \
|
|
517
|
+
})
|
|
518
|
+
#define vrecpxh_f16(__p0) __extension__ ({ \
|
|
519
|
+
float16_t __s0 = __p0; \
|
|
520
|
+
float16_t __ret; \
|
|
521
|
+
__ret = (float16_t) __builtin_neon_vrecpxh_f16(__s0); \
|
|
522
|
+
__ret; \
|
|
523
|
+
})
|
|
524
|
+
#define vrndh_f16(__p0) __extension__ ({ \
|
|
525
|
+
float16_t __s0 = __p0; \
|
|
526
|
+
float16_t __ret; \
|
|
527
|
+
__ret = (float16_t) __builtin_neon_vrndh_f16(__s0); \
|
|
528
|
+
__ret; \
|
|
529
|
+
})
|
|
530
|
+
#define vrndah_f16(__p0) __extension__ ({ \
|
|
531
|
+
float16_t __s0 = __p0; \
|
|
532
|
+
float16_t __ret; \
|
|
533
|
+
__ret = (float16_t) __builtin_neon_vrndah_f16(__s0); \
|
|
534
|
+
__ret; \
|
|
535
|
+
})
|
|
536
|
+
#define vrndih_f16(__p0) __extension__ ({ \
|
|
537
|
+
float16_t __s0 = __p0; \
|
|
538
|
+
float16_t __ret; \
|
|
539
|
+
__ret = (float16_t) __builtin_neon_vrndih_f16(__s0); \
|
|
540
|
+
__ret; \
|
|
541
|
+
})
|
|
542
|
+
#define vrndmh_f16(__p0) __extension__ ({ \
|
|
543
|
+
float16_t __s0 = __p0; \
|
|
544
|
+
float16_t __ret; \
|
|
545
|
+
__ret = (float16_t) __builtin_neon_vrndmh_f16(__s0); \
|
|
546
|
+
__ret; \
|
|
547
|
+
})
|
|
548
|
+
#define vrndnh_f16(__p0) __extension__ ({ \
|
|
549
|
+
float16_t __s0 = __p0; \
|
|
550
|
+
float16_t __ret; \
|
|
551
|
+
__ret = (float16_t) __builtin_neon_vrndnh_f16(__s0); \
|
|
552
|
+
__ret; \
|
|
553
|
+
})
|
|
554
|
+
#define vrndph_f16(__p0) __extension__ ({ \
|
|
555
|
+
float16_t __s0 = __p0; \
|
|
556
|
+
float16_t __ret; \
|
|
557
|
+
__ret = (float16_t) __builtin_neon_vrndph_f16(__s0); \
|
|
558
|
+
__ret; \
|
|
559
|
+
})
|
|
560
|
+
#define vrndxh_f16(__p0) __extension__ ({ \
|
|
561
|
+
float16_t __s0 = __p0; \
|
|
562
|
+
float16_t __ret; \
|
|
563
|
+
__ret = (float16_t) __builtin_neon_vrndxh_f16(__s0); \
|
|
564
|
+
__ret; \
|
|
565
|
+
})
|
|
566
|
+
#define vrsqrteh_f16(__p0) __extension__ ({ \
|
|
567
|
+
float16_t __s0 = __p0; \
|
|
568
|
+
float16_t __ret; \
|
|
569
|
+
__ret = (float16_t) __builtin_neon_vrsqrteh_f16(__s0); \
|
|
570
|
+
__ret; \
|
|
571
|
+
})
|
|
572
|
+
#define vrsqrtsh_f16(__p0, __p1) __extension__ ({ \
|
|
573
|
+
float16_t __s0 = __p0; \
|
|
574
|
+
float16_t __s1 = __p1; \
|
|
575
|
+
float16_t __ret; \
|
|
576
|
+
__ret = (float16_t) __builtin_neon_vrsqrtsh_f16(__s0, __s1); \
|
|
577
|
+
__ret; \
|
|
578
|
+
})
|
|
579
|
+
#define vsqrth_f16(__p0) __extension__ ({ \
|
|
580
|
+
float16_t __s0 = __p0; \
|
|
581
|
+
float16_t __ret; \
|
|
582
|
+
__ret = (float16_t) __builtin_neon_vsqrth_f16(__s0); \
|
|
583
|
+
__ret; \
|
|
584
|
+
})
|
|
585
|
+
#define vsubh_f16(__p0, __p1) __extension__ ({ \
|
|
586
|
+
float16_t __s0 = __p0; \
|
|
587
|
+
float16_t __s1 = __p1; \
|
|
588
|
+
float16_t __ret; \
|
|
589
|
+
__ret = (float16_t) __builtin_neon_vsubh_f16(__s0, __s1); \
|
|
590
|
+
__ret; \
|
|
591
|
+
})
|
|
592
|
+
#endif
|
|
593
|
+
|
|
594
|
+
#undef __ai
|
|
595
|
+
|
|
596
|
+
#endif /* __ARM_FP16_H */
|