authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2021-02-26 16:09:37-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-02-26 13:44:33-08:00
log659f712ae8a812f9fa64f90af23c9b2b4acabcb0
treee4684e271f7188a6c590b6c58dc6eea319236947
parentb706b9bce798666937b7cafde9d778085cbf4e2f

llvm12: sync with llvmorg-12.0.0-rc2

- update lib/include - update lib/libcxx - update lib/libcxxabi - update lib/libunwind - (no changes) src/libcxx.zig - (no changes) src/libunwind.zig

106 files changed, 11304 insertions(+), 8127 deletions(-)

lib/include/__clang_cuda_math_forward_declares.h+3
...@@ -160,6 +160,9 @@ __DEVICE__ double scalbln(double, long);...@@ -160,6 +160,9 @@ __DEVICE__ double scalbln(double, long);
160__DEVICE__ float scalbln(float, long);160__DEVICE__ float scalbln(float, long);
161__DEVICE__ double scalbn(double, int);161__DEVICE__ double scalbn(double, int);
162__DEVICE__ float scalbn(float, int);162__DEVICE__ float scalbn(float, int);
163#ifdef _MSC_VER
164__DEVICE__ bool signbit(long double);
165#endif
163__DEVICE__ bool signbit(double);166__DEVICE__ bool signbit(double);
164__DEVICE__ bool signbit(float);167__DEVICE__ bool signbit(float);
165__DEVICE__ double sin(double);168__DEVICE__ double sin(double);
lib/include/__clang_hip_cmath.h+35
...@@ -624,6 +624,41 @@ _GLIBCXX_END_NAMESPACE_VERSION...@@ -624,6 +624,41 @@ _GLIBCXX_END_NAMESPACE_VERSION
624} // namespace std624} // namespace std
625#endif625#endif
626626
627// Define device-side math functions from <ymath.h> on MSVC.
628#if defined(_MSC_VER)
629
630// Before VS2019, `<ymath.h>` is also included in `<limits>` and other headers.
631// But, from VS2019, it's only included in `<complex>`. Need to include
632// `<ymath.h>` here to ensure C functions declared there won't be markded as
633// `__host__` and `__device__` through `<complex>` wrapper.
634#include <ymath.h>
635
636#if defined(__cplusplus)
637extern "C" {
638#endif // defined(__cplusplus)
639__DEVICE__ __attribute__((overloadable)) double _Cosh(double x, double y) {
640 return cosh(x) * y;
641}
642__DEVICE__ __attribute__((overloadable)) float _FCosh(float x, float y) {
643 return coshf(x) * y;
644}
645__DEVICE__ __attribute__((overloadable)) short _Dtest(double *p) {
646 return fpclassify(*p);
647}
648__DEVICE__ __attribute__((overloadable)) short _FDtest(float *p) {
649 return fpclassify(*p);
650}
651__DEVICE__ __attribute__((overloadable)) double _Sinh(double x, double y) {
652 return sinh(x) * y;
653}
654__DEVICE__ __attribute__((overloadable)) float _FSinh(float x, float y) {
655 return sinhf(x) * y;
656}
657#if defined(__cplusplus)
658}
659#endif // defined(__cplusplus)
660#endif // defined(_MSC_VER)
661
627#pragma pop_macro("__DEVICE__")662#pragma pop_macro("__DEVICE__")
628663
629#endif // __CLANG_HIP_CMATH_H__664#endif // __CLANG_HIP_CMATH_H__
lib/include/altivec.h+40
...@@ -8281,6 +8281,46 @@ vec_sel(vector double __a, vector double __b, vector unsigned long long __c) {...@@ -8281,6 +8281,46 @@ vec_sel(vector double __a, vector double __b, vector unsigned long long __c) {
8281 ((vector long long)__b & (vector long long)__c);8281 ((vector long long)__b & (vector long long)__c);
8282 return (vector double)__res;8282 return (vector double)__res;
8283}8283}
8284
8285static __inline__ vector bool long long __ATTRS_o_ai
8286vec_sel(vector bool long long __a, vector bool long long __b,
8287 vector bool long long __c) {
8288 return (__a & ~__c) | (__b & __c);
8289}
8290
8291static __inline__ vector bool long long __ATTRS_o_ai
8292vec_sel(vector bool long long __a, vector bool long long __b,
8293 vector unsigned long long __c) {
8294 return (__a & ~(vector bool long long)__c) |
8295 (__b & (vector bool long long)__c);
8296}
8297
8298static __inline__ vector signed long long __ATTRS_o_ai
8299vec_sel(vector signed long long __a, vector signed long long __b,
8300 vector bool long long __c) {
8301 return (__a & ~(vector signed long long)__c) |
8302 (__b & (vector signed long long)__c);
8303}
8304
8305static __inline__ vector signed long long __ATTRS_o_ai
8306vec_sel(vector signed long long __a, vector signed long long __b,
8307 vector unsigned long long __c) {
8308 return (__a & ~(vector signed long long)__c) |
8309 (__b & (vector signed long long)__c);
8310}
8311
8312static __inline__ vector unsigned long long __ATTRS_o_ai
8313vec_sel(vector unsigned long long __a, vector unsigned long long __b,
8314 vector bool long long __c) {
8315 return (__a & ~(vector unsigned long long)__c) |
8316 (__b & (vector unsigned long long)__c);
8317}
8318
8319static __inline__ vector unsigned long long __ATTRS_o_ai
8320vec_sel(vector unsigned long long __a, vector unsigned long long __b,
8321 vector unsigned long long __c) {
8322 return (__a & ~__c) | (__b & __c);
8323}
8284#endif8324#endif
82858325
8286/* vec_vsel */8326/* vec_vsel */
lib/include/amxintrin.h+8-3
...@@ -251,23 +251,28 @@ typedef struct __tile1024i_str {...@@ -251,23 +251,28 @@ typedef struct __tile1024i_str {
251 _tile1024i tile;251 _tile1024i tile;
252} __tile1024i;252} __tile1024i;
253253
254__DEFAULT_FN_ATTRS_INT8254__DEFAULT_FN_ATTRS_TILE
255static void __tile_loadd(__tile1024i *dst, const void *base,255static void __tile_loadd(__tile1024i *dst, const void *base,
256 __SIZE_TYPE__ stride) {256 __SIZE_TYPE__ stride) {
257 dst->tile = _tile_loadd_internal(dst->row, dst->col, base, stride);257 dst->tile = _tile_loadd_internal(dst->row, dst->col, base, stride);
258}258}
259259
260__DEFAULT_FN_ATTRS_INT8260__DEFAULT_FN_ATTRS_INT8
261static void __tile_dpbsud(__tile1024i *dst, __tile1024i src1,261static void __tile_dpbssd(__tile1024i *dst, __tile1024i src1,
262 __tile1024i src2) {262 __tile1024i src2) {
263 dst->tile = _tile_dpbssd_internal(src1.row, src2.col, src1.col, dst->tile,263 dst->tile = _tile_dpbssd_internal(src1.row, src2.col, src1.col, dst->tile,
264 src1.tile, src2.tile);264 src1.tile, src2.tile);
265}265}
266266
267__DEFAULT_FN_ATTRS_INT8267__DEFAULT_FN_ATTRS_TILE
268static void __tile_stored(void *base, __SIZE_TYPE__ stride, __tile1024i src) {268static void __tile_stored(void *base, __SIZE_TYPE__ stride, __tile1024i src) {
269 _tile_stored_internal(src.row, src.col, base, stride, src.tile);269 _tile_stored_internal(src.row, src.col, base, stride, src.tile);
270}270}
271271
272__DEFAULT_FN_ATTRS_TILE
273static void __tile_zero(__tile1024i *dst) {
274 dst->tile = __builtin_ia32_tilezero_internal(dst->row, dst->col);
275}
276
272#endif /* __x86_64__ */277#endif /* __x86_64__ */
273#endif /* __AMXINTRIN_H */278#endif /* __AMXINTRIN_H */
lib/include/arm_acle.h+26
...@@ -639,6 +639,32 @@ __jcvt(double __a) {...@@ -639,6 +639,32 @@ __jcvt(double __a) {
639}639}
640#endif640#endif
641641
642/* Armv8.7-A load/store 64-byte intrinsics */
643#if __ARM_64BIT_STATE && defined(__ARM_FEATURE_LS64)
644typedef struct {
645 uint64_t val[8];
646} data512_t;
647
648static __inline__ data512_t __attribute__((__always_inline__, __nodebug__))
649__arm_ld64b(const void *__addr) {
650 data512_t __value;
651 __builtin_arm_ld64b(__addr, __value.val);
652 return __value;
653}
654static __inline__ void __attribute__((__always_inline__, __nodebug__))
655__arm_st64b(void *__addr, data512_t __value) {
656 __builtin_arm_st64b(__addr, __value.val);
657}
658static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
659__arm_st64bv(void *__addr, data512_t __value) {
660 return __builtin_arm_st64bv(__addr, __value.val);
661}
662static __inline__ uint64_t __attribute__((__always_inline__, __nodebug__))
663__arm_st64bv0(void *__addr, data512_t __value) {
664 return __builtin_arm_st64bv0(__addr, __value.val);
665}
666#endif
667
642/* 10.1 Special register intrinsics */668/* 10.1 Special register intrinsics */
643#define __arm_rsr(sysreg) __builtin_arm_rsr(sysreg)669#define __arm_rsr(sysreg) __builtin_arm_rsr(sysreg)
644#define __arm_rsr64(sysreg) __builtin_arm_rsr64(sysreg)670#define __arm_rsr64(sysreg) __builtin_arm_rsr64(sysreg)
lib/include/arm_neon.h+6690-5334
...@@ -40445,6 +40445,11 @@ __ai float32x4_t vcmlaq_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2...@@ -40445,6 +40445,11 @@ __ai float32x4_t vcmlaq_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2
40445 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);40445 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40446 return __ret;40446 return __ret;
40447}40447}
40448__ai float32x4_t __noswap_vcmlaq_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2) {
40449 float32x4_t __ret;
40450 __ret = (float32x4_t) __builtin_neon_vcmlaq_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 41);
40451 return __ret;
40452}
40448#endif40453#endif
4044940454
40450#ifdef __LITTLE_ENDIAN__40455#ifdef __LITTLE_ENDIAN__
...@@ -40463,6 +40468,123 @@ __ai float32x2_t vcmla_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2)...@@ -40463,6 +40468,123 @@ __ai float32x2_t vcmla_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2)
40463 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);40468 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40464 return __ret;40469 return __ret;
40465}40470}
40471__ai float32x2_t __noswap_vcmla_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2) {
40472 float32x2_t __ret;
40473 __ret = (float32x2_t) __builtin_neon_vcmla_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 9);
40474 return __ret;
40475}
40476#endif
40477
40478#ifdef __LITTLE_ENDIAN__
40479#define vcmla_lane_f32(__p0_169, __p1_169, __p2_169, __p3_169) __extension__ ({ \
40480 float32x2_t __s0_169 = __p0_169; \
40481 float32x2_t __s1_169 = __p1_169; \
40482 float32x2_t __s2_169 = __p2_169; \
40483 float32x2_t __ret_169; \
40484float32x2_t __reint_169 = __s2_169; \
40485uint64x1_t __reint1_169 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_169, __p3_169)}; \
40486 __ret_169 = vcmla_f32(__s0_169, __s1_169, *(float32x2_t *) &__reint1_169); \
40487 __ret_169; \
40488})
40489#else
40490#define vcmla_lane_f32(__p0_170, __p1_170, __p2_170, __p3_170) __extension__ ({ \
40491 float32x2_t __s0_170 = __p0_170; \
40492 float32x2_t __s1_170 = __p1_170; \
40493 float32x2_t __s2_170 = __p2_170; \
40494 float32x2_t __rev0_170; __rev0_170 = __builtin_shufflevector(__s0_170, __s0_170, 1, 0); \
40495 float32x2_t __rev1_170; __rev1_170 = __builtin_shufflevector(__s1_170, __s1_170, 1, 0); \
40496 float32x2_t __rev2_170; __rev2_170 = __builtin_shufflevector(__s2_170, __s2_170, 1, 0); \
40497 float32x2_t __ret_170; \
40498float32x2_t __reint_170 = __rev2_170; \
40499uint64x1_t __reint1_170 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_170, __p3_170)}; \
40500 __ret_170 = __noswap_vcmla_f32(__rev0_170, __rev1_170, *(float32x2_t *) &__reint1_170); \
40501 __ret_170 = __builtin_shufflevector(__ret_170, __ret_170, 1, 0); \
40502 __ret_170; \
40503})
40504#endif
40505
40506#ifdef __LITTLE_ENDIAN__
40507#define vcmlaq_lane_f32(__p0_171, __p1_171, __p2_171, __p3_171) __extension__ ({ \
40508 float32x4_t __s0_171 = __p0_171; \
40509 float32x4_t __s1_171 = __p1_171; \
40510 float32x2_t __s2_171 = __p2_171; \
40511 float32x4_t __ret_171; \
40512float32x2_t __reint_171 = __s2_171; \
40513uint64x2_t __reint1_171 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_171, __p3_171), vget_lane_u64(*(uint64x1_t *) &__reint_171, __p3_171)}; \
40514 __ret_171 = vcmlaq_f32(__s0_171, __s1_171, *(float32x4_t *) &__reint1_171); \
40515 __ret_171; \
40516})
40517#else
40518#define vcmlaq_lane_f32(__p0_172, __p1_172, __p2_172, __p3_172) __extension__ ({ \
40519 float32x4_t __s0_172 = __p0_172; \
40520 float32x4_t __s1_172 = __p1_172; \
40521 float32x2_t __s2_172 = __p2_172; \
40522 float32x4_t __rev0_172; __rev0_172 = __builtin_shufflevector(__s0_172, __s0_172, 3, 2, 1, 0); \
40523 float32x4_t __rev1_172; __rev1_172 = __builtin_shufflevector(__s1_172, __s1_172, 3, 2, 1, 0); \
40524 float32x2_t __rev2_172; __rev2_172 = __builtin_shufflevector(__s2_172, __s2_172, 1, 0); \
40525 float32x4_t __ret_172; \
40526float32x2_t __reint_172 = __rev2_172; \
40527uint64x2_t __reint1_172 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_172, __p3_172), vget_lane_u64(*(uint64x1_t *) &__reint_172, __p3_172)}; \
40528 __ret_172 = __noswap_vcmlaq_f32(__rev0_172, __rev1_172, *(float32x4_t *) &__reint1_172); \
40529 __ret_172 = __builtin_shufflevector(__ret_172, __ret_172, 3, 2, 1, 0); \
40530 __ret_172; \
40531})
40532#endif
40533
40534#ifdef __LITTLE_ENDIAN__
40535#define vcmla_laneq_f32(__p0_173, __p1_173, __p2_173, __p3_173) __extension__ ({ \
40536 float32x2_t __s0_173 = __p0_173; \
40537 float32x2_t __s1_173 = __p1_173; \
40538 float32x4_t __s2_173 = __p2_173; \
40539 float32x2_t __ret_173; \
40540float32x4_t __reint_173 = __s2_173; \
40541uint64x1_t __reint1_173 = (uint64x1_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_173, __p3_173)}; \
40542 __ret_173 = vcmla_f32(__s0_173, __s1_173, *(float32x2_t *) &__reint1_173); \
40543 __ret_173; \
40544})
40545#else
40546#define vcmla_laneq_f32(__p0_174, __p1_174, __p2_174, __p3_174) __extension__ ({ \
40547 float32x2_t __s0_174 = __p0_174; \
40548 float32x2_t __s1_174 = __p1_174; \
40549 float32x4_t __s2_174 = __p2_174; \
40550 float32x2_t __rev0_174; __rev0_174 = __builtin_shufflevector(__s0_174, __s0_174, 1, 0); \
40551 float32x2_t __rev1_174; __rev1_174 = __builtin_shufflevector(__s1_174, __s1_174, 1, 0); \
40552 float32x4_t __rev2_174; __rev2_174 = __builtin_shufflevector(__s2_174, __s2_174, 3, 2, 1, 0); \
40553 float32x2_t __ret_174; \
40554float32x4_t __reint_174 = __rev2_174; \
40555uint64x1_t __reint1_174 = (uint64x1_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_174, __p3_174)}; \
40556 __ret_174 = __noswap_vcmla_f32(__rev0_174, __rev1_174, *(float32x2_t *) &__reint1_174); \
40557 __ret_174 = __builtin_shufflevector(__ret_174, __ret_174, 1, 0); \
40558 __ret_174; \
40559})
40560#endif
40561
40562#ifdef __LITTLE_ENDIAN__
40563#define vcmlaq_laneq_f32(__p0_175, __p1_175, __p2_175, __p3_175) __extension__ ({ \
40564 float32x4_t __s0_175 = __p0_175; \
40565 float32x4_t __s1_175 = __p1_175; \
40566 float32x4_t __s2_175 = __p2_175; \
40567 float32x4_t __ret_175; \
40568float32x4_t __reint_175 = __s2_175; \
40569uint64x2_t __reint1_175 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_175, __p3_175), vgetq_lane_u64(*(uint64x2_t *) &__reint_175, __p3_175)}; \
40570 __ret_175 = vcmlaq_f32(__s0_175, __s1_175, *(float32x4_t *) &__reint1_175); \
40571 __ret_175; \
40572})
40573#else
40574#define vcmlaq_laneq_f32(__p0_176, __p1_176, __p2_176, __p3_176) __extension__ ({ \
40575 float32x4_t __s0_176 = __p0_176; \
40576 float32x4_t __s1_176 = __p1_176; \
40577 float32x4_t __s2_176 = __p2_176; \
40578 float32x4_t __rev0_176; __rev0_176 = __builtin_shufflevector(__s0_176, __s0_176, 3, 2, 1, 0); \
40579 float32x4_t __rev1_176; __rev1_176 = __builtin_shufflevector(__s1_176, __s1_176, 3, 2, 1, 0); \
40580 float32x4_t __rev2_176; __rev2_176 = __builtin_shufflevector(__s2_176, __s2_176, 3, 2, 1, 0); \
40581 float32x4_t __ret_176; \
40582float32x4_t __reint_176 = __rev2_176; \
40583uint64x2_t __reint1_176 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_176, __p3_176), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_176, __p3_176)}; \
40584 __ret_176 = __noswap_vcmlaq_f32(__rev0_176, __rev1_176, *(float32x4_t *) &__reint1_176); \
40585 __ret_176 = __builtin_shufflevector(__ret_176, __ret_176, 3, 2, 1, 0); \
40586 __ret_176; \
40587})
40466#endif40588#endif
4046740589
40468#ifdef __LITTLE_ENDIAN__40590#ifdef __LITTLE_ENDIAN__
...@@ -40481,6 +40603,11 @@ __ai float32x4_t vcmlaq_rot180_f32(float32x4_t __p0, float32x4_t __p1, float32x4...@@ -40481,6 +40603,11 @@ __ai float32x4_t vcmlaq_rot180_f32(float32x4_t __p0, float32x4_t __p1, float32x4
40481 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);40603 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40482 return __ret;40604 return __ret;
40483}40605}
40606__ai float32x4_t __noswap_vcmlaq_rot180_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2) {
40607 float32x4_t __ret;
40608 __ret = (float32x4_t) __builtin_neon_vcmlaq_rot180_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 41);
40609 return __ret;
40610}
40484#endif40611#endif
4048540612
40486#ifdef __LITTLE_ENDIAN__40613#ifdef __LITTLE_ENDIAN__
...@@ -40499,6 +40626,123 @@ __ai float32x2_t vcmla_rot180_f32(float32x2_t __p0, float32x2_t __p1, float32x2_...@@ -40499,6 +40626,123 @@ __ai float32x2_t vcmla_rot180_f32(float32x2_t __p0, float32x2_t __p1, float32x2_
40499 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);40626 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40500 return __ret;40627 return __ret;
40501}40628}
40629__ai float32x2_t __noswap_vcmla_rot180_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2) {
40630 float32x2_t __ret;
40631 __ret = (float32x2_t) __builtin_neon_vcmla_rot180_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 9);
40632 return __ret;
40633}
40634#endif
40635
40636#ifdef __LITTLE_ENDIAN__
40637#define vcmla_rot180_lane_f32(__p0_177, __p1_177, __p2_177, __p3_177) __extension__ ({ \
40638 float32x2_t __s0_177 = __p0_177; \
40639 float32x2_t __s1_177 = __p1_177; \
40640 float32x2_t __s2_177 = __p2_177; \
40641 float32x2_t __ret_177; \
40642float32x2_t __reint_177 = __s2_177; \
40643uint64x1_t __reint1_177 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_177, __p3_177)}; \
40644 __ret_177 = vcmla_rot180_f32(__s0_177, __s1_177, *(float32x2_t *) &__reint1_177); \
40645 __ret_177; \
40646})
40647#else
40648#define vcmla_rot180_lane_f32(__p0_178, __p1_178, __p2_178, __p3_178) __extension__ ({ \
40649 float32x2_t __s0_178 = __p0_178; \
40650 float32x2_t __s1_178 = __p1_178; \
40651 float32x2_t __s2_178 = __p2_178; \
40652 float32x2_t __rev0_178; __rev0_178 = __builtin_shufflevector(__s0_178, __s0_178, 1, 0); \
40653 float32x2_t __rev1_178; __rev1_178 = __builtin_shufflevector(__s1_178, __s1_178, 1, 0); \
40654 float32x2_t __rev2_178; __rev2_178 = __builtin_shufflevector(__s2_178, __s2_178, 1, 0); \
40655 float32x2_t __ret_178; \
40656float32x2_t __reint_178 = __rev2_178; \
40657uint64x1_t __reint1_178 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_178, __p3_178)}; \
40658 __ret_178 = __noswap_vcmla_rot180_f32(__rev0_178, __rev1_178, *(float32x2_t *) &__reint1_178); \
40659 __ret_178 = __builtin_shufflevector(__ret_178, __ret_178, 1, 0); \
40660 __ret_178; \
40661})
40662#endif
40663
40664#ifdef __LITTLE_ENDIAN__
40665#define vcmlaq_rot180_lane_f32(__p0_179, __p1_179, __p2_179, __p3_179) __extension__ ({ \
40666 float32x4_t __s0_179 = __p0_179; \
40667 float32x4_t __s1_179 = __p1_179; \
40668 float32x2_t __s2_179 = __p2_179; \
40669 float32x4_t __ret_179; \
40670float32x2_t __reint_179 = __s2_179; \
40671uint64x2_t __reint1_179 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_179, __p3_179), vget_lane_u64(*(uint64x1_t *) &__reint_179, __p3_179)}; \
40672 __ret_179 = vcmlaq_rot180_f32(__s0_179, __s1_179, *(float32x4_t *) &__reint1_179); \
40673 __ret_179; \
40674})
40675#else
40676#define vcmlaq_rot180_lane_f32(__p0_180, __p1_180, __p2_180, __p3_180) __extension__ ({ \
40677 float32x4_t __s0_180 = __p0_180; \
40678 float32x4_t __s1_180 = __p1_180; \
40679 float32x2_t __s2_180 = __p2_180; \
40680 float32x4_t __rev0_180; __rev0_180 = __builtin_shufflevector(__s0_180, __s0_180, 3, 2, 1, 0); \
40681 float32x4_t __rev1_180; __rev1_180 = __builtin_shufflevector(__s1_180, __s1_180, 3, 2, 1, 0); \
40682 float32x2_t __rev2_180; __rev2_180 = __builtin_shufflevector(__s2_180, __s2_180, 1, 0); \
40683 float32x4_t __ret_180; \
40684float32x2_t __reint_180 = __rev2_180; \
40685uint64x2_t __reint1_180 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_180, __p3_180), vget_lane_u64(*(uint64x1_t *) &__reint_180, __p3_180)}; \
40686 __ret_180 = __noswap_vcmlaq_rot180_f32(__rev0_180, __rev1_180, *(float32x4_t *) &__reint1_180); \
40687 __ret_180 = __builtin_shufflevector(__ret_180, __ret_180, 3, 2, 1, 0); \
40688 __ret_180; \
40689})
40690#endif
40691
40692#ifdef __LITTLE_ENDIAN__
40693#define vcmla_rot180_laneq_f32(__p0_181, __p1_181, __p2_181, __p3_181) __extension__ ({ \
40694 float32x2_t __s0_181 = __p0_181; \
40695 float32x2_t __s1_181 = __p1_181; \
40696 float32x4_t __s2_181 = __p2_181; \
40697 float32x2_t __ret_181; \
40698float32x4_t __reint_181 = __s2_181; \
40699uint64x1_t __reint1_181 = (uint64x1_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_181, __p3_181)}; \
40700 __ret_181 = vcmla_rot180_f32(__s0_181, __s1_181, *(float32x2_t *) &__reint1_181); \
40701 __ret_181; \
40702})
40703#else
40704#define vcmla_rot180_laneq_f32(__p0_182, __p1_182, __p2_182, __p3_182) __extension__ ({ \
40705 float32x2_t __s0_182 = __p0_182; \
40706 float32x2_t __s1_182 = __p1_182; \
40707 float32x4_t __s2_182 = __p2_182; \
40708 float32x2_t __rev0_182; __rev0_182 = __builtin_shufflevector(__s0_182, __s0_182, 1, 0); \
40709 float32x2_t __rev1_182; __rev1_182 = __builtin_shufflevector(__s1_182, __s1_182, 1, 0); \
40710 float32x4_t __rev2_182; __rev2_182 = __builtin_shufflevector(__s2_182, __s2_182, 3, 2, 1, 0); \
40711 float32x2_t __ret_182; \
40712float32x4_t __reint_182 = __rev2_182; \
40713uint64x1_t __reint1_182 = (uint64x1_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_182, __p3_182)}; \
40714 __ret_182 = __noswap_vcmla_rot180_f32(__rev0_182, __rev1_182, *(float32x2_t *) &__reint1_182); \
40715 __ret_182 = __builtin_shufflevector(__ret_182, __ret_182, 1, 0); \
40716 __ret_182; \
40717})
40718#endif
40719
40720#ifdef __LITTLE_ENDIAN__
40721#define vcmlaq_rot180_laneq_f32(__p0_183, __p1_183, __p2_183, __p3_183) __extension__ ({ \
40722 float32x4_t __s0_183 = __p0_183; \
40723 float32x4_t __s1_183 = __p1_183; \
40724 float32x4_t __s2_183 = __p2_183; \
40725 float32x4_t __ret_183; \
40726float32x4_t __reint_183 = __s2_183; \
40727uint64x2_t __reint1_183 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_183, __p3_183), vgetq_lane_u64(*(uint64x2_t *) &__reint_183, __p3_183)}; \
40728 __ret_183 = vcmlaq_rot180_f32(__s0_183, __s1_183, *(float32x4_t *) &__reint1_183); \
40729 __ret_183; \
40730})
40731#else
40732#define vcmlaq_rot180_laneq_f32(__p0_184, __p1_184, __p2_184, __p3_184) __extension__ ({ \
40733 float32x4_t __s0_184 = __p0_184; \
40734 float32x4_t __s1_184 = __p1_184; \
40735 float32x4_t __s2_184 = __p2_184; \
40736 float32x4_t __rev0_184; __rev0_184 = __builtin_shufflevector(__s0_184, __s0_184, 3, 2, 1, 0); \
40737 float32x4_t __rev1_184; __rev1_184 = __builtin_shufflevector(__s1_184, __s1_184, 3, 2, 1, 0); \
40738 float32x4_t __rev2_184; __rev2_184 = __builtin_shufflevector(__s2_184, __s2_184, 3, 2, 1, 0); \
40739 float32x4_t __ret_184; \
40740float32x4_t __reint_184 = __rev2_184; \
40741uint64x2_t __reint1_184 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_184, __p3_184), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_184, __p3_184)}; \
40742 __ret_184 = __noswap_vcmlaq_rot180_f32(__rev0_184, __rev1_184, *(float32x4_t *) &__reint1_184); \
40743 __ret_184 = __builtin_shufflevector(__ret_184, __ret_184, 3, 2, 1, 0); \
40744 __ret_184; \
40745})
40502#endif40746#endif
4050340747
40504#ifdef __LITTLE_ENDIAN__40748#ifdef __LITTLE_ENDIAN__
...@@ -40517,6 +40761,11 @@ __ai float32x4_t vcmlaq_rot270_f32(float32x4_t __p0, float32x4_t __p1, float32x4...@@ -40517,6 +40761,11 @@ __ai float32x4_t vcmlaq_rot270_f32(float32x4_t __p0, float32x4_t __p1, float32x4
40517 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);40761 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40518 return __ret;40762 return __ret;
40519}40763}
40764__ai float32x4_t __noswap_vcmlaq_rot270_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2) {
40765 float32x4_t __ret;
40766 __ret = (float32x4_t) __builtin_neon_vcmlaq_rot270_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 41);
40767 return __ret;
40768}
40520#endif40769#endif
4052140770
40522#ifdef __LITTLE_ENDIAN__40771#ifdef __LITTLE_ENDIAN__
...@@ -40535,6 +40784,123 @@ __ai float32x2_t vcmla_rot270_f32(float32x2_t __p0, float32x2_t __p1, float32x2_...@@ -40535,6 +40784,123 @@ __ai float32x2_t vcmla_rot270_f32(float32x2_t __p0, float32x2_t __p1, float32x2_
40535 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);40784 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40536 return __ret;40785 return __ret;
40537}40786}
40787__ai float32x2_t __noswap_vcmla_rot270_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2) {
40788 float32x2_t __ret;
40789 __ret = (float32x2_t) __builtin_neon_vcmla_rot270_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 9);
40790 return __ret;
40791}
40792#endif
40793
40794#ifdef __LITTLE_ENDIAN__
40795#define vcmla_rot270_lane_f32(__p0_185, __p1_185, __p2_185, __p3_185) __extension__ ({ \
40796 float32x2_t __s0_185 = __p0_185; \
40797 float32x2_t __s1_185 = __p1_185; \
40798 float32x2_t __s2_185 = __p2_185; \
40799 float32x2_t __ret_185; \
40800float32x2_t __reint_185 = __s2_185; \
40801uint64x1_t __reint1_185 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_185, __p3_185)}; \
40802 __ret_185 = vcmla_rot270_f32(__s0_185, __s1_185, *(float32x2_t *) &__reint1_185); \
40803 __ret_185; \
40804})
40805#else
40806#define vcmla_rot270_lane_f32(__p0_186, __p1_186, __p2_186, __p3_186) __extension__ ({ \
40807 float32x2_t __s0_186 = __p0_186; \
40808 float32x2_t __s1_186 = __p1_186; \
40809 float32x2_t __s2_186 = __p2_186; \
40810 float32x2_t __rev0_186; __rev0_186 = __builtin_shufflevector(__s0_186, __s0_186, 1, 0); \
40811 float32x2_t __rev1_186; __rev1_186 = __builtin_shufflevector(__s1_186, __s1_186, 1, 0); \
40812 float32x2_t __rev2_186; __rev2_186 = __builtin_shufflevector(__s2_186, __s2_186, 1, 0); \
40813 float32x2_t __ret_186; \
40814float32x2_t __reint_186 = __rev2_186; \
40815uint64x1_t __reint1_186 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_186, __p3_186)}; \
40816 __ret_186 = __noswap_vcmla_rot270_f32(__rev0_186, __rev1_186, *(float32x2_t *) &__reint1_186); \
40817 __ret_186 = __builtin_shufflevector(__ret_186, __ret_186, 1, 0); \
40818 __ret_186; \
40819})
40820#endif
40821
40822#ifdef __LITTLE_ENDIAN__
40823#define vcmlaq_rot270_lane_f32(__p0_187, __p1_187, __p2_187, __p3_187) __extension__ ({ \
40824 float32x4_t __s0_187 = __p0_187; \
40825 float32x4_t __s1_187 = __p1_187; \
40826 float32x2_t __s2_187 = __p2_187; \
40827 float32x4_t __ret_187; \
40828float32x2_t __reint_187 = __s2_187; \
40829uint64x2_t __reint1_187 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_187, __p3_187), vget_lane_u64(*(uint64x1_t *) &__reint_187, __p3_187)}; \
40830 __ret_187 = vcmlaq_rot270_f32(__s0_187, __s1_187, *(float32x4_t *) &__reint1_187); \
40831 __ret_187; \
40832})
40833#else
40834#define vcmlaq_rot270_lane_f32(__p0_188, __p1_188, __p2_188, __p3_188) __extension__ ({ \
40835 float32x4_t __s0_188 = __p0_188; \
40836 float32x4_t __s1_188 = __p1_188; \
40837 float32x2_t __s2_188 = __p2_188; \
40838 float32x4_t __rev0_188; __rev0_188 = __builtin_shufflevector(__s0_188, __s0_188, 3, 2, 1, 0); \
40839 float32x4_t __rev1_188; __rev1_188 = __builtin_shufflevector(__s1_188, __s1_188, 3, 2, 1, 0); \
40840 float32x2_t __rev2_188; __rev2_188 = __builtin_shufflevector(__s2_188, __s2_188, 1, 0); \
40841 float32x4_t __ret_188; \
40842float32x2_t __reint_188 = __rev2_188; \
40843uint64x2_t __reint1_188 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_188, __p3_188), vget_lane_u64(*(uint64x1_t *) &__reint_188, __p3_188)}; \
40844 __ret_188 = __noswap_vcmlaq_rot270_f32(__rev0_188, __rev1_188, *(float32x4_t *) &__reint1_188); \
40845 __ret_188 = __builtin_shufflevector(__ret_188, __ret_188, 3, 2, 1, 0); \
40846 __ret_188; \
40847})
40848#endif
40849
40850#ifdef __LITTLE_ENDIAN__
40851#define vcmla_rot270_laneq_f32(__p0_189, __p1_189, __p2_189, __p3_189) __extension__ ({ \
40852 float32x2_t __s0_189 = __p0_189; \
40853 float32x2_t __s1_189 = __p1_189; \
40854 float32x4_t __s2_189 = __p2_189; \
40855 float32x2_t __ret_189; \
40856float32x4_t __reint_189 = __s2_189; \
40857uint64x1_t __reint1_189 = (uint64x1_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_189, __p3_189)}; \
40858 __ret_189 = vcmla_rot270_f32(__s0_189, __s1_189, *(float32x2_t *) &__reint1_189); \
40859 __ret_189; \
40860})
40861#else
40862#define vcmla_rot270_laneq_f32(__p0_190, __p1_190, __p2_190, __p3_190) __extension__ ({ \
40863 float32x2_t __s0_190 = __p0_190; \
40864 float32x2_t __s1_190 = __p1_190; \
40865 float32x4_t __s2_190 = __p2_190; \
40866 float32x2_t __rev0_190; __rev0_190 = __builtin_shufflevector(__s0_190, __s0_190, 1, 0); \
40867 float32x2_t __rev1_190; __rev1_190 = __builtin_shufflevector(__s1_190, __s1_190, 1, 0); \
40868 float32x4_t __rev2_190; __rev2_190 = __builtin_shufflevector(__s2_190, __s2_190, 3, 2, 1, 0); \
40869 float32x2_t __ret_190; \
40870float32x4_t __reint_190 = __rev2_190; \
40871uint64x1_t __reint1_190 = (uint64x1_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_190, __p3_190)}; \
40872 __ret_190 = __noswap_vcmla_rot270_f32(__rev0_190, __rev1_190, *(float32x2_t *) &__reint1_190); \
40873 __ret_190 = __builtin_shufflevector(__ret_190, __ret_190, 1, 0); \
40874 __ret_190; \
40875})
40876#endif
40877
40878#ifdef __LITTLE_ENDIAN__
40879#define vcmlaq_rot270_laneq_f32(__p0_191, __p1_191, __p2_191, __p3_191) __extension__ ({ \
40880 float32x4_t __s0_191 = __p0_191; \
40881 float32x4_t __s1_191 = __p1_191; \
40882 float32x4_t __s2_191 = __p2_191; \
40883 float32x4_t __ret_191; \
40884float32x4_t __reint_191 = __s2_191; \
40885uint64x2_t __reint1_191 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_191, __p3_191), vgetq_lane_u64(*(uint64x2_t *) &__reint_191, __p3_191)}; \
40886 __ret_191 = vcmlaq_rot270_f32(__s0_191, __s1_191, *(float32x4_t *) &__reint1_191); \
40887 __ret_191; \
40888})
40889#else
40890#define vcmlaq_rot270_laneq_f32(__p0_192, __p1_192, __p2_192, __p3_192) __extension__ ({ \
40891 float32x4_t __s0_192 = __p0_192; \
40892 float32x4_t __s1_192 = __p1_192; \
40893 float32x4_t __s2_192 = __p2_192; \
40894 float32x4_t __rev0_192; __rev0_192 = __builtin_shufflevector(__s0_192, __s0_192, 3, 2, 1, 0); \
40895 float32x4_t __rev1_192; __rev1_192 = __builtin_shufflevector(__s1_192, __s1_192, 3, 2, 1, 0); \
40896 float32x4_t __rev2_192; __rev2_192 = __builtin_shufflevector(__s2_192, __s2_192, 3, 2, 1, 0); \
40897 float32x4_t __ret_192; \
40898float32x4_t __reint_192 = __rev2_192; \
40899uint64x2_t __reint1_192 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_192, __p3_192), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_192, __p3_192)}; \
40900 __ret_192 = __noswap_vcmlaq_rot270_f32(__rev0_192, __rev1_192, *(float32x4_t *) &__reint1_192); \
40901 __ret_192 = __builtin_shufflevector(__ret_192, __ret_192, 3, 2, 1, 0); \
40902 __ret_192; \
40903})
40538#endif40904#endif
4053940905
40540#ifdef __LITTLE_ENDIAN__40906#ifdef __LITTLE_ENDIAN__
...@@ -40553,6 +40919,11 @@ __ai float32x4_t vcmlaq_rot90_f32(float32x4_t __p0, float32x4_t __p1, float32x4_...@@ -40553,6 +40919,11 @@ __ai float32x4_t vcmlaq_rot90_f32(float32x4_t __p0, float32x4_t __p1, float32x4_
40553 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);40919 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40554 return __ret;40920 return __ret;
40555}40921}
40922__ai float32x4_t __noswap_vcmlaq_rot90_f32(float32x4_t __p0, float32x4_t __p1, float32x4_t __p2) {
40923 float32x4_t __ret;
40924 __ret = (float32x4_t) __builtin_neon_vcmlaq_rot90_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 41);
40925 return __ret;
40926}
40556#endif40927#endif
4055740928
40558#ifdef __LITTLE_ENDIAN__40929#ifdef __LITTLE_ENDIAN__
...@@ -40571,6 +40942,123 @@ __ai float32x2_t vcmla_rot90_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t...@@ -40571,6 +40942,123 @@ __ai float32x2_t vcmla_rot90_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t
40571 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);40942 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40572 return __ret;40943 return __ret;
40573}40944}
40945__ai float32x2_t __noswap_vcmla_rot90_f32(float32x2_t __p0, float32x2_t __p1, float32x2_t __p2) {
40946 float32x2_t __ret;
40947 __ret = (float32x2_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 9);
40948 return __ret;
40949}
40950#endif
40951
40952#ifdef __LITTLE_ENDIAN__
40953#define vcmla_rot90_lane_f32(__p0_193, __p1_193, __p2_193, __p3_193) __extension__ ({ \
40954 float32x2_t __s0_193 = __p0_193; \
40955 float32x2_t __s1_193 = __p1_193; \
40956 float32x2_t __s2_193 = __p2_193; \
40957 float32x2_t __ret_193; \
40958float32x2_t __reint_193 = __s2_193; \
40959uint64x1_t __reint1_193 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_193, __p3_193)}; \
40960 __ret_193 = vcmla_rot90_f32(__s0_193, __s1_193, *(float32x2_t *) &__reint1_193); \
40961 __ret_193; \
40962})
40963#else
40964#define vcmla_rot90_lane_f32(__p0_194, __p1_194, __p2_194, __p3_194) __extension__ ({ \
40965 float32x2_t __s0_194 = __p0_194; \
40966 float32x2_t __s1_194 = __p1_194; \
40967 float32x2_t __s2_194 = __p2_194; \
40968 float32x2_t __rev0_194; __rev0_194 = __builtin_shufflevector(__s0_194, __s0_194, 1, 0); \
40969 float32x2_t __rev1_194; __rev1_194 = __builtin_shufflevector(__s1_194, __s1_194, 1, 0); \
40970 float32x2_t __rev2_194; __rev2_194 = __builtin_shufflevector(__s2_194, __s2_194, 1, 0); \
40971 float32x2_t __ret_194; \
40972float32x2_t __reint_194 = __rev2_194; \
40973uint64x1_t __reint1_194 = (uint64x1_t) {vget_lane_u64(*(uint64x1_t *) &__reint_194, __p3_194)}; \
40974 __ret_194 = __noswap_vcmla_rot90_f32(__rev0_194, __rev1_194, *(float32x2_t *) &__reint1_194); \
40975 __ret_194 = __builtin_shufflevector(__ret_194, __ret_194, 1, 0); \
40976 __ret_194; \
40977})
40978#endif
40979
40980#ifdef __LITTLE_ENDIAN__
40981#define vcmlaq_rot90_lane_f32(__p0_195, __p1_195, __p2_195, __p3_195) __extension__ ({ \
40982 float32x4_t __s0_195 = __p0_195; \
40983 float32x4_t __s1_195 = __p1_195; \
40984 float32x2_t __s2_195 = __p2_195; \
40985 float32x4_t __ret_195; \
40986float32x2_t __reint_195 = __s2_195; \
40987uint64x2_t __reint1_195 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_195, __p3_195), vget_lane_u64(*(uint64x1_t *) &__reint_195, __p3_195)}; \
40988 __ret_195 = vcmlaq_rot90_f32(__s0_195, __s1_195, *(float32x4_t *) &__reint1_195); \
40989 __ret_195; \
40990})
40991#else
40992#define vcmlaq_rot90_lane_f32(__p0_196, __p1_196, __p2_196, __p3_196) __extension__ ({ \
40993 float32x4_t __s0_196 = __p0_196; \
40994 float32x4_t __s1_196 = __p1_196; \
40995 float32x2_t __s2_196 = __p2_196; \
40996 float32x4_t __rev0_196; __rev0_196 = __builtin_shufflevector(__s0_196, __s0_196, 3, 2, 1, 0); \
40997 float32x4_t __rev1_196; __rev1_196 = __builtin_shufflevector(__s1_196, __s1_196, 3, 2, 1, 0); \
40998 float32x2_t __rev2_196; __rev2_196 = __builtin_shufflevector(__s2_196, __s2_196, 1, 0); \
40999 float32x4_t __ret_196; \
41000float32x2_t __reint_196 = __rev2_196; \
41001uint64x2_t __reint1_196 = (uint64x2_t) {vget_lane_u64(*(uint64x1_t *) &__reint_196, __p3_196), vget_lane_u64(*(uint64x1_t *) &__reint_196, __p3_196)}; \
41002 __ret_196 = __noswap_vcmlaq_rot90_f32(__rev0_196, __rev1_196, *(float32x4_t *) &__reint1_196); \
41003 __ret_196 = __builtin_shufflevector(__ret_196, __ret_196, 3, 2, 1, 0); \
41004 __ret_196; \
41005})
41006#endif
41007
41008#ifdef __LITTLE_ENDIAN__
41009#define vcmla_rot90_laneq_f32(__p0_197, __p1_197, __p2_197, __p3_197) __extension__ ({ \
41010 float32x2_t __s0_197 = __p0_197; \
41011 float32x2_t __s1_197 = __p1_197; \
41012 float32x4_t __s2_197 = __p2_197; \
41013 float32x2_t __ret_197; \
41014float32x4_t __reint_197 = __s2_197; \
41015uint64x1_t __reint1_197 = (uint64x1_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_197, __p3_197)}; \
41016 __ret_197 = vcmla_rot90_f32(__s0_197, __s1_197, *(float32x2_t *) &__reint1_197); \
41017 __ret_197; \
41018})
41019#else
41020#define vcmla_rot90_laneq_f32(__p0_198, __p1_198, __p2_198, __p3_198) __extension__ ({ \
41021 float32x2_t __s0_198 = __p0_198; \
41022 float32x2_t __s1_198 = __p1_198; \
41023 float32x4_t __s2_198 = __p2_198; \
41024 float32x2_t __rev0_198; __rev0_198 = __builtin_shufflevector(__s0_198, __s0_198, 1, 0); \
41025 float32x2_t __rev1_198; __rev1_198 = __builtin_shufflevector(__s1_198, __s1_198, 1, 0); \
41026 float32x4_t __rev2_198; __rev2_198 = __builtin_shufflevector(__s2_198, __s2_198, 3, 2, 1, 0); \
41027 float32x2_t __ret_198; \
41028float32x4_t __reint_198 = __rev2_198; \
41029uint64x1_t __reint1_198 = (uint64x1_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_198, __p3_198)}; \
41030 __ret_198 = __noswap_vcmla_rot90_f32(__rev0_198, __rev1_198, *(float32x2_t *) &__reint1_198); \
41031 __ret_198 = __builtin_shufflevector(__ret_198, __ret_198, 1, 0); \
41032 __ret_198; \
41033})
41034#endif
41035
41036#ifdef __LITTLE_ENDIAN__
41037#define vcmlaq_rot90_laneq_f32(__p0_199, __p1_199, __p2_199, __p3_199) __extension__ ({ \
41038 float32x4_t __s0_199 = __p0_199; \
41039 float32x4_t __s1_199 = __p1_199; \
41040 float32x4_t __s2_199 = __p2_199; \
41041 float32x4_t __ret_199; \
41042float32x4_t __reint_199 = __s2_199; \
41043uint64x2_t __reint1_199 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_199, __p3_199), vgetq_lane_u64(*(uint64x2_t *) &__reint_199, __p3_199)}; \
41044 __ret_199 = vcmlaq_rot90_f32(__s0_199, __s1_199, *(float32x4_t *) &__reint1_199); \
41045 __ret_199; \
41046})
41047#else
41048#define vcmlaq_rot90_laneq_f32(__p0_200, __p1_200, __p2_200, __p3_200) __extension__ ({ \
41049 float32x4_t __s0_200 = __p0_200; \
41050 float32x4_t __s1_200 = __p1_200; \
41051 float32x4_t __s2_200 = __p2_200; \
41052 float32x4_t __rev0_200; __rev0_200 = __builtin_shufflevector(__s0_200, __s0_200, 3, 2, 1, 0); \
41053 float32x4_t __rev1_200; __rev1_200 = __builtin_shufflevector(__s1_200, __s1_200, 3, 2, 1, 0); \
41054 float32x4_t __rev2_200; __rev2_200 = __builtin_shufflevector(__s2_200, __s2_200, 3, 2, 1, 0); \
41055 float32x4_t __ret_200; \
41056float32x4_t __reint_200 = __rev2_200; \
41057uint64x2_t __reint1_200 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_200, __p3_200), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_200, __p3_200)}; \
41058 __ret_200 = __noswap_vcmlaq_rot90_f32(__rev0_200, __rev1_200, *(float32x4_t *) &__reint1_200); \
41059 __ret_200 = __builtin_shufflevector(__ret_200, __ret_200, 3, 2, 1, 0); \
41060 __ret_200; \
41061})
40574#endif41062#endif
4057541063
40576#endif41064#endif
...@@ -40659,6 +41147,11 @@ __ai float16x8_t vcmlaq_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2...@@ -40659,6 +41147,11 @@ __ai float16x8_t vcmlaq_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2
40659 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);41147 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);
40660 return __ret;41148 return __ret;
40661}41149}
41150__ai float16x8_t __noswap_vcmlaq_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2) {
41151 float16x8_t __ret;
41152 __ret = (float16x8_t) __builtin_neon_vcmlaq_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 40);
41153 return __ret;
41154}
40662#endif41155#endif
4066341156
40664#ifdef __LITTLE_ENDIAN__41157#ifdef __LITTLE_ENDIAN__
...@@ -40677,6 +41170,123 @@ __ai float16x4_t vcmla_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2)...@@ -40677,6 +41170,123 @@ __ai float16x4_t vcmla_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2)
40677 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);41170 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40678 return __ret;41171 return __ret;
40679}41172}
41173__ai float16x4_t __noswap_vcmla_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {
41174 float16x4_t __ret;
41175 __ret = (float16x4_t) __builtin_neon_vcmla_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 8);
41176 return __ret;
41177}
41178#endif
41179
41180#ifdef __LITTLE_ENDIAN__
41181#define vcmla_lane_f16(__p0_201, __p1_201, __p2_201, __p3_201) __extension__ ({ \
41182 float16x4_t __s0_201 = __p0_201; \
41183 float16x4_t __s1_201 = __p1_201; \
41184 float16x4_t __s2_201 = __p2_201; \
41185 float16x4_t __ret_201; \
41186float16x4_t __reint_201 = __s2_201; \
41187uint32x2_t __reint1_201 = (uint32x2_t) {vget_lane_u32(*(uint32x2_t *) &__reint_201, __p3_201), vget_lane_u32(*(uint32x2_t *) &__reint_201, __p3_201)}; \
41188 __ret_201 = vcmla_f16(__s0_201, __s1_201, *(float16x4_t *) &__reint1_201); \
41189 __ret_201; \
41190})
41191#else
41192#define vcmla_lane_f16(__p0_202, __p1_202, __p2_202, __p3_202) __extension__ ({ \
41193 float16x4_t __s0_202 = __p0_202; \
41194 float16x4_t __s1_202 = __p1_202; \
41195 float16x4_t __s2_202 = __p2_202; \
41196 float16x4_t __rev0_202; __rev0_202 = __builtin_shufflevector(__s0_202, __s0_202, 3, 2, 1, 0); \
41197 float16x4_t __rev1_202; __rev1_202 = __builtin_shufflevector(__s1_202, __s1_202, 3, 2, 1, 0); \
41198 float16x4_t __rev2_202; __rev2_202 = __builtin_shufflevector(__s2_202, __s2_202, 3, 2, 1, 0); \
41199 float16x4_t __ret_202; \
41200float16x4_t __reint_202 = __rev2_202; \
41201uint32x2_t __reint1_202 = (uint32x2_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_202, __p3_202), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_202, __p3_202)}; \
41202 __ret_202 = __noswap_vcmla_f16(__rev0_202, __rev1_202, *(float16x4_t *) &__reint1_202); \
41203 __ret_202 = __builtin_shufflevector(__ret_202, __ret_202, 3, 2, 1, 0); \
41204 __ret_202; \
41205})
41206#endif
41207
41208#ifdef __LITTLE_ENDIAN__
41209#define vcmlaq_lane_f16(__p0_203, __p1_203, __p2_203, __p3_203) __extension__ ({ \
41210 float16x8_t __s0_203 = __p0_203; \
41211 float16x8_t __s1_203 = __p1_203; \
41212 float16x4_t __s2_203 = __p2_203; \
41213 float16x8_t __ret_203; \
41214float16x4_t __reint_203 = __s2_203; \
41215uint32x4_t __reint1_203 = (uint32x4_t) {vget_lane_u32(*(uint32x2_t *) &__reint_203, __p3_203), vget_lane_u32(*(uint32x2_t *) &__reint_203, __p3_203), vget_lane_u32(*(uint32x2_t *) &__reint_203, __p3_203), vget_lane_u32(*(uint32x2_t *) &__reint_203, __p3_203)}; \
41216 __ret_203 = vcmlaq_f16(__s0_203, __s1_203, *(float16x8_t *) &__reint1_203); \
41217 __ret_203; \
41218})
41219#else
41220#define vcmlaq_lane_f16(__p0_204, __p1_204, __p2_204, __p3_204) __extension__ ({ \
41221 float16x8_t __s0_204 = __p0_204; \
41222 float16x8_t __s1_204 = __p1_204; \
41223 float16x4_t __s2_204 = __p2_204; \
41224 float16x8_t __rev0_204; __rev0_204 = __builtin_shufflevector(__s0_204, __s0_204, 7, 6, 5, 4, 3, 2, 1, 0); \
41225 float16x8_t __rev1_204; __rev1_204 = __builtin_shufflevector(__s1_204, __s1_204, 7, 6, 5, 4, 3, 2, 1, 0); \
41226 float16x4_t __rev2_204; __rev2_204 = __builtin_shufflevector(__s2_204, __s2_204, 3, 2, 1, 0); \
41227 float16x8_t __ret_204; \
41228float16x4_t __reint_204 = __rev2_204; \
41229uint32x4_t __reint1_204 = (uint32x4_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_204, __p3_204), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_204, __p3_204), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_204, __p3_204), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_204, __p3_204)}; \
41230 __ret_204 = __noswap_vcmlaq_f16(__rev0_204, __rev1_204, *(float16x8_t *) &__reint1_204); \
41231 __ret_204 = __builtin_shufflevector(__ret_204, __ret_204, 7, 6, 5, 4, 3, 2, 1, 0); \
41232 __ret_204; \
41233})
41234#endif
41235
41236#ifdef __LITTLE_ENDIAN__
41237#define vcmla_laneq_f16(__p0_205, __p1_205, __p2_205, __p3_205) __extension__ ({ \
41238 float16x4_t __s0_205 = __p0_205; \
41239 float16x4_t __s1_205 = __p1_205; \
41240 float16x8_t __s2_205 = __p2_205; \
41241 float16x4_t __ret_205; \
41242float16x8_t __reint_205 = __s2_205; \
41243uint32x2_t __reint1_205 = (uint32x2_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_205, __p3_205), vgetq_lane_u32(*(uint32x4_t *) &__reint_205, __p3_205)}; \
41244 __ret_205 = vcmla_f16(__s0_205, __s1_205, *(float16x4_t *) &__reint1_205); \
41245 __ret_205; \
41246})
41247#else
41248#define vcmla_laneq_f16(__p0_206, __p1_206, __p2_206, __p3_206) __extension__ ({ \
41249 float16x4_t __s0_206 = __p0_206; \
41250 float16x4_t __s1_206 = __p1_206; \
41251 float16x8_t __s2_206 = __p2_206; \
41252 float16x4_t __rev0_206; __rev0_206 = __builtin_shufflevector(__s0_206, __s0_206, 3, 2, 1, 0); \
41253 float16x4_t __rev1_206; __rev1_206 = __builtin_shufflevector(__s1_206, __s1_206, 3, 2, 1, 0); \
41254 float16x8_t __rev2_206; __rev2_206 = __builtin_shufflevector(__s2_206, __s2_206, 7, 6, 5, 4, 3, 2, 1, 0); \
41255 float16x4_t __ret_206; \
41256float16x8_t __reint_206 = __rev2_206; \
41257uint32x2_t __reint1_206 = (uint32x2_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_206, __p3_206), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_206, __p3_206)}; \
41258 __ret_206 = __noswap_vcmla_f16(__rev0_206, __rev1_206, *(float16x4_t *) &__reint1_206); \
41259 __ret_206 = __builtin_shufflevector(__ret_206, __ret_206, 3, 2, 1, 0); \
41260 __ret_206; \
41261})
41262#endif
41263
41264#ifdef __LITTLE_ENDIAN__
41265#define vcmlaq_laneq_f16(__p0_207, __p1_207, __p2_207, __p3_207) __extension__ ({ \
41266 float16x8_t __s0_207 = __p0_207; \
41267 float16x8_t __s1_207 = __p1_207; \
41268 float16x8_t __s2_207 = __p2_207; \
41269 float16x8_t __ret_207; \
41270float16x8_t __reint_207 = __s2_207; \
41271uint32x4_t __reint1_207 = (uint32x4_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_207, __p3_207), vgetq_lane_u32(*(uint32x4_t *) &__reint_207, __p3_207), vgetq_lane_u32(*(uint32x4_t *) &__reint_207, __p3_207), vgetq_lane_u32(*(uint32x4_t *) &__reint_207, __p3_207)}; \
41272 __ret_207 = vcmlaq_f16(__s0_207, __s1_207, *(float16x8_t *) &__reint1_207); \
41273 __ret_207; \
41274})
41275#else
41276#define vcmlaq_laneq_f16(__p0_208, __p1_208, __p2_208, __p3_208) __extension__ ({ \
41277 float16x8_t __s0_208 = __p0_208; \
41278 float16x8_t __s1_208 = __p1_208; \
41279 float16x8_t __s2_208 = __p2_208; \
41280 float16x8_t __rev0_208; __rev0_208 = __builtin_shufflevector(__s0_208, __s0_208, 7, 6, 5, 4, 3, 2, 1, 0); \
41281 float16x8_t __rev1_208; __rev1_208 = __builtin_shufflevector(__s1_208, __s1_208, 7, 6, 5, 4, 3, 2, 1, 0); \
41282 float16x8_t __rev2_208; __rev2_208 = __builtin_shufflevector(__s2_208, __s2_208, 7, 6, 5, 4, 3, 2, 1, 0); \
41283 float16x8_t __ret_208; \
41284float16x8_t __reint_208 = __rev2_208; \
41285uint32x4_t __reint1_208 = (uint32x4_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_208, __p3_208), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_208, __p3_208), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_208, __p3_208), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_208, __p3_208)}; \
41286 __ret_208 = __noswap_vcmlaq_f16(__rev0_208, __rev1_208, *(float16x8_t *) &__reint1_208); \
41287 __ret_208 = __builtin_shufflevector(__ret_208, __ret_208, 7, 6, 5, 4, 3, 2, 1, 0); \
41288 __ret_208; \
41289})
40680#endif41290#endif
4068141291
40682#ifdef __LITTLE_ENDIAN__41292#ifdef __LITTLE_ENDIAN__
...@@ -40695,6 +41305,11 @@ __ai float16x8_t vcmlaq_rot180_f16(float16x8_t __p0, float16x8_t __p1, float16x8...@@ -40695,6 +41305,11 @@ __ai float16x8_t vcmlaq_rot180_f16(float16x8_t __p0, float16x8_t __p1, float16x8
40695 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);41305 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);
40696 return __ret;41306 return __ret;
40697}41307}
41308__ai float16x8_t __noswap_vcmlaq_rot180_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2) {
41309 float16x8_t __ret;
41310 __ret = (float16x8_t) __builtin_neon_vcmlaq_rot180_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 40);
41311 return __ret;
41312}
40698#endif41313#endif
4069941314
40700#ifdef __LITTLE_ENDIAN__41315#ifdef __LITTLE_ENDIAN__
...@@ -40713,6 +41328,123 @@ __ai float16x4_t vcmla_rot180_f16(float16x4_t __p0, float16x4_t __p1, float16x4_...@@ -40713,6 +41328,123 @@ __ai float16x4_t vcmla_rot180_f16(float16x4_t __p0, float16x4_t __p1, float16x4_
40713 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);41328 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40714 return __ret;41329 return __ret;
40715}41330}
41331__ai float16x4_t __noswap_vcmla_rot180_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {
41332 float16x4_t __ret;
41333 __ret = (float16x4_t) __builtin_neon_vcmla_rot180_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 8);
41334 return __ret;
41335}
41336#endif
41337
41338#ifdef __LITTLE_ENDIAN__
41339#define vcmla_rot180_lane_f16(__p0_209, __p1_209, __p2_209, __p3_209) __extension__ ({ \
41340 float16x4_t __s0_209 = __p0_209; \
41341 float16x4_t __s1_209 = __p1_209; \
41342 float16x4_t __s2_209 = __p2_209; \
41343 float16x4_t __ret_209; \
41344float16x4_t __reint_209 = __s2_209; \
41345uint32x2_t __reint1_209 = (uint32x2_t) {vget_lane_u32(*(uint32x2_t *) &__reint_209, __p3_209), vget_lane_u32(*(uint32x2_t *) &__reint_209, __p3_209)}; \
41346 __ret_209 = vcmla_rot180_f16(__s0_209, __s1_209, *(float16x4_t *) &__reint1_209); \
41347 __ret_209; \
41348})
41349#else
41350#define vcmla_rot180_lane_f16(__p0_210, __p1_210, __p2_210, __p3_210) __extension__ ({ \
41351 float16x4_t __s0_210 = __p0_210; \
41352 float16x4_t __s1_210 = __p1_210; \
41353 float16x4_t __s2_210 = __p2_210; \
41354 float16x4_t __rev0_210; __rev0_210 = __builtin_shufflevector(__s0_210, __s0_210, 3, 2, 1, 0); \
41355 float16x4_t __rev1_210; __rev1_210 = __builtin_shufflevector(__s1_210, __s1_210, 3, 2, 1, 0); \
41356 float16x4_t __rev2_210; __rev2_210 = __builtin_shufflevector(__s2_210, __s2_210, 3, 2, 1, 0); \
41357 float16x4_t __ret_210; \
41358float16x4_t __reint_210 = __rev2_210; \
41359uint32x2_t __reint1_210 = (uint32x2_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_210, __p3_210), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_210, __p3_210)}; \
41360 __ret_210 = __noswap_vcmla_rot180_f16(__rev0_210, __rev1_210, *(float16x4_t *) &__reint1_210); \
41361 __ret_210 = __builtin_shufflevector(__ret_210, __ret_210, 3, 2, 1, 0); \
41362 __ret_210; \
41363})
41364#endif
41365
41366#ifdef __LITTLE_ENDIAN__
41367#define vcmlaq_rot180_lane_f16(__p0_211, __p1_211, __p2_211, __p3_211) __extension__ ({ \
41368 float16x8_t __s0_211 = __p0_211; \
41369 float16x8_t __s1_211 = __p1_211; \
41370 float16x4_t __s2_211 = __p2_211; \
41371 float16x8_t __ret_211; \
41372float16x4_t __reint_211 = __s2_211; \
41373uint32x4_t __reint1_211 = (uint32x4_t) {vget_lane_u32(*(uint32x2_t *) &__reint_211, __p3_211), vget_lane_u32(*(uint32x2_t *) &__reint_211, __p3_211), vget_lane_u32(*(uint32x2_t *) &__reint_211, __p3_211), vget_lane_u32(*(uint32x2_t *) &__reint_211, __p3_211)}; \
41374 __ret_211 = vcmlaq_rot180_f16(__s0_211, __s1_211, *(float16x8_t *) &__reint1_211); \
41375 __ret_211; \
41376})
41377#else
41378#define vcmlaq_rot180_lane_f16(__p0_212, __p1_212, __p2_212, __p3_212) __extension__ ({ \
41379 float16x8_t __s0_212 = __p0_212; \
41380 float16x8_t __s1_212 = __p1_212; \
41381 float16x4_t __s2_212 = __p2_212; \
41382 float16x8_t __rev0_212; __rev0_212 = __builtin_shufflevector(__s0_212, __s0_212, 7, 6, 5, 4, 3, 2, 1, 0); \
41383 float16x8_t __rev1_212; __rev1_212 = __builtin_shufflevector(__s1_212, __s1_212, 7, 6, 5, 4, 3, 2, 1, 0); \
41384 float16x4_t __rev2_212; __rev2_212 = __builtin_shufflevector(__s2_212, __s2_212, 3, 2, 1, 0); \
41385 float16x8_t __ret_212; \
41386float16x4_t __reint_212 = __rev2_212; \
41387uint32x4_t __reint1_212 = (uint32x4_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_212, __p3_212), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_212, __p3_212), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_212, __p3_212), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_212, __p3_212)}; \
41388 __ret_212 = __noswap_vcmlaq_rot180_f16(__rev0_212, __rev1_212, *(float16x8_t *) &__reint1_212); \
41389 __ret_212 = __builtin_shufflevector(__ret_212, __ret_212, 7, 6, 5, 4, 3, 2, 1, 0); \
41390 __ret_212; \
41391})
41392#endif
41393
41394#ifdef __LITTLE_ENDIAN__
41395#define vcmla_rot180_laneq_f16(__p0_213, __p1_213, __p2_213, __p3_213) __extension__ ({ \
41396 float16x4_t __s0_213 = __p0_213; \
41397 float16x4_t __s1_213 = __p1_213; \
41398 float16x8_t __s2_213 = __p2_213; \
41399 float16x4_t __ret_213; \
41400float16x8_t __reint_213 = __s2_213; \
41401uint32x2_t __reint1_213 = (uint32x2_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_213, __p3_213), vgetq_lane_u32(*(uint32x4_t *) &__reint_213, __p3_213)}; \
41402 __ret_213 = vcmla_rot180_f16(__s0_213, __s1_213, *(float16x4_t *) &__reint1_213); \
41403 __ret_213; \
41404})
41405#else
41406#define vcmla_rot180_laneq_f16(__p0_214, __p1_214, __p2_214, __p3_214) __extension__ ({ \
41407 float16x4_t __s0_214 = __p0_214; \
41408 float16x4_t __s1_214 = __p1_214; \
41409 float16x8_t __s2_214 = __p2_214; \
41410 float16x4_t __rev0_214; __rev0_214 = __builtin_shufflevector(__s0_214, __s0_214, 3, 2, 1, 0); \
41411 float16x4_t __rev1_214; __rev1_214 = __builtin_shufflevector(__s1_214, __s1_214, 3, 2, 1, 0); \
41412 float16x8_t __rev2_214; __rev2_214 = __builtin_shufflevector(__s2_214, __s2_214, 7, 6, 5, 4, 3, 2, 1, 0); \
41413 float16x4_t __ret_214; \
41414float16x8_t __reint_214 = __rev2_214; \
41415uint32x2_t __reint1_214 = (uint32x2_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_214, __p3_214), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_214, __p3_214)}; \
41416 __ret_214 = __noswap_vcmla_rot180_f16(__rev0_214, __rev1_214, *(float16x4_t *) &__reint1_214); \
41417 __ret_214 = __builtin_shufflevector(__ret_214, __ret_214, 3, 2, 1, 0); \
41418 __ret_214; \
41419})
41420#endif
41421
41422#ifdef __LITTLE_ENDIAN__
41423#define vcmlaq_rot180_laneq_f16(__p0_215, __p1_215, __p2_215, __p3_215) __extension__ ({ \
41424 float16x8_t __s0_215 = __p0_215; \
41425 float16x8_t __s1_215 = __p1_215; \
41426 float16x8_t __s2_215 = __p2_215; \
41427 float16x8_t __ret_215; \
41428float16x8_t __reint_215 = __s2_215; \
41429uint32x4_t __reint1_215 = (uint32x4_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_215, __p3_215), vgetq_lane_u32(*(uint32x4_t *) &__reint_215, __p3_215), vgetq_lane_u32(*(uint32x4_t *) &__reint_215, __p3_215), vgetq_lane_u32(*(uint32x4_t *) &__reint_215, __p3_215)}; \
41430 __ret_215 = vcmlaq_rot180_f16(__s0_215, __s1_215, *(float16x8_t *) &__reint1_215); \
41431 __ret_215; \
41432})
41433#else
41434#define vcmlaq_rot180_laneq_f16(__p0_216, __p1_216, __p2_216, __p3_216) __extension__ ({ \
41435 float16x8_t __s0_216 = __p0_216; \
41436 float16x8_t __s1_216 = __p1_216; \
41437 float16x8_t __s2_216 = __p2_216; \
41438 float16x8_t __rev0_216; __rev0_216 = __builtin_shufflevector(__s0_216, __s0_216, 7, 6, 5, 4, 3, 2, 1, 0); \
41439 float16x8_t __rev1_216; __rev1_216 = __builtin_shufflevector(__s1_216, __s1_216, 7, 6, 5, 4, 3, 2, 1, 0); \
41440 float16x8_t __rev2_216; __rev2_216 = __builtin_shufflevector(__s2_216, __s2_216, 7, 6, 5, 4, 3, 2, 1, 0); \
41441 float16x8_t __ret_216; \
41442float16x8_t __reint_216 = __rev2_216; \
41443uint32x4_t __reint1_216 = (uint32x4_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_216, __p3_216), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_216, __p3_216), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_216, __p3_216), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_216, __p3_216)}; \
41444 __ret_216 = __noswap_vcmlaq_rot180_f16(__rev0_216, __rev1_216, *(float16x8_t *) &__reint1_216); \
41445 __ret_216 = __builtin_shufflevector(__ret_216, __ret_216, 7, 6, 5, 4, 3, 2, 1, 0); \
41446 __ret_216; \
41447})
40716#endif41448#endif
4071741449
40718#ifdef __LITTLE_ENDIAN__41450#ifdef __LITTLE_ENDIAN__
...@@ -40731,6 +41463,11 @@ __ai float16x8_t vcmlaq_rot270_f16(float16x8_t __p0, float16x8_t __p1, float16x8...@@ -40731,6 +41463,11 @@ __ai float16x8_t vcmlaq_rot270_f16(float16x8_t __p0, float16x8_t __p1, float16x8
40731 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);41463 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);
40732 return __ret;41464 return __ret;
40733}41465}
41466__ai float16x8_t __noswap_vcmlaq_rot270_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2) {
41467 float16x8_t __ret;
41468 __ret = (float16x8_t) __builtin_neon_vcmlaq_rot270_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 40);
41469 return __ret;
41470}
40734#endif41471#endif
4073541472
40736#ifdef __LITTLE_ENDIAN__41473#ifdef __LITTLE_ENDIAN__
...@@ -40749,6 +41486,123 @@ __ai float16x4_t vcmla_rot270_f16(float16x4_t __p0, float16x4_t __p1, float16x4_...@@ -40749,6 +41486,123 @@ __ai float16x4_t vcmla_rot270_f16(float16x4_t __p0, float16x4_t __p1, float16x4_
40749 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);41486 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40750 return __ret;41487 return __ret;
40751}41488}
41489__ai float16x4_t __noswap_vcmla_rot270_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {
41490 float16x4_t __ret;
41491 __ret = (float16x4_t) __builtin_neon_vcmla_rot270_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 8);
41492 return __ret;
41493}
41494#endif
41495
41496#ifdef __LITTLE_ENDIAN__
41497#define vcmla_rot270_lane_f16(__p0_217, __p1_217, __p2_217, __p3_217) __extension__ ({ \
41498 float16x4_t __s0_217 = __p0_217; \
41499 float16x4_t __s1_217 = __p1_217; \
41500 float16x4_t __s2_217 = __p2_217; \
41501 float16x4_t __ret_217; \
41502float16x4_t __reint_217 = __s2_217; \
41503uint32x2_t __reint1_217 = (uint32x2_t) {vget_lane_u32(*(uint32x2_t *) &__reint_217, __p3_217), vget_lane_u32(*(uint32x2_t *) &__reint_217, __p3_217)}; \
41504 __ret_217 = vcmla_rot270_f16(__s0_217, __s1_217, *(float16x4_t *) &__reint1_217); \
41505 __ret_217; \
41506})
41507#else
41508#define vcmla_rot270_lane_f16(__p0_218, __p1_218, __p2_218, __p3_218) __extension__ ({ \
41509 float16x4_t __s0_218 = __p0_218; \
41510 float16x4_t __s1_218 = __p1_218; \
41511 float16x4_t __s2_218 = __p2_218; \
41512 float16x4_t __rev0_218; __rev0_218 = __builtin_shufflevector(__s0_218, __s0_218, 3, 2, 1, 0); \
41513 float16x4_t __rev1_218; __rev1_218 = __builtin_shufflevector(__s1_218, __s1_218, 3, 2, 1, 0); \
41514 float16x4_t __rev2_218; __rev2_218 = __builtin_shufflevector(__s2_218, __s2_218, 3, 2, 1, 0); \
41515 float16x4_t __ret_218; \
41516float16x4_t __reint_218 = __rev2_218; \
41517uint32x2_t __reint1_218 = (uint32x2_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_218, __p3_218), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_218, __p3_218)}; \
41518 __ret_218 = __noswap_vcmla_rot270_f16(__rev0_218, __rev1_218, *(float16x4_t *) &__reint1_218); \
41519 __ret_218 = __builtin_shufflevector(__ret_218, __ret_218, 3, 2, 1, 0); \
41520 __ret_218; \
41521})
41522#endif
41523
41524#ifdef __LITTLE_ENDIAN__
41525#define vcmlaq_rot270_lane_f16(__p0_219, __p1_219, __p2_219, __p3_219) __extension__ ({ \
41526 float16x8_t __s0_219 = __p0_219; \
41527 float16x8_t __s1_219 = __p1_219; \
41528 float16x4_t __s2_219 = __p2_219; \
41529 float16x8_t __ret_219; \
41530float16x4_t __reint_219 = __s2_219; \
41531uint32x4_t __reint1_219 = (uint32x4_t) {vget_lane_u32(*(uint32x2_t *) &__reint_219, __p3_219), vget_lane_u32(*(uint32x2_t *) &__reint_219, __p3_219), vget_lane_u32(*(uint32x2_t *) &__reint_219, __p3_219), vget_lane_u32(*(uint32x2_t *) &__reint_219, __p3_219)}; \
41532 __ret_219 = vcmlaq_rot270_f16(__s0_219, __s1_219, *(float16x8_t *) &__reint1_219); \
41533 __ret_219; \
41534})
41535#else
41536#define vcmlaq_rot270_lane_f16(__p0_220, __p1_220, __p2_220, __p3_220) __extension__ ({ \
41537 float16x8_t __s0_220 = __p0_220; \
41538 float16x8_t __s1_220 = __p1_220; \
41539 float16x4_t __s2_220 = __p2_220; \
41540 float16x8_t __rev0_220; __rev0_220 = __builtin_shufflevector(__s0_220, __s0_220, 7, 6, 5, 4, 3, 2, 1, 0); \
41541 float16x8_t __rev1_220; __rev1_220 = __builtin_shufflevector(__s1_220, __s1_220, 7, 6, 5, 4, 3, 2, 1, 0); \
41542 float16x4_t __rev2_220; __rev2_220 = __builtin_shufflevector(__s2_220, __s2_220, 3, 2, 1, 0); \
41543 float16x8_t __ret_220; \
41544float16x4_t __reint_220 = __rev2_220; \
41545uint32x4_t __reint1_220 = (uint32x4_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_220, __p3_220), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_220, __p3_220), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_220, __p3_220), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_220, __p3_220)}; \
41546 __ret_220 = __noswap_vcmlaq_rot270_f16(__rev0_220, __rev1_220, *(float16x8_t *) &__reint1_220); \
41547 __ret_220 = __builtin_shufflevector(__ret_220, __ret_220, 7, 6, 5, 4, 3, 2, 1, 0); \
41548 __ret_220; \
41549})
41550#endif
41551
41552#ifdef __LITTLE_ENDIAN__
41553#define vcmla_rot270_laneq_f16(__p0_221, __p1_221, __p2_221, __p3_221) __extension__ ({ \
41554 float16x4_t __s0_221 = __p0_221; \
41555 float16x4_t __s1_221 = __p1_221; \
41556 float16x8_t __s2_221 = __p2_221; \
41557 float16x4_t __ret_221; \
41558float16x8_t __reint_221 = __s2_221; \
41559uint32x2_t __reint1_221 = (uint32x2_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_221, __p3_221), vgetq_lane_u32(*(uint32x4_t *) &__reint_221, __p3_221)}; \
41560 __ret_221 = vcmla_rot270_f16(__s0_221, __s1_221, *(float16x4_t *) &__reint1_221); \
41561 __ret_221; \
41562})
41563#else
41564#define vcmla_rot270_laneq_f16(__p0_222, __p1_222, __p2_222, __p3_222) __extension__ ({ \
41565 float16x4_t __s0_222 = __p0_222; \
41566 float16x4_t __s1_222 = __p1_222; \
41567 float16x8_t __s2_222 = __p2_222; \
41568 float16x4_t __rev0_222; __rev0_222 = __builtin_shufflevector(__s0_222, __s0_222, 3, 2, 1, 0); \
41569 float16x4_t __rev1_222; __rev1_222 = __builtin_shufflevector(__s1_222, __s1_222, 3, 2, 1, 0); \
41570 float16x8_t __rev2_222; __rev2_222 = __builtin_shufflevector(__s2_222, __s2_222, 7, 6, 5, 4, 3, 2, 1, 0); \
41571 float16x4_t __ret_222; \
41572float16x8_t __reint_222 = __rev2_222; \
41573uint32x2_t __reint1_222 = (uint32x2_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_222, __p3_222), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_222, __p3_222)}; \
41574 __ret_222 = __noswap_vcmla_rot270_f16(__rev0_222, __rev1_222, *(float16x4_t *) &__reint1_222); \
41575 __ret_222 = __builtin_shufflevector(__ret_222, __ret_222, 3, 2, 1, 0); \
41576 __ret_222; \
41577})
41578#endif
41579
41580#ifdef __LITTLE_ENDIAN__
41581#define vcmlaq_rot270_laneq_f16(__p0_223, __p1_223, __p2_223, __p3_223) __extension__ ({ \
41582 float16x8_t __s0_223 = __p0_223; \
41583 float16x8_t __s1_223 = __p1_223; \
41584 float16x8_t __s2_223 = __p2_223; \
41585 float16x8_t __ret_223; \
41586float16x8_t __reint_223 = __s2_223; \
41587uint32x4_t __reint1_223 = (uint32x4_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_223, __p3_223), vgetq_lane_u32(*(uint32x4_t *) &__reint_223, __p3_223), vgetq_lane_u32(*(uint32x4_t *) &__reint_223, __p3_223), vgetq_lane_u32(*(uint32x4_t *) &__reint_223, __p3_223)}; \
41588 __ret_223 = vcmlaq_rot270_f16(__s0_223, __s1_223, *(float16x8_t *) &__reint1_223); \
41589 __ret_223; \
41590})
41591#else
41592#define vcmlaq_rot270_laneq_f16(__p0_224, __p1_224, __p2_224, __p3_224) __extension__ ({ \
41593 float16x8_t __s0_224 = __p0_224; \
41594 float16x8_t __s1_224 = __p1_224; \
41595 float16x8_t __s2_224 = __p2_224; \
41596 float16x8_t __rev0_224; __rev0_224 = __builtin_shufflevector(__s0_224, __s0_224, 7, 6, 5, 4, 3, 2, 1, 0); \
41597 float16x8_t __rev1_224; __rev1_224 = __builtin_shufflevector(__s1_224, __s1_224, 7, 6, 5, 4, 3, 2, 1, 0); \
41598 float16x8_t __rev2_224; __rev2_224 = __builtin_shufflevector(__s2_224, __s2_224, 7, 6, 5, 4, 3, 2, 1, 0); \
41599 float16x8_t __ret_224; \
41600float16x8_t __reint_224 = __rev2_224; \
41601uint32x4_t __reint1_224 = (uint32x4_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_224, __p3_224), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_224, __p3_224), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_224, __p3_224), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_224, __p3_224)}; \
41602 __ret_224 = __noswap_vcmlaq_rot270_f16(__rev0_224, __rev1_224, *(float16x8_t *) &__reint1_224); \
41603 __ret_224 = __builtin_shufflevector(__ret_224, __ret_224, 7, 6, 5, 4, 3, 2, 1, 0); \
41604 __ret_224; \
41605})
40752#endif41606#endif
4075341607
40754#ifdef __LITTLE_ENDIAN__41608#ifdef __LITTLE_ENDIAN__
...@@ -40767,6 +41621,11 @@ __ai float16x8_t vcmlaq_rot90_f16(float16x8_t __p0, float16x8_t __p1, float16x8_...@@ -40767,6 +41621,11 @@ __ai float16x8_t vcmlaq_rot90_f16(float16x8_t __p0, float16x8_t __p1, float16x8_
40767 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);41621 __ret = __builtin_shufflevector(__ret, __ret, 7, 6, 5, 4, 3, 2, 1, 0);
40768 return __ret;41622 return __ret;
40769}41623}
41624__ai float16x8_t __noswap_vcmlaq_rot90_f16(float16x8_t __p0, float16x8_t __p1, float16x8_t __p2) {
41625 float16x8_t __ret;
41626 __ret = (float16x8_t) __builtin_neon_vcmlaq_rot90_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 40);
41627 return __ret;
41628}
40770#endif41629#endif
4077141630
40772#ifdef __LITTLE_ENDIAN__41631#ifdef __LITTLE_ENDIAN__
...@@ -40776,15 +41635,132 @@ __ai float16x4_t vcmla_rot90_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t...@@ -40776,15 +41635,132 @@ __ai float16x4_t vcmla_rot90_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t
40776 return __ret;41635 return __ret;
40777}41636}
40778#else41637#else
40779__ai float16x4_t vcmla_rot90_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {41638__ai float16x4_t vcmla_rot90_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {
40780 float16x4_t __rev0; __rev0 = __builtin_shufflevector(__p0, __p0, 3, 2, 1, 0);41639 float16x4_t __rev0; __rev0 = __builtin_shufflevector(__p0, __p0, 3, 2, 1, 0);
40781 float16x4_t __rev1; __rev1 = __builtin_shufflevector(__p1, __p1, 3, 2, 1, 0);41640 float16x4_t __rev1; __rev1 = __builtin_shufflevector(__p1, __p1, 3, 2, 1, 0);
40782 float16x4_t __rev2; __rev2 = __builtin_shufflevector(__p2, __p2, 3, 2, 1, 0);41641 float16x4_t __rev2; __rev2 = __builtin_shufflevector(__p2, __p2, 3, 2, 1, 0);
40783 float16x4_t __ret;41642 float16x4_t __ret;
40784 __ret = (float16x4_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__rev0, (int8x8_t)__rev1, (int8x8_t)__rev2, 8);41643 __ret = (float16x4_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__rev0, (int8x8_t)__rev1, (int8x8_t)__rev2, 8);
40785 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);41644 __ret = __builtin_shufflevector(__ret, __ret, 3, 2, 1, 0);
40786 return __ret;41645 return __ret;
40787}41646}
41647__ai float16x4_t __noswap_vcmla_rot90_f16(float16x4_t __p0, float16x4_t __p1, float16x4_t __p2) {
41648 float16x4_t __ret;
41649 __ret = (float16x4_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 8);
41650 return __ret;
41651}
41652#endif
41653
41654#ifdef __LITTLE_ENDIAN__
41655#define vcmla_rot90_lane_f16(__p0_225, __p1_225, __p2_225, __p3_225) __extension__ ({ \
41656 float16x4_t __s0_225 = __p0_225; \
41657 float16x4_t __s1_225 = __p1_225; \
41658 float16x4_t __s2_225 = __p2_225; \
41659 float16x4_t __ret_225; \
41660float16x4_t __reint_225 = __s2_225; \
41661uint32x2_t __reint1_225 = (uint32x2_t) {vget_lane_u32(*(uint32x2_t *) &__reint_225, __p3_225), vget_lane_u32(*(uint32x2_t *) &__reint_225, __p3_225)}; \
41662 __ret_225 = vcmla_rot90_f16(__s0_225, __s1_225, *(float16x4_t *) &__reint1_225); \
41663 __ret_225; \
41664})
41665#else
41666#define vcmla_rot90_lane_f16(__p0_226, __p1_226, __p2_226, __p3_226) __extension__ ({ \
41667 float16x4_t __s0_226 = __p0_226; \
41668 float16x4_t __s1_226 = __p1_226; \
41669 float16x4_t __s2_226 = __p2_226; \
41670 float16x4_t __rev0_226; __rev0_226 = __builtin_shufflevector(__s0_226, __s0_226, 3, 2, 1, 0); \
41671 float16x4_t __rev1_226; __rev1_226 = __builtin_shufflevector(__s1_226, __s1_226, 3, 2, 1, 0); \
41672 float16x4_t __rev2_226; __rev2_226 = __builtin_shufflevector(__s2_226, __s2_226, 3, 2, 1, 0); \
41673 float16x4_t __ret_226; \
41674float16x4_t __reint_226 = __rev2_226; \
41675uint32x2_t __reint1_226 = (uint32x2_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_226, __p3_226), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_226, __p3_226)}; \
41676 __ret_226 = __noswap_vcmla_rot90_f16(__rev0_226, __rev1_226, *(float16x4_t *) &__reint1_226); \
41677 __ret_226 = __builtin_shufflevector(__ret_226, __ret_226, 3, 2, 1, 0); \
41678 __ret_226; \
41679})
41680#endif
41681
41682#ifdef __LITTLE_ENDIAN__
41683#define vcmlaq_rot90_lane_f16(__p0_227, __p1_227, __p2_227, __p3_227) __extension__ ({ \
41684 float16x8_t __s0_227 = __p0_227; \
41685 float16x8_t __s1_227 = __p1_227; \
41686 float16x4_t __s2_227 = __p2_227; \
41687 float16x8_t __ret_227; \
41688float16x4_t __reint_227 = __s2_227; \
41689uint32x4_t __reint1_227 = (uint32x4_t) {vget_lane_u32(*(uint32x2_t *) &__reint_227, __p3_227), vget_lane_u32(*(uint32x2_t *) &__reint_227, __p3_227), vget_lane_u32(*(uint32x2_t *) &__reint_227, __p3_227), vget_lane_u32(*(uint32x2_t *) &__reint_227, __p3_227)}; \
41690 __ret_227 = vcmlaq_rot90_f16(__s0_227, __s1_227, *(float16x8_t *) &__reint1_227); \
41691 __ret_227; \
41692})
41693#else
41694#define vcmlaq_rot90_lane_f16(__p0_228, __p1_228, __p2_228, __p3_228) __extension__ ({ \
41695 float16x8_t __s0_228 = __p0_228; \
41696 float16x8_t __s1_228 = __p1_228; \
41697 float16x4_t __s2_228 = __p2_228; \
41698 float16x8_t __rev0_228; __rev0_228 = __builtin_shufflevector(__s0_228, __s0_228, 7, 6, 5, 4, 3, 2, 1, 0); \
41699 float16x8_t __rev1_228; __rev1_228 = __builtin_shufflevector(__s1_228, __s1_228, 7, 6, 5, 4, 3, 2, 1, 0); \
41700 float16x4_t __rev2_228; __rev2_228 = __builtin_shufflevector(__s2_228, __s2_228, 3, 2, 1, 0); \
41701 float16x8_t __ret_228; \
41702float16x4_t __reint_228 = __rev2_228; \
41703uint32x4_t __reint1_228 = (uint32x4_t) {__noswap_vget_lane_u32(*(uint32x2_t *) &__reint_228, __p3_228), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_228, __p3_228), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_228, __p3_228), __noswap_vget_lane_u32(*(uint32x2_t *) &__reint_228, __p3_228)}; \
41704 __ret_228 = __noswap_vcmlaq_rot90_f16(__rev0_228, __rev1_228, *(float16x8_t *) &__reint1_228); \
41705 __ret_228 = __builtin_shufflevector(__ret_228, __ret_228, 7, 6, 5, 4, 3, 2, 1, 0); \
41706 __ret_228; \
41707})
41708#endif
41709
41710#ifdef __LITTLE_ENDIAN__
41711#define vcmla_rot90_laneq_f16(__p0_229, __p1_229, __p2_229, __p3_229) __extension__ ({ \
41712 float16x4_t __s0_229 = __p0_229; \
41713 float16x4_t __s1_229 = __p1_229; \
41714 float16x8_t __s2_229 = __p2_229; \
41715 float16x4_t __ret_229; \
41716float16x8_t __reint_229 = __s2_229; \
41717uint32x2_t __reint1_229 = (uint32x2_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_229, __p3_229), vgetq_lane_u32(*(uint32x4_t *) &__reint_229, __p3_229)}; \
41718 __ret_229 = vcmla_rot90_f16(__s0_229, __s1_229, *(float16x4_t *) &__reint1_229); \
41719 __ret_229; \
41720})
41721#else
41722#define vcmla_rot90_laneq_f16(__p0_230, __p1_230, __p2_230, __p3_230) __extension__ ({ \
41723 float16x4_t __s0_230 = __p0_230; \
41724 float16x4_t __s1_230 = __p1_230; \
41725 float16x8_t __s2_230 = __p2_230; \
41726 float16x4_t __rev0_230; __rev0_230 = __builtin_shufflevector(__s0_230, __s0_230, 3, 2, 1, 0); \
41727 float16x4_t __rev1_230; __rev1_230 = __builtin_shufflevector(__s1_230, __s1_230, 3, 2, 1, 0); \
41728 float16x8_t __rev2_230; __rev2_230 = __builtin_shufflevector(__s2_230, __s2_230, 7, 6, 5, 4, 3, 2, 1, 0); \
41729 float16x4_t __ret_230; \
41730float16x8_t __reint_230 = __rev2_230; \
41731uint32x2_t __reint1_230 = (uint32x2_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_230, __p3_230), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_230, __p3_230)}; \
41732 __ret_230 = __noswap_vcmla_rot90_f16(__rev0_230, __rev1_230, *(float16x4_t *) &__reint1_230); \
41733 __ret_230 = __builtin_shufflevector(__ret_230, __ret_230, 3, 2, 1, 0); \
41734 __ret_230; \
41735})
41736#endif
41737
41738#ifdef __LITTLE_ENDIAN__
41739#define vcmlaq_rot90_laneq_f16(__p0_231, __p1_231, __p2_231, __p3_231) __extension__ ({ \
41740 float16x8_t __s0_231 = __p0_231; \
41741 float16x8_t __s1_231 = __p1_231; \
41742 float16x8_t __s2_231 = __p2_231; \
41743 float16x8_t __ret_231; \
41744float16x8_t __reint_231 = __s2_231; \
41745uint32x4_t __reint1_231 = (uint32x4_t) {vgetq_lane_u32(*(uint32x4_t *) &__reint_231, __p3_231), vgetq_lane_u32(*(uint32x4_t *) &__reint_231, __p3_231), vgetq_lane_u32(*(uint32x4_t *) &__reint_231, __p3_231), vgetq_lane_u32(*(uint32x4_t *) &__reint_231, __p3_231)}; \
41746 __ret_231 = vcmlaq_rot90_f16(__s0_231, __s1_231, *(float16x8_t *) &__reint1_231); \
41747 __ret_231; \
41748})
41749#else
41750#define vcmlaq_rot90_laneq_f16(__p0_232, __p1_232, __p2_232, __p3_232) __extension__ ({ \
41751 float16x8_t __s0_232 = __p0_232; \
41752 float16x8_t __s1_232 = __p1_232; \
41753 float16x8_t __s2_232 = __p2_232; \
41754 float16x8_t __rev0_232; __rev0_232 = __builtin_shufflevector(__s0_232, __s0_232, 7, 6, 5, 4, 3, 2, 1, 0); \
41755 float16x8_t __rev1_232; __rev1_232 = __builtin_shufflevector(__s1_232, __s1_232, 7, 6, 5, 4, 3, 2, 1, 0); \
41756 float16x8_t __rev2_232; __rev2_232 = __builtin_shufflevector(__s2_232, __s2_232, 7, 6, 5, 4, 3, 2, 1, 0); \
41757 float16x8_t __ret_232; \
41758float16x8_t __reint_232 = __rev2_232; \
41759uint32x4_t __reint1_232 = (uint32x4_t) {__noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_232, __p3_232), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_232, __p3_232), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_232, __p3_232), __noswap_vgetq_lane_u32(*(uint32x4_t *) &__reint_232, __p3_232)}; \
41760 __ret_232 = __noswap_vcmlaq_rot90_f16(__rev0_232, __rev1_232, *(float16x8_t *) &__reint1_232); \
41761 __ret_232 = __builtin_shufflevector(__ret_232, __ret_232, 7, 6, 5, 4, 3, 2, 1, 0); \
41762 __ret_232; \
41763})
40788#endif41764#endif
4078941765
40790#endif41766#endif
...@@ -40839,6 +41815,11 @@ __ai float64x2_t vcmlaq_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2...@@ -40839,6 +41815,11 @@ __ai float64x2_t vcmlaq_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2
40839 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);41815 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40840 return __ret;41816 return __ret;
40841}41817}
41818__ai float64x2_t __noswap_vcmlaq_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
41819 float64x2_t __ret;
41820 __ret = (float64x2_t) __builtin_neon_vcmlaq_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 42);
41821 return __ret;
41822}
40842#endif41823#endif
4084341824
40844__ai float64x1_t vcmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {41825__ai float64x1_t vcmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {
...@@ -40846,6 +41827,96 @@ __ai float64x1_t vcmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)...@@ -40846,6 +41827,96 @@ __ai float64x1_t vcmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)
40846 __ret = (float64x1_t) __builtin_neon_vcmla_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);41827 __ret = (float64x1_t) __builtin_neon_vcmla_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);
40847 return __ret;41828 return __ret;
40848}41829}
41830#define vcmla_lane_f64(__p0_233, __p1_233, __p2_233, __p3_233) __extension__ ({ \
41831 float64x1_t __s0_233 = __p0_233; \
41832 float64x1_t __s1_233 = __p1_233; \
41833 float64x1_t __s2_233 = __p2_233; \
41834 float64x1_t __ret_233; \
41835float64x1_t __reint_233 = __s2_233; \
41836uint64x2_t __reint1_233 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_233, __p3_233), vgetq_lane_u64(*(uint64x2_t *) &__reint_233, __p3_233)}; \
41837 __ret_233 = vcmla_f64(__s0_233, __s1_233, *(float64x1_t *) &__reint1_233); \
41838 __ret_233; \
41839})
41840#ifdef __LITTLE_ENDIAN__
41841#define vcmlaq_lane_f64(__p0_234, __p1_234, __p2_234, __p3_234) __extension__ ({ \
41842 float64x2_t __s0_234 = __p0_234; \
41843 float64x2_t __s1_234 = __p1_234; \
41844 float64x1_t __s2_234 = __p2_234; \
41845 float64x2_t __ret_234; \
41846float64x1_t __reint_234 = __s2_234; \
41847uint64x2_t __reint1_234 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_234, __p3_234), vgetq_lane_u64(*(uint64x2_t *) &__reint_234, __p3_234)}; \
41848 __ret_234 = vcmlaq_f64(__s0_234, __s1_234, *(float64x2_t *) &__reint1_234); \
41849 __ret_234; \
41850})
41851#else
41852#define vcmlaq_lane_f64(__p0_235, __p1_235, __p2_235, __p3_235) __extension__ ({ \
41853 float64x2_t __s0_235 = __p0_235; \
41854 float64x2_t __s1_235 = __p1_235; \
41855 float64x1_t __s2_235 = __p2_235; \
41856 float64x2_t __rev0_235; __rev0_235 = __builtin_shufflevector(__s0_235, __s0_235, 1, 0); \
41857 float64x2_t __rev1_235; __rev1_235 = __builtin_shufflevector(__s1_235, __s1_235, 1, 0); \
41858 float64x2_t __ret_235; \
41859float64x1_t __reint_235 = __s2_235; \
41860uint64x2_t __reint1_235 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_235, __p3_235), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_235, __p3_235)}; \
41861 __ret_235 = __noswap_vcmlaq_f64(__rev0_235, __rev1_235, *(float64x2_t *) &__reint1_235); \
41862 __ret_235 = __builtin_shufflevector(__ret_235, __ret_235, 1, 0); \
41863 __ret_235; \
41864})
41865#endif
41866
41867#ifdef __LITTLE_ENDIAN__
41868#define vcmla_laneq_f64(__p0_236, __p1_236, __p2_236, __p3_236) __extension__ ({ \
41869 float64x1_t __s0_236 = __p0_236; \
41870 float64x1_t __s1_236 = __p1_236; \
41871 float64x2_t __s2_236 = __p2_236; \
41872 float64x1_t __ret_236; \
41873float64x2_t __reint_236 = __s2_236; \
41874uint64x2_t __reint1_236 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_236, __p3_236), vgetq_lane_u64(*(uint64x2_t *) &__reint_236, __p3_236)}; \
41875 __ret_236 = vcmla_f64(__s0_236, __s1_236, *(float64x1_t *) &__reint1_236); \
41876 __ret_236; \
41877})
41878#else
41879#define vcmla_laneq_f64(__p0_237, __p1_237, __p2_237, __p3_237) __extension__ ({ \
41880 float64x1_t __s0_237 = __p0_237; \
41881 float64x1_t __s1_237 = __p1_237; \
41882 float64x2_t __s2_237 = __p2_237; \
41883 float64x2_t __rev2_237; __rev2_237 = __builtin_shufflevector(__s2_237, __s2_237, 1, 0); \
41884 float64x1_t __ret_237; \
41885float64x2_t __reint_237 = __rev2_237; \
41886uint64x2_t __reint1_237 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_237, __p3_237), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_237, __p3_237)}; \
41887 __ret_237 = vcmla_f64(__s0_237, __s1_237, *(float64x1_t *) &__reint1_237); \
41888 __ret_237; \
41889})
41890#endif
41891
41892#ifdef __LITTLE_ENDIAN__
41893#define vcmlaq_laneq_f64(__p0_238, __p1_238, __p2_238, __p3_238) __extension__ ({ \
41894 float64x2_t __s0_238 = __p0_238; \
41895 float64x2_t __s1_238 = __p1_238; \
41896 float64x2_t __s2_238 = __p2_238; \
41897 float64x2_t __ret_238; \
41898float64x2_t __reint_238 = __s2_238; \
41899uint64x2_t __reint1_238 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_238, __p3_238), vgetq_lane_u64(*(uint64x2_t *) &__reint_238, __p3_238)}; \
41900 __ret_238 = vcmlaq_f64(__s0_238, __s1_238, *(float64x2_t *) &__reint1_238); \
41901 __ret_238; \
41902})
41903#else
41904#define vcmlaq_laneq_f64(__p0_239, __p1_239, __p2_239, __p3_239) __extension__ ({ \
41905 float64x2_t __s0_239 = __p0_239; \
41906 float64x2_t __s1_239 = __p1_239; \
41907 float64x2_t __s2_239 = __p2_239; \
41908 float64x2_t __rev0_239; __rev0_239 = __builtin_shufflevector(__s0_239, __s0_239, 1, 0); \
41909 float64x2_t __rev1_239; __rev1_239 = __builtin_shufflevector(__s1_239, __s1_239, 1, 0); \
41910 float64x2_t __rev2_239; __rev2_239 = __builtin_shufflevector(__s2_239, __s2_239, 1, 0); \
41911 float64x2_t __ret_239; \
41912float64x2_t __reint_239 = __rev2_239; \
41913uint64x2_t __reint1_239 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_239, __p3_239), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_239, __p3_239)}; \
41914 __ret_239 = __noswap_vcmlaq_f64(__rev0_239, __rev1_239, *(float64x2_t *) &__reint1_239); \
41915 __ret_239 = __builtin_shufflevector(__ret_239, __ret_239, 1, 0); \
41916 __ret_239; \
41917})
41918#endif
41919
40849#ifdef __LITTLE_ENDIAN__41920#ifdef __LITTLE_ENDIAN__
40850__ai float64x2_t vcmlaq_rot180_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {41921__ai float64x2_t vcmlaq_rot180_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
40851 float64x2_t __ret;41922 float64x2_t __ret;
...@@ -40862,6 +41933,11 @@ __ai float64x2_t vcmlaq_rot180_f64(float64x2_t __p0, float64x2_t __p1, float64x2...@@ -40862,6 +41933,11 @@ __ai float64x2_t vcmlaq_rot180_f64(float64x2_t __p0, float64x2_t __p1, float64x2
40862 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);41933 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40863 return __ret;41934 return __ret;
40864}41935}
41936__ai float64x2_t __noswap_vcmlaq_rot180_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
41937 float64x2_t __ret;
41938 __ret = (float64x2_t) __builtin_neon_vcmlaq_rot180_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 42);
41939 return __ret;
41940}
40865#endif41941#endif
4086641942
40867__ai float64x1_t vcmla_rot180_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {41943__ai float64x1_t vcmla_rot180_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {
...@@ -40869,6 +41945,96 @@ __ai float64x1_t vcmla_rot180_f64(float64x1_t __p0, float64x1_t __p1, float64x1_...@@ -40869,6 +41945,96 @@ __ai float64x1_t vcmla_rot180_f64(float64x1_t __p0, float64x1_t __p1, float64x1_
40869 __ret = (float64x1_t) __builtin_neon_vcmla_rot180_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);41945 __ret = (float64x1_t) __builtin_neon_vcmla_rot180_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);
40870 return __ret;41946 return __ret;
40871}41947}
41948#define vcmla_rot180_lane_f64(__p0_240, __p1_240, __p2_240, __p3_240) __extension__ ({ \
41949 float64x1_t __s0_240 = __p0_240; \
41950 float64x1_t __s1_240 = __p1_240; \
41951 float64x1_t __s2_240 = __p2_240; \
41952 float64x1_t __ret_240; \
41953float64x1_t __reint_240 = __s2_240; \
41954uint64x2_t __reint1_240 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_240, __p3_240), vgetq_lane_u64(*(uint64x2_t *) &__reint_240, __p3_240)}; \
41955 __ret_240 = vcmla_rot180_f64(__s0_240, __s1_240, *(float64x1_t *) &__reint1_240); \
41956 __ret_240; \
41957})
41958#ifdef __LITTLE_ENDIAN__
41959#define vcmlaq_rot180_lane_f64(__p0_241, __p1_241, __p2_241, __p3_241) __extension__ ({ \
41960 float64x2_t __s0_241 = __p0_241; \
41961 float64x2_t __s1_241 = __p1_241; \
41962 float64x1_t __s2_241 = __p2_241; \
41963 float64x2_t __ret_241; \
41964float64x1_t __reint_241 = __s2_241; \
41965uint64x2_t __reint1_241 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_241, __p3_241), vgetq_lane_u64(*(uint64x2_t *) &__reint_241, __p3_241)}; \
41966 __ret_241 = vcmlaq_rot180_f64(__s0_241, __s1_241, *(float64x2_t *) &__reint1_241); \
41967 __ret_241; \
41968})
41969#else
41970#define vcmlaq_rot180_lane_f64(__p0_242, __p1_242, __p2_242, __p3_242) __extension__ ({ \
41971 float64x2_t __s0_242 = __p0_242; \
41972 float64x2_t __s1_242 = __p1_242; \
41973 float64x1_t __s2_242 = __p2_242; \
41974 float64x2_t __rev0_242; __rev0_242 = __builtin_shufflevector(__s0_242, __s0_242, 1, 0); \
41975 float64x2_t __rev1_242; __rev1_242 = __builtin_shufflevector(__s1_242, __s1_242, 1, 0); \
41976 float64x2_t __ret_242; \
41977float64x1_t __reint_242 = __s2_242; \
41978uint64x2_t __reint1_242 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_242, __p3_242), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_242, __p3_242)}; \
41979 __ret_242 = __noswap_vcmlaq_rot180_f64(__rev0_242, __rev1_242, *(float64x2_t *) &__reint1_242); \
41980 __ret_242 = __builtin_shufflevector(__ret_242, __ret_242, 1, 0); \
41981 __ret_242; \
41982})
41983#endif
41984
41985#ifdef __LITTLE_ENDIAN__
41986#define vcmla_rot180_laneq_f64(__p0_243, __p1_243, __p2_243, __p3_243) __extension__ ({ \
41987 float64x1_t __s0_243 = __p0_243; \
41988 float64x1_t __s1_243 = __p1_243; \
41989 float64x2_t __s2_243 = __p2_243; \
41990 float64x1_t __ret_243; \
41991float64x2_t __reint_243 = __s2_243; \
41992uint64x2_t __reint1_243 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_243, __p3_243), vgetq_lane_u64(*(uint64x2_t *) &__reint_243, __p3_243)}; \
41993 __ret_243 = vcmla_rot180_f64(__s0_243, __s1_243, *(float64x1_t *) &__reint1_243); \
41994 __ret_243; \
41995})
41996#else
41997#define vcmla_rot180_laneq_f64(__p0_244, __p1_244, __p2_244, __p3_244) __extension__ ({ \
41998 float64x1_t __s0_244 = __p0_244; \
41999 float64x1_t __s1_244 = __p1_244; \
42000 float64x2_t __s2_244 = __p2_244; \
42001 float64x2_t __rev2_244; __rev2_244 = __builtin_shufflevector(__s2_244, __s2_244, 1, 0); \
42002 float64x1_t __ret_244; \
42003float64x2_t __reint_244 = __rev2_244; \
42004uint64x2_t __reint1_244 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_244, __p3_244), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_244, __p3_244)}; \
42005 __ret_244 = vcmla_rot180_f64(__s0_244, __s1_244, *(float64x1_t *) &__reint1_244); \
42006 __ret_244; \
42007})
42008#endif
42009
42010#ifdef __LITTLE_ENDIAN__
42011#define vcmlaq_rot180_laneq_f64(__p0_245, __p1_245, __p2_245, __p3_245) __extension__ ({ \
42012 float64x2_t __s0_245 = __p0_245; \
42013 float64x2_t __s1_245 = __p1_245; \
42014 float64x2_t __s2_245 = __p2_245; \
42015 float64x2_t __ret_245; \
42016float64x2_t __reint_245 = __s2_245; \
42017uint64x2_t __reint1_245 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_245, __p3_245), vgetq_lane_u64(*(uint64x2_t *) &__reint_245, __p3_245)}; \
42018 __ret_245 = vcmlaq_rot180_f64(__s0_245, __s1_245, *(float64x2_t *) &__reint1_245); \
42019 __ret_245; \
42020})
42021#else
42022#define vcmlaq_rot180_laneq_f64(__p0_246, __p1_246, __p2_246, __p3_246) __extension__ ({ \
42023 float64x2_t __s0_246 = __p0_246; \
42024 float64x2_t __s1_246 = __p1_246; \
42025 float64x2_t __s2_246 = __p2_246; \
42026 float64x2_t __rev0_246; __rev0_246 = __builtin_shufflevector(__s0_246, __s0_246, 1, 0); \
42027 float64x2_t __rev1_246; __rev1_246 = __builtin_shufflevector(__s1_246, __s1_246, 1, 0); \
42028 float64x2_t __rev2_246; __rev2_246 = __builtin_shufflevector(__s2_246, __s2_246, 1, 0); \
42029 float64x2_t __ret_246; \
42030float64x2_t __reint_246 = __rev2_246; \
42031uint64x2_t __reint1_246 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_246, __p3_246), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_246, __p3_246)}; \
42032 __ret_246 = __noswap_vcmlaq_rot180_f64(__rev0_246, __rev1_246, *(float64x2_t *) &__reint1_246); \
42033 __ret_246 = __builtin_shufflevector(__ret_246, __ret_246, 1, 0); \
42034 __ret_246; \
42035})
42036#endif
42037
40872#ifdef __LITTLE_ENDIAN__42038#ifdef __LITTLE_ENDIAN__
40873__ai float64x2_t vcmlaq_rot270_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {42039__ai float64x2_t vcmlaq_rot270_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
40874 float64x2_t __ret;42040 float64x2_t __ret;
...@@ -40885,6 +42051,11 @@ __ai float64x2_t vcmlaq_rot270_f64(float64x2_t __p0, float64x2_t __p1, float64x2...@@ -40885,6 +42051,11 @@ __ai float64x2_t vcmlaq_rot270_f64(float64x2_t __p0, float64x2_t __p1, float64x2
40885 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);42051 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40886 return __ret;42052 return __ret;
40887}42053}
42054__ai float64x2_t __noswap_vcmlaq_rot270_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
42055 float64x2_t __ret;
42056 __ret = (float64x2_t) __builtin_neon_vcmlaq_rot270_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 42);
42057 return __ret;
42058}
40888#endif42059#endif
4088942060
40890__ai float64x1_t vcmla_rot270_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {42061__ai float64x1_t vcmla_rot270_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {
...@@ -40892,6 +42063,96 @@ __ai float64x1_t vcmla_rot270_f64(float64x1_t __p0, float64x1_t __p1, float64x1_...@@ -40892,6 +42063,96 @@ __ai float64x1_t vcmla_rot270_f64(float64x1_t __p0, float64x1_t __p1, float64x1_
40892 __ret = (float64x1_t) __builtin_neon_vcmla_rot270_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);42063 __ret = (float64x1_t) __builtin_neon_vcmla_rot270_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);
40893 return __ret;42064 return __ret;
40894}42065}
42066#define vcmla_rot270_lane_f64(__p0_247, __p1_247, __p2_247, __p3_247) __extension__ ({ \
42067 float64x1_t __s0_247 = __p0_247; \
42068 float64x1_t __s1_247 = __p1_247; \
42069 float64x1_t __s2_247 = __p2_247; \
42070 float64x1_t __ret_247; \
42071float64x1_t __reint_247 = __s2_247; \
42072uint64x2_t __reint1_247 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_247, __p3_247), vgetq_lane_u64(*(uint64x2_t *) &__reint_247, __p3_247)}; \
42073 __ret_247 = vcmla_rot270_f64(__s0_247, __s1_247, *(float64x1_t *) &__reint1_247); \
42074 __ret_247; \
42075})
42076#ifdef __LITTLE_ENDIAN__
42077#define vcmlaq_rot270_lane_f64(__p0_248, __p1_248, __p2_248, __p3_248) __extension__ ({ \
42078 float64x2_t __s0_248 = __p0_248; \
42079 float64x2_t __s1_248 = __p1_248; \
42080 float64x1_t __s2_248 = __p2_248; \
42081 float64x2_t __ret_248; \
42082float64x1_t __reint_248 = __s2_248; \
42083uint64x2_t __reint1_248 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_248, __p3_248), vgetq_lane_u64(*(uint64x2_t *) &__reint_248, __p3_248)}; \
42084 __ret_248 = vcmlaq_rot270_f64(__s0_248, __s1_248, *(float64x2_t *) &__reint1_248); \
42085 __ret_248; \
42086})
42087#else
42088#define vcmlaq_rot270_lane_f64(__p0_249, __p1_249, __p2_249, __p3_249) __extension__ ({ \
42089 float64x2_t __s0_249 = __p0_249; \
42090 float64x2_t __s1_249 = __p1_249; \
42091 float64x1_t __s2_249 = __p2_249; \
42092 float64x2_t __rev0_249; __rev0_249 = __builtin_shufflevector(__s0_249, __s0_249, 1, 0); \
42093 float64x2_t __rev1_249; __rev1_249 = __builtin_shufflevector(__s1_249, __s1_249, 1, 0); \
42094 float64x2_t __ret_249; \
42095float64x1_t __reint_249 = __s2_249; \
42096uint64x2_t __reint1_249 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_249, __p3_249), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_249, __p3_249)}; \
42097 __ret_249 = __noswap_vcmlaq_rot270_f64(__rev0_249, __rev1_249, *(float64x2_t *) &__reint1_249); \
42098 __ret_249 = __builtin_shufflevector(__ret_249, __ret_249, 1, 0); \
42099 __ret_249; \
42100})
42101#endif
42102
42103#ifdef __LITTLE_ENDIAN__
42104#define vcmla_rot270_laneq_f64(__p0_250, __p1_250, __p2_250, __p3_250) __extension__ ({ \
42105 float64x1_t __s0_250 = __p0_250; \
42106 float64x1_t __s1_250 = __p1_250; \
42107 float64x2_t __s2_250 = __p2_250; \
42108 float64x1_t __ret_250; \
42109float64x2_t __reint_250 = __s2_250; \
42110uint64x2_t __reint1_250 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_250, __p3_250), vgetq_lane_u64(*(uint64x2_t *) &__reint_250, __p3_250)}; \
42111 __ret_250 = vcmla_rot270_f64(__s0_250, __s1_250, *(float64x1_t *) &__reint1_250); \
42112 __ret_250; \
42113})
42114#else
42115#define vcmla_rot270_laneq_f64(__p0_251, __p1_251, __p2_251, __p3_251) __extension__ ({ \
42116 float64x1_t __s0_251 = __p0_251; \
42117 float64x1_t __s1_251 = __p1_251; \
42118 float64x2_t __s2_251 = __p2_251; \
42119 float64x2_t __rev2_251; __rev2_251 = __builtin_shufflevector(__s2_251, __s2_251, 1, 0); \
42120 float64x1_t __ret_251; \
42121float64x2_t __reint_251 = __rev2_251; \
42122uint64x2_t __reint1_251 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_251, __p3_251), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_251, __p3_251)}; \
42123 __ret_251 = vcmla_rot270_f64(__s0_251, __s1_251, *(float64x1_t *) &__reint1_251); \
42124 __ret_251; \
42125})
42126#endif
42127
42128#ifdef __LITTLE_ENDIAN__
42129#define vcmlaq_rot270_laneq_f64(__p0_252, __p1_252, __p2_252, __p3_252) __extension__ ({ \
42130 float64x2_t __s0_252 = __p0_252; \
42131 float64x2_t __s1_252 = __p1_252; \
42132 float64x2_t __s2_252 = __p2_252; \
42133 float64x2_t __ret_252; \
42134float64x2_t __reint_252 = __s2_252; \
42135uint64x2_t __reint1_252 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_252, __p3_252), vgetq_lane_u64(*(uint64x2_t *) &__reint_252, __p3_252)}; \
42136 __ret_252 = vcmlaq_rot270_f64(__s0_252, __s1_252, *(float64x2_t *) &__reint1_252); \
42137 __ret_252; \
42138})
42139#else
42140#define vcmlaq_rot270_laneq_f64(__p0_253, __p1_253, __p2_253, __p3_253) __extension__ ({ \
42141 float64x2_t __s0_253 = __p0_253; \
42142 float64x2_t __s1_253 = __p1_253; \
42143 float64x2_t __s2_253 = __p2_253; \
42144 float64x2_t __rev0_253; __rev0_253 = __builtin_shufflevector(__s0_253, __s0_253, 1, 0); \
42145 float64x2_t __rev1_253; __rev1_253 = __builtin_shufflevector(__s1_253, __s1_253, 1, 0); \
42146 float64x2_t __rev2_253; __rev2_253 = __builtin_shufflevector(__s2_253, __s2_253, 1, 0); \
42147 float64x2_t __ret_253; \
42148float64x2_t __reint_253 = __rev2_253; \
42149uint64x2_t __reint1_253 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_253, __p3_253), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_253, __p3_253)}; \
42150 __ret_253 = __noswap_vcmlaq_rot270_f64(__rev0_253, __rev1_253, *(float64x2_t *) &__reint1_253); \
42151 __ret_253 = __builtin_shufflevector(__ret_253, __ret_253, 1, 0); \
42152 __ret_253; \
42153})
42154#endif
42155
40895#ifdef __LITTLE_ENDIAN__42156#ifdef __LITTLE_ENDIAN__
40896__ai float64x2_t vcmlaq_rot90_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {42157__ai float64x2_t vcmlaq_rot90_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
40897 float64x2_t __ret;42158 float64x2_t __ret;
...@@ -40908,6 +42169,11 @@ __ai float64x2_t vcmlaq_rot90_f64(float64x2_t __p0, float64x2_t __p1, float64x2_...@@ -40908,6 +42169,11 @@ __ai float64x2_t vcmlaq_rot90_f64(float64x2_t __p0, float64x2_t __p1, float64x2_
40908 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);42169 __ret = __builtin_shufflevector(__ret, __ret, 1, 0);
40909 return __ret;42170 return __ret;
40910}42171}
42172__ai float64x2_t __noswap_vcmlaq_rot90_f64(float64x2_t __p0, float64x2_t __p1, float64x2_t __p2) {
42173 float64x2_t __ret;
42174 __ret = (float64x2_t) __builtin_neon_vcmlaq_rot90_v((int8x16_t)__p0, (int8x16_t)__p1, (int8x16_t)__p2, 42);
42175 return __ret;
42176}
40911#endif42177#endif
4091242178
40913__ai float64x1_t vcmla_rot90_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {42179__ai float64x1_t vcmla_rot90_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2) {
...@@ -40915,6 +42181,96 @@ __ai float64x1_t vcmla_rot90_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t...@@ -40915,6 +42181,96 @@ __ai float64x1_t vcmla_rot90_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t
40915 __ret = (float64x1_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);42181 __ret = (float64x1_t) __builtin_neon_vcmla_rot90_v((int8x8_t)__p0, (int8x8_t)__p1, (int8x8_t)__p2, 10);
40916 return __ret;42182 return __ret;
40917}42183}
42184#define vcmla_rot90_lane_f64(__p0_254, __p1_254, __p2_254, __p3_254) __extension__ ({ \
42185 float64x1_t __s0_254 = __p0_254; \
42186 float64x1_t __s1_254 = __p1_254; \
42187 float64x1_t __s2_254 = __p2_254; \
42188 float64x1_t __ret_254; \
42189float64x1_t __reint_254 = __s2_254; \
42190uint64x2_t __reint1_254 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_254, __p3_254), vgetq_lane_u64(*(uint64x2_t *) &__reint_254, __p3_254)}; \
42191 __ret_254 = vcmla_rot90_f64(__s0_254, __s1_254, *(float64x1_t *) &__reint1_254); \
42192 __ret_254; \
42193})
42194#ifdef __LITTLE_ENDIAN__
42195#define vcmlaq_rot90_lane_f64(__p0_255, __p1_255, __p2_255, __p3_255) __extension__ ({ \
42196 float64x2_t __s0_255 = __p0_255; \
42197 float64x2_t __s1_255 = __p1_255; \
42198 float64x1_t __s2_255 = __p2_255; \
42199 float64x2_t __ret_255; \
42200float64x1_t __reint_255 = __s2_255; \
42201uint64x2_t __reint1_255 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_255, __p3_255), vgetq_lane_u64(*(uint64x2_t *) &__reint_255, __p3_255)}; \
42202 __ret_255 = vcmlaq_rot90_f64(__s0_255, __s1_255, *(float64x2_t *) &__reint1_255); \
42203 __ret_255; \
42204})
42205#else
42206#define vcmlaq_rot90_lane_f64(__p0_256, __p1_256, __p2_256, __p3_256) __extension__ ({ \
42207 float64x2_t __s0_256 = __p0_256; \
42208 float64x2_t __s1_256 = __p1_256; \
42209 float64x1_t __s2_256 = __p2_256; \
42210 float64x2_t __rev0_256; __rev0_256 = __builtin_shufflevector(__s0_256, __s0_256, 1, 0); \
42211 float64x2_t __rev1_256; __rev1_256 = __builtin_shufflevector(__s1_256, __s1_256, 1, 0); \
42212 float64x2_t __ret_256; \
42213float64x1_t __reint_256 = __s2_256; \
42214uint64x2_t __reint1_256 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_256, __p3_256), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_256, __p3_256)}; \
42215 __ret_256 = __noswap_vcmlaq_rot90_f64(__rev0_256, __rev1_256, *(float64x2_t *) &__reint1_256); \
42216 __ret_256 = __builtin_shufflevector(__ret_256, __ret_256, 1, 0); \
42217 __ret_256; \
42218})
42219#endif
42220
42221#ifdef __LITTLE_ENDIAN__
42222#define vcmla_rot90_laneq_f64(__p0_257, __p1_257, __p2_257, __p3_257) __extension__ ({ \
42223 float64x1_t __s0_257 = __p0_257; \
42224 float64x1_t __s1_257 = __p1_257; \
42225 float64x2_t __s2_257 = __p2_257; \
42226 float64x1_t __ret_257; \
42227float64x2_t __reint_257 = __s2_257; \
42228uint64x2_t __reint1_257 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_257, __p3_257), vgetq_lane_u64(*(uint64x2_t *) &__reint_257, __p3_257)}; \
42229 __ret_257 = vcmla_rot90_f64(__s0_257, __s1_257, *(float64x1_t *) &__reint1_257); \
42230 __ret_257; \
42231})
42232#else
42233#define vcmla_rot90_laneq_f64(__p0_258, __p1_258, __p2_258, __p3_258) __extension__ ({ \
42234 float64x1_t __s0_258 = __p0_258; \
42235 float64x1_t __s1_258 = __p1_258; \
42236 float64x2_t __s2_258 = __p2_258; \
42237 float64x2_t __rev2_258; __rev2_258 = __builtin_shufflevector(__s2_258, __s2_258, 1, 0); \
42238 float64x1_t __ret_258; \
42239float64x2_t __reint_258 = __rev2_258; \
42240uint64x2_t __reint1_258 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_258, __p3_258), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_258, __p3_258)}; \
42241 __ret_258 = vcmla_rot90_f64(__s0_258, __s1_258, *(float64x1_t *) &__reint1_258); \
42242 __ret_258; \
42243})
42244#endif
42245
42246#ifdef __LITTLE_ENDIAN__
42247#define vcmlaq_rot90_laneq_f64(__p0_259, __p1_259, __p2_259, __p3_259) __extension__ ({ \
42248 float64x2_t __s0_259 = __p0_259; \
42249 float64x2_t __s1_259 = __p1_259; \
42250 float64x2_t __s2_259 = __p2_259; \
42251 float64x2_t __ret_259; \
42252float64x2_t __reint_259 = __s2_259; \
42253uint64x2_t __reint1_259 = (uint64x2_t) {vgetq_lane_u64(*(uint64x2_t *) &__reint_259, __p3_259), vgetq_lane_u64(*(uint64x2_t *) &__reint_259, __p3_259)}; \
42254 __ret_259 = vcmlaq_rot90_f64(__s0_259, __s1_259, *(float64x2_t *) &__reint1_259); \
42255 __ret_259; \
42256})
42257#else
42258#define vcmlaq_rot90_laneq_f64(__p0_260, __p1_260, __p2_260, __p3_260) __extension__ ({ \
42259 float64x2_t __s0_260 = __p0_260; \
42260 float64x2_t __s1_260 = __p1_260; \
42261 float64x2_t __s2_260 = __p2_260; \
42262 float64x2_t __rev0_260; __rev0_260 = __builtin_shufflevector(__s0_260, __s0_260, 1, 0); \
42263 float64x2_t __rev1_260; __rev1_260 = __builtin_shufflevector(__s1_260, __s1_260, 1, 0); \
42264 float64x2_t __rev2_260; __rev2_260 = __builtin_shufflevector(__s2_260, __s2_260, 1, 0); \
42265 float64x2_t __ret_260; \
42266float64x2_t __reint_260 = __rev2_260; \
42267uint64x2_t __reint1_260 = (uint64x2_t) {__noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_260, __p3_260), __noswap_vgetq_lane_u64(*(uint64x2_t *) &__reint_260, __p3_260)}; \
42268 __ret_260 = __noswap_vcmlaq_rot90_f64(__rev0_260, __rev1_260, *(float64x2_t *) &__reint1_260); \
42269 __ret_260 = __builtin_shufflevector(__ret_260, __ret_260, 1, 0); \
42270 __ret_260; \
42271})
42272#endif
42273
40918#endif42274#endif
40919#if defined(__ARM_FEATURE_DOTPROD)42275#if defined(__ARM_FEATURE_DOTPROD)
40920#ifdef __LITTLE_ENDIAN__42276#ifdef __LITTLE_ENDIAN__
...@@ -41010,228 +42366,228 @@ __ai int32x2_t __noswap_vdot_s32(int32x2_t __p0, int8x8_t __p1, int8x8_t __p2) {...@@ -41010,228 +42366,228 @@ __ai int32x2_t __noswap_vdot_s32(int32x2_t __p0, int8x8_t __p1, int8x8_t __p2) {
41010#endif42366#endif
4101142367
41012#ifdef __LITTLE_ENDIAN__42368#ifdef __LITTLE_ENDIAN__
41013#define vdotq_lane_u32(__p0_169, __p1_169, __p2_169, __p3_169) __extension__ ({ \42369#define vdotq_lane_u32(__p0_261, __p1_261, __p2_261, __p3_261) __extension__ ({ \
41014 uint32x4_t __s0_169 = __p0_169; \42370 uint32x4_t __s0_261 = __p0_261; \
41015 uint8x16_t __s1_169 = __p1_169; \42371 uint8x16_t __s1_261 = __p1_261; \
41016 uint8x8_t __s2_169 = __p2_169; \42372 uint8x8_t __s2_261 = __p2_261; \
41017 uint32x4_t __ret_169; \42373 uint32x4_t __ret_261; \
41018uint8x8_t __reint_169 = __s2_169; \42374uint8x8_t __reint_261 = __s2_261; \
41019uint32x4_t __reint1_169 = splatq_lane_u32(*(uint32x2_t *) &__reint_169, __p3_169); \42375uint32x4_t __reint1_261 = splatq_lane_u32(*(uint32x2_t *) &__reint_261, __p3_261); \
41020 __ret_169 = vdotq_u32(__s0_169, __s1_169, *(uint8x16_t *) &__reint1_169); \42376 __ret_261 = vdotq_u32(__s0_261, __s1_261, *(uint8x16_t *) &__reint1_261); \
41021 __ret_169; \42377 __ret_261; \
41022})42378})
41023#else42379#else
41024#define vdotq_lane_u32(__p0_170, __p1_170, __p2_170, __p3_170) __extension__ ({ \42380#define vdotq_lane_u32(__p0_262, __p1_262, __p2_262, __p3_262) __extension__ ({ \
41025 uint32x4_t __s0_170 = __p0_170; \42381 uint32x4_t __s0_262 = __p0_262; \
41026 uint8x16_t __s1_170 = __p1_170; \42382 uint8x16_t __s1_262 = __p1_262; \
41027 uint8x8_t __s2_170 = __p2_170; \42383 uint8x8_t __s2_262 = __p2_262; \
41028 uint32x4_t __rev0_170; __rev0_170 = __builtin_shufflevector(__s0_170, __s0_170, 3, 2, 1, 0); \42384 uint32x4_t __rev0_262; __rev0_262 = __builtin_shufflevector(__s0_262, __s0_262, 3, 2, 1, 0); \
41029 uint8x16_t __rev1_170; __rev1_170 = __builtin_shufflevector(__s1_170, __s1_170, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42385 uint8x16_t __rev1_262; __rev1_262 = __builtin_shufflevector(__s1_262, __s1_262, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41030 uint8x8_t __rev2_170; __rev2_170 = __builtin_shufflevector(__s2_170, __s2_170, 7, 6, 5, 4, 3, 2, 1, 0); \42386 uint8x8_t __rev2_262; __rev2_262 = __builtin_shufflevector(__s2_262, __s2_262, 7, 6, 5, 4, 3, 2, 1, 0); \
41031 uint32x4_t __ret_170; \42387 uint32x4_t __ret_262; \
41032uint8x8_t __reint_170 = __rev2_170; \42388uint8x8_t __reint_262 = __rev2_262; \
41033uint32x4_t __reint1_170 = __noswap_splatq_lane_u32(*(uint32x2_t *) &__reint_170, __p3_170); \42389uint32x4_t __reint1_262 = __noswap_splatq_lane_u32(*(uint32x2_t *) &__reint_262, __p3_262); \
41034 __ret_170 = __noswap_vdotq_u32(__rev0_170, __rev1_170, *(uint8x16_t *) &__reint1_170); \42390 __ret_262 = __noswap_vdotq_u32(__rev0_262, __rev1_262, *(uint8x16_t *) &__reint1_262); \
41035 __ret_170 = __builtin_shufflevector(__ret_170, __ret_170, 3, 2, 1, 0); \42391 __ret_262 = __builtin_shufflevector(__ret_262, __ret_262, 3, 2, 1, 0); \
41036 __ret_170; \42392 __ret_262; \
41037})42393})
41038#endif42394#endif
4103942395
41040#ifdef __LITTLE_ENDIAN__42396#ifdef __LITTLE_ENDIAN__
41041#define vdotq_lane_s32(__p0_171, __p1_171, __p2_171, __p3_171) __extension__ ({ \42397#define vdotq_lane_s32(__p0_263, __p1_263, __p2_263, __p3_263) __extension__ ({ \
41042 int32x4_t __s0_171 = __p0_171; \42398 int32x4_t __s0_263 = __p0_263; \
41043 int8x16_t __s1_171 = __p1_171; \42399 int8x16_t __s1_263 = __p1_263; \
41044 int8x8_t __s2_171 = __p2_171; \42400 int8x8_t __s2_263 = __p2_263; \
41045 int32x4_t __ret_171; \42401 int32x4_t __ret_263; \
41046int8x8_t __reint_171 = __s2_171; \42402int8x8_t __reint_263 = __s2_263; \
41047int32x4_t __reint1_171 = splatq_lane_s32(*(int32x2_t *) &__reint_171, __p3_171); \42403int32x4_t __reint1_263 = splatq_lane_s32(*(int32x2_t *) &__reint_263, __p3_263); \
41048 __ret_171 = vdotq_s32(__s0_171, __s1_171, *(int8x16_t *) &__reint1_171); \42404 __ret_263 = vdotq_s32(__s0_263, __s1_263, *(int8x16_t *) &__reint1_263); \
41049 __ret_171; \42405 __ret_263; \
41050})42406})
41051#else42407#else
41052#define vdotq_lane_s32(__p0_172, __p1_172, __p2_172, __p3_172) __extension__ ({ \42408#define vdotq_lane_s32(__p0_264, __p1_264, __p2_264, __p3_264) __extension__ ({ \
41053 int32x4_t __s0_172 = __p0_172; \42409 int32x4_t __s0_264 = __p0_264; \
41054 int8x16_t __s1_172 = __p1_172; \42410 int8x16_t __s1_264 = __p1_264; \
41055 int8x8_t __s2_172 = __p2_172; \42411 int8x8_t __s2_264 = __p2_264; \
41056 int32x4_t __rev0_172; __rev0_172 = __builtin_shufflevector(__s0_172, __s0_172, 3, 2, 1, 0); \42412 int32x4_t __rev0_264; __rev0_264 = __builtin_shufflevector(__s0_264, __s0_264, 3, 2, 1, 0); \
41057 int8x16_t __rev1_172; __rev1_172 = __builtin_shufflevector(__s1_172, __s1_172, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42413 int8x16_t __rev1_264; __rev1_264 = __builtin_shufflevector(__s1_264, __s1_264, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41058 int8x8_t __rev2_172; __rev2_172 = __builtin_shufflevector(__s2_172, __s2_172, 7, 6, 5, 4, 3, 2, 1, 0); \42414 int8x8_t __rev2_264; __rev2_264 = __builtin_shufflevector(__s2_264, __s2_264, 7, 6, 5, 4, 3, 2, 1, 0); \
41059 int32x4_t __ret_172; \42415 int32x4_t __ret_264; \
41060int8x8_t __reint_172 = __rev2_172; \42416int8x8_t __reint_264 = __rev2_264; \
41061int32x4_t __reint1_172 = __noswap_splatq_lane_s32(*(int32x2_t *) &__reint_172, __p3_172); \42417int32x4_t __reint1_264 = __noswap_splatq_lane_s32(*(int32x2_t *) &__reint_264, __p3_264); \
41062 __ret_172 = __noswap_vdotq_s32(__rev0_172, __rev1_172, *(int8x16_t *) &__reint1_172); \42418 __ret_264 = __noswap_vdotq_s32(__rev0_264, __rev1_264, *(int8x16_t *) &__reint1_264); \
41063 __ret_172 = __builtin_shufflevector(__ret_172, __ret_172, 3, 2, 1, 0); \42419 __ret_264 = __builtin_shufflevector(__ret_264, __ret_264, 3, 2, 1, 0); \
41064 __ret_172; \42420 __ret_264; \
41065})42421})
41066#endif42422#endif
4106742423
41068#ifdef __LITTLE_ENDIAN__42424#ifdef __LITTLE_ENDIAN__
41069#define vdot_lane_u32(__p0_173, __p1_173, __p2_173, __p3_173) __extension__ ({ \42425#define vdot_lane_u32(__p0_265, __p1_265, __p2_265, __p3_265) __extension__ ({ \
41070 uint32x2_t __s0_173 = __p0_173; \42426 uint32x2_t __s0_265 = __p0_265; \
41071 uint8x8_t __s1_173 = __p1_173; \42427 uint8x8_t __s1_265 = __p1_265; \
41072 uint8x8_t __s2_173 = __p2_173; \42428 uint8x8_t __s2_265 = __p2_265; \
41073 uint32x2_t __ret_173; \42429 uint32x2_t __ret_265; \
41074uint8x8_t __reint_173 = __s2_173; \42430uint8x8_t __reint_265 = __s2_265; \
41075uint32x2_t __reint1_173 = splat_lane_u32(*(uint32x2_t *) &__reint_173, __p3_173); \42431uint32x2_t __reint1_265 = splat_lane_u32(*(uint32x2_t *) &__reint_265, __p3_265); \
41076 __ret_173 = vdot_u32(__s0_173, __s1_173, *(uint8x8_t *) &__reint1_173); \42432 __ret_265 = vdot_u32(__s0_265, __s1_265, *(uint8x8_t *) &__reint1_265); \
41077 __ret_173; \42433 __ret_265; \
41078})42434})
41079#else42435#else
41080#define vdot_lane_u32(__p0_174, __p1_174, __p2_174, __p3_174) __extension__ ({ \42436#define vdot_lane_u32(__p0_266, __p1_266, __p2_266, __p3_266) __extension__ ({ \
41081 uint32x2_t __s0_174 = __p0_174; \42437 uint32x2_t __s0_266 = __p0_266; \
41082 uint8x8_t __s1_174 = __p1_174; \42438 uint8x8_t __s1_266 = __p1_266; \
41083 uint8x8_t __s2_174 = __p2_174; \42439 uint8x8_t __s2_266 = __p2_266; \
41084 uint32x2_t __rev0_174; __rev0_174 = __builtin_shufflevector(__s0_174, __s0_174, 1, 0); \42440 uint32x2_t __rev0_266; __rev0_266 = __builtin_shufflevector(__s0_266, __s0_266, 1, 0); \
41085 uint8x8_t __rev1_174; __rev1_174 = __builtin_shufflevector(__s1_174, __s1_174, 7, 6, 5, 4, 3, 2, 1, 0); \42441 uint8x8_t __rev1_266; __rev1_266 = __builtin_shufflevector(__s1_266, __s1_266, 7, 6, 5, 4, 3, 2, 1, 0); \
41086 uint8x8_t __rev2_174; __rev2_174 = __builtin_shufflevector(__s2_174, __s2_174, 7, 6, 5, 4, 3, 2, 1, 0); \42442 uint8x8_t __rev2_266; __rev2_266 = __builtin_shufflevector(__s2_266, __s2_266, 7, 6, 5, 4, 3, 2, 1, 0); \
41087 uint32x2_t __ret_174; \42443 uint32x2_t __ret_266; \
41088uint8x8_t __reint_174 = __rev2_174; \42444uint8x8_t __reint_266 = __rev2_266; \
41089uint32x2_t __reint1_174 = __noswap_splat_lane_u32(*(uint32x2_t *) &__reint_174, __p3_174); \42445uint32x2_t __reint1_266 = __noswap_splat_lane_u32(*(uint32x2_t *) &__reint_266, __p3_266); \
41090 __ret_174 = __noswap_vdot_u32(__rev0_174, __rev1_174, *(uint8x8_t *) &__reint1_174); \42446 __ret_266 = __noswap_vdot_u32(__rev0_266, __rev1_266, *(uint8x8_t *) &__reint1_266); \
41091 __ret_174 = __builtin_shufflevector(__ret_174, __ret_174, 1, 0); \42447 __ret_266 = __builtin_shufflevector(__ret_266, __ret_266, 1, 0); \
41092 __ret_174; \42448 __ret_266; \
41093})42449})
41094#endif42450#endif
4109542451
41096#ifdef __LITTLE_ENDIAN__42452#ifdef __LITTLE_ENDIAN__
41097#define vdot_lane_s32(__p0_175, __p1_175, __p2_175, __p3_175) __extension__ ({ \42453#define vdot_lane_s32(__p0_267, __p1_267, __p2_267, __p3_267) __extension__ ({ \
41098 int32x2_t __s0_175 = __p0_175; \42454 int32x2_t __s0_267 = __p0_267; \
41099 int8x8_t __s1_175 = __p1_175; \42455 int8x8_t __s1_267 = __p1_267; \
41100 int8x8_t __s2_175 = __p2_175; \42456 int8x8_t __s2_267 = __p2_267; \
41101 int32x2_t __ret_175; \42457 int32x2_t __ret_267; \
41102int8x8_t __reint_175 = __s2_175; \42458int8x8_t __reint_267 = __s2_267; \
41103int32x2_t __reint1_175 = splat_lane_s32(*(int32x2_t *) &__reint_175, __p3_175); \42459int32x2_t __reint1_267 = splat_lane_s32(*(int32x2_t *) &__reint_267, __p3_267); \
41104 __ret_175 = vdot_s32(__s0_175, __s1_175, *(int8x8_t *) &__reint1_175); \42460 __ret_267 = vdot_s32(__s0_267, __s1_267, *(int8x8_t *) &__reint1_267); \
41105 __ret_175; \42461 __ret_267; \
41106})42462})
41107#else42463#else
41108#define vdot_lane_s32(__p0_176, __p1_176, __p2_176, __p3_176) __extension__ ({ \42464#define vdot_lane_s32(__p0_268, __p1_268, __p2_268, __p3_268) __extension__ ({ \
41109 int32x2_t __s0_176 = __p0_176; \42465 int32x2_t __s0_268 = __p0_268; \
41110 int8x8_t __s1_176 = __p1_176; \42466 int8x8_t __s1_268 = __p1_268; \
41111 int8x8_t __s2_176 = __p2_176; \42467 int8x8_t __s2_268 = __p2_268; \
41112 int32x2_t __rev0_176; __rev0_176 = __builtin_shufflevector(__s0_176, __s0_176, 1, 0); \42468 int32x2_t __rev0_268; __rev0_268 = __builtin_shufflevector(__s0_268, __s0_268, 1, 0); \
41113 int8x8_t __rev1_176; __rev1_176 = __builtin_shufflevector(__s1_176, __s1_176, 7, 6, 5, 4, 3, 2, 1, 0); \42469 int8x8_t __rev1_268; __rev1_268 = __builtin_shufflevector(__s1_268, __s1_268, 7, 6, 5, 4, 3, 2, 1, 0); \
41114 int8x8_t __rev2_176; __rev2_176 = __builtin_shufflevector(__s2_176, __s2_176, 7, 6, 5, 4, 3, 2, 1, 0); \42470 int8x8_t __rev2_268; __rev2_268 = __builtin_shufflevector(__s2_268, __s2_268, 7, 6, 5, 4, 3, 2, 1, 0); \
41115 int32x2_t __ret_176; \42471 int32x2_t __ret_268; \
41116int8x8_t __reint_176 = __rev2_176; \42472int8x8_t __reint_268 = __rev2_268; \
41117int32x2_t __reint1_176 = __noswap_splat_lane_s32(*(int32x2_t *) &__reint_176, __p3_176); \42473int32x2_t __reint1_268 = __noswap_splat_lane_s32(*(int32x2_t *) &__reint_268, __p3_268); \
41118 __ret_176 = __noswap_vdot_s32(__rev0_176, __rev1_176, *(int8x8_t *) &__reint1_176); \42474 __ret_268 = __noswap_vdot_s32(__rev0_268, __rev1_268, *(int8x8_t *) &__reint1_268); \
41119 __ret_176 = __builtin_shufflevector(__ret_176, __ret_176, 1, 0); \42475 __ret_268 = __builtin_shufflevector(__ret_268, __ret_268, 1, 0); \
41120 __ret_176; \42476 __ret_268; \
41121})42477})
41122#endif42478#endif
4112342479
41124#endif42480#endif
41125#if defined(__ARM_FEATURE_DOTPROD) && defined(__aarch64__)42481#if defined(__ARM_FEATURE_DOTPROD) && defined(__aarch64__)
41126#ifdef __LITTLE_ENDIAN__42482#ifdef __LITTLE_ENDIAN__
41127#define vdotq_laneq_u32(__p0_177, __p1_177, __p2_177, __p3_177) __extension__ ({ \42483#define vdotq_laneq_u32(__p0_269, __p1_269, __p2_269, __p3_269) __extension__ ({ \
41128 uint32x4_t __s0_177 = __p0_177; \42484 uint32x4_t __s0_269 = __p0_269; \
41129 uint8x16_t __s1_177 = __p1_177; \42485 uint8x16_t __s1_269 = __p1_269; \
41130 uint8x16_t __s2_177 = __p2_177; \42486 uint8x16_t __s2_269 = __p2_269; \
41131 uint32x4_t __ret_177; \42487 uint32x4_t __ret_269; \
41132uint8x16_t __reint_177 = __s2_177; \42488uint8x16_t __reint_269 = __s2_269; \
41133uint32x4_t __reint1_177 = splatq_laneq_u32(*(uint32x4_t *) &__reint_177, __p3_177); \42489uint32x4_t __reint1_269 = splatq_laneq_u32(*(uint32x4_t *) &__reint_269, __p3_269); \
41134 __ret_177 = vdotq_u32(__s0_177, __s1_177, *(uint8x16_t *) &__reint1_177); \42490 __ret_269 = vdotq_u32(__s0_269, __s1_269, *(uint8x16_t *) &__reint1_269); \
41135 __ret_177; \42491 __ret_269; \
41136})42492})
41137#else42493#else
41138#define vdotq_laneq_u32(__p0_178, __p1_178, __p2_178, __p3_178) __extension__ ({ \42494#define vdotq_laneq_u32(__p0_270, __p1_270, __p2_270, __p3_270) __extension__ ({ \
41139 uint32x4_t __s0_178 = __p0_178; \42495 uint32x4_t __s0_270 = __p0_270; \
41140 uint8x16_t __s1_178 = __p1_178; \42496 uint8x16_t __s1_270 = __p1_270; \
41141 uint8x16_t __s2_178 = __p2_178; \42497 uint8x16_t __s2_270 = __p2_270; \
41142 uint32x4_t __rev0_178; __rev0_178 = __builtin_shufflevector(__s0_178, __s0_178, 3, 2, 1, 0); \42498 uint32x4_t __rev0_270; __rev0_270 = __builtin_shufflevector(__s0_270, __s0_270, 3, 2, 1, 0); \
41143 uint8x16_t __rev1_178; __rev1_178 = __builtin_shufflevector(__s1_178, __s1_178, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42499 uint8x16_t __rev1_270; __rev1_270 = __builtin_shufflevector(__s1_270, __s1_270, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41144 uint8x16_t __rev2_178; __rev2_178 = __builtin_shufflevector(__s2_178, __s2_178, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42500 uint8x16_t __rev2_270; __rev2_270 = __builtin_shufflevector(__s2_270, __s2_270, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41145 uint32x4_t __ret_178; \42501 uint32x4_t __ret_270; \
41146uint8x16_t __reint_178 = __rev2_178; \42502uint8x16_t __reint_270 = __rev2_270; \
41147uint32x4_t __reint1_178 = __noswap_splatq_laneq_u32(*(uint32x4_t *) &__reint_178, __p3_178); \42503uint32x4_t __reint1_270 = __noswap_splatq_laneq_u32(*(uint32x4_t *) &__reint_270, __p3_270); \
41148 __ret_178 = __noswap_vdotq_u32(__rev0_178, __rev1_178, *(uint8x16_t *) &__reint1_178); \42504 __ret_270 = __noswap_vdotq_u32(__rev0_270, __rev1_270, *(uint8x16_t *) &__reint1_270); \
41149 __ret_178 = __builtin_shufflevector(__ret_178, __ret_178, 3, 2, 1, 0); \42505 __ret_270 = __builtin_shufflevector(__ret_270, __ret_270, 3, 2, 1, 0); \
41150 __ret_178; \42506 __ret_270; \
41151})42507})
41152#endif42508#endif
4115342509
41154#ifdef __LITTLE_ENDIAN__42510#ifdef __LITTLE_ENDIAN__
41155#define vdotq_laneq_s32(__p0_179, __p1_179, __p2_179, __p3_179) __extension__ ({ \42511#define vdotq_laneq_s32(__p0_271, __p1_271, __p2_271, __p3_271) __extension__ ({ \
41156 int32x4_t __s0_179 = __p0_179; \42512 int32x4_t __s0_271 = __p0_271; \
41157 int8x16_t __s1_179 = __p1_179; \42513 int8x16_t __s1_271 = __p1_271; \
41158 int8x16_t __s2_179 = __p2_179; \42514 int8x16_t __s2_271 = __p2_271; \
41159 int32x4_t __ret_179; \42515 int32x4_t __ret_271; \
41160int8x16_t __reint_179 = __s2_179; \42516int8x16_t __reint_271 = __s2_271; \
41161int32x4_t __reint1_179 = splatq_laneq_s32(*(int32x4_t *) &__reint_179, __p3_179); \42517int32x4_t __reint1_271 = splatq_laneq_s32(*(int32x4_t *) &__reint_271, __p3_271); \
41162 __ret_179 = vdotq_s32(__s0_179, __s1_179, *(int8x16_t *) &__reint1_179); \42518 __ret_271 = vdotq_s32(__s0_271, __s1_271, *(int8x16_t *) &__reint1_271); \
41163 __ret_179; \42519 __ret_271; \
41164})42520})
41165#else42521#else
41166#define vdotq_laneq_s32(__p0_180, __p1_180, __p2_180, __p3_180) __extension__ ({ \42522#define vdotq_laneq_s32(__p0_272, __p1_272, __p2_272, __p3_272) __extension__ ({ \
41167 int32x4_t __s0_180 = __p0_180; \42523 int32x4_t __s0_272 = __p0_272; \
41168 int8x16_t __s1_180 = __p1_180; \42524 int8x16_t __s1_272 = __p1_272; \
41169 int8x16_t __s2_180 = __p2_180; \42525 int8x16_t __s2_272 = __p2_272; \
41170 int32x4_t __rev0_180; __rev0_180 = __builtin_shufflevector(__s0_180, __s0_180, 3, 2, 1, 0); \42526 int32x4_t __rev0_272; __rev0_272 = __builtin_shufflevector(__s0_272, __s0_272, 3, 2, 1, 0); \
41171 int8x16_t __rev1_180; __rev1_180 = __builtin_shufflevector(__s1_180, __s1_180, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42527 int8x16_t __rev1_272; __rev1_272 = __builtin_shufflevector(__s1_272, __s1_272, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41172 int8x16_t __rev2_180; __rev2_180 = __builtin_shufflevector(__s2_180, __s2_180, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42528 int8x16_t __rev2_272; __rev2_272 = __builtin_shufflevector(__s2_272, __s2_272, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41173 int32x4_t __ret_180; \42529 int32x4_t __ret_272; \
41174int8x16_t __reint_180 = __rev2_180; \42530int8x16_t __reint_272 = __rev2_272; \
41175int32x4_t __reint1_180 = __noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_180, __p3_180); \42531int32x4_t __reint1_272 = __noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_272, __p3_272); \
41176 __ret_180 = __noswap_vdotq_s32(__rev0_180, __rev1_180, *(int8x16_t *) &__reint1_180); \42532 __ret_272 = __noswap_vdotq_s32(__rev0_272, __rev1_272, *(int8x16_t *) &__reint1_272); \
41177 __ret_180 = __builtin_shufflevector(__ret_180, __ret_180, 3, 2, 1, 0); \42533 __ret_272 = __builtin_shufflevector(__ret_272, __ret_272, 3, 2, 1, 0); \
41178 __ret_180; \42534 __ret_272; \
41179})42535})
41180#endif42536#endif
4118142537
41182#ifdef __LITTLE_ENDIAN__42538#ifdef __LITTLE_ENDIAN__
41183#define vdot_laneq_u32(__p0_181, __p1_181, __p2_181, __p3_181) __extension__ ({ \42539#define vdot_laneq_u32(__p0_273, __p1_273, __p2_273, __p3_273) __extension__ ({ \
41184 uint32x2_t __s0_181 = __p0_181; \42540 uint32x2_t __s0_273 = __p0_273; \
41185 uint8x8_t __s1_181 = __p1_181; \42541 uint8x8_t __s1_273 = __p1_273; \
41186 uint8x16_t __s2_181 = __p2_181; \42542 uint8x16_t __s2_273 = __p2_273; \
41187 uint32x2_t __ret_181; \42543 uint32x2_t __ret_273; \
41188uint8x16_t __reint_181 = __s2_181; \42544uint8x16_t __reint_273 = __s2_273; \
41189uint32x2_t __reint1_181 = splat_laneq_u32(*(uint32x4_t *) &__reint_181, __p3_181); \42545uint32x2_t __reint1_273 = splat_laneq_u32(*(uint32x4_t *) &__reint_273, __p3_273); \
41190 __ret_181 = vdot_u32(__s0_181, __s1_181, *(uint8x8_t *) &__reint1_181); \42546 __ret_273 = vdot_u32(__s0_273, __s1_273, *(uint8x8_t *) &__reint1_273); \
41191 __ret_181; \42547 __ret_273; \
41192})42548})
41193#else42549#else
41194#define vdot_laneq_u32(__p0_182, __p1_182, __p2_182, __p3_182) __extension__ ({ \42550#define vdot_laneq_u32(__p0_274, __p1_274, __p2_274, __p3_274) __extension__ ({ \
41195 uint32x2_t __s0_182 = __p0_182; \42551 uint32x2_t __s0_274 = __p0_274; \
41196 uint8x8_t __s1_182 = __p1_182; \42552 uint8x8_t __s1_274 = __p1_274; \
41197 uint8x16_t __s2_182 = __p2_182; \42553 uint8x16_t __s2_274 = __p2_274; \
41198 uint32x2_t __rev0_182; __rev0_182 = __builtin_shufflevector(__s0_182, __s0_182, 1, 0); \42554 uint32x2_t __rev0_274; __rev0_274 = __builtin_shufflevector(__s0_274, __s0_274, 1, 0); \
41199 uint8x8_t __rev1_182; __rev1_182 = __builtin_shufflevector(__s1_182, __s1_182, 7, 6, 5, 4, 3, 2, 1, 0); \42555 uint8x8_t __rev1_274; __rev1_274 = __builtin_shufflevector(__s1_274, __s1_274, 7, 6, 5, 4, 3, 2, 1, 0); \
41200 uint8x16_t __rev2_182; __rev2_182 = __builtin_shufflevector(__s2_182, __s2_182, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42556 uint8x16_t __rev2_274; __rev2_274 = __builtin_shufflevector(__s2_274, __s2_274, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41201 uint32x2_t __ret_182; \42557 uint32x2_t __ret_274; \
41202uint8x16_t __reint_182 = __rev2_182; \42558uint8x16_t __reint_274 = __rev2_274; \
41203uint32x2_t __reint1_182 = __noswap_splat_laneq_u32(*(uint32x4_t *) &__reint_182, __p3_182); \42559uint32x2_t __reint1_274 = __noswap_splat_laneq_u32(*(uint32x4_t *) &__reint_274, __p3_274); \
41204 __ret_182 = __noswap_vdot_u32(__rev0_182, __rev1_182, *(uint8x8_t *) &__reint1_182); \42560 __ret_274 = __noswap_vdot_u32(__rev0_274, __rev1_274, *(uint8x8_t *) &__reint1_274); \
41205 __ret_182 = __builtin_shufflevector(__ret_182, __ret_182, 1, 0); \42561 __ret_274 = __builtin_shufflevector(__ret_274, __ret_274, 1, 0); \
41206 __ret_182; \42562 __ret_274; \
41207})42563})
41208#endif42564#endif
4120942565
41210#ifdef __LITTLE_ENDIAN__42566#ifdef __LITTLE_ENDIAN__
41211#define vdot_laneq_s32(__p0_183, __p1_183, __p2_183, __p3_183) __extension__ ({ \42567#define vdot_laneq_s32(__p0_275, __p1_275, __p2_275, __p3_275) __extension__ ({ \
41212 int32x2_t __s0_183 = __p0_183; \42568 int32x2_t __s0_275 = __p0_275; \
41213 int8x8_t __s1_183 = __p1_183; \42569 int8x8_t __s1_275 = __p1_275; \
41214 int8x16_t __s2_183 = __p2_183; \42570 int8x16_t __s2_275 = __p2_275; \
41215 int32x2_t __ret_183; \42571 int32x2_t __ret_275; \
41216int8x16_t __reint_183 = __s2_183; \42572int8x16_t __reint_275 = __s2_275; \
41217int32x2_t __reint1_183 = splat_laneq_s32(*(int32x4_t *) &__reint_183, __p3_183); \42573int32x2_t __reint1_275 = splat_laneq_s32(*(int32x4_t *) &__reint_275, __p3_275); \
41218 __ret_183 = vdot_s32(__s0_183, __s1_183, *(int8x8_t *) &__reint1_183); \42574 __ret_275 = vdot_s32(__s0_275, __s1_275, *(int8x8_t *) &__reint1_275); \
41219 __ret_183; \42575 __ret_275; \
41220})42576})
41221#else42577#else
41222#define vdot_laneq_s32(__p0_184, __p1_184, __p2_184, __p3_184) __extension__ ({ \42578#define vdot_laneq_s32(__p0_276, __p1_276, __p2_276, __p3_276) __extension__ ({ \
41223 int32x2_t __s0_184 = __p0_184; \42579 int32x2_t __s0_276 = __p0_276; \
41224 int8x8_t __s1_184 = __p1_184; \42580 int8x8_t __s1_276 = __p1_276; \
41225 int8x16_t __s2_184 = __p2_184; \42581 int8x16_t __s2_276 = __p2_276; \
41226 int32x2_t __rev0_184; __rev0_184 = __builtin_shufflevector(__s0_184, __s0_184, 1, 0); \42582 int32x2_t __rev0_276; __rev0_276 = __builtin_shufflevector(__s0_276, __s0_276, 1, 0); \
41227 int8x8_t __rev1_184; __rev1_184 = __builtin_shufflevector(__s1_184, __s1_184, 7, 6, 5, 4, 3, 2, 1, 0); \42583 int8x8_t __rev1_276; __rev1_276 = __builtin_shufflevector(__s1_276, __s1_276, 7, 6, 5, 4, 3, 2, 1, 0); \
41228 int8x16_t __rev2_184; __rev2_184 = __builtin_shufflevector(__s2_184, __s2_184, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \42584 int8x16_t __rev2_276; __rev2_276 = __builtin_shufflevector(__s2_276, __s2_276, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
41229 int32x2_t __ret_184; \42585 int32x2_t __ret_276; \
41230int8x16_t __reint_184 = __rev2_184; \42586int8x16_t __reint_276 = __rev2_276; \
41231int32x2_t __reint1_184 = __noswap_splat_laneq_s32(*(int32x4_t *) &__reint_184, __p3_184); \42587int32x2_t __reint1_276 = __noswap_splat_laneq_s32(*(int32x4_t *) &__reint_276, __p3_276); \
41232 __ret_184 = __noswap_vdot_s32(__rev0_184, __rev1_184, *(int8x8_t *) &__reint1_184); \42588 __ret_276 = __noswap_vdot_s32(__rev0_276, __rev1_276, *(int8x8_t *) &__reint1_276); \
41233 __ret_184 = __builtin_shufflevector(__ret_184, __ret_184, 1, 0); \42589 __ret_276 = __builtin_shufflevector(__ret_276, __ret_276, 1, 0); \
41234 __ret_184; \42590 __ret_276; \
41235})42591})
41236#endif42592#endif
4123742593
...@@ -42898,44 +44254,44 @@ __ai float16x4_t vmul_f16(float16x4_t __p0, float16x4_t __p1) {...@@ -42898,44 +44254,44 @@ __ai float16x4_t vmul_f16(float16x4_t __p0, float16x4_t __p1) {
42898#endif44254#endif
4289944255
42900#ifdef __LITTLE_ENDIAN__44256#ifdef __LITTLE_ENDIAN__
42901#define vmulq_lane_f16(__p0_185, __p1_185, __p2_185) __extension__ ({ \44257#define vmulq_lane_f16(__p0_277, __p1_277, __p2_277) __extension__ ({ \
42902 float16x8_t __s0_185 = __p0_185; \44258 float16x8_t __s0_277 = __p0_277; \
42903 float16x4_t __s1_185 = __p1_185; \44259 float16x4_t __s1_277 = __p1_277; \
42904 float16x8_t __ret_185; \44260 float16x8_t __ret_277; \
42905 __ret_185 = __s0_185 * splatq_lane_f16(__s1_185, __p2_185); \44261 __ret_277 = __s0_277 * splatq_lane_f16(__s1_277, __p2_277); \
42906 __ret_185; \44262 __ret_277; \
42907})44263})
42908#else44264#else
42909#define vmulq_lane_f16(__p0_186, __p1_186, __p2_186) __extension__ ({ \44265#define vmulq_lane_f16(__p0_278, __p1_278, __p2_278) __extension__ ({ \
42910 float16x8_t __s0_186 = __p0_186; \44266 float16x8_t __s0_278 = __p0_278; \
42911 float16x4_t __s1_186 = __p1_186; \44267 float16x4_t __s1_278 = __p1_278; \
42912 float16x8_t __rev0_186; __rev0_186 = __builtin_shufflevector(__s0_186, __s0_186, 7, 6, 5, 4, 3, 2, 1, 0); \44268 float16x8_t __rev0_278; __rev0_278 = __builtin_shufflevector(__s0_278, __s0_278, 7, 6, 5, 4, 3, 2, 1, 0); \
42913 float16x4_t __rev1_186; __rev1_186 = __builtin_shufflevector(__s1_186, __s1_186, 3, 2, 1, 0); \44269 float16x4_t __rev1_278; __rev1_278 = __builtin_shufflevector(__s1_278, __s1_278, 3, 2, 1, 0); \
42914 float16x8_t __ret_186; \44270 float16x8_t __ret_278; \
42915 __ret_186 = __rev0_186 * __noswap_splatq_lane_f16(__rev1_186, __p2_186); \44271 __ret_278 = __rev0_278 * __noswap_splatq_lane_f16(__rev1_278, __p2_278); \
42916 __ret_186 = __builtin_shufflevector(__ret_186, __ret_186, 7, 6, 5, 4, 3, 2, 1, 0); \44272 __ret_278 = __builtin_shufflevector(__ret_278, __ret_278, 7, 6, 5, 4, 3, 2, 1, 0); \
42917 __ret_186; \44273 __ret_278; \
42918})44274})
42919#endif44275#endif
4292044276
42921#ifdef __LITTLE_ENDIAN__44277#ifdef __LITTLE_ENDIAN__
42922#define vmul_lane_f16(__p0_187, __p1_187, __p2_187) __extension__ ({ \44278#define vmul_lane_f16(__p0_279, __p1_279, __p2_279) __extension__ ({ \
42923 float16x4_t __s0_187 = __p0_187; \44279 float16x4_t __s0_279 = __p0_279; \
42924 float16x4_t __s1_187 = __p1_187; \44280 float16x4_t __s1_279 = __p1_279; \
42925 float16x4_t __ret_187; \44281 float16x4_t __ret_279; \
42926 __ret_187 = __s0_187 * splat_lane_f16(__s1_187, __p2_187); \44282 __ret_279 = __s0_279 * splat_lane_f16(__s1_279, __p2_279); \
42927 __ret_187; \44283 __ret_279; \
42928})44284})
42929#else44285#else
42930#define vmul_lane_f16(__p0_188, __p1_188, __p2_188) __extension__ ({ \44286#define vmul_lane_f16(__p0_280, __p1_280, __p2_280) __extension__ ({ \
42931 float16x4_t __s0_188 = __p0_188; \44287 float16x4_t __s0_280 = __p0_280; \
42932 float16x4_t __s1_188 = __p1_188; \44288 float16x4_t __s1_280 = __p1_280; \
42933 float16x4_t __rev0_188; __rev0_188 = __builtin_shufflevector(__s0_188, __s0_188, 3, 2, 1, 0); \44289 float16x4_t __rev0_280; __rev0_280 = __builtin_shufflevector(__s0_280, __s0_280, 3, 2, 1, 0); \
42934 float16x4_t __rev1_188; __rev1_188 = __builtin_shufflevector(__s1_188, __s1_188, 3, 2, 1, 0); \44290 float16x4_t __rev1_280; __rev1_280 = __builtin_shufflevector(__s1_280, __s1_280, 3, 2, 1, 0); \
42935 float16x4_t __ret_188; \44291 float16x4_t __ret_280; \
42936 __ret_188 = __rev0_188 * __noswap_splat_lane_f16(__rev1_188, __p2_188); \44292 __ret_280 = __rev0_280 * __noswap_splat_lane_f16(__rev1_280, __p2_280); \
42937 __ret_188 = __builtin_shufflevector(__ret_188, __ret_188, 3, 2, 1, 0); \44293 __ret_280 = __builtin_shufflevector(__ret_280, __ret_280, 3, 2, 1, 0); \
42938 __ret_188; \44294 __ret_280; \
42939})44295})
42940#endif44296#endif
4294144297
...@@ -43677,140 +45033,140 @@ __ai float16x4_t vdiv_f16(float16x4_t __p0, float16x4_t __p1) {...@@ -43677,140 +45033,140 @@ __ai float16x4_t vdiv_f16(float16x4_t __p0, float16x4_t __p1) {
43677#endif45033#endif
4367845034
43679#ifdef __LITTLE_ENDIAN__45035#ifdef __LITTLE_ENDIAN__
43680#define vfmsh_lane_f16(__p0_189, __p1_189, __p2_189, __p3_189) __extension__ ({ \45036#define vfmsh_lane_f16(__p0_281, __p1_281, __p2_281, __p3_281) __extension__ ({ \
43681 float16_t __s0_189 = __p0_189; \45037 float16_t __s0_281 = __p0_281; \
43682 float16_t __s1_189 = __p1_189; \45038 float16_t __s1_281 = __p1_281; \
43683 float16x4_t __s2_189 = __p2_189; \45039 float16x4_t __s2_281 = __p2_281; \
43684 float16_t __ret_189; \45040 float16_t __ret_281; \
43685 __ret_189 = vfmah_lane_f16(__s0_189, -__s1_189, __s2_189, __p3_189); \45041 __ret_281 = vfmah_lane_f16(__s0_281, -__s1_281, __s2_281, __p3_281); \
43686 __ret_189; \45042 __ret_281; \
43687})45043})
43688#else45044#else
43689#define vfmsh_lane_f16(__p0_190, __p1_190, __p2_190, __p3_190) __extension__ ({ \45045#define vfmsh_lane_f16(__p0_282, __p1_282, __p2_282, __p3_282) __extension__ ({ \
43690 float16_t __s0_190 = __p0_190; \45046 float16_t __s0_282 = __p0_282; \
43691 float16_t __s1_190 = __p1_190; \45047 float16_t __s1_282 = __p1_282; \
43692 float16x4_t __s2_190 = __p2_190; \45048 float16x4_t __s2_282 = __p2_282; \
43693 float16x4_t __rev2_190; __rev2_190 = __builtin_shufflevector(__s2_190, __s2_190, 3, 2, 1, 0); \45049 float16x4_t __rev2_282; __rev2_282 = __builtin_shufflevector(__s2_282, __s2_282, 3, 2, 1, 0); \
43694 float16_t __ret_190; \45050 float16_t __ret_282; \
43695 __ret_190 = __noswap_vfmah_lane_f16(__s0_190, -__s1_190, __rev2_190, __p3_190); \45051 __ret_282 = __noswap_vfmah_lane_f16(__s0_282, -__s1_282, __rev2_282, __p3_282); \
43696 __ret_190; \45052 __ret_282; \
43697})45053})
43698#endif45054#endif
4369945055
43700#ifdef __LITTLE_ENDIAN__45056#ifdef __LITTLE_ENDIAN__
43701#define vfmsq_lane_f16(__p0_191, __p1_191, __p2_191, __p3_191) __extension__ ({ \45057#define vfmsq_lane_f16(__p0_283, __p1_283, __p2_283, __p3_283) __extension__ ({ \
43702 float16x8_t __s0_191 = __p0_191; \45058 float16x8_t __s0_283 = __p0_283; \
43703 float16x8_t __s1_191 = __p1_191; \45059 float16x8_t __s1_283 = __p1_283; \
43704 float16x4_t __s2_191 = __p2_191; \45060 float16x4_t __s2_283 = __p2_283; \
43705 float16x8_t __ret_191; \45061 float16x8_t __ret_283; \
43706 __ret_191 = vfmaq_lane_f16(__s0_191, -__s1_191, __s2_191, __p3_191); \45062 __ret_283 = vfmaq_lane_f16(__s0_283, -__s1_283, __s2_283, __p3_283); \
43707 __ret_191; \45063 __ret_283; \
43708})45064})
43709#else45065#else
43710#define vfmsq_lane_f16(__p0_192, __p1_192, __p2_192, __p3_192) __extension__ ({ \45066#define vfmsq_lane_f16(__p0_284, __p1_284, __p2_284, __p3_284) __extension__ ({ \
43711 float16x8_t __s0_192 = __p0_192; \45067 float16x8_t __s0_284 = __p0_284; \
43712 float16x8_t __s1_192 = __p1_192; \45068 float16x8_t __s1_284 = __p1_284; \
43713 float16x4_t __s2_192 = __p2_192; \45069 float16x4_t __s2_284 = __p2_284; \
43714 float16x8_t __rev0_192; __rev0_192 = __builtin_shufflevector(__s0_192, __s0_192, 7, 6, 5, 4, 3, 2, 1, 0); \45070 float16x8_t __rev0_284; __rev0_284 = __builtin_shufflevector(__s0_284, __s0_284, 7, 6, 5, 4, 3, 2, 1, 0); \
43715 float16x8_t __rev1_192; __rev1_192 = __builtin_shufflevector(__s1_192, __s1_192, 7, 6, 5, 4, 3, 2, 1, 0); \45071 float16x8_t __rev1_284; __rev1_284 = __builtin_shufflevector(__s1_284, __s1_284, 7, 6, 5, 4, 3, 2, 1, 0); \
43716 float16x4_t __rev2_192; __rev2_192 = __builtin_shufflevector(__s2_192, __s2_192, 3, 2, 1, 0); \45072 float16x4_t __rev2_284; __rev2_284 = __builtin_shufflevector(__s2_284, __s2_284, 3, 2, 1, 0); \
43717 float16x8_t __ret_192; \45073 float16x8_t __ret_284; \
43718 __ret_192 = __noswap_vfmaq_lane_f16(__rev0_192, -__rev1_192, __rev2_192, __p3_192); \45074 __ret_284 = __noswap_vfmaq_lane_f16(__rev0_284, -__rev1_284, __rev2_284, __p3_284); \
43719 __ret_192 = __builtin_shufflevector(__ret_192, __ret_192, 7, 6, 5, 4, 3, 2, 1, 0); \45075 __ret_284 = __builtin_shufflevector(__ret_284, __ret_284, 7, 6, 5, 4, 3, 2, 1, 0); \
43720 __ret_192; \45076 __ret_284; \
43721})45077})
43722#endif45078#endif
4372345079
43724#ifdef __LITTLE_ENDIAN__45080#ifdef __LITTLE_ENDIAN__
43725#define vfms_lane_f16(__p0_193, __p1_193, __p2_193, __p3_193) __extension__ ({ \45081#define vfms_lane_f16(__p0_285, __p1_285, __p2_285, __p3_285) __extension__ ({ \
43726 float16x4_t __s0_193 = __p0_193; \45082 float16x4_t __s0_285 = __p0_285; \
43727 float16x4_t __s1_193 = __p1_193; \45083 float16x4_t __s1_285 = __p1_285; \
43728 float16x4_t __s2_193 = __p2_193; \45084 float16x4_t __s2_285 = __p2_285; \
43729 float16x4_t __ret_193; \45085 float16x4_t __ret_285; \
43730 __ret_193 = vfma_lane_f16(__s0_193, -__s1_193, __s2_193, __p3_193); \45086 __ret_285 = vfma_lane_f16(__s0_285, -__s1_285, __s2_285, __p3_285); \
43731 __ret_193; \45087 __ret_285; \
43732})45088})
43733#else45089#else
43734#define vfms_lane_f16(__p0_194, __p1_194, __p2_194, __p3_194) __extension__ ({ \45090#define vfms_lane_f16(__p0_286, __p1_286, __p2_286, __p3_286) __extension__ ({ \
43735 float16x4_t __s0_194 = __p0_194; \45091 float16x4_t __s0_286 = __p0_286; \
43736 float16x4_t __s1_194 = __p1_194; \45092 float16x4_t __s1_286 = __p1_286; \
43737 float16x4_t __s2_194 = __p2_194; \45093 float16x4_t __s2_286 = __p2_286; \
43738 float16x4_t __rev0_194; __rev0_194 = __builtin_shufflevector(__s0_194, __s0_194, 3, 2, 1, 0); \45094 float16x4_t __rev0_286; __rev0_286 = __builtin_shufflevector(__s0_286, __s0_286, 3, 2, 1, 0); \
43739 float16x4_t __rev1_194; __rev1_194 = __builtin_shufflevector(__s1_194, __s1_194, 3, 2, 1, 0); \45095 float16x4_t __rev1_286; __rev1_286 = __builtin_shufflevector(__s1_286, __s1_286, 3, 2, 1, 0); \
43740 float16x4_t __rev2_194; __rev2_194 = __builtin_shufflevector(__s2_194, __s2_194, 3, 2, 1, 0); \45096 float16x4_t __rev2_286; __rev2_286 = __builtin_shufflevector(__s2_286, __s2_286, 3, 2, 1, 0); \
43741 float16x4_t __ret_194; \45097 float16x4_t __ret_286; \
43742 __ret_194 = __noswap_vfma_lane_f16(__rev0_194, -__rev1_194, __rev2_194, __p3_194); \45098 __ret_286 = __noswap_vfma_lane_f16(__rev0_286, -__rev1_286, __rev2_286, __p3_286); \
43743 __ret_194 = __builtin_shufflevector(__ret_194, __ret_194, 3, 2, 1, 0); \45099 __ret_286 = __builtin_shufflevector(__ret_286, __ret_286, 3, 2, 1, 0); \
43744 __ret_194; \45100 __ret_286; \
43745})45101})
43746#endif45102#endif
4374745103
43748#ifdef __LITTLE_ENDIAN__45104#ifdef __LITTLE_ENDIAN__
43749#define vfmsh_laneq_f16(__p0_195, __p1_195, __p2_195, __p3_195) __extension__ ({ \45105#define vfmsh_laneq_f16(__p0_287, __p1_287, __p2_287, __p3_287) __extension__ ({ \
43750 float16_t __s0_195 = __p0_195; \45106 float16_t __s0_287 = __p0_287; \
43751 float16_t __s1_195 = __p1_195; \45107 float16_t __s1_287 = __p1_287; \
43752 float16x8_t __s2_195 = __p2_195; \45108 float16x8_t __s2_287 = __p2_287; \
43753 float16_t __ret_195; \45109 float16_t __ret_287; \
43754 __ret_195 = vfmah_laneq_f16(__s0_195, -__s1_195, __s2_195, __p3_195); \45110 __ret_287 = vfmah_laneq_f16(__s0_287, -__s1_287, __s2_287, __p3_287); \
43755 __ret_195; \45111 __ret_287; \
43756})45112})
43757#else45113#else
43758#define vfmsh_laneq_f16(__p0_196, __p1_196, __p2_196, __p3_196) __extension__ ({ \45114#define vfmsh_laneq_f16(__p0_288, __p1_288, __p2_288, __p3_288) __extension__ ({ \
43759 float16_t __s0_196 = __p0_196; \45115 float16_t __s0_288 = __p0_288; \
43760 float16_t __s1_196 = __p1_196; \45116 float16_t __s1_288 = __p1_288; \
43761 float16x8_t __s2_196 = __p2_196; \45117 float16x8_t __s2_288 = __p2_288; \
43762 float16x8_t __rev2_196; __rev2_196 = __builtin_shufflevector(__s2_196, __s2_196, 7, 6, 5, 4, 3, 2, 1, 0); \45118 float16x8_t __rev2_288; __rev2_288 = __builtin_shufflevector(__s2_288, __s2_288, 7, 6, 5, 4, 3, 2, 1, 0); \
43763 float16_t __ret_196; \45119 float16_t __ret_288; \
43764 __ret_196 = __noswap_vfmah_laneq_f16(__s0_196, -__s1_196, __rev2_196, __p3_196); \45120 __ret_288 = __noswap_vfmah_laneq_f16(__s0_288, -__s1_288, __rev2_288, __p3_288); \
43765 __ret_196; \45121 __ret_288; \
43766})45122})
43767#endif45123#endif
4376845124
43769#ifdef __LITTLE_ENDIAN__45125#ifdef __LITTLE_ENDIAN__
43770#define vfmsq_laneq_f16(__p0_197, __p1_197, __p2_197, __p3_197) __extension__ ({ \45126#define vfmsq_laneq_f16(__p0_289, __p1_289, __p2_289, __p3_289) __extension__ ({ \
43771 float16x8_t __s0_197 = __p0_197; \45127 float16x8_t __s0_289 = __p0_289; \
43772 float16x8_t __s1_197 = __p1_197; \45128 float16x8_t __s1_289 = __p1_289; \
43773 float16x8_t __s2_197 = __p2_197; \45129 float16x8_t __s2_289 = __p2_289; \
43774 float16x8_t __ret_197; \45130 float16x8_t __ret_289; \
43775 __ret_197 = vfmaq_laneq_f16(__s0_197, -__s1_197, __s2_197, __p3_197); \45131 __ret_289 = vfmaq_laneq_f16(__s0_289, -__s1_289, __s2_289, __p3_289); \
43776 __ret_197; \45132 __ret_289; \
43777})45133})
43778#else45134#else
43779#define vfmsq_laneq_f16(__p0_198, __p1_198, __p2_198, __p3_198) __extension__ ({ \45135#define vfmsq_laneq_f16(__p0_290, __p1_290, __p2_290, __p3_290) __extension__ ({ \
43780 float16x8_t __s0_198 = __p0_198; \45136 float16x8_t __s0_290 = __p0_290; \
43781 float16x8_t __s1_198 = __p1_198; \45137 float16x8_t __s1_290 = __p1_290; \
43782 float16x8_t __s2_198 = __p2_198; \45138 float16x8_t __s2_290 = __p2_290; \
43783 float16x8_t __rev0_198; __rev0_198 = __builtin_shufflevector(__s0_198, __s0_198, 7, 6, 5, 4, 3, 2, 1, 0); \45139 float16x8_t __rev0_290; __rev0_290 = __builtin_shufflevector(__s0_290, __s0_290, 7, 6, 5, 4, 3, 2, 1, 0); \
43784 float16x8_t __rev1_198; __rev1_198 = __builtin_shufflevector(__s1_198, __s1_198, 7, 6, 5, 4, 3, 2, 1, 0); \45140 float16x8_t __rev1_290; __rev1_290 = __builtin_shufflevector(__s1_290, __s1_290, 7, 6, 5, 4, 3, 2, 1, 0); \
43785 float16x8_t __rev2_198; __rev2_198 = __builtin_shufflevector(__s2_198, __s2_198, 7, 6, 5, 4, 3, 2, 1, 0); \45141 float16x8_t __rev2_290; __rev2_290 = __builtin_shufflevector(__s2_290, __s2_290, 7, 6, 5, 4, 3, 2, 1, 0); \
43786 float16x8_t __ret_198; \45142 float16x8_t __ret_290; \
43787 __ret_198 = __noswap_vfmaq_laneq_f16(__rev0_198, -__rev1_198, __rev2_198, __p3_198); \45143 __ret_290 = __noswap_vfmaq_laneq_f16(__rev0_290, -__rev1_290, __rev2_290, __p3_290); \
43788 __ret_198 = __builtin_shufflevector(__ret_198, __ret_198, 7, 6, 5, 4, 3, 2, 1, 0); \45144 __ret_290 = __builtin_shufflevector(__ret_290, __ret_290, 7, 6, 5, 4, 3, 2, 1, 0); \
43789 __ret_198; \45145 __ret_290; \
43790})45146})
43791#endif45147#endif
4379245148
43793#ifdef __LITTLE_ENDIAN__45149#ifdef __LITTLE_ENDIAN__
43794#define vfms_laneq_f16(__p0_199, __p1_199, __p2_199, __p3_199) __extension__ ({ \45150#define vfms_laneq_f16(__p0_291, __p1_291, __p2_291, __p3_291) __extension__ ({ \
43795 float16x4_t __s0_199 = __p0_199; \45151 float16x4_t __s0_291 = __p0_291; \
43796 float16x4_t __s1_199 = __p1_199; \45152 float16x4_t __s1_291 = __p1_291; \
43797 float16x8_t __s2_199 = __p2_199; \45153 float16x8_t __s2_291 = __p2_291; \
43798 float16x4_t __ret_199; \45154 float16x4_t __ret_291; \
43799 __ret_199 = vfma_laneq_f16(__s0_199, -__s1_199, __s2_199, __p3_199); \45155 __ret_291 = vfma_laneq_f16(__s0_291, -__s1_291, __s2_291, __p3_291); \
43800 __ret_199; \45156 __ret_291; \
43801})45157})
43802#else45158#else
43803#define vfms_laneq_f16(__p0_200, __p1_200, __p2_200, __p3_200) __extension__ ({ \45159#define vfms_laneq_f16(__p0_292, __p1_292, __p2_292, __p3_292) __extension__ ({ \
43804 float16x4_t __s0_200 = __p0_200; \45160 float16x4_t __s0_292 = __p0_292; \
43805 float16x4_t __s1_200 = __p1_200; \45161 float16x4_t __s1_292 = __p1_292; \
43806 float16x8_t __s2_200 = __p2_200; \45162 float16x8_t __s2_292 = __p2_292; \
43807 float16x4_t __rev0_200; __rev0_200 = __builtin_shufflevector(__s0_200, __s0_200, 3, 2, 1, 0); \45163 float16x4_t __rev0_292; __rev0_292 = __builtin_shufflevector(__s0_292, __s0_292, 3, 2, 1, 0); \
43808 float16x4_t __rev1_200; __rev1_200 = __builtin_shufflevector(__s1_200, __s1_200, 3, 2, 1, 0); \45164 float16x4_t __rev1_292; __rev1_292 = __builtin_shufflevector(__s1_292, __s1_292, 3, 2, 1, 0); \
43809 float16x8_t __rev2_200; __rev2_200 = __builtin_shufflevector(__s2_200, __s2_200, 7, 6, 5, 4, 3, 2, 1, 0); \45165 float16x8_t __rev2_292; __rev2_292 = __builtin_shufflevector(__s2_292, __s2_292, 7, 6, 5, 4, 3, 2, 1, 0); \
43810 float16x4_t __ret_200; \45166 float16x4_t __ret_292; \
43811 __ret_200 = __noswap_vfma_laneq_f16(__rev0_200, -__rev1_200, __rev2_200, __p3_200); \45167 __ret_292 = __noswap_vfma_laneq_f16(__rev0_292, -__rev1_292, __rev2_292, __p3_292); \
43812 __ret_200 = __builtin_shufflevector(__ret_200, __ret_200, 3, 2, 1, 0); \45168 __ret_292 = __builtin_shufflevector(__ret_292, __ret_292, 3, 2, 1, 0); \
43813 __ret_200; \45169 __ret_292; \
43814})45170})
43815#endif45171#endif
4381645172
...@@ -43997,44 +45353,44 @@ __ai float16x4_t vdiv_f16(float16x4_t __p0, float16x4_t __p1) {...@@ -43997,44 +45353,44 @@ __ai float16x4_t vdiv_f16(float16x4_t __p0, float16x4_t __p1) {
43997#endif45353#endif
4399845354
43999#ifdef __LITTLE_ENDIAN__45355#ifdef __LITTLE_ENDIAN__
44000#define vmulq_laneq_f16(__p0_201, __p1_201, __p2_201) __extension__ ({ \45356#define vmulq_laneq_f16(__p0_293, __p1_293, __p2_293) __extension__ ({ \
44001 float16x8_t __s0_201 = __p0_201; \45357 float16x8_t __s0_293 = __p0_293; \
44002 float16x8_t __s1_201 = __p1_201; \45358 float16x8_t __s1_293 = __p1_293; \
44003 float16x8_t __ret_201; \45359 float16x8_t __ret_293; \
44004 __ret_201 = __s0_201 * splatq_laneq_f16(__s1_201, __p2_201); \45360 __ret_293 = __s0_293 * splatq_laneq_f16(__s1_293, __p2_293); \
44005 __ret_201; \45361 __ret_293; \
44006})45362})
44007#else45363#else
44008#define vmulq_laneq_f16(__p0_202, __p1_202, __p2_202) __extension__ ({ \45364#define vmulq_laneq_f16(__p0_294, __p1_294, __p2_294) __extension__ ({ \
44009 float16x8_t __s0_202 = __p0_202; \45365 float16x8_t __s0_294 = __p0_294; \
44010 float16x8_t __s1_202 = __p1_202; \45366 float16x8_t __s1_294 = __p1_294; \
44011 float16x8_t __rev0_202; __rev0_202 = __builtin_shufflevector(__s0_202, __s0_202, 7, 6, 5, 4, 3, 2, 1, 0); \45367 float16x8_t __rev0_294; __rev0_294 = __builtin_shufflevector(__s0_294, __s0_294, 7, 6, 5, 4, 3, 2, 1, 0); \
44012 float16x8_t __rev1_202; __rev1_202 = __builtin_shufflevector(__s1_202, __s1_202, 7, 6, 5, 4, 3, 2, 1, 0); \45368 float16x8_t __rev1_294; __rev1_294 = __builtin_shufflevector(__s1_294, __s1_294, 7, 6, 5, 4, 3, 2, 1, 0); \
44013 float16x8_t __ret_202; \45369 float16x8_t __ret_294; \
44014 __ret_202 = __rev0_202 * __noswap_splatq_laneq_f16(__rev1_202, __p2_202); \45370 __ret_294 = __rev0_294 * __noswap_splatq_laneq_f16(__rev1_294, __p2_294); \
44015 __ret_202 = __builtin_shufflevector(__ret_202, __ret_202, 7, 6, 5, 4, 3, 2, 1, 0); \45371 __ret_294 = __builtin_shufflevector(__ret_294, __ret_294, 7, 6, 5, 4, 3, 2, 1, 0); \
44016 __ret_202; \45372 __ret_294; \
44017})45373})
44018#endif45374#endif
4401945375
44020#ifdef __LITTLE_ENDIAN__45376#ifdef __LITTLE_ENDIAN__
44021#define vmul_laneq_f16(__p0_203, __p1_203, __p2_203) __extension__ ({ \45377#define vmul_laneq_f16(__p0_295, __p1_295, __p2_295) __extension__ ({ \
44022 float16x4_t __s0_203 = __p0_203; \45378 float16x4_t __s0_295 = __p0_295; \
44023 float16x8_t __s1_203 = __p1_203; \45379 float16x8_t __s1_295 = __p1_295; \
44024 float16x4_t __ret_203; \45380 float16x4_t __ret_295; \
44025 __ret_203 = __s0_203 * splat_laneq_f16(__s1_203, __p2_203); \45381 __ret_295 = __s0_295 * splat_laneq_f16(__s1_295, __p2_295); \
44026 __ret_203; \45382 __ret_295; \
44027})45383})
44028#else45384#else
44029#define vmul_laneq_f16(__p0_204, __p1_204, __p2_204) __extension__ ({ \45385#define vmul_laneq_f16(__p0_296, __p1_296, __p2_296) __extension__ ({ \
44030 float16x4_t __s0_204 = __p0_204; \45386 float16x4_t __s0_296 = __p0_296; \
44031 float16x8_t __s1_204 = __p1_204; \45387 float16x8_t __s1_296 = __p1_296; \
44032 float16x4_t __rev0_204; __rev0_204 = __builtin_shufflevector(__s0_204, __s0_204, 3, 2, 1, 0); \45388 float16x4_t __rev0_296; __rev0_296 = __builtin_shufflevector(__s0_296, __s0_296, 3, 2, 1, 0); \
44033 float16x8_t __rev1_204; __rev1_204 = __builtin_shufflevector(__s1_204, __s1_204, 7, 6, 5, 4, 3, 2, 1, 0); \45389 float16x8_t __rev1_296; __rev1_296 = __builtin_shufflevector(__s1_296, __s1_296, 7, 6, 5, 4, 3, 2, 1, 0); \
44034 float16x4_t __ret_204; \45390 float16x4_t __ret_296; \
44035 __ret_204 = __rev0_204 * __noswap_splat_laneq_f16(__rev1_204, __p2_204); \45391 __ret_296 = __rev0_296 * __noswap_splat_laneq_f16(__rev1_296, __p2_296); \
44036 __ret_204 = __builtin_shufflevector(__ret_204, __ret_204, 3, 2, 1, 0); \45392 __ret_296 = __builtin_shufflevector(__ret_296, __ret_296, 3, 2, 1, 0); \
44037 __ret_204; \45393 __ret_296; \
44038})45394})
44039#endif45395#endif
4404045396
...@@ -44102,44 +45458,44 @@ __ai float16x4_t __noswap_vmulx_f16(float16x4_t __p0, float16x4_t __p1) {...@@ -44102,44 +45458,44 @@ __ai float16x4_t __noswap_vmulx_f16(float16x4_t __p0, float16x4_t __p1) {
44102#endif45458#endif
4410345459
44104#ifdef __LITTLE_ENDIAN__45460#ifdef __LITTLE_ENDIAN__
44105#define vmulxq_lane_f16(__p0_205, __p1_205, __p2_205) __extension__ ({ \45461#define vmulxq_lane_f16(__p0_297, __p1_297, __p2_297) __extension__ ({ \
44106 float16x8_t __s0_205 = __p0_205; \45462 float16x8_t __s0_297 = __p0_297; \
44107 float16x4_t __s1_205 = __p1_205; \45463 float16x4_t __s1_297 = __p1_297; \
44108 float16x8_t __ret_205; \45464 float16x8_t __ret_297; \
44109 __ret_205 = vmulxq_f16(__s0_205, splatq_lane_f16(__s1_205, __p2_205)); \45465 __ret_297 = vmulxq_f16(__s0_297, splatq_lane_f16(__s1_297, __p2_297)); \
44110 __ret_205; \45466 __ret_297; \
44111})45467})
44112#else45468#else
44113#define vmulxq_lane_f16(__p0_206, __p1_206, __p2_206) __extension__ ({ \45469#define vmulxq_lane_f16(__p0_298, __p1_298, __p2_298) __extension__ ({ \
44114 float16x8_t __s0_206 = __p0_206; \45470 float16x8_t __s0_298 = __p0_298; \
44115 float16x4_t __s1_206 = __p1_206; \45471 float16x4_t __s1_298 = __p1_298; \
44116 float16x8_t __rev0_206; __rev0_206 = __builtin_shufflevector(__s0_206, __s0_206, 7, 6, 5, 4, 3, 2, 1, 0); \45472 float16x8_t __rev0_298; __rev0_298 = __builtin_shufflevector(__s0_298, __s0_298, 7, 6, 5, 4, 3, 2, 1, 0); \
44117 float16x4_t __rev1_206; __rev1_206 = __builtin_shufflevector(__s1_206, __s1_206, 3, 2, 1, 0); \45473 float16x4_t __rev1_298; __rev1_298 = __builtin_shufflevector(__s1_298, __s1_298, 3, 2, 1, 0); \
44118 float16x8_t __ret_206; \45474 float16x8_t __ret_298; \
44119 __ret_206 = __noswap_vmulxq_f16(__rev0_206, __noswap_splatq_lane_f16(__rev1_206, __p2_206)); \45475 __ret_298 = __noswap_vmulxq_f16(__rev0_298, __noswap_splatq_lane_f16(__rev1_298, __p2_298)); \
44120 __ret_206 = __builtin_shufflevector(__ret_206, __ret_206, 7, 6, 5, 4, 3, 2, 1, 0); \45476 __ret_298 = __builtin_shufflevector(__ret_298, __ret_298, 7, 6, 5, 4, 3, 2, 1, 0); \
44121 __ret_206; \45477 __ret_298; \
44122})45478})
44123#endif45479#endif
4412445480
44125#ifdef __LITTLE_ENDIAN__45481#ifdef __LITTLE_ENDIAN__
44126#define vmulx_lane_f16(__p0_207, __p1_207, __p2_207) __extension__ ({ \45482#define vmulx_lane_f16(__p0_299, __p1_299, __p2_299) __extension__ ({ \
44127 float16x4_t __s0_207 = __p0_207; \45483 float16x4_t __s0_299 = __p0_299; \
44128 float16x4_t __s1_207 = __p1_207; \45484 float16x4_t __s1_299 = __p1_299; \
44129 float16x4_t __ret_207; \45485 float16x4_t __ret_299; \
44130 __ret_207 = vmulx_f16(__s0_207, splat_lane_f16(__s1_207, __p2_207)); \45486 __ret_299 = vmulx_f16(__s0_299, splat_lane_f16(__s1_299, __p2_299)); \
44131 __ret_207; \45487 __ret_299; \
44132})45488})
44133#else45489#else
44134#define vmulx_lane_f16(__p0_208, __p1_208, __p2_208) __extension__ ({ \45490#define vmulx_lane_f16(__p0_300, __p1_300, __p2_300) __extension__ ({ \
44135 float16x4_t __s0_208 = __p0_208; \45491 float16x4_t __s0_300 = __p0_300; \
44136 float16x4_t __s1_208 = __p1_208; \45492 float16x4_t __s1_300 = __p1_300; \
44137 float16x4_t __rev0_208; __rev0_208 = __builtin_shufflevector(__s0_208, __s0_208, 3, 2, 1, 0); \45493 float16x4_t __rev0_300; __rev0_300 = __builtin_shufflevector(__s0_300, __s0_300, 3, 2, 1, 0); \
44138 float16x4_t __rev1_208; __rev1_208 = __builtin_shufflevector(__s1_208, __s1_208, 3, 2, 1, 0); \45494 float16x4_t __rev1_300; __rev1_300 = __builtin_shufflevector(__s1_300, __s1_300, 3, 2, 1, 0); \
44139 float16x4_t __ret_208; \45495 float16x4_t __ret_300; \
44140 __ret_208 = __noswap_vmulx_f16(__rev0_208, __noswap_splat_lane_f16(__rev1_208, __p2_208)); \45496 __ret_300 = __noswap_vmulx_f16(__rev0_300, __noswap_splat_lane_f16(__rev1_300, __p2_300)); \
44141 __ret_208 = __builtin_shufflevector(__ret_208, __ret_208, 3, 2, 1, 0); \45497 __ret_300 = __builtin_shufflevector(__ret_300, __ret_300, 3, 2, 1, 0); \
44142 __ret_208; \45498 __ret_300; \
44143})45499})
44144#endif45500#endif
4414545501
...@@ -44163,44 +45519,44 @@ __ai float16x4_t __noswap_vmulx_f16(float16x4_t __p0, float16x4_t __p1) {...@@ -44163,44 +45519,44 @@ __ai float16x4_t __noswap_vmulx_f16(float16x4_t __p0, float16x4_t __p1) {
44163#endif45519#endif
4416445520
44165#ifdef __LITTLE_ENDIAN__45521#ifdef __LITTLE_ENDIAN__
44166#define vmulxq_laneq_f16(__p0_209, __p1_209, __p2_209) __extension__ ({ \45522#define vmulxq_laneq_f16(__p0_301, __p1_301, __p2_301) __extension__ ({ \
44167 float16x8_t __s0_209 = __p0_209; \45523 float16x8_t __s0_301 = __p0_301; \
44168 float16x8_t __s1_209 = __p1_209; \45524 float16x8_t __s1_301 = __p1_301; \
44169 float16x8_t __ret_209; \45525 float16x8_t __ret_301; \
44170 __ret_209 = vmulxq_f16(__s0_209, splatq_laneq_f16(__s1_209, __p2_209)); \45526 __ret_301 = vmulxq_f16(__s0_301, splatq_laneq_f16(__s1_301, __p2_301)); \
44171 __ret_209; \45527 __ret_301; \
44172})45528})
44173#else45529#else
44174#define vmulxq_laneq_f16(__p0_210, __p1_210, __p2_210) __extension__ ({ \45530#define vmulxq_laneq_f16(__p0_302, __p1_302, __p2_302) __extension__ ({ \
44175 float16x8_t __s0_210 = __p0_210; \45531 float16x8_t __s0_302 = __p0_302; \
44176 float16x8_t __s1_210 = __p1_210; \45532 float16x8_t __s1_302 = __p1_302; \
44177 float16x8_t __rev0_210; __rev0_210 = __builtin_shufflevector(__s0_210, __s0_210, 7, 6, 5, 4, 3, 2, 1, 0); \45533 float16x8_t __rev0_302; __rev0_302 = __builtin_shufflevector(__s0_302, __s0_302, 7, 6, 5, 4, 3, 2, 1, 0); \
44178 float16x8_t __rev1_210; __rev1_210 = __builtin_shufflevector(__s1_210, __s1_210, 7, 6, 5, 4, 3, 2, 1, 0); \45534 float16x8_t __rev1_302; __rev1_302 = __builtin_shufflevector(__s1_302, __s1_302, 7, 6, 5, 4, 3, 2, 1, 0); \
44179 float16x8_t __ret_210; \45535 float16x8_t __ret_302; \
44180 __ret_210 = __noswap_vmulxq_f16(__rev0_210, __noswap_splatq_laneq_f16(__rev1_210, __p2_210)); \45536 __ret_302 = __noswap_vmulxq_f16(__rev0_302, __noswap_splatq_laneq_f16(__rev1_302, __p2_302)); \
44181 __ret_210 = __builtin_shufflevector(__ret_210, __ret_210, 7, 6, 5, 4, 3, 2, 1, 0); \45537 __ret_302 = __builtin_shufflevector(__ret_302, __ret_302, 7, 6, 5, 4, 3, 2, 1, 0); \
44182 __ret_210; \45538 __ret_302; \
44183})45539})
44184#endif45540#endif
4418545541
44186#ifdef __LITTLE_ENDIAN__45542#ifdef __LITTLE_ENDIAN__
44187#define vmulx_laneq_f16(__p0_211, __p1_211, __p2_211) __extension__ ({ \45543#define vmulx_laneq_f16(__p0_303, __p1_303, __p2_303) __extension__ ({ \
44188 float16x4_t __s0_211 = __p0_211; \45544 float16x4_t __s0_303 = __p0_303; \
44189 float16x8_t __s1_211 = __p1_211; \45545 float16x8_t __s1_303 = __p1_303; \
44190 float16x4_t __ret_211; \45546 float16x4_t __ret_303; \
44191 __ret_211 = vmulx_f16(__s0_211, splat_laneq_f16(__s1_211, __p2_211)); \45547 __ret_303 = vmulx_f16(__s0_303, splat_laneq_f16(__s1_303, __p2_303)); \
44192 __ret_211; \45548 __ret_303; \
44193})45549})
44194#else45550#else
44195#define vmulx_laneq_f16(__p0_212, __p1_212, __p2_212) __extension__ ({ \45551#define vmulx_laneq_f16(__p0_304, __p1_304, __p2_304) __extension__ ({ \
44196 float16x4_t __s0_212 = __p0_212; \45552 float16x4_t __s0_304 = __p0_304; \
44197 float16x8_t __s1_212 = __p1_212; \45553 float16x8_t __s1_304 = __p1_304; \
44198 float16x4_t __rev0_212; __rev0_212 = __builtin_shufflevector(__s0_212, __s0_212, 3, 2, 1, 0); \45554 float16x4_t __rev0_304; __rev0_304 = __builtin_shufflevector(__s0_304, __s0_304, 3, 2, 1, 0); \
44199 float16x8_t __rev1_212; __rev1_212 = __builtin_shufflevector(__s1_212, __s1_212, 7, 6, 5, 4, 3, 2, 1, 0); \45555 float16x8_t __rev1_304; __rev1_304 = __builtin_shufflevector(__s1_304, __s1_304, 7, 6, 5, 4, 3, 2, 1, 0); \
44200 float16x4_t __ret_212; \45556 float16x4_t __ret_304; \
44201 __ret_212 = __noswap_vmulx_f16(__rev0_212, __noswap_splat_laneq_f16(__rev1_212, __p2_212)); \45557 __ret_304 = __noswap_vmulx_f16(__rev0_304, __noswap_splat_laneq_f16(__rev1_304, __p2_304)); \
44202 __ret_212 = __builtin_shufflevector(__ret_212, __ret_212, 3, 2, 1, 0); \45558 __ret_304 = __builtin_shufflevector(__ret_304, __ret_304, 3, 2, 1, 0); \
44203 __ret_212; \45559 __ret_304; \
44204})45560})
44205#endif45561#endif
4420645562
...@@ -44716,54 +46072,54 @@ __ai int32x2_t __noswap_vusdot_s32(int32x2_t __p0, uint8x8_t __p1, int8x8_t __p2...@@ -44716,54 +46072,54 @@ __ai int32x2_t __noswap_vusdot_s32(int32x2_t __p0, uint8x8_t __p1, int8x8_t __p2
44716#endif46072#endif
4471746073
44718#ifdef __LITTLE_ENDIAN__46074#ifdef __LITTLE_ENDIAN__
44719#define vusdotq_lane_s32(__p0_213, __p1_213, __p2_213, __p3_213) __extension__ ({ \46075#define vusdotq_lane_s32(__p0_305, __p1_305, __p2_305, __p3_305) __extension__ ({ \
44720 int32x4_t __s0_213 = __p0_213; \46076 int32x4_t __s0_305 = __p0_305; \
44721 uint8x16_t __s1_213 = __p1_213; \46077 uint8x16_t __s1_305 = __p1_305; \
44722 int8x8_t __s2_213 = __p2_213; \46078 int8x8_t __s2_305 = __p2_305; \
44723 int32x4_t __ret_213; \46079 int32x4_t __ret_305; \
44724int8x8_t __reint_213 = __s2_213; \46080int8x8_t __reint_305 = __s2_305; \
44725 __ret_213 = vusdotq_s32(__s0_213, __s1_213, (int8x16_t)(splatq_lane_s32(*(int32x2_t *) &__reint_213, __p3_213))); \46081 __ret_305 = vusdotq_s32(__s0_305, __s1_305, (int8x16_t)(splatq_lane_s32(*(int32x2_t *) &__reint_305, __p3_305))); \
44726 __ret_213; \46082 __ret_305; \
44727})46083})
44728#else46084#else
44729#define vusdotq_lane_s32(__p0_214, __p1_214, __p2_214, __p3_214) __extension__ ({ \46085#define vusdotq_lane_s32(__p0_306, __p1_306, __p2_306, __p3_306) __extension__ ({ \
44730 int32x4_t __s0_214 = __p0_214; \46086 int32x4_t __s0_306 = __p0_306; \
44731 uint8x16_t __s1_214 = __p1_214; \46087 uint8x16_t __s1_306 = __p1_306; \
44732 int8x8_t __s2_214 = __p2_214; \46088 int8x8_t __s2_306 = __p2_306; \
44733 int32x4_t __rev0_214; __rev0_214 = __builtin_shufflevector(__s0_214, __s0_214, 3, 2, 1, 0); \46089 int32x4_t __rev0_306; __rev0_306 = __builtin_shufflevector(__s0_306, __s0_306, 3, 2, 1, 0); \
44734 uint8x16_t __rev1_214; __rev1_214 = __builtin_shufflevector(__s1_214, __s1_214, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \46090 uint8x16_t __rev1_306; __rev1_306 = __builtin_shufflevector(__s1_306, __s1_306, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
44735 int8x8_t __rev2_214; __rev2_214 = __builtin_shufflevector(__s2_214, __s2_214, 7, 6, 5, 4, 3, 2, 1, 0); \46091 int8x8_t __rev2_306; __rev2_306 = __builtin_shufflevector(__s2_306, __s2_306, 7, 6, 5, 4, 3, 2, 1, 0); \
44736 int32x4_t __ret_214; \46092 int32x4_t __ret_306; \
44737int8x8_t __reint_214 = __rev2_214; \46093int8x8_t __reint_306 = __rev2_306; \
44738 __ret_214 = __noswap_vusdotq_s32(__rev0_214, __rev1_214, (int8x16_t)(__noswap_splatq_lane_s32(*(int32x2_t *) &__reint_214, __p3_214))); \46094 __ret_306 = __noswap_vusdotq_s32(__rev0_306, __rev1_306, (int8x16_t)(__noswap_splatq_lane_s32(*(int32x2_t *) &__reint_306, __p3_306))); \
44739 __ret_214 = __builtin_shufflevector(__ret_214, __ret_214, 3, 2, 1, 0); \46095 __ret_306 = __builtin_shufflevector(__ret_306, __ret_306, 3, 2, 1, 0); \
44740 __ret_214; \46096 __ret_306; \
44741})46097})
44742#endif46098#endif
4474346099
44744#ifdef __LITTLE_ENDIAN__46100#ifdef __LITTLE_ENDIAN__
44745#define vusdot_lane_s32(__p0_215, __p1_215, __p2_215, __p3_215) __extension__ ({ \46101#define vusdot_lane_s32(__p0_307, __p1_307, __p2_307, __p3_307) __extension__ ({ \
44746 int32x2_t __s0_215 = __p0_215; \46102 int32x2_t __s0_307 = __p0_307; \
44747 uint8x8_t __s1_215 = __p1_215; \46103 uint8x8_t __s1_307 = __p1_307; \
44748 int8x8_t __s2_215 = __p2_215; \46104 int8x8_t __s2_307 = __p2_307; \
44749 int32x2_t __ret_215; \46105 int32x2_t __ret_307; \
44750int8x8_t __reint_215 = __s2_215; \46106int8x8_t __reint_307 = __s2_307; \
44751 __ret_215 = vusdot_s32(__s0_215, __s1_215, (int8x8_t)(splat_lane_s32(*(int32x2_t *) &__reint_215, __p3_215))); \46107 __ret_307 = vusdot_s32(__s0_307, __s1_307, (int8x8_t)(splat_lane_s32(*(int32x2_t *) &__reint_307, __p3_307))); \
44752 __ret_215; \46108 __ret_307; \
44753})46109})
44754#else46110#else
44755#define vusdot_lane_s32(__p0_216, __p1_216, __p2_216, __p3_216) __extension__ ({ \46111#define vusdot_lane_s32(__p0_308, __p1_308, __p2_308, __p3_308) __extension__ ({ \
44756 int32x2_t __s0_216 = __p0_216; \46112 int32x2_t __s0_308 = __p0_308; \
44757 uint8x8_t __s1_216 = __p1_216; \46113 uint8x8_t __s1_308 = __p1_308; \
44758 int8x8_t __s2_216 = __p2_216; \46114 int8x8_t __s2_308 = __p2_308; \
44759 int32x2_t __rev0_216; __rev0_216 = __builtin_shufflevector(__s0_216, __s0_216, 1, 0); \46115 int32x2_t __rev0_308; __rev0_308 = __builtin_shufflevector(__s0_308, __s0_308, 1, 0); \
44760 uint8x8_t __rev1_216; __rev1_216 = __builtin_shufflevector(__s1_216, __s1_216, 7, 6, 5, 4, 3, 2, 1, 0); \46116 uint8x8_t __rev1_308; __rev1_308 = __builtin_shufflevector(__s1_308, __s1_308, 7, 6, 5, 4, 3, 2, 1, 0); \
44761 int8x8_t __rev2_216; __rev2_216 = __builtin_shufflevector(__s2_216, __s2_216, 7, 6, 5, 4, 3, 2, 1, 0); \46117 int8x8_t __rev2_308; __rev2_308 = __builtin_shufflevector(__s2_308, __s2_308, 7, 6, 5, 4, 3, 2, 1, 0); \
44762 int32x2_t __ret_216; \46118 int32x2_t __ret_308; \
44763int8x8_t __reint_216 = __rev2_216; \46119int8x8_t __reint_308 = __rev2_308; \
44764 __ret_216 = __noswap_vusdot_s32(__rev0_216, __rev1_216, (int8x8_t)(__noswap_splat_lane_s32(*(int32x2_t *) &__reint_216, __p3_216))); \46120 __ret_308 = __noswap_vusdot_s32(__rev0_308, __rev1_308, (int8x8_t)(__noswap_splat_lane_s32(*(int32x2_t *) &__reint_308, __p3_308))); \
44765 __ret_216 = __builtin_shufflevector(__ret_216, __ret_216, 1, 0); \46121 __ret_308 = __builtin_shufflevector(__ret_308, __ret_308, 1, 0); \
44766 __ret_216; \46122 __ret_308; \
44767})46123})
44768#endif46124#endif
4476946125
...@@ -44860,98 +46216,98 @@ __ai int16x4_t vqrdmlah_s16(int16x4_t __p0, int16x4_t __p1, int16x4_t __p2) {...@@ -44860,98 +46216,98 @@ __ai int16x4_t vqrdmlah_s16(int16x4_t __p0, int16x4_t __p1, int16x4_t __p2) {
44860#endif46216#endif
4486146217
44862#ifdef __LITTLE_ENDIAN__46218#ifdef __LITTLE_ENDIAN__
44863#define vqrdmlahq_lane_s32(__p0_217, __p1_217, __p2_217, __p3_217) __extension__ ({ \46219#define vqrdmlahq_lane_s32(__p0_309, __p1_309, __p2_309, __p3_309) __extension__ ({ \
44864 int32x4_t __s0_217 = __p0_217; \46220 int32x4_t __s0_309 = __p0_309; \
44865 int32x4_t __s1_217 = __p1_217; \46221 int32x4_t __s1_309 = __p1_309; \
44866 int32x2_t __s2_217 = __p2_217; \46222 int32x2_t __s2_309 = __p2_309; \
44867 int32x4_t __ret_217; \46223 int32x4_t __ret_309; \
44868 __ret_217 = vqaddq_s32(__s0_217, vqrdmulhq_s32(__s1_217, splatq_lane_s32(__s2_217, __p3_217))); \46224 __ret_309 = vqaddq_s32(__s0_309, vqrdmulhq_s32(__s1_309, splatq_lane_s32(__s2_309, __p3_309))); \
44869 __ret_217; \46225 __ret_309; \
44870})46226})
44871#else46227#else
44872#define vqrdmlahq_lane_s32(__p0_218, __p1_218, __p2_218, __p3_218) __extension__ ({ \46228#define vqrdmlahq_lane_s32(__p0_310, __p1_310, __p2_310, __p3_310) __extension__ ({ \
44873 int32x4_t __s0_218 = __p0_218; \46229 int32x4_t __s0_310 = __p0_310; \
44874 int32x4_t __s1_218 = __p1_218; \46230 int32x4_t __s1_310 = __p1_310; \
44875 int32x2_t __s2_218 = __p2_218; \46231 int32x2_t __s2_310 = __p2_310; \
44876 int32x4_t __rev0_218; __rev0_218 = __builtin_shufflevector(__s0_218, __s0_218, 3, 2, 1, 0); \46232 int32x4_t __rev0_310; __rev0_310 = __builtin_shufflevector(__s0_310, __s0_310, 3, 2, 1, 0); \
44877 int32x4_t __rev1_218; __rev1_218 = __builtin_shufflevector(__s1_218, __s1_218, 3, 2, 1, 0); \46233 int32x4_t __rev1_310; __rev1_310 = __builtin_shufflevector(__s1_310, __s1_310, 3, 2, 1, 0); \
44878 int32x2_t __rev2_218; __rev2_218 = __builtin_shufflevector(__s2_218, __s2_218, 1, 0); \46234 int32x2_t __rev2_310; __rev2_310 = __builtin_shufflevector(__s2_310, __s2_310, 1, 0); \
44879 int32x4_t __ret_218; \46235 int32x4_t __ret_310; \
44880 __ret_218 = __noswap_vqaddq_s32(__rev0_218, __noswap_vqrdmulhq_s32(__rev1_218, __noswap_splatq_lane_s32(__rev2_218, __p3_218))); \46236 __ret_310 = __noswap_vqaddq_s32(__rev0_310, __noswap_vqrdmulhq_s32(__rev1_310, __noswap_splatq_lane_s32(__rev2_310, __p3_310))); \
44881 __ret_218 = __builtin_shufflevector(__ret_218, __ret_218, 3, 2, 1, 0); \46237 __ret_310 = __builtin_shufflevector(__ret_310, __ret_310, 3, 2, 1, 0); \
44882 __ret_218; \46238 __ret_310; \
44883})46239})
44884#endif46240#endif
4488546241
44886#ifdef __LITTLE_ENDIAN__46242#ifdef __LITTLE_ENDIAN__
44887#define vqrdmlahq_lane_s16(__p0_219, __p1_219, __p2_219, __p3_219) __extension__ ({ \46243#define vqrdmlahq_lane_s16(__p0_311, __p1_311, __p2_311, __p3_311) __extension__ ({ \
44888 int16x8_t __s0_219 = __p0_219; \46244 int16x8_t __s0_311 = __p0_311; \
44889 int16x8_t __s1_219 = __p1_219; \46245 int16x8_t __s1_311 = __p1_311; \
44890 int16x4_t __s2_219 = __p2_219; \46246 int16x4_t __s2_311 = __p2_311; \
44891 int16x8_t __ret_219; \46247 int16x8_t __ret_311; \
44892 __ret_219 = vqaddq_s16(__s0_219, vqrdmulhq_s16(__s1_219, splatq_lane_s16(__s2_219, __p3_219))); \46248 __ret_311 = vqaddq_s16(__s0_311, vqrdmulhq_s16(__s1_311, splatq_lane_s16(__s2_311, __p3_311))); \
44893 __ret_219; \46249 __ret_311; \
44894})46250})
44895#else46251#else
44896#define vqrdmlahq_lane_s16(__p0_220, __p1_220, __p2_220, __p3_220) __extension__ ({ \46252#define vqrdmlahq_lane_s16(__p0_312, __p1_312, __p2_312, __p3_312) __extension__ ({ \
44897 int16x8_t __s0_220 = __p0_220; \46253 int16x8_t __s0_312 = __p0_312; \
44898 int16x8_t __s1_220 = __p1_220; \46254 int16x8_t __s1_312 = __p1_312; \
44899 int16x4_t __s2_220 = __p2_220; \46255 int16x4_t __s2_312 = __p2_312; \
44900 int16x8_t __rev0_220; __rev0_220 = __builtin_shufflevector(__s0_220, __s0_220, 7, 6, 5, 4, 3, 2, 1, 0); \46256 int16x8_t __rev0_312; __rev0_312 = __builtin_shufflevector(__s0_312, __s0_312, 7, 6, 5, 4, 3, 2, 1, 0); \
44901 int16x8_t __rev1_220; __rev1_220 = __builtin_shufflevector(__s1_220, __s1_220, 7, 6, 5, 4, 3, 2, 1, 0); \46257 int16x8_t __rev1_312; __rev1_312 = __builtin_shufflevector(__s1_312, __s1_312, 7, 6, 5, 4, 3, 2, 1, 0); \
44902 int16x4_t __rev2_220; __rev2_220 = __builtin_shufflevector(__s2_220, __s2_220, 3, 2, 1, 0); \46258 int16x4_t __rev2_312; __rev2_312 = __builtin_shufflevector(__s2_312, __s2_312, 3, 2, 1, 0); \
44903 int16x8_t __ret_220; \46259 int16x8_t __ret_312; \
44904 __ret_220 = __noswap_vqaddq_s16(__rev0_220, __noswap_vqrdmulhq_s16(__rev1_220, __noswap_splatq_lane_s16(__rev2_220, __p3_220))); \46260 __ret_312 = __noswap_vqaddq_s16(__rev0_312, __noswap_vqrdmulhq_s16(__rev1_312, __noswap_splatq_lane_s16(__rev2_312, __p3_312))); \
44905 __ret_220 = __builtin_shufflevector(__ret_220, __ret_220, 7, 6, 5, 4, 3, 2, 1, 0); \46261 __ret_312 = __builtin_shufflevector(__ret_312, __ret_312, 7, 6, 5, 4, 3, 2, 1, 0); \
44906 __ret_220; \46262 __ret_312; \
44907})46263})
44908#endif46264#endif
4490946265
44910#ifdef __LITTLE_ENDIAN__46266#ifdef __LITTLE_ENDIAN__
44911#define vqrdmlah_lane_s32(__p0_221, __p1_221, __p2_221, __p3_221) __extension__ ({ \46267#define vqrdmlah_lane_s32(__p0_313, __p1_313, __p2_313, __p3_313) __extension__ ({ \
44912 int32x2_t __s0_221 = __p0_221; \46268 int32x2_t __s0_313 = __p0_313; \
44913 int32x2_t __s1_221 = __p1_221; \46269 int32x2_t __s1_313 = __p1_313; \
44914 int32x2_t __s2_221 = __p2_221; \46270 int32x2_t __s2_313 = __p2_313; \
44915 int32x2_t __ret_221; \46271 int32x2_t __ret_313; \
44916 __ret_221 = vqadd_s32(__s0_221, vqrdmulh_s32(__s1_221, splat_lane_s32(__s2_221, __p3_221))); \46272 __ret_313 = vqadd_s32(__s0_313, vqrdmulh_s32(__s1_313, splat_lane_s32(__s2_313, __p3_313))); \
44917 __ret_221; \46273 __ret_313; \
44918})46274})
44919#else46275#else
44920#define vqrdmlah_lane_s32(__p0_222, __p1_222, __p2_222, __p3_222) __extension__ ({ \46276#define vqrdmlah_lane_s32(__p0_314, __p1_314, __p2_314, __p3_314) __extension__ ({ \
44921 int32x2_t __s0_222 = __p0_222; \46277 int32x2_t __s0_314 = __p0_314; \
44922 int32x2_t __s1_222 = __p1_222; \46278 int32x2_t __s1_314 = __p1_314; \
44923 int32x2_t __s2_222 = __p2_222; \46279 int32x2_t __s2_314 = __p2_314; \
44924 int32x2_t __rev0_222; __rev0_222 = __builtin_shufflevector(__s0_222, __s0_222, 1, 0); \46280 int32x2_t __rev0_314; __rev0_314 = __builtin_shufflevector(__s0_314, __s0_314, 1, 0); \
44925 int32x2_t __rev1_222; __rev1_222 = __builtin_shufflevector(__s1_222, __s1_222, 1, 0); \46281 int32x2_t __rev1_314; __rev1_314 = __builtin_shufflevector(__s1_314, __s1_314, 1, 0); \
44926 int32x2_t __rev2_222; __rev2_222 = __builtin_shufflevector(__s2_222, __s2_222, 1, 0); \46282 int32x2_t __rev2_314; __rev2_314 = __builtin_shufflevector(__s2_314, __s2_314, 1, 0); \
44927 int32x2_t __ret_222; \46283 int32x2_t __ret_314; \
44928 __ret_222 = __noswap_vqadd_s32(__rev0_222, __noswap_vqrdmulh_s32(__rev1_222, __noswap_splat_lane_s32(__rev2_222, __p3_222))); \46284 __ret_314 = __noswap_vqadd_s32(__rev0_314, __noswap_vqrdmulh_s32(__rev1_314, __noswap_splat_lane_s32(__rev2_314, __p3_314))); \
44929 __ret_222 = __builtin_shufflevector(__ret_222, __ret_222, 1, 0); \46285 __ret_314 = __builtin_shufflevector(__ret_314, __ret_314, 1, 0); \
44930 __ret_222; \46286 __ret_314; \
44931})46287})
44932#endif46288#endif
4493346289
44934#ifdef __LITTLE_ENDIAN__46290#ifdef __LITTLE_ENDIAN__
44935#define vqrdmlah_lane_s16(__p0_223, __p1_223, __p2_223, __p3_223) __extension__ ({ \46291#define vqrdmlah_lane_s16(__p0_315, __p1_315, __p2_315, __p3_315) __extension__ ({ \
44936 int16x4_t __s0_223 = __p0_223; \46292 int16x4_t __s0_315 = __p0_315; \
44937 int16x4_t __s1_223 = __p1_223; \46293 int16x4_t __s1_315 = __p1_315; \
44938 int16x4_t __s2_223 = __p2_223; \46294 int16x4_t __s2_315 = __p2_315; \
44939 int16x4_t __ret_223; \46295 int16x4_t __ret_315; \
44940 __ret_223 = vqadd_s16(__s0_223, vqrdmulh_s16(__s1_223, splat_lane_s16(__s2_223, __p3_223))); \46296 __ret_315 = vqadd_s16(__s0_315, vqrdmulh_s16(__s1_315, splat_lane_s16(__s2_315, __p3_315))); \
44941 __ret_223; \46297 __ret_315; \
44942})46298})
44943#else46299#else
44944#define vqrdmlah_lane_s16(__p0_224, __p1_224, __p2_224, __p3_224) __extension__ ({ \46300#define vqrdmlah_lane_s16(__p0_316, __p1_316, __p2_316, __p3_316) __extension__ ({ \
44945 int16x4_t __s0_224 = __p0_224; \46301 int16x4_t __s0_316 = __p0_316; \
44946 int16x4_t __s1_224 = __p1_224; \46302 int16x4_t __s1_316 = __p1_316; \
44947 int16x4_t __s2_224 = __p2_224; \46303 int16x4_t __s2_316 = __p2_316; \
44948 int16x4_t __rev0_224; __rev0_224 = __builtin_shufflevector(__s0_224, __s0_224, 3, 2, 1, 0); \46304 int16x4_t __rev0_316; __rev0_316 = __builtin_shufflevector(__s0_316, __s0_316, 3, 2, 1, 0); \
44949 int16x4_t __rev1_224; __rev1_224 = __builtin_shufflevector(__s1_224, __s1_224, 3, 2, 1, 0); \46305 int16x4_t __rev1_316; __rev1_316 = __builtin_shufflevector(__s1_316, __s1_316, 3, 2, 1, 0); \
44950 int16x4_t __rev2_224; __rev2_224 = __builtin_shufflevector(__s2_224, __s2_224, 3, 2, 1, 0); \46306 int16x4_t __rev2_316; __rev2_316 = __builtin_shufflevector(__s2_316, __s2_316, 3, 2, 1, 0); \
44951 int16x4_t __ret_224; \46307 int16x4_t __ret_316; \
44952 __ret_224 = __noswap_vqadd_s16(__rev0_224, __noswap_vqrdmulh_s16(__rev1_224, __noswap_splat_lane_s16(__rev2_224, __p3_224))); \46308 __ret_316 = __noswap_vqadd_s16(__rev0_316, __noswap_vqrdmulh_s16(__rev1_316, __noswap_splat_lane_s16(__rev2_316, __p3_316))); \
44953 __ret_224 = __builtin_shufflevector(__ret_224, __ret_224, 3, 2, 1, 0); \46309 __ret_316 = __builtin_shufflevector(__ret_316, __ret_316, 3, 2, 1, 0); \
44954 __ret_224; \46310 __ret_316; \
44955})46311})
44956#endif46312#endif
4495746313
...@@ -45028,292 +46384,292 @@ __ai int16x4_t vqrdmlsh_s16(int16x4_t __p0, int16x4_t __p1, int16x4_t __p2) {...@@ -45028,292 +46384,292 @@ __ai int16x4_t vqrdmlsh_s16(int16x4_t __p0, int16x4_t __p1, int16x4_t __p2) {
45028#endif46384#endif
4502946385
45030#ifdef __LITTLE_ENDIAN__46386#ifdef __LITTLE_ENDIAN__
45031#define vqrdmlshq_lane_s32(__p0_225, __p1_225, __p2_225, __p3_225) __extension__ ({ \46387#define vqrdmlshq_lane_s32(__p0_317, __p1_317, __p2_317, __p3_317) __extension__ ({ \
45032 int32x4_t __s0_225 = __p0_225; \46388 int32x4_t __s0_317 = __p0_317; \
45033 int32x4_t __s1_225 = __p1_225; \46389 int32x4_t __s1_317 = __p1_317; \
45034 int32x2_t __s2_225 = __p2_225; \46390 int32x2_t __s2_317 = __p2_317; \
45035 int32x4_t __ret_225; \46391 int32x4_t __ret_317; \
45036 __ret_225 = vqsubq_s32(__s0_225, vqrdmulhq_s32(__s1_225, splatq_lane_s32(__s2_225, __p3_225))); \46392 __ret_317 = vqsubq_s32(__s0_317, vqrdmulhq_s32(__s1_317, splatq_lane_s32(__s2_317, __p3_317))); \
45037 __ret_225; \46393 __ret_317; \
45038})46394})
45039#else46395#else
45040#define vqrdmlshq_lane_s32(__p0_226, __p1_226, __p2_226, __p3_226) __extension__ ({ \46396#define vqrdmlshq_lane_s32(__p0_318, __p1_318, __p2_318, __p3_318) __extension__ ({ \
45041 int32x4_t __s0_226 = __p0_226; \46397 int32x4_t __s0_318 = __p0_318; \
45042 int32x4_t __s1_226 = __p1_226; \46398 int32x4_t __s1_318 = __p1_318; \
45043 int32x2_t __s2_226 = __p2_226; \46399 int32x2_t __s2_318 = __p2_318; \
45044 int32x4_t __rev0_226; __rev0_226 = __builtin_shufflevector(__s0_226, __s0_226, 3, 2, 1, 0); \46400 int32x4_t __rev0_318; __rev0_318 = __builtin_shufflevector(__s0_318, __s0_318, 3, 2, 1, 0); \
45045 int32x4_t __rev1_226; __rev1_226 = __builtin_shufflevector(__s1_226, __s1_226, 3, 2, 1, 0); \46401 int32x4_t __rev1_318; __rev1_318 = __builtin_shufflevector(__s1_318, __s1_318, 3, 2, 1, 0); \
45046 int32x2_t __rev2_226; __rev2_226 = __builtin_shufflevector(__s2_226, __s2_226, 1, 0); \46402 int32x2_t __rev2_318; __rev2_318 = __builtin_shufflevector(__s2_318, __s2_318, 1, 0); \
45047 int32x4_t __ret_226; \46403 int32x4_t __ret_318; \
45048 __ret_226 = __noswap_vqsubq_s32(__rev0_226, __noswap_vqrdmulhq_s32(__rev1_226, __noswap_splatq_lane_s32(__rev2_226, __p3_226))); \46404 __ret_318 = __noswap_vqsubq_s32(__rev0_318, __noswap_vqrdmulhq_s32(__rev1_318, __noswap_splatq_lane_s32(__rev2_318, __p3_318))); \
45049 __ret_226 = __builtin_shufflevector(__ret_226, __ret_226, 3, 2, 1, 0); \46405 __ret_318 = __builtin_shufflevector(__ret_318, __ret_318, 3, 2, 1, 0); \
45050 __ret_226; \46406 __ret_318; \
45051})46407})
45052#endif46408#endif
4505346409
45054#ifdef __LITTLE_ENDIAN__46410#ifdef __LITTLE_ENDIAN__
45055#define vqrdmlshq_lane_s16(__p0_227, __p1_227, __p2_227, __p3_227) __extension__ ({ \46411#define vqrdmlshq_lane_s16(__p0_319, __p1_319, __p2_319, __p3_319) __extension__ ({ \
45056 int16x8_t __s0_227 = __p0_227; \46412 int16x8_t __s0_319 = __p0_319; \
45057 int16x8_t __s1_227 = __p1_227; \46413 int16x8_t __s1_319 = __p1_319; \
45058 int16x4_t __s2_227 = __p2_227; \46414 int16x4_t __s2_319 = __p2_319; \
45059 int16x8_t __ret_227; \46415 int16x8_t __ret_319; \
45060 __ret_227 = vqsubq_s16(__s0_227, vqrdmulhq_s16(__s1_227, splatq_lane_s16(__s2_227, __p3_227))); \46416 __ret_319 = vqsubq_s16(__s0_319, vqrdmulhq_s16(__s1_319, splatq_lane_s16(__s2_319, __p3_319))); \
45061 __ret_227; \46417 __ret_319; \
45062})46418})
45063#else46419#else
45064#define vqrdmlshq_lane_s16(__p0_228, __p1_228, __p2_228, __p3_228) __extension__ ({ \46420#define vqrdmlshq_lane_s16(__p0_320, __p1_320, __p2_320, __p3_320) __extension__ ({ \
45065 int16x8_t __s0_228 = __p0_228; \46421 int16x8_t __s0_320 = __p0_320; \
45066 int16x8_t __s1_228 = __p1_228; \46422 int16x8_t __s1_320 = __p1_320; \
45067 int16x4_t __s2_228 = __p2_228; \46423 int16x4_t __s2_320 = __p2_320; \
45068 int16x8_t __rev0_228; __rev0_228 = __builtin_shufflevector(__s0_228, __s0_228, 7, 6, 5, 4, 3, 2, 1, 0); \46424 int16x8_t __rev0_320; __rev0_320 = __builtin_shufflevector(__s0_320, __s0_320, 7, 6, 5, 4, 3, 2, 1, 0); \
45069 int16x8_t __rev1_228; __rev1_228 = __builtin_shufflevector(__s1_228, __s1_228, 7, 6, 5, 4, 3, 2, 1, 0); \46425 int16x8_t __rev1_320; __rev1_320 = __builtin_shufflevector(__s1_320, __s1_320, 7, 6, 5, 4, 3, 2, 1, 0); \
45070 int16x4_t __rev2_228; __rev2_228 = __builtin_shufflevector(__s2_228, __s2_228, 3, 2, 1, 0); \46426 int16x4_t __rev2_320; __rev2_320 = __builtin_shufflevector(__s2_320, __s2_320, 3, 2, 1, 0); \
45071 int16x8_t __ret_228; \46427 int16x8_t __ret_320; \
45072 __ret_228 = __noswap_vqsubq_s16(__rev0_228, __noswap_vqrdmulhq_s16(__rev1_228, __noswap_splatq_lane_s16(__rev2_228, __p3_228))); \46428 __ret_320 = __noswap_vqsubq_s16(__rev0_320, __noswap_vqrdmulhq_s16(__rev1_320, __noswap_splatq_lane_s16(__rev2_320, __p3_320))); \
45073 __ret_228 = __builtin_shufflevector(__ret_228, __ret_228, 7, 6, 5, 4, 3, 2, 1, 0); \46429 __ret_320 = __builtin_shufflevector(__ret_320, __ret_320, 7, 6, 5, 4, 3, 2, 1, 0); \
45074 __ret_228; \46430 __ret_320; \
45075})46431})
45076#endif46432#endif
4507746433
45078#ifdef __LITTLE_ENDIAN__46434#ifdef __LITTLE_ENDIAN__
45079#define vqrdmlsh_lane_s32(__p0_229, __p1_229, __p2_229, __p3_229) __extension__ ({ \46435#define vqrdmlsh_lane_s32(__p0_321, __p1_321, __p2_321, __p3_321) __extension__ ({ \
45080 int32x2_t __s0_229 = __p0_229; \46436 int32x2_t __s0_321 = __p0_321; \
45081 int32x2_t __s1_229 = __p1_229; \46437 int32x2_t __s1_321 = __p1_321; \
45082 int32x2_t __s2_229 = __p2_229; \46438 int32x2_t __s2_321 = __p2_321; \
45083 int32x2_t __ret_229; \46439 int32x2_t __ret_321; \
45084 __ret_229 = vqsub_s32(__s0_229, vqrdmulh_s32(__s1_229, splat_lane_s32(__s2_229, __p3_229))); \46440 __ret_321 = vqsub_s32(__s0_321, vqrdmulh_s32(__s1_321, splat_lane_s32(__s2_321, __p3_321))); \
45085 __ret_229; \46441 __ret_321; \
45086})46442})
45087#else46443#else
45088#define vqrdmlsh_lane_s32(__p0_230, __p1_230, __p2_230, __p3_230) __extension__ ({ \46444#define vqrdmlsh_lane_s32(__p0_322, __p1_322, __p2_322, __p3_322) __extension__ ({ \
45089 int32x2_t __s0_230 = __p0_230; \46445 int32x2_t __s0_322 = __p0_322; \
45090 int32x2_t __s1_230 = __p1_230; \46446 int32x2_t __s1_322 = __p1_322; \
45091 int32x2_t __s2_230 = __p2_230; \46447 int32x2_t __s2_322 = __p2_322; \
45092 int32x2_t __rev0_230; __rev0_230 = __builtin_shufflevector(__s0_230, __s0_230, 1, 0); \46448 int32x2_t __rev0_322; __rev0_322 = __builtin_shufflevector(__s0_322, __s0_322, 1, 0); \
45093 int32x2_t __rev1_230; __rev1_230 = __builtin_shufflevector(__s1_230, __s1_230, 1, 0); \46449 int32x2_t __rev1_322; __rev1_322 = __builtin_shufflevector(__s1_322, __s1_322, 1, 0); \
45094 int32x2_t __rev2_230; __rev2_230 = __builtin_shufflevector(__s2_230, __s2_230, 1, 0); \46450 int32x2_t __rev2_322; __rev2_322 = __builtin_shufflevector(__s2_322, __s2_322, 1, 0); \
45095 int32x2_t __ret_230; \46451 int32x2_t __ret_322; \
45096 __ret_230 = __noswap_vqsub_s32(__rev0_230, __noswap_vqrdmulh_s32(__rev1_230, __noswap_splat_lane_s32(__rev2_230, __p3_230))); \46452 __ret_322 = __noswap_vqsub_s32(__rev0_322, __noswap_vqrdmulh_s32(__rev1_322, __noswap_splat_lane_s32(__rev2_322, __p3_322))); \
45097 __ret_230 = __builtin_shufflevector(__ret_230, __ret_230, 1, 0); \46453 __ret_322 = __builtin_shufflevector(__ret_322, __ret_322, 1, 0); \
45098 __ret_230; \46454 __ret_322; \
45099})46455})
45100#endif46456#endif
4510146457
45102#ifdef __LITTLE_ENDIAN__46458#ifdef __LITTLE_ENDIAN__
45103#define vqrdmlsh_lane_s16(__p0_231, __p1_231, __p2_231, __p3_231) __extension__ ({ \46459#define vqrdmlsh_lane_s16(__p0_323, __p1_323, __p2_323, __p3_323) __extension__ ({ \
45104 int16x4_t __s0_231 = __p0_231; \46460 int16x4_t __s0_323 = __p0_323; \
45105 int16x4_t __s1_231 = __p1_231; \46461 int16x4_t __s1_323 = __p1_323; \
45106 int16x4_t __s2_231 = __p2_231; \46462 int16x4_t __s2_323 = __p2_323; \
45107 int16x4_t __ret_231; \46463 int16x4_t __ret_323; \
45108 __ret_231 = vqsub_s16(__s0_231, vqrdmulh_s16(__s1_231, splat_lane_s16(__s2_231, __p3_231))); \46464 __ret_323 = vqsub_s16(__s0_323, vqrdmulh_s16(__s1_323, splat_lane_s16(__s2_323, __p3_323))); \
45109 __ret_231; \46465 __ret_323; \
45110})46466})
45111#else46467#else
45112#define vqrdmlsh_lane_s16(__p0_232, __p1_232, __p2_232, __p3_232) __extension__ ({ \46468#define vqrdmlsh_lane_s16(__p0_324, __p1_324, __p2_324, __p3_324) __extension__ ({ \
45113 int16x4_t __s0_232 = __p0_232; \46469 int16x4_t __s0_324 = __p0_324; \
45114 int16x4_t __s1_232 = __p1_232; \46470 int16x4_t __s1_324 = __p1_324; \
45115 int16x4_t __s2_232 = __p2_232; \46471 int16x4_t __s2_324 = __p2_324; \
45116 int16x4_t __rev0_232; __rev0_232 = __builtin_shufflevector(__s0_232, __s0_232, 3, 2, 1, 0); \46472 int16x4_t __rev0_324; __rev0_324 = __builtin_shufflevector(__s0_324, __s0_324, 3, 2, 1, 0); \
45117 int16x4_t __rev1_232; __rev1_232 = __builtin_shufflevector(__s1_232, __s1_232, 3, 2, 1, 0); \46473 int16x4_t __rev1_324; __rev1_324 = __builtin_shufflevector(__s1_324, __s1_324, 3, 2, 1, 0); \
45118 int16x4_t __rev2_232; __rev2_232 = __builtin_shufflevector(__s2_232, __s2_232, 3, 2, 1, 0); \46474 int16x4_t __rev2_324; __rev2_324 = __builtin_shufflevector(__s2_324, __s2_324, 3, 2, 1, 0); \
45119 int16x4_t __ret_232; \46475 int16x4_t __ret_324; \
45120 __ret_232 = __noswap_vqsub_s16(__rev0_232, __noswap_vqrdmulh_s16(__rev1_232, __noswap_splat_lane_s16(__rev2_232, __p3_232))); \46476 __ret_324 = __noswap_vqsub_s16(__rev0_324, __noswap_vqrdmulh_s16(__rev1_324, __noswap_splat_lane_s16(__rev2_324, __p3_324))); \
45121 __ret_232 = __builtin_shufflevector(__ret_232, __ret_232, 3, 2, 1, 0); \46477 __ret_324 = __builtin_shufflevector(__ret_324, __ret_324, 3, 2, 1, 0); \
45122 __ret_232; \46478 __ret_324; \
45123})46479})
45124#endif46480#endif
4512546481
45126#endif46482#endif
45127#if defined(__ARM_FEATURE_QRDMX) && defined(__aarch64__)46483#if defined(__ARM_FEATURE_QRDMX) && defined(__aarch64__)
45128#ifdef __LITTLE_ENDIAN__46484#ifdef __LITTLE_ENDIAN__
45129#define vqrdmlahq_laneq_s32(__p0_233, __p1_233, __p2_233, __p3_233) __extension__ ({ \46485#define vqrdmlahq_laneq_s32(__p0_325, __p1_325, __p2_325, __p3_325) __extension__ ({ \
45130 int32x4_t __s0_233 = __p0_233; \46486 int32x4_t __s0_325 = __p0_325; \
45131 int32x4_t __s1_233 = __p1_233; \46487 int32x4_t __s1_325 = __p1_325; \
45132 int32x4_t __s2_233 = __p2_233; \46488 int32x4_t __s2_325 = __p2_325; \
45133 int32x4_t __ret_233; \46489 int32x4_t __ret_325; \
45134 __ret_233 = vqaddq_s32(__s0_233, vqrdmulhq_s32(__s1_233, splatq_laneq_s32(__s2_233, __p3_233))); \46490 __ret_325 = vqaddq_s32(__s0_325, vqrdmulhq_s32(__s1_325, splatq_laneq_s32(__s2_325, __p3_325))); \
45135 __ret_233; \46491 __ret_325; \
45136})46492})
45137#else46493#else
45138#define vqrdmlahq_laneq_s32(__p0_234, __p1_234, __p2_234, __p3_234) __extension__ ({ \46494#define vqrdmlahq_laneq_s32(__p0_326, __p1_326, __p2_326, __p3_326) __extension__ ({ \
45139 int32x4_t __s0_234 = __p0_234; \46495 int32x4_t __s0_326 = __p0_326; \
45140 int32x4_t __s1_234 = __p1_234; \46496 int32x4_t __s1_326 = __p1_326; \
45141 int32x4_t __s2_234 = __p2_234; \46497 int32x4_t __s2_326 = __p2_326; \
45142 int32x4_t __rev0_234; __rev0_234 = __builtin_shufflevector(__s0_234, __s0_234, 3, 2, 1, 0); \46498 int32x4_t __rev0_326; __rev0_326 = __builtin_shufflevector(__s0_326, __s0_326, 3, 2, 1, 0); \
45143 int32x4_t __rev1_234; __rev1_234 = __builtin_shufflevector(__s1_234, __s1_234, 3, 2, 1, 0); \46499 int32x4_t __rev1_326; __rev1_326 = __builtin_shufflevector(__s1_326, __s1_326, 3, 2, 1, 0); \
45144 int32x4_t __rev2_234; __rev2_234 = __builtin_shufflevector(__s2_234, __s2_234, 3, 2, 1, 0); \46500 int32x4_t __rev2_326; __rev2_326 = __builtin_shufflevector(__s2_326, __s2_326, 3, 2, 1, 0); \
45145 int32x4_t __ret_234; \46501 int32x4_t __ret_326; \
45146 __ret_234 = __noswap_vqaddq_s32(__rev0_234, __noswap_vqrdmulhq_s32(__rev1_234, __noswap_splatq_laneq_s32(__rev2_234, __p3_234))); \46502 __ret_326 = __noswap_vqaddq_s32(__rev0_326, __noswap_vqrdmulhq_s32(__rev1_326, __noswap_splatq_laneq_s32(__rev2_326, __p3_326))); \
45147 __ret_234 = __builtin_shufflevector(__ret_234, __ret_234, 3, 2, 1, 0); \46503 __ret_326 = __builtin_shufflevector(__ret_326, __ret_326, 3, 2, 1, 0); \
45148 __ret_234; \46504 __ret_326; \
45149})46505})
45150#endif46506#endif
4515146507
45152#ifdef __LITTLE_ENDIAN__46508#ifdef __LITTLE_ENDIAN__
45153#define vqrdmlahq_laneq_s16(__p0_235, __p1_235, __p2_235, __p3_235) __extension__ ({ \46509#define vqrdmlahq_laneq_s16(__p0_327, __p1_327, __p2_327, __p3_327) __extension__ ({ \
45154 int16x8_t __s0_235 = __p0_235; \46510 int16x8_t __s0_327 = __p0_327; \
45155 int16x8_t __s1_235 = __p1_235; \46511 int16x8_t __s1_327 = __p1_327; \
45156 int16x8_t __s2_235 = __p2_235; \46512 int16x8_t __s2_327 = __p2_327; \
45157 int16x8_t __ret_235; \46513 int16x8_t __ret_327; \
45158 __ret_235 = vqaddq_s16(__s0_235, vqrdmulhq_s16(__s1_235, splatq_laneq_s16(__s2_235, __p3_235))); \46514 __ret_327 = vqaddq_s16(__s0_327, vqrdmulhq_s16(__s1_327, splatq_laneq_s16(__s2_327, __p3_327))); \
45159 __ret_235; \46515 __ret_327; \
45160})46516})
45161#else46517#else
45162#define vqrdmlahq_laneq_s16(__p0_236, __p1_236, __p2_236, __p3_236) __extension__ ({ \46518#define vqrdmlahq_laneq_s16(__p0_328, __p1_328, __p2_328, __p3_328) __extension__ ({ \
45163 int16x8_t __s0_236 = __p0_236; \46519 int16x8_t __s0_328 = __p0_328; \
45164 int16x8_t __s1_236 = __p1_236; \46520 int16x8_t __s1_328 = __p1_328; \
45165 int16x8_t __s2_236 = __p2_236; \46521 int16x8_t __s2_328 = __p2_328; \
45166 int16x8_t __rev0_236; __rev0_236 = __builtin_shufflevector(__s0_236, __s0_236, 7, 6, 5, 4, 3, 2, 1, 0); \46522 int16x8_t __rev0_328; __rev0_328 = __builtin_shufflevector(__s0_328, __s0_328, 7, 6, 5, 4, 3, 2, 1, 0); \
45167 int16x8_t __rev1_236; __rev1_236 = __builtin_shufflevector(__s1_236, __s1_236, 7, 6, 5, 4, 3, 2, 1, 0); \46523 int16x8_t __rev1_328; __rev1_328 = __builtin_shufflevector(__s1_328, __s1_328, 7, 6, 5, 4, 3, 2, 1, 0); \
45168 int16x8_t __rev2_236; __rev2_236 = __builtin_shufflevector(__s2_236, __s2_236, 7, 6, 5, 4, 3, 2, 1, 0); \46524 int16x8_t __rev2_328; __rev2_328 = __builtin_shufflevector(__s2_328, __s2_328, 7, 6, 5, 4, 3, 2, 1, 0); \
45169 int16x8_t __ret_236; \46525 int16x8_t __ret_328; \
45170 __ret_236 = __noswap_vqaddq_s16(__rev0_236, __noswap_vqrdmulhq_s16(__rev1_236, __noswap_splatq_laneq_s16(__rev2_236, __p3_236))); \46526 __ret_328 = __noswap_vqaddq_s16(__rev0_328, __noswap_vqrdmulhq_s16(__rev1_328, __noswap_splatq_laneq_s16(__rev2_328, __p3_328))); \
45171 __ret_236 = __builtin_shufflevector(__ret_236, __ret_236, 7, 6, 5, 4, 3, 2, 1, 0); \46527 __ret_328 = __builtin_shufflevector(__ret_328, __ret_328, 7, 6, 5, 4, 3, 2, 1, 0); \
45172 __ret_236; \46528 __ret_328; \
45173})46529})
45174#endif46530#endif
4517546531
45176#ifdef __LITTLE_ENDIAN__46532#ifdef __LITTLE_ENDIAN__
45177#define vqrdmlah_laneq_s32(__p0_237, __p1_237, __p2_237, __p3_237) __extension__ ({ \46533#define vqrdmlah_laneq_s32(__p0_329, __p1_329, __p2_329, __p3_329) __extension__ ({ \
45178 int32x2_t __s0_237 = __p0_237; \46534 int32x2_t __s0_329 = __p0_329; \
45179 int32x2_t __s1_237 = __p1_237; \46535 int32x2_t __s1_329 = __p1_329; \
45180 int32x4_t __s2_237 = __p2_237; \46536 int32x4_t __s2_329 = __p2_329; \
45181 int32x2_t __ret_237; \46537 int32x2_t __ret_329; \
45182 __ret_237 = vqadd_s32(__s0_237, vqrdmulh_s32(__s1_237, splat_laneq_s32(__s2_237, __p3_237))); \46538 __ret_329 = vqadd_s32(__s0_329, vqrdmulh_s32(__s1_329, splat_laneq_s32(__s2_329, __p3_329))); \
45183 __ret_237; \46539 __ret_329; \
45184})46540})
45185#else46541#else
45186#define vqrdmlah_laneq_s32(__p0_238, __p1_238, __p2_238, __p3_238) __extension__ ({ \46542#define vqrdmlah_laneq_s32(__p0_330, __p1_330, __p2_330, __p3_330) __extension__ ({ \
45187 int32x2_t __s0_238 = __p0_238; \46543 int32x2_t __s0_330 = __p0_330; \
45188 int32x2_t __s1_238 = __p1_238; \46544 int32x2_t __s1_330 = __p1_330; \
45189 int32x4_t __s2_238 = __p2_238; \46545 int32x4_t __s2_330 = __p2_330; \
45190 int32x2_t __rev0_238; __rev0_238 = __builtin_shufflevector(__s0_238, __s0_238, 1, 0); \46546 int32x2_t __rev0_330; __rev0_330 = __builtin_shufflevector(__s0_330, __s0_330, 1, 0); \
45191 int32x2_t __rev1_238; __rev1_238 = __builtin_shufflevector(__s1_238, __s1_238, 1, 0); \46547 int32x2_t __rev1_330; __rev1_330 = __builtin_shufflevector(__s1_330, __s1_330, 1, 0); \
45192 int32x4_t __rev2_238; __rev2_238 = __builtin_shufflevector(__s2_238, __s2_238, 3, 2, 1, 0); \46548 int32x4_t __rev2_330; __rev2_330 = __builtin_shufflevector(__s2_330, __s2_330, 3, 2, 1, 0); \
45193 int32x2_t __ret_238; \46549 int32x2_t __ret_330; \
45194 __ret_238 = __noswap_vqadd_s32(__rev0_238, __noswap_vqrdmulh_s32(__rev1_238, __noswap_splat_laneq_s32(__rev2_238, __p3_238))); \46550 __ret_330 = __noswap_vqadd_s32(__rev0_330, __noswap_vqrdmulh_s32(__rev1_330, __noswap_splat_laneq_s32(__rev2_330, __p3_330))); \
45195 __ret_238 = __builtin_shufflevector(__ret_238, __ret_238, 1, 0); \46551 __ret_330 = __builtin_shufflevector(__ret_330, __ret_330, 1, 0); \
45196 __ret_238; \46552 __ret_330; \
45197})46553})
45198#endif46554#endif
4519946555
45200#ifdef __LITTLE_ENDIAN__46556#ifdef __LITTLE_ENDIAN__
45201#define vqrdmlah_laneq_s16(__p0_239, __p1_239, __p2_239, __p3_239) __extension__ ({ \46557#define vqrdmlah_laneq_s16(__p0_331, __p1_331, __p2_331, __p3_331) __extension__ ({ \
45202 int16x4_t __s0_239 = __p0_239; \46558 int16x4_t __s0_331 = __p0_331; \
45203 int16x4_t __s1_239 = __p1_239; \46559 int16x4_t __s1_331 = __p1_331; \
45204 int16x8_t __s2_239 = __p2_239; \46560 int16x8_t __s2_331 = __p2_331; \
45205 int16x4_t __ret_239; \46561 int16x4_t __ret_331; \
45206 __ret_239 = vqadd_s16(__s0_239, vqrdmulh_s16(__s1_239, splat_laneq_s16(__s2_239, __p3_239))); \46562 __ret_331 = vqadd_s16(__s0_331, vqrdmulh_s16(__s1_331, splat_laneq_s16(__s2_331, __p3_331))); \
45207 __ret_239; \46563 __ret_331; \
45208})46564})
45209#else46565#else
45210#define vqrdmlah_laneq_s16(__p0_240, __p1_240, __p2_240, __p3_240) __extension__ ({ \46566#define vqrdmlah_laneq_s16(__p0_332, __p1_332, __p2_332, __p3_332) __extension__ ({ \
45211 int16x4_t __s0_240 = __p0_240; \46567 int16x4_t __s0_332 = __p0_332; \
45212 int16x4_t __s1_240 = __p1_240; \46568 int16x4_t __s1_332 = __p1_332; \
45213 int16x8_t __s2_240 = __p2_240; \46569 int16x8_t __s2_332 = __p2_332; \
45214 int16x4_t __rev0_240; __rev0_240 = __builtin_shufflevector(__s0_240, __s0_240, 3, 2, 1, 0); \46570 int16x4_t __rev0_332; __rev0_332 = __builtin_shufflevector(__s0_332, __s0_332, 3, 2, 1, 0); \
45215 int16x4_t __rev1_240; __rev1_240 = __builtin_shufflevector(__s1_240, __s1_240, 3, 2, 1, 0); \46571 int16x4_t __rev1_332; __rev1_332 = __builtin_shufflevector(__s1_332, __s1_332, 3, 2, 1, 0); \
45216 int16x8_t __rev2_240; __rev2_240 = __builtin_shufflevector(__s2_240, __s2_240, 7, 6, 5, 4, 3, 2, 1, 0); \46572 int16x8_t __rev2_332; __rev2_332 = __builtin_shufflevector(__s2_332, __s2_332, 7, 6, 5, 4, 3, 2, 1, 0); \
45217 int16x4_t __ret_240; \46573 int16x4_t __ret_332; \
45218 __ret_240 = __noswap_vqadd_s16(__rev0_240, __noswap_vqrdmulh_s16(__rev1_240, __noswap_splat_laneq_s16(__rev2_240, __p3_240))); \46574 __ret_332 = __noswap_vqadd_s16(__rev0_332, __noswap_vqrdmulh_s16(__rev1_332, __noswap_splat_laneq_s16(__rev2_332, __p3_332))); \
45219 __ret_240 = __builtin_shufflevector(__ret_240, __ret_240, 3, 2, 1, 0); \46575 __ret_332 = __builtin_shufflevector(__ret_332, __ret_332, 3, 2, 1, 0); \
45220 __ret_240; \46576 __ret_332; \
45221})46577})
45222#endif46578#endif
4522346579
45224#ifdef __LITTLE_ENDIAN__46580#ifdef __LITTLE_ENDIAN__
45225#define vqrdmlshq_laneq_s32(__p0_241, __p1_241, __p2_241, __p3_241) __extension__ ({ \46581#define vqrdmlshq_laneq_s32(__p0_333, __p1_333, __p2_333, __p3_333) __extension__ ({ \
45226 int32x4_t __s0_241 = __p0_241; \46582 int32x4_t __s0_333 = __p0_333; \
45227 int32x4_t __s1_241 = __p1_241; \46583 int32x4_t __s1_333 = __p1_333; \
45228 int32x4_t __s2_241 = __p2_241; \46584 int32x4_t __s2_333 = __p2_333; \
45229 int32x4_t __ret_241; \46585 int32x4_t __ret_333; \
45230 __ret_241 = vqsubq_s32(__s0_241, vqrdmulhq_s32(__s1_241, splatq_laneq_s32(__s2_241, __p3_241))); \46586 __ret_333 = vqsubq_s32(__s0_333, vqrdmulhq_s32(__s1_333, splatq_laneq_s32(__s2_333, __p3_333))); \
45231 __ret_241; \46587 __ret_333; \
45232})46588})
45233#else46589#else
45234#define vqrdmlshq_laneq_s32(__p0_242, __p1_242, __p2_242, __p3_242) __extension__ ({ \46590#define vqrdmlshq_laneq_s32(__p0_334, __p1_334, __p2_334, __p3_334) __extension__ ({ \
45235 int32x4_t __s0_242 = __p0_242; \46591 int32x4_t __s0_334 = __p0_334; \
45236 int32x4_t __s1_242 = __p1_242; \46592 int32x4_t __s1_334 = __p1_334; \
45237 int32x4_t __s2_242 = __p2_242; \46593 int32x4_t __s2_334 = __p2_334; \
45238 int32x4_t __rev0_242; __rev0_242 = __builtin_shufflevector(__s0_242, __s0_242, 3, 2, 1, 0); \46594 int32x4_t __rev0_334; __rev0_334 = __builtin_shufflevector(__s0_334, __s0_334, 3, 2, 1, 0); \
45239 int32x4_t __rev1_242; __rev1_242 = __builtin_shufflevector(__s1_242, __s1_242, 3, 2, 1, 0); \46595 int32x4_t __rev1_334; __rev1_334 = __builtin_shufflevector(__s1_334, __s1_334, 3, 2, 1, 0); \
45240 int32x4_t __rev2_242; __rev2_242 = __builtin_shufflevector(__s2_242, __s2_242, 3, 2, 1, 0); \46596 int32x4_t __rev2_334; __rev2_334 = __builtin_shufflevector(__s2_334, __s2_334, 3, 2, 1, 0); \
45241 int32x4_t __ret_242; \46597 int32x4_t __ret_334; \
45242 __ret_242 = __noswap_vqsubq_s32(__rev0_242, __noswap_vqrdmulhq_s32(__rev1_242, __noswap_splatq_laneq_s32(__rev2_242, __p3_242))); \46598 __ret_334 = __noswap_vqsubq_s32(__rev0_334, __noswap_vqrdmulhq_s32(__rev1_334, __noswap_splatq_laneq_s32(__rev2_334, __p3_334))); \
45243 __ret_242 = __builtin_shufflevector(__ret_242, __ret_242, 3, 2, 1, 0); \46599 __ret_334 = __builtin_shufflevector(__ret_334, __ret_334, 3, 2, 1, 0); \
45244 __ret_242; \46600 __ret_334; \
45245})46601})
45246#endif46602#endif
4524746603
45248#ifdef __LITTLE_ENDIAN__46604#ifdef __LITTLE_ENDIAN__
45249#define vqrdmlshq_laneq_s16(__p0_243, __p1_243, __p2_243, __p3_243) __extension__ ({ \46605#define vqrdmlshq_laneq_s16(__p0_335, __p1_335, __p2_335, __p3_335) __extension__ ({ \
45250 int16x8_t __s0_243 = __p0_243; \46606 int16x8_t __s0_335 = __p0_335; \
45251 int16x8_t __s1_243 = __p1_243; \46607 int16x8_t __s1_335 = __p1_335; \
45252 int16x8_t __s2_243 = __p2_243; \46608 int16x8_t __s2_335 = __p2_335; \
45253 int16x8_t __ret_243; \46609 int16x8_t __ret_335; \
45254 __ret_243 = vqsubq_s16(__s0_243, vqrdmulhq_s16(__s1_243, splatq_laneq_s16(__s2_243, __p3_243))); \46610 __ret_335 = vqsubq_s16(__s0_335, vqrdmulhq_s16(__s1_335, splatq_laneq_s16(__s2_335, __p3_335))); \
45255 __ret_243; \46611 __ret_335; \
45256})46612})
45257#else46613#else
45258#define vqrdmlshq_laneq_s16(__p0_244, __p1_244, __p2_244, __p3_244) __extension__ ({ \46614#define vqrdmlshq_laneq_s16(__p0_336, __p1_336, __p2_336, __p3_336) __extension__ ({ \
45259 int16x8_t __s0_244 = __p0_244; \46615 int16x8_t __s0_336 = __p0_336; \
45260 int16x8_t __s1_244 = __p1_244; \46616 int16x8_t __s1_336 = __p1_336; \
45261 int16x8_t __s2_244 = __p2_244; \46617 int16x8_t __s2_336 = __p2_336; \
45262 int16x8_t __rev0_244; __rev0_244 = __builtin_shufflevector(__s0_244, __s0_244, 7, 6, 5, 4, 3, 2, 1, 0); \46618 int16x8_t __rev0_336; __rev0_336 = __builtin_shufflevector(__s0_336, __s0_336, 7, 6, 5, 4, 3, 2, 1, 0); \
45263 int16x8_t __rev1_244; __rev1_244 = __builtin_shufflevector(__s1_244, __s1_244, 7, 6, 5, 4, 3, 2, 1, 0); \46619 int16x8_t __rev1_336; __rev1_336 = __builtin_shufflevector(__s1_336, __s1_336, 7, 6, 5, 4, 3, 2, 1, 0); \
45264 int16x8_t __rev2_244; __rev2_244 = __builtin_shufflevector(__s2_244, __s2_244, 7, 6, 5, 4, 3, 2, 1, 0); \46620 int16x8_t __rev2_336; __rev2_336 = __builtin_shufflevector(__s2_336, __s2_336, 7, 6, 5, 4, 3, 2, 1, 0); \
45265 int16x8_t __ret_244; \46621 int16x8_t __ret_336; \
45266 __ret_244 = __noswap_vqsubq_s16(__rev0_244, __noswap_vqrdmulhq_s16(__rev1_244, __noswap_splatq_laneq_s16(__rev2_244, __p3_244))); \46622 __ret_336 = __noswap_vqsubq_s16(__rev0_336, __noswap_vqrdmulhq_s16(__rev1_336, __noswap_splatq_laneq_s16(__rev2_336, __p3_336))); \
45267 __ret_244 = __builtin_shufflevector(__ret_244, __ret_244, 7, 6, 5, 4, 3, 2, 1, 0); \46623 __ret_336 = __builtin_shufflevector(__ret_336, __ret_336, 7, 6, 5, 4, 3, 2, 1, 0); \
45268 __ret_244; \46624 __ret_336; \
45269})46625})
45270#endif46626#endif
4527146627
45272#ifdef __LITTLE_ENDIAN__46628#ifdef __LITTLE_ENDIAN__
45273#define vqrdmlsh_laneq_s32(__p0_245, __p1_245, __p2_245, __p3_245) __extension__ ({ \46629#define vqrdmlsh_laneq_s32(__p0_337, __p1_337, __p2_337, __p3_337) __extension__ ({ \
45274 int32x2_t __s0_245 = __p0_245; \46630 int32x2_t __s0_337 = __p0_337; \
45275 int32x2_t __s1_245 = __p1_245; \46631 int32x2_t __s1_337 = __p1_337; \
45276 int32x4_t __s2_245 = __p2_245; \46632 int32x4_t __s2_337 = __p2_337; \
45277 int32x2_t __ret_245; \46633 int32x2_t __ret_337; \
45278 __ret_245 = vqsub_s32(__s0_245, vqrdmulh_s32(__s1_245, splat_laneq_s32(__s2_245, __p3_245))); \46634 __ret_337 = vqsub_s32(__s0_337, vqrdmulh_s32(__s1_337, splat_laneq_s32(__s2_337, __p3_337))); \
45279 __ret_245; \46635 __ret_337; \
45280})46636})
45281#else46637#else
45282#define vqrdmlsh_laneq_s32(__p0_246, __p1_246, __p2_246, __p3_246) __extension__ ({ \46638#define vqrdmlsh_laneq_s32(__p0_338, __p1_338, __p2_338, __p3_338) __extension__ ({ \
45283 int32x2_t __s0_246 = __p0_246; \46639 int32x2_t __s0_338 = __p0_338; \
45284 int32x2_t __s1_246 = __p1_246; \46640 int32x2_t __s1_338 = __p1_338; \
45285 int32x4_t __s2_246 = __p2_246; \46641 int32x4_t __s2_338 = __p2_338; \
45286 int32x2_t __rev0_246; __rev0_246 = __builtin_shufflevector(__s0_246, __s0_246, 1, 0); \46642 int32x2_t __rev0_338; __rev0_338 = __builtin_shufflevector(__s0_338, __s0_338, 1, 0); \
45287 int32x2_t __rev1_246; __rev1_246 = __builtin_shufflevector(__s1_246, __s1_246, 1, 0); \46643 int32x2_t __rev1_338; __rev1_338 = __builtin_shufflevector(__s1_338, __s1_338, 1, 0); \
45288 int32x4_t __rev2_246; __rev2_246 = __builtin_shufflevector(__s2_246, __s2_246, 3, 2, 1, 0); \46644 int32x4_t __rev2_338; __rev2_338 = __builtin_shufflevector(__s2_338, __s2_338, 3, 2, 1, 0); \
45289 int32x2_t __ret_246; \46645 int32x2_t __ret_338; \
45290 __ret_246 = __noswap_vqsub_s32(__rev0_246, __noswap_vqrdmulh_s32(__rev1_246, __noswap_splat_laneq_s32(__rev2_246, __p3_246))); \46646 __ret_338 = __noswap_vqsub_s32(__rev0_338, __noswap_vqrdmulh_s32(__rev1_338, __noswap_splat_laneq_s32(__rev2_338, __p3_338))); \
45291 __ret_246 = __builtin_shufflevector(__ret_246, __ret_246, 1, 0); \46647 __ret_338 = __builtin_shufflevector(__ret_338, __ret_338, 1, 0); \
45292 __ret_246; \46648 __ret_338; \
45293})46649})
45294#endif46650#endif
4529546651
45296#ifdef __LITTLE_ENDIAN__46652#ifdef __LITTLE_ENDIAN__
45297#define vqrdmlsh_laneq_s16(__p0_247, __p1_247, __p2_247, __p3_247) __extension__ ({ \46653#define vqrdmlsh_laneq_s16(__p0_339, __p1_339, __p2_339, __p3_339) __extension__ ({ \
45298 int16x4_t __s0_247 = __p0_247; \46654 int16x4_t __s0_339 = __p0_339; \
45299 int16x4_t __s1_247 = __p1_247; \46655 int16x4_t __s1_339 = __p1_339; \
45300 int16x8_t __s2_247 = __p2_247; \46656 int16x8_t __s2_339 = __p2_339; \
45301 int16x4_t __ret_247; \46657 int16x4_t __ret_339; \
45302 __ret_247 = vqsub_s16(__s0_247, vqrdmulh_s16(__s1_247, splat_laneq_s16(__s2_247, __p3_247))); \46658 __ret_339 = vqsub_s16(__s0_339, vqrdmulh_s16(__s1_339, splat_laneq_s16(__s2_339, __p3_339))); \
45303 __ret_247; \46659 __ret_339; \
45304})46660})
45305#else46661#else
45306#define vqrdmlsh_laneq_s16(__p0_248, __p1_248, __p2_248, __p3_248) __extension__ ({ \46662#define vqrdmlsh_laneq_s16(__p0_340, __p1_340, __p2_340, __p3_340) __extension__ ({ \
45307 int16x4_t __s0_248 = __p0_248; \46663 int16x4_t __s0_340 = __p0_340; \
45308 int16x4_t __s1_248 = __p1_248; \46664 int16x4_t __s1_340 = __p1_340; \
45309 int16x8_t __s2_248 = __p2_248; \46665 int16x8_t __s2_340 = __p2_340; \
45310 int16x4_t __rev0_248; __rev0_248 = __builtin_shufflevector(__s0_248, __s0_248, 3, 2, 1, 0); \46666 int16x4_t __rev0_340; __rev0_340 = __builtin_shufflevector(__s0_340, __s0_340, 3, 2, 1, 0); \
45311 int16x4_t __rev1_248; __rev1_248 = __builtin_shufflevector(__s1_248, __s1_248, 3, 2, 1, 0); \46667 int16x4_t __rev1_340; __rev1_340 = __builtin_shufflevector(__s1_340, __s1_340, 3, 2, 1, 0); \
45312 int16x8_t __rev2_248; __rev2_248 = __builtin_shufflevector(__s2_248, __s2_248, 7, 6, 5, 4, 3, 2, 1, 0); \46668 int16x8_t __rev2_340; __rev2_340 = __builtin_shufflevector(__s2_340, __s2_340, 7, 6, 5, 4, 3, 2, 1, 0); \
45313 int16x4_t __ret_248; \46669 int16x4_t __ret_340; \
45314 __ret_248 = __noswap_vqsub_s16(__rev0_248, __noswap_vqrdmulh_s16(__rev1_248, __noswap_splat_laneq_s16(__rev2_248, __p3_248))); \46670 __ret_340 = __noswap_vqsub_s16(__rev0_340, __noswap_vqrdmulh_s16(__rev1_340, __noswap_splat_laneq_s16(__rev2_340, __p3_340))); \
45315 __ret_248 = __builtin_shufflevector(__ret_248, __ret_248, 3, 2, 1, 0); \46671 __ret_340 = __builtin_shufflevector(__ret_340, __ret_340, 3, 2, 1, 0); \
45316 __ret_248; \46672 __ret_340; \
45317})46673})
45318#endif46674#endif
4531946675
...@@ -47730,892 +49086,892 @@ __ai float64x2_t vcombine_f64(float64x1_t __p0, float64x1_t __p1) {...@@ -47730,892 +49086,892 @@ __ai float64x2_t vcombine_f64(float64x1_t __p0, float64x1_t __p1) {
47730#endif49086#endif
4773149087
47732#ifdef __LITTLE_ENDIAN__49088#ifdef __LITTLE_ENDIAN__
47733#define vcopyq_lane_p8(__p0_249, __p1_249, __p2_249, __p3_249) __extension__ ({ \49089#define vcopyq_lane_p8(__p0_341, __p1_341, __p2_341, __p3_341) __extension__ ({ \
47734 poly8x16_t __s0_249 = __p0_249; \49090 poly8x16_t __s0_341 = __p0_341; \
47735 poly8x8_t __s2_249 = __p2_249; \49091 poly8x8_t __s2_341 = __p2_341; \
47736 poly8x16_t __ret_249; \49092 poly8x16_t __ret_341; \
47737 __ret_249 = vsetq_lane_p8(vget_lane_p8(__s2_249, __p3_249), __s0_249, __p1_249); \49093 __ret_341 = vsetq_lane_p8(vget_lane_p8(__s2_341, __p3_341), __s0_341, __p1_341); \
47738 __ret_249; \49094 __ret_341; \
47739})49095})
47740#else49096#else
47741#define vcopyq_lane_p8(__p0_250, __p1_250, __p2_250, __p3_250) __extension__ ({ \49097#define vcopyq_lane_p8(__p0_342, __p1_342, __p2_342, __p3_342) __extension__ ({ \
47742 poly8x16_t __s0_250 = __p0_250; \49098 poly8x16_t __s0_342 = __p0_342; \
47743 poly8x8_t __s2_250 = __p2_250; \49099 poly8x8_t __s2_342 = __p2_342; \
47744 poly8x16_t __rev0_250; __rev0_250 = __builtin_shufflevector(__s0_250, __s0_250, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49100 poly8x16_t __rev0_342; __rev0_342 = __builtin_shufflevector(__s0_342, __s0_342, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47745 poly8x8_t __rev2_250; __rev2_250 = __builtin_shufflevector(__s2_250, __s2_250, 7, 6, 5, 4, 3, 2, 1, 0); \49101 poly8x8_t __rev2_342; __rev2_342 = __builtin_shufflevector(__s2_342, __s2_342, 7, 6, 5, 4, 3, 2, 1, 0); \
47746 poly8x16_t __ret_250; \49102 poly8x16_t __ret_342; \
47747 __ret_250 = __noswap_vsetq_lane_p8(__noswap_vget_lane_p8(__rev2_250, __p3_250), __rev0_250, __p1_250); \49103 __ret_342 = __noswap_vsetq_lane_p8(__noswap_vget_lane_p8(__rev2_342, __p3_342), __rev0_342, __p1_342); \
47748 __ret_250 = __builtin_shufflevector(__ret_250, __ret_250, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49104 __ret_342 = __builtin_shufflevector(__ret_342, __ret_342, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47749 __ret_250; \49105 __ret_342; \
47750})49106})
47751#endif49107#endif
4775249108
47753#ifdef __LITTLE_ENDIAN__49109#ifdef __LITTLE_ENDIAN__
47754#define vcopyq_lane_p16(__p0_251, __p1_251, __p2_251, __p3_251) __extension__ ({ \49110#define vcopyq_lane_p16(__p0_343, __p1_343, __p2_343, __p3_343) __extension__ ({ \
47755 poly16x8_t __s0_251 = __p0_251; \49111 poly16x8_t __s0_343 = __p0_343; \
47756 poly16x4_t __s2_251 = __p2_251; \49112 poly16x4_t __s2_343 = __p2_343; \
47757 poly16x8_t __ret_251; \49113 poly16x8_t __ret_343; \
47758 __ret_251 = vsetq_lane_p16(vget_lane_p16(__s2_251, __p3_251), __s0_251, __p1_251); \49114 __ret_343 = vsetq_lane_p16(vget_lane_p16(__s2_343, __p3_343), __s0_343, __p1_343); \
47759 __ret_251; \49115 __ret_343; \
47760})49116})
47761#else49117#else
47762#define vcopyq_lane_p16(__p0_252, __p1_252, __p2_252, __p3_252) __extension__ ({ \49118#define vcopyq_lane_p16(__p0_344, __p1_344, __p2_344, __p3_344) __extension__ ({ \
47763 poly16x8_t __s0_252 = __p0_252; \49119 poly16x8_t __s0_344 = __p0_344; \
47764 poly16x4_t __s2_252 = __p2_252; \49120 poly16x4_t __s2_344 = __p2_344; \
47765 poly16x8_t __rev0_252; __rev0_252 = __builtin_shufflevector(__s0_252, __s0_252, 7, 6, 5, 4, 3, 2, 1, 0); \49121 poly16x8_t __rev0_344; __rev0_344 = __builtin_shufflevector(__s0_344, __s0_344, 7, 6, 5, 4, 3, 2, 1, 0); \
47766 poly16x4_t __rev2_252; __rev2_252 = __builtin_shufflevector(__s2_252, __s2_252, 3, 2, 1, 0); \49122 poly16x4_t __rev2_344; __rev2_344 = __builtin_shufflevector(__s2_344, __s2_344, 3, 2, 1, 0); \
47767 poly16x8_t __ret_252; \49123 poly16x8_t __ret_344; \
47768 __ret_252 = __noswap_vsetq_lane_p16(__noswap_vget_lane_p16(__rev2_252, __p3_252), __rev0_252, __p1_252); \49124 __ret_344 = __noswap_vsetq_lane_p16(__noswap_vget_lane_p16(__rev2_344, __p3_344), __rev0_344, __p1_344); \
47769 __ret_252 = __builtin_shufflevector(__ret_252, __ret_252, 7, 6, 5, 4, 3, 2, 1, 0); \49125 __ret_344 = __builtin_shufflevector(__ret_344, __ret_344, 7, 6, 5, 4, 3, 2, 1, 0); \
47770 __ret_252; \49126 __ret_344; \
47771})49127})
47772#endif49128#endif
4777349129
47774#ifdef __LITTLE_ENDIAN__49130#ifdef __LITTLE_ENDIAN__
47775#define vcopyq_lane_u8(__p0_253, __p1_253, __p2_253, __p3_253) __extension__ ({ \49131#define vcopyq_lane_u8(__p0_345, __p1_345, __p2_345, __p3_345) __extension__ ({ \
47776 uint8x16_t __s0_253 = __p0_253; \49132 uint8x16_t __s0_345 = __p0_345; \
47777 uint8x8_t __s2_253 = __p2_253; \49133 uint8x8_t __s2_345 = __p2_345; \
47778 uint8x16_t __ret_253; \49134 uint8x16_t __ret_345; \
47779 __ret_253 = vsetq_lane_u8(vget_lane_u8(__s2_253, __p3_253), __s0_253, __p1_253); \49135 __ret_345 = vsetq_lane_u8(vget_lane_u8(__s2_345, __p3_345), __s0_345, __p1_345); \
47780 __ret_253; \49136 __ret_345; \
47781})49137})
47782#else49138#else
47783#define vcopyq_lane_u8(__p0_254, __p1_254, __p2_254, __p3_254) __extension__ ({ \49139#define vcopyq_lane_u8(__p0_346, __p1_346, __p2_346, __p3_346) __extension__ ({ \
47784 uint8x16_t __s0_254 = __p0_254; \49140 uint8x16_t __s0_346 = __p0_346; \
47785 uint8x8_t __s2_254 = __p2_254; \49141 uint8x8_t __s2_346 = __p2_346; \
47786 uint8x16_t __rev0_254; __rev0_254 = __builtin_shufflevector(__s0_254, __s0_254, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49142 uint8x16_t __rev0_346; __rev0_346 = __builtin_shufflevector(__s0_346, __s0_346, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47787 uint8x8_t __rev2_254; __rev2_254 = __builtin_shufflevector(__s2_254, __s2_254, 7, 6, 5, 4, 3, 2, 1, 0); \49143 uint8x8_t __rev2_346; __rev2_346 = __builtin_shufflevector(__s2_346, __s2_346, 7, 6, 5, 4, 3, 2, 1, 0); \
47788 uint8x16_t __ret_254; \49144 uint8x16_t __ret_346; \
47789 __ret_254 = __noswap_vsetq_lane_u8(__noswap_vget_lane_u8(__rev2_254, __p3_254), __rev0_254, __p1_254); \49145 __ret_346 = __noswap_vsetq_lane_u8(__noswap_vget_lane_u8(__rev2_346, __p3_346), __rev0_346, __p1_346); \
47790 __ret_254 = __builtin_shufflevector(__ret_254, __ret_254, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49146 __ret_346 = __builtin_shufflevector(__ret_346, __ret_346, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47791 __ret_254; \49147 __ret_346; \
47792})49148})
47793#endif49149#endif
4779449150
47795#ifdef __LITTLE_ENDIAN__49151#ifdef __LITTLE_ENDIAN__
47796#define vcopyq_lane_u32(__p0_255, __p1_255, __p2_255, __p3_255) __extension__ ({ \49152#define vcopyq_lane_u32(__p0_347, __p1_347, __p2_347, __p3_347) __extension__ ({ \
47797 uint32x4_t __s0_255 = __p0_255; \49153 uint32x4_t __s0_347 = __p0_347; \
47798 uint32x2_t __s2_255 = __p2_255; \49154 uint32x2_t __s2_347 = __p2_347; \
47799 uint32x4_t __ret_255; \49155 uint32x4_t __ret_347; \
47800 __ret_255 = vsetq_lane_u32(vget_lane_u32(__s2_255, __p3_255), __s0_255, __p1_255); \49156 __ret_347 = vsetq_lane_u32(vget_lane_u32(__s2_347, __p3_347), __s0_347, __p1_347); \
47801 __ret_255; \49157 __ret_347; \
47802})49158})
47803#else49159#else
47804#define vcopyq_lane_u32(__p0_256, __p1_256, __p2_256, __p3_256) __extension__ ({ \49160#define vcopyq_lane_u32(__p0_348, __p1_348, __p2_348, __p3_348) __extension__ ({ \
47805 uint32x4_t __s0_256 = __p0_256; \49161 uint32x4_t __s0_348 = __p0_348; \
47806 uint32x2_t __s2_256 = __p2_256; \49162 uint32x2_t __s2_348 = __p2_348; \
47807 uint32x4_t __rev0_256; __rev0_256 = __builtin_shufflevector(__s0_256, __s0_256, 3, 2, 1, 0); \49163 uint32x4_t __rev0_348; __rev0_348 = __builtin_shufflevector(__s0_348, __s0_348, 3, 2, 1, 0); \
47808 uint32x2_t __rev2_256; __rev2_256 = __builtin_shufflevector(__s2_256, __s2_256, 1, 0); \49164 uint32x2_t __rev2_348; __rev2_348 = __builtin_shufflevector(__s2_348, __s2_348, 1, 0); \
47809 uint32x4_t __ret_256; \49165 uint32x4_t __ret_348; \
47810 __ret_256 = __noswap_vsetq_lane_u32(__noswap_vget_lane_u32(__rev2_256, __p3_256), __rev0_256, __p1_256); \49166 __ret_348 = __noswap_vsetq_lane_u32(__noswap_vget_lane_u32(__rev2_348, __p3_348), __rev0_348, __p1_348); \
47811 __ret_256 = __builtin_shufflevector(__ret_256, __ret_256, 3, 2, 1, 0); \49167 __ret_348 = __builtin_shufflevector(__ret_348, __ret_348, 3, 2, 1, 0); \
47812 __ret_256; \49168 __ret_348; \
47813})49169})
47814#endif49170#endif
4781549171
47816#ifdef __LITTLE_ENDIAN__49172#ifdef __LITTLE_ENDIAN__
47817#define vcopyq_lane_u64(__p0_257, __p1_257, __p2_257, __p3_257) __extension__ ({ \49173#define vcopyq_lane_u64(__p0_349, __p1_349, __p2_349, __p3_349) __extension__ ({ \
47818 uint64x2_t __s0_257 = __p0_257; \49174 uint64x2_t __s0_349 = __p0_349; \
47819 uint64x1_t __s2_257 = __p2_257; \49175 uint64x1_t __s2_349 = __p2_349; \
47820 uint64x2_t __ret_257; \49176 uint64x2_t __ret_349; \
47821 __ret_257 = vsetq_lane_u64(vget_lane_u64(__s2_257, __p3_257), __s0_257, __p1_257); \49177 __ret_349 = vsetq_lane_u64(vget_lane_u64(__s2_349, __p3_349), __s0_349, __p1_349); \
47822 __ret_257; \49178 __ret_349; \
47823})49179})
47824#else49180#else
47825#define vcopyq_lane_u64(__p0_258, __p1_258, __p2_258, __p3_258) __extension__ ({ \49181#define vcopyq_lane_u64(__p0_350, __p1_350, __p2_350, __p3_350) __extension__ ({ \
47826 uint64x2_t __s0_258 = __p0_258; \49182 uint64x2_t __s0_350 = __p0_350; \
47827 uint64x1_t __s2_258 = __p2_258; \49183 uint64x1_t __s2_350 = __p2_350; \
47828 uint64x2_t __rev0_258; __rev0_258 = __builtin_shufflevector(__s0_258, __s0_258, 1, 0); \49184 uint64x2_t __rev0_350; __rev0_350 = __builtin_shufflevector(__s0_350, __s0_350, 1, 0); \
47829 uint64x2_t __ret_258; \49185 uint64x2_t __ret_350; \
47830 __ret_258 = __noswap_vsetq_lane_u64(vget_lane_u64(__s2_258, __p3_258), __rev0_258, __p1_258); \49186 __ret_350 = __noswap_vsetq_lane_u64(vget_lane_u64(__s2_350, __p3_350), __rev0_350, __p1_350); \
47831 __ret_258 = __builtin_shufflevector(__ret_258, __ret_258, 1, 0); \49187 __ret_350 = __builtin_shufflevector(__ret_350, __ret_350, 1, 0); \
47832 __ret_258; \49188 __ret_350; \
47833})49189})
47834#endif49190#endif
4783549191
47836#ifdef __LITTLE_ENDIAN__49192#ifdef __LITTLE_ENDIAN__
47837#define vcopyq_lane_u16(__p0_259, __p1_259, __p2_259, __p3_259) __extension__ ({ \49193#define vcopyq_lane_u16(__p0_351, __p1_351, __p2_351, __p3_351) __extension__ ({ \
47838 uint16x8_t __s0_259 = __p0_259; \49194 uint16x8_t __s0_351 = __p0_351; \
47839 uint16x4_t __s2_259 = __p2_259; \49195 uint16x4_t __s2_351 = __p2_351; \
47840 uint16x8_t __ret_259; \49196 uint16x8_t __ret_351; \
47841 __ret_259 = vsetq_lane_u16(vget_lane_u16(__s2_259, __p3_259), __s0_259, __p1_259); \49197 __ret_351 = vsetq_lane_u16(vget_lane_u16(__s2_351, __p3_351), __s0_351, __p1_351); \
47842 __ret_259; \49198 __ret_351; \
47843})49199})
47844#else49200#else
47845#define vcopyq_lane_u16(__p0_260, __p1_260, __p2_260, __p3_260) __extension__ ({ \49201#define vcopyq_lane_u16(__p0_352, __p1_352, __p2_352, __p3_352) __extension__ ({ \
47846 uint16x8_t __s0_260 = __p0_260; \49202 uint16x8_t __s0_352 = __p0_352; \
47847 uint16x4_t __s2_260 = __p2_260; \49203 uint16x4_t __s2_352 = __p2_352; \
47848 uint16x8_t __rev0_260; __rev0_260 = __builtin_shufflevector(__s0_260, __s0_260, 7, 6, 5, 4, 3, 2, 1, 0); \49204 uint16x8_t __rev0_352; __rev0_352 = __builtin_shufflevector(__s0_352, __s0_352, 7, 6, 5, 4, 3, 2, 1, 0); \
47849 uint16x4_t __rev2_260; __rev2_260 = __builtin_shufflevector(__s2_260, __s2_260, 3, 2, 1, 0); \49205 uint16x4_t __rev2_352; __rev2_352 = __builtin_shufflevector(__s2_352, __s2_352, 3, 2, 1, 0); \
47850 uint16x8_t __ret_260; \49206 uint16x8_t __ret_352; \
47851 __ret_260 = __noswap_vsetq_lane_u16(__noswap_vget_lane_u16(__rev2_260, __p3_260), __rev0_260, __p1_260); \49207 __ret_352 = __noswap_vsetq_lane_u16(__noswap_vget_lane_u16(__rev2_352, __p3_352), __rev0_352, __p1_352); \
47852 __ret_260 = __builtin_shufflevector(__ret_260, __ret_260, 7, 6, 5, 4, 3, 2, 1, 0); \49208 __ret_352 = __builtin_shufflevector(__ret_352, __ret_352, 7, 6, 5, 4, 3, 2, 1, 0); \
47853 __ret_260; \49209 __ret_352; \
47854})49210})
47855#endif49211#endif
4785649212
47857#ifdef __LITTLE_ENDIAN__49213#ifdef __LITTLE_ENDIAN__
47858#define vcopyq_lane_s8(__p0_261, __p1_261, __p2_261, __p3_261) __extension__ ({ \49214#define vcopyq_lane_s8(__p0_353, __p1_353, __p2_353, __p3_353) __extension__ ({ \
47859 int8x16_t __s0_261 = __p0_261; \49215 int8x16_t __s0_353 = __p0_353; \
47860 int8x8_t __s2_261 = __p2_261; \49216 int8x8_t __s2_353 = __p2_353; \
47861 int8x16_t __ret_261; \49217 int8x16_t __ret_353; \
47862 __ret_261 = vsetq_lane_s8(vget_lane_s8(__s2_261, __p3_261), __s0_261, __p1_261); \49218 __ret_353 = vsetq_lane_s8(vget_lane_s8(__s2_353, __p3_353), __s0_353, __p1_353); \
47863 __ret_261; \49219 __ret_353; \
47864})49220})
47865#else49221#else
47866#define vcopyq_lane_s8(__p0_262, __p1_262, __p2_262, __p3_262) __extension__ ({ \49222#define vcopyq_lane_s8(__p0_354, __p1_354, __p2_354, __p3_354) __extension__ ({ \
47867 int8x16_t __s0_262 = __p0_262; \49223 int8x16_t __s0_354 = __p0_354; \
47868 int8x8_t __s2_262 = __p2_262; \49224 int8x8_t __s2_354 = __p2_354; \
47869 int8x16_t __rev0_262; __rev0_262 = __builtin_shufflevector(__s0_262, __s0_262, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49225 int8x16_t __rev0_354; __rev0_354 = __builtin_shufflevector(__s0_354, __s0_354, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47870 int8x8_t __rev2_262; __rev2_262 = __builtin_shufflevector(__s2_262, __s2_262, 7, 6, 5, 4, 3, 2, 1, 0); \49226 int8x8_t __rev2_354; __rev2_354 = __builtin_shufflevector(__s2_354, __s2_354, 7, 6, 5, 4, 3, 2, 1, 0); \
47871 int8x16_t __ret_262; \49227 int8x16_t __ret_354; \
47872 __ret_262 = __noswap_vsetq_lane_s8(__noswap_vget_lane_s8(__rev2_262, __p3_262), __rev0_262, __p1_262); \49228 __ret_354 = __noswap_vsetq_lane_s8(__noswap_vget_lane_s8(__rev2_354, __p3_354), __rev0_354, __p1_354); \
47873 __ret_262 = __builtin_shufflevector(__ret_262, __ret_262, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49229 __ret_354 = __builtin_shufflevector(__ret_354, __ret_354, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
47874 __ret_262; \49230 __ret_354; \
47875})49231})
47876#endif49232#endif
4787749233
47878#ifdef __LITTLE_ENDIAN__49234#ifdef __LITTLE_ENDIAN__
47879#define vcopyq_lane_f32(__p0_263, __p1_263, __p2_263, __p3_263) __extension__ ({ \49235#define vcopyq_lane_f32(__p0_355, __p1_355, __p2_355, __p3_355) __extension__ ({ \
47880 float32x4_t __s0_263 = __p0_263; \49236 float32x4_t __s0_355 = __p0_355; \
47881 float32x2_t __s2_263 = __p2_263; \49237 float32x2_t __s2_355 = __p2_355; \
47882 float32x4_t __ret_263; \49238 float32x4_t __ret_355; \
47883 __ret_263 = vsetq_lane_f32(vget_lane_f32(__s2_263, __p3_263), __s0_263, __p1_263); \49239 __ret_355 = vsetq_lane_f32(vget_lane_f32(__s2_355, __p3_355), __s0_355, __p1_355); \
47884 __ret_263; \49240 __ret_355; \
47885})49241})
47886#else49242#else
47887#define vcopyq_lane_f32(__p0_264, __p1_264, __p2_264, __p3_264) __extension__ ({ \49243#define vcopyq_lane_f32(__p0_356, __p1_356, __p2_356, __p3_356) __extension__ ({ \
47888 float32x4_t __s0_264 = __p0_264; \49244 float32x4_t __s0_356 = __p0_356; \
47889 float32x2_t __s2_264 = __p2_264; \49245 float32x2_t __s2_356 = __p2_356; \
47890 float32x4_t __rev0_264; __rev0_264 = __builtin_shufflevector(__s0_264, __s0_264, 3, 2, 1, 0); \49246 float32x4_t __rev0_356; __rev0_356 = __builtin_shufflevector(__s0_356, __s0_356, 3, 2, 1, 0); \
47891 float32x2_t __rev2_264; __rev2_264 = __builtin_shufflevector(__s2_264, __s2_264, 1, 0); \49247 float32x2_t __rev2_356; __rev2_356 = __builtin_shufflevector(__s2_356, __s2_356, 1, 0); \
47892 float32x4_t __ret_264; \49248 float32x4_t __ret_356; \
47893 __ret_264 = __noswap_vsetq_lane_f32(__noswap_vget_lane_f32(__rev2_264, __p3_264), __rev0_264, __p1_264); \49249 __ret_356 = __noswap_vsetq_lane_f32(__noswap_vget_lane_f32(__rev2_356, __p3_356), __rev0_356, __p1_356); \
47894 __ret_264 = __builtin_shufflevector(__ret_264, __ret_264, 3, 2, 1, 0); \49250 __ret_356 = __builtin_shufflevector(__ret_356, __ret_356, 3, 2, 1, 0); \
47895 __ret_264; \49251 __ret_356; \
47896})49252})
47897#endif49253#endif
4789849254
47899#ifdef __LITTLE_ENDIAN__49255#ifdef __LITTLE_ENDIAN__
47900#define vcopyq_lane_s32(__p0_265, __p1_265, __p2_265, __p3_265) __extension__ ({ \49256#define vcopyq_lane_s32(__p0_357, __p1_357, __p2_357, __p3_357) __extension__ ({ \
47901 int32x4_t __s0_265 = __p0_265; \49257 int32x4_t __s0_357 = __p0_357; \
47902 int32x2_t __s2_265 = __p2_265; \49258 int32x2_t __s2_357 = __p2_357; \
47903 int32x4_t __ret_265; \49259 int32x4_t __ret_357; \
47904 __ret_265 = vsetq_lane_s32(vget_lane_s32(__s2_265, __p3_265), __s0_265, __p1_265); \49260 __ret_357 = vsetq_lane_s32(vget_lane_s32(__s2_357, __p3_357), __s0_357, __p1_357); \
47905 __ret_265; \49261 __ret_357; \
47906})49262})
47907#else49263#else
47908#define vcopyq_lane_s32(__p0_266, __p1_266, __p2_266, __p3_266) __extension__ ({ \49264#define vcopyq_lane_s32(__p0_358, __p1_358, __p2_358, __p3_358) __extension__ ({ \
47909 int32x4_t __s0_266 = __p0_266; \49265 int32x4_t __s0_358 = __p0_358; \
47910 int32x2_t __s2_266 = __p2_266; \49266 int32x2_t __s2_358 = __p2_358; \
47911 int32x4_t __rev0_266; __rev0_266 = __builtin_shufflevector(__s0_266, __s0_266, 3, 2, 1, 0); \49267 int32x4_t __rev0_358; __rev0_358 = __builtin_shufflevector(__s0_358, __s0_358, 3, 2, 1, 0); \
47912 int32x2_t __rev2_266; __rev2_266 = __builtin_shufflevector(__s2_266, __s2_266, 1, 0); \49268 int32x2_t __rev2_358; __rev2_358 = __builtin_shufflevector(__s2_358, __s2_358, 1, 0); \
47913 int32x4_t __ret_266; \49269 int32x4_t __ret_358; \
47914 __ret_266 = __noswap_vsetq_lane_s32(__noswap_vget_lane_s32(__rev2_266, __p3_266), __rev0_266, __p1_266); \49270 __ret_358 = __noswap_vsetq_lane_s32(__noswap_vget_lane_s32(__rev2_358, __p3_358), __rev0_358, __p1_358); \
47915 __ret_266 = __builtin_shufflevector(__ret_266, __ret_266, 3, 2, 1, 0); \49271 __ret_358 = __builtin_shufflevector(__ret_358, __ret_358, 3, 2, 1, 0); \
47916 __ret_266; \49272 __ret_358; \
47917})49273})
47918#endif49274#endif
4791949275
47920#ifdef __LITTLE_ENDIAN__49276#ifdef __LITTLE_ENDIAN__
47921#define vcopyq_lane_s64(__p0_267, __p1_267, __p2_267, __p3_267) __extension__ ({ \49277#define vcopyq_lane_s64(__p0_359, __p1_359, __p2_359, __p3_359) __extension__ ({ \
47922 int64x2_t __s0_267 = __p0_267; \49278 int64x2_t __s0_359 = __p0_359; \
47923 int64x1_t __s2_267 = __p2_267; \49279 int64x1_t __s2_359 = __p2_359; \
47924 int64x2_t __ret_267; \49280 int64x2_t __ret_359; \
47925 __ret_267 = vsetq_lane_s64(vget_lane_s64(__s2_267, __p3_267), __s0_267, __p1_267); \49281 __ret_359 = vsetq_lane_s64(vget_lane_s64(__s2_359, __p3_359), __s0_359, __p1_359); \
47926 __ret_267; \49282 __ret_359; \
47927})49283})
47928#else49284#else
47929#define vcopyq_lane_s64(__p0_268, __p1_268, __p2_268, __p3_268) __extension__ ({ \49285#define vcopyq_lane_s64(__p0_360, __p1_360, __p2_360, __p3_360) __extension__ ({ \
47930 int64x2_t __s0_268 = __p0_268; \49286 int64x2_t __s0_360 = __p0_360; \
47931 int64x1_t __s2_268 = __p2_268; \49287 int64x1_t __s2_360 = __p2_360; \
47932 int64x2_t __rev0_268; __rev0_268 = __builtin_shufflevector(__s0_268, __s0_268, 1, 0); \49288 int64x2_t __rev0_360; __rev0_360 = __builtin_shufflevector(__s0_360, __s0_360, 1, 0); \
47933 int64x2_t __ret_268; \49289 int64x2_t __ret_360; \
47934 __ret_268 = __noswap_vsetq_lane_s64(vget_lane_s64(__s2_268, __p3_268), __rev0_268, __p1_268); \49290 __ret_360 = __noswap_vsetq_lane_s64(vget_lane_s64(__s2_360, __p3_360), __rev0_360, __p1_360); \
47935 __ret_268 = __builtin_shufflevector(__ret_268, __ret_268, 1, 0); \49291 __ret_360 = __builtin_shufflevector(__ret_360, __ret_360, 1, 0); \
47936 __ret_268; \49292 __ret_360; \
47937})49293})
47938#endif49294#endif
4793949295
47940#ifdef __LITTLE_ENDIAN__49296#ifdef __LITTLE_ENDIAN__
47941#define vcopyq_lane_s16(__p0_269, __p1_269, __p2_269, __p3_269) __extension__ ({ \49297#define vcopyq_lane_s16(__p0_361, __p1_361, __p2_361, __p3_361) __extension__ ({ \
47942 int16x8_t __s0_269 = __p0_269; \49298 int16x8_t __s0_361 = __p0_361; \
47943 int16x4_t __s2_269 = __p2_269; \49299 int16x4_t __s2_361 = __p2_361; \
47944 int16x8_t __ret_269; \49300 int16x8_t __ret_361; \
47945 __ret_269 = vsetq_lane_s16(vget_lane_s16(__s2_269, __p3_269), __s0_269, __p1_269); \49301 __ret_361 = vsetq_lane_s16(vget_lane_s16(__s2_361, __p3_361), __s0_361, __p1_361); \
47946 __ret_269; \49302 __ret_361; \
47947})49303})
47948#else49304#else
47949#define vcopyq_lane_s16(__p0_270, __p1_270, __p2_270, __p3_270) __extension__ ({ \49305#define vcopyq_lane_s16(__p0_362, __p1_362, __p2_362, __p3_362) __extension__ ({ \
47950 int16x8_t __s0_270 = __p0_270; \49306 int16x8_t __s0_362 = __p0_362; \
47951 int16x4_t __s2_270 = __p2_270; \49307 int16x4_t __s2_362 = __p2_362; \
47952 int16x8_t __rev0_270; __rev0_270 = __builtin_shufflevector(__s0_270, __s0_270, 7, 6, 5, 4, 3, 2, 1, 0); \49308 int16x8_t __rev0_362; __rev0_362 = __builtin_shufflevector(__s0_362, __s0_362, 7, 6, 5, 4, 3, 2, 1, 0); \
47953 int16x4_t __rev2_270; __rev2_270 = __builtin_shufflevector(__s2_270, __s2_270, 3, 2, 1, 0); \49309 int16x4_t __rev2_362; __rev2_362 = __builtin_shufflevector(__s2_362, __s2_362, 3, 2, 1, 0); \
47954 int16x8_t __ret_270; \49310 int16x8_t __ret_362; \
47955 __ret_270 = __noswap_vsetq_lane_s16(__noswap_vget_lane_s16(__rev2_270, __p3_270), __rev0_270, __p1_270); \49311 __ret_362 = __noswap_vsetq_lane_s16(__noswap_vget_lane_s16(__rev2_362, __p3_362), __rev0_362, __p1_362); \
47956 __ret_270 = __builtin_shufflevector(__ret_270, __ret_270, 7, 6, 5, 4, 3, 2, 1, 0); \49312 __ret_362 = __builtin_shufflevector(__ret_362, __ret_362, 7, 6, 5, 4, 3, 2, 1, 0); \
47957 __ret_270; \49313 __ret_362; \
47958})49314})
47959#endif49315#endif
4796049316
47961#ifdef __LITTLE_ENDIAN__49317#ifdef __LITTLE_ENDIAN__
47962#define vcopy_lane_p8(__p0_271, __p1_271, __p2_271, __p3_271) __extension__ ({ \49318#define vcopy_lane_p8(__p0_363, __p1_363, __p2_363, __p3_363) __extension__ ({ \
47963 poly8x8_t __s0_271 = __p0_271; \49319 poly8x8_t __s0_363 = __p0_363; \
47964 poly8x8_t __s2_271 = __p2_271; \49320 poly8x8_t __s2_363 = __p2_363; \
47965 poly8x8_t __ret_271; \49321 poly8x8_t __ret_363; \
47966 __ret_271 = vset_lane_p8(vget_lane_p8(__s2_271, __p3_271), __s0_271, __p1_271); \49322 __ret_363 = vset_lane_p8(vget_lane_p8(__s2_363, __p3_363), __s0_363, __p1_363); \
47967 __ret_271; \49323 __ret_363; \
47968})49324})
47969#else49325#else
47970#define vcopy_lane_p8(__p0_272, __p1_272, __p2_272, __p3_272) __extension__ ({ \49326#define vcopy_lane_p8(__p0_364, __p1_364, __p2_364, __p3_364) __extension__ ({ \
47971 poly8x8_t __s0_272 = __p0_272; \49327 poly8x8_t __s0_364 = __p0_364; \
47972 poly8x8_t __s2_272 = __p2_272; \49328 poly8x8_t __s2_364 = __p2_364; \
47973 poly8x8_t __rev0_272; __rev0_272 = __builtin_shufflevector(__s0_272, __s0_272, 7, 6, 5, 4, 3, 2, 1, 0); \49329 poly8x8_t __rev0_364; __rev0_364 = __builtin_shufflevector(__s0_364, __s0_364, 7, 6, 5, 4, 3, 2, 1, 0); \
47974 poly8x8_t __rev2_272; __rev2_272 = __builtin_shufflevector(__s2_272, __s2_272, 7, 6, 5, 4, 3, 2, 1, 0); \49330 poly8x8_t __rev2_364; __rev2_364 = __builtin_shufflevector(__s2_364, __s2_364, 7, 6, 5, 4, 3, 2, 1, 0); \
47975 poly8x8_t __ret_272; \49331 poly8x8_t __ret_364; \
47976 __ret_272 = __noswap_vset_lane_p8(__noswap_vget_lane_p8(__rev2_272, __p3_272), __rev0_272, __p1_272); \49332 __ret_364 = __noswap_vset_lane_p8(__noswap_vget_lane_p8(__rev2_364, __p3_364), __rev0_364, __p1_364); \
47977 __ret_272 = __builtin_shufflevector(__ret_272, __ret_272, 7, 6, 5, 4, 3, 2, 1, 0); \49333 __ret_364 = __builtin_shufflevector(__ret_364, __ret_364, 7, 6, 5, 4, 3, 2, 1, 0); \
47978 __ret_272; \49334 __ret_364; \
47979})49335})
47980#endif49336#endif
4798149337
47982#ifdef __LITTLE_ENDIAN__49338#ifdef __LITTLE_ENDIAN__
47983#define vcopy_lane_p16(__p0_273, __p1_273, __p2_273, __p3_273) __extension__ ({ \49339#define vcopy_lane_p16(__p0_365, __p1_365, __p2_365, __p3_365) __extension__ ({ \
47984 poly16x4_t __s0_273 = __p0_273; \49340 poly16x4_t __s0_365 = __p0_365; \
47985 poly16x4_t __s2_273 = __p2_273; \49341 poly16x4_t __s2_365 = __p2_365; \
47986 poly16x4_t __ret_273; \49342 poly16x4_t __ret_365; \
47987 __ret_273 = vset_lane_p16(vget_lane_p16(__s2_273, __p3_273), __s0_273, __p1_273); \49343 __ret_365 = vset_lane_p16(vget_lane_p16(__s2_365, __p3_365), __s0_365, __p1_365); \
47988 __ret_273; \49344 __ret_365; \
47989})49345})
47990#else49346#else
47991#define vcopy_lane_p16(__p0_274, __p1_274, __p2_274, __p3_274) __extension__ ({ \49347#define vcopy_lane_p16(__p0_366, __p1_366, __p2_366, __p3_366) __extension__ ({ \
47992 poly16x4_t __s0_274 = __p0_274; \49348 poly16x4_t __s0_366 = __p0_366; \
47993 poly16x4_t __s2_274 = __p2_274; \49349 poly16x4_t __s2_366 = __p2_366; \
47994 poly16x4_t __rev0_274; __rev0_274 = __builtin_shufflevector(__s0_274, __s0_274, 3, 2, 1, 0); \49350 poly16x4_t __rev0_366; __rev0_366 = __builtin_shufflevector(__s0_366, __s0_366, 3, 2, 1, 0); \
47995 poly16x4_t __rev2_274; __rev2_274 = __builtin_shufflevector(__s2_274, __s2_274, 3, 2, 1, 0); \49351 poly16x4_t __rev2_366; __rev2_366 = __builtin_shufflevector(__s2_366, __s2_366, 3, 2, 1, 0); \
47996 poly16x4_t __ret_274; \49352 poly16x4_t __ret_366; \
47997 __ret_274 = __noswap_vset_lane_p16(__noswap_vget_lane_p16(__rev2_274, __p3_274), __rev0_274, __p1_274); \49353 __ret_366 = __noswap_vset_lane_p16(__noswap_vget_lane_p16(__rev2_366, __p3_366), __rev0_366, __p1_366); \
47998 __ret_274 = __builtin_shufflevector(__ret_274, __ret_274, 3, 2, 1, 0); \49354 __ret_366 = __builtin_shufflevector(__ret_366, __ret_366, 3, 2, 1, 0); \
47999 __ret_274; \49355 __ret_366; \
48000})49356})
48001#endif49357#endif
4800249358
48003#ifdef __LITTLE_ENDIAN__49359#ifdef __LITTLE_ENDIAN__
48004#define vcopy_lane_u8(__p0_275, __p1_275, __p2_275, __p3_275) __extension__ ({ \49360#define vcopy_lane_u8(__p0_367, __p1_367, __p2_367, __p3_367) __extension__ ({ \
48005 uint8x8_t __s0_275 = __p0_275; \49361 uint8x8_t __s0_367 = __p0_367; \
48006 uint8x8_t __s2_275 = __p2_275; \49362 uint8x8_t __s2_367 = __p2_367; \
48007 uint8x8_t __ret_275; \49363 uint8x8_t __ret_367; \
48008 __ret_275 = vset_lane_u8(vget_lane_u8(__s2_275, __p3_275), __s0_275, __p1_275); \49364 __ret_367 = vset_lane_u8(vget_lane_u8(__s2_367, __p3_367), __s0_367, __p1_367); \
48009 __ret_275; \49365 __ret_367; \
48010})49366})
48011#else49367#else
48012#define vcopy_lane_u8(__p0_276, __p1_276, __p2_276, __p3_276) __extension__ ({ \49368#define vcopy_lane_u8(__p0_368, __p1_368, __p2_368, __p3_368) __extension__ ({ \
48013 uint8x8_t __s0_276 = __p0_276; \49369 uint8x8_t __s0_368 = __p0_368; \
48014 uint8x8_t __s2_276 = __p2_276; \49370 uint8x8_t __s2_368 = __p2_368; \
48015 uint8x8_t __rev0_276; __rev0_276 = __builtin_shufflevector(__s0_276, __s0_276, 7, 6, 5, 4, 3, 2, 1, 0); \49371 uint8x8_t __rev0_368; __rev0_368 = __builtin_shufflevector(__s0_368, __s0_368, 7, 6, 5, 4, 3, 2, 1, 0); \
48016 uint8x8_t __rev2_276; __rev2_276 = __builtin_shufflevector(__s2_276, __s2_276, 7, 6, 5, 4, 3, 2, 1, 0); \49372 uint8x8_t __rev2_368; __rev2_368 = __builtin_shufflevector(__s2_368, __s2_368, 7, 6, 5, 4, 3, 2, 1, 0); \
48017 uint8x8_t __ret_276; \49373 uint8x8_t __ret_368; \
48018 __ret_276 = __noswap_vset_lane_u8(__noswap_vget_lane_u8(__rev2_276, __p3_276), __rev0_276, __p1_276); \49374 __ret_368 = __noswap_vset_lane_u8(__noswap_vget_lane_u8(__rev2_368, __p3_368), __rev0_368, __p1_368); \
48019 __ret_276 = __builtin_shufflevector(__ret_276, __ret_276, 7, 6, 5, 4, 3, 2, 1, 0); \49375 __ret_368 = __builtin_shufflevector(__ret_368, __ret_368, 7, 6, 5, 4, 3, 2, 1, 0); \
48020 __ret_276; \49376 __ret_368; \
48021})49377})
48022#endif49378#endif
4802349379
48024#ifdef __LITTLE_ENDIAN__49380#ifdef __LITTLE_ENDIAN__
48025#define vcopy_lane_u32(__p0_277, __p1_277, __p2_277, __p3_277) __extension__ ({ \49381#define vcopy_lane_u32(__p0_369, __p1_369, __p2_369, __p3_369) __extension__ ({ \
48026 uint32x2_t __s0_277 = __p0_277; \49382 uint32x2_t __s0_369 = __p0_369; \
48027 uint32x2_t __s2_277 = __p2_277; \49383 uint32x2_t __s2_369 = __p2_369; \
48028 uint32x2_t __ret_277; \49384 uint32x2_t __ret_369; \
48029 __ret_277 = vset_lane_u32(vget_lane_u32(__s2_277, __p3_277), __s0_277, __p1_277); \49385 __ret_369 = vset_lane_u32(vget_lane_u32(__s2_369, __p3_369), __s0_369, __p1_369); \
48030 __ret_277; \49386 __ret_369; \
48031})49387})
48032#else49388#else
48033#define vcopy_lane_u32(__p0_278, __p1_278, __p2_278, __p3_278) __extension__ ({ \49389#define vcopy_lane_u32(__p0_370, __p1_370, __p2_370, __p3_370) __extension__ ({ \
48034 uint32x2_t __s0_278 = __p0_278; \49390 uint32x2_t __s0_370 = __p0_370; \
48035 uint32x2_t __s2_278 = __p2_278; \49391 uint32x2_t __s2_370 = __p2_370; \
48036 uint32x2_t __rev0_278; __rev0_278 = __builtin_shufflevector(__s0_278, __s0_278, 1, 0); \49392 uint32x2_t __rev0_370; __rev0_370 = __builtin_shufflevector(__s0_370, __s0_370, 1, 0); \
48037 uint32x2_t __rev2_278; __rev2_278 = __builtin_shufflevector(__s2_278, __s2_278, 1, 0); \49393 uint32x2_t __rev2_370; __rev2_370 = __builtin_shufflevector(__s2_370, __s2_370, 1, 0); \
48038 uint32x2_t __ret_278; \49394 uint32x2_t __ret_370; \
48039 __ret_278 = __noswap_vset_lane_u32(__noswap_vget_lane_u32(__rev2_278, __p3_278), __rev0_278, __p1_278); \49395 __ret_370 = __noswap_vset_lane_u32(__noswap_vget_lane_u32(__rev2_370, __p3_370), __rev0_370, __p1_370); \
48040 __ret_278 = __builtin_shufflevector(__ret_278, __ret_278, 1, 0); \49396 __ret_370 = __builtin_shufflevector(__ret_370, __ret_370, 1, 0); \
48041 __ret_278; \49397 __ret_370; \
48042})49398})
48043#endif49399#endif
4804449400
48045#define vcopy_lane_u64(__p0_279, __p1_279, __p2_279, __p3_279) __extension__ ({ \49401#define vcopy_lane_u64(__p0_371, __p1_371, __p2_371, __p3_371) __extension__ ({ \
48046 uint64x1_t __s0_279 = __p0_279; \49402 uint64x1_t __s0_371 = __p0_371; \
48047 uint64x1_t __s2_279 = __p2_279; \49403 uint64x1_t __s2_371 = __p2_371; \
48048 uint64x1_t __ret_279; \49404 uint64x1_t __ret_371; \
48049 __ret_279 = vset_lane_u64(vget_lane_u64(__s2_279, __p3_279), __s0_279, __p1_279); \49405 __ret_371 = vset_lane_u64(vget_lane_u64(__s2_371, __p3_371), __s0_371, __p1_371); \
48050 __ret_279; \49406 __ret_371; \
48051})49407})
48052#ifdef __LITTLE_ENDIAN__49408#ifdef __LITTLE_ENDIAN__
48053#define vcopy_lane_u16(__p0_280, __p1_280, __p2_280, __p3_280) __extension__ ({ \49409#define vcopy_lane_u16(__p0_372, __p1_372, __p2_372, __p3_372) __extension__ ({ \
48054 uint16x4_t __s0_280 = __p0_280; \49410 uint16x4_t __s0_372 = __p0_372; \
48055 uint16x4_t __s2_280 = __p2_280; \49411 uint16x4_t __s2_372 = __p2_372; \
48056 uint16x4_t __ret_280; \49412 uint16x4_t __ret_372; \
48057 __ret_280 = vset_lane_u16(vget_lane_u16(__s2_280, __p3_280), __s0_280, __p1_280); \49413 __ret_372 = vset_lane_u16(vget_lane_u16(__s2_372, __p3_372), __s0_372, __p1_372); \
48058 __ret_280; \49414 __ret_372; \
48059})49415})
48060#else49416#else
48061#define vcopy_lane_u16(__p0_281, __p1_281, __p2_281, __p3_281) __extension__ ({ \49417#define vcopy_lane_u16(__p0_373, __p1_373, __p2_373, __p3_373) __extension__ ({ \
48062 uint16x4_t __s0_281 = __p0_281; \49418 uint16x4_t __s0_373 = __p0_373; \
48063 uint16x4_t __s2_281 = __p2_281; \49419 uint16x4_t __s2_373 = __p2_373; \
48064 uint16x4_t __rev0_281; __rev0_281 = __builtin_shufflevector(__s0_281, __s0_281, 3, 2, 1, 0); \49420 uint16x4_t __rev0_373; __rev0_373 = __builtin_shufflevector(__s0_373, __s0_373, 3, 2, 1, 0); \
48065 uint16x4_t __rev2_281; __rev2_281 = __builtin_shufflevector(__s2_281, __s2_281, 3, 2, 1, 0); \49421 uint16x4_t __rev2_373; __rev2_373 = __builtin_shufflevector(__s2_373, __s2_373, 3, 2, 1, 0); \
48066 uint16x4_t __ret_281; \49422 uint16x4_t __ret_373; \
48067 __ret_281 = __noswap_vset_lane_u16(__noswap_vget_lane_u16(__rev2_281, __p3_281), __rev0_281, __p1_281); \49423 __ret_373 = __noswap_vset_lane_u16(__noswap_vget_lane_u16(__rev2_373, __p3_373), __rev0_373, __p1_373); \
48068 __ret_281 = __builtin_shufflevector(__ret_281, __ret_281, 3, 2, 1, 0); \49424 __ret_373 = __builtin_shufflevector(__ret_373, __ret_373, 3, 2, 1, 0); \
48069 __ret_281; \49425 __ret_373; \
48070})49426})
48071#endif49427#endif
4807249428
48073#ifdef __LITTLE_ENDIAN__49429#ifdef __LITTLE_ENDIAN__
48074#define vcopy_lane_s8(__p0_282, __p1_282, __p2_282, __p3_282) __extension__ ({ \49430#define vcopy_lane_s8(__p0_374, __p1_374, __p2_374, __p3_374) __extension__ ({ \
48075 int8x8_t __s0_282 = __p0_282; \49431 int8x8_t __s0_374 = __p0_374; \
48076 int8x8_t __s2_282 = __p2_282; \49432 int8x8_t __s2_374 = __p2_374; \
48077 int8x8_t __ret_282; \49433 int8x8_t __ret_374; \
48078 __ret_282 = vset_lane_s8(vget_lane_s8(__s2_282, __p3_282), __s0_282, __p1_282); \49434 __ret_374 = vset_lane_s8(vget_lane_s8(__s2_374, __p3_374), __s0_374, __p1_374); \
48079 __ret_282; \49435 __ret_374; \
48080})49436})
48081#else49437#else
48082#define vcopy_lane_s8(__p0_283, __p1_283, __p2_283, __p3_283) __extension__ ({ \49438#define vcopy_lane_s8(__p0_375, __p1_375, __p2_375, __p3_375) __extension__ ({ \
48083 int8x8_t __s0_283 = __p0_283; \49439 int8x8_t __s0_375 = __p0_375; \
48084 int8x8_t __s2_283 = __p2_283; \49440 int8x8_t __s2_375 = __p2_375; \
48085 int8x8_t __rev0_283; __rev0_283 = __builtin_shufflevector(__s0_283, __s0_283, 7, 6, 5, 4, 3, 2, 1, 0); \49441 int8x8_t __rev0_375; __rev0_375 = __builtin_shufflevector(__s0_375, __s0_375, 7, 6, 5, 4, 3, 2, 1, 0); \
48086 int8x8_t __rev2_283; __rev2_283 = __builtin_shufflevector(__s2_283, __s2_283, 7, 6, 5, 4, 3, 2, 1, 0); \49442 int8x8_t __rev2_375; __rev2_375 = __builtin_shufflevector(__s2_375, __s2_375, 7, 6, 5, 4, 3, 2, 1, 0); \
48087 int8x8_t __ret_283; \49443 int8x8_t __ret_375; \
48088 __ret_283 = __noswap_vset_lane_s8(__noswap_vget_lane_s8(__rev2_283, __p3_283), __rev0_283, __p1_283); \49444 __ret_375 = __noswap_vset_lane_s8(__noswap_vget_lane_s8(__rev2_375, __p3_375), __rev0_375, __p1_375); \
48089 __ret_283 = __builtin_shufflevector(__ret_283, __ret_283, 7, 6, 5, 4, 3, 2, 1, 0); \49445 __ret_375 = __builtin_shufflevector(__ret_375, __ret_375, 7, 6, 5, 4, 3, 2, 1, 0); \
48090 __ret_283; \49446 __ret_375; \
48091})49447})
48092#endif49448#endif
4809349449
48094#ifdef __LITTLE_ENDIAN__49450#ifdef __LITTLE_ENDIAN__
48095#define vcopy_lane_f32(__p0_284, __p1_284, __p2_284, __p3_284) __extension__ ({ \49451#define vcopy_lane_f32(__p0_376, __p1_376, __p2_376, __p3_376) __extension__ ({ \
48096 float32x2_t __s0_284 = __p0_284; \49452 float32x2_t __s0_376 = __p0_376; \
48097 float32x2_t __s2_284 = __p2_284; \49453 float32x2_t __s2_376 = __p2_376; \
48098 float32x2_t __ret_284; \49454 float32x2_t __ret_376; \
48099 __ret_284 = vset_lane_f32(vget_lane_f32(__s2_284, __p3_284), __s0_284, __p1_284); \49455 __ret_376 = vset_lane_f32(vget_lane_f32(__s2_376, __p3_376), __s0_376, __p1_376); \
48100 __ret_284; \49456 __ret_376; \
48101})49457})
48102#else49458#else
48103#define vcopy_lane_f32(__p0_285, __p1_285, __p2_285, __p3_285) __extension__ ({ \49459#define vcopy_lane_f32(__p0_377, __p1_377, __p2_377, __p3_377) __extension__ ({ \
48104 float32x2_t __s0_285 = __p0_285; \49460 float32x2_t __s0_377 = __p0_377; \
48105 float32x2_t __s2_285 = __p2_285; \49461 float32x2_t __s2_377 = __p2_377; \
48106 float32x2_t __rev0_285; __rev0_285 = __builtin_shufflevector(__s0_285, __s0_285, 1, 0); \49462 float32x2_t __rev0_377; __rev0_377 = __builtin_shufflevector(__s0_377, __s0_377, 1, 0); \
48107 float32x2_t __rev2_285; __rev2_285 = __builtin_shufflevector(__s2_285, __s2_285, 1, 0); \49463 float32x2_t __rev2_377; __rev2_377 = __builtin_shufflevector(__s2_377, __s2_377, 1, 0); \
48108 float32x2_t __ret_285; \49464 float32x2_t __ret_377; \
48109 __ret_285 = __noswap_vset_lane_f32(__noswap_vget_lane_f32(__rev2_285, __p3_285), __rev0_285, __p1_285); \49465 __ret_377 = __noswap_vset_lane_f32(__noswap_vget_lane_f32(__rev2_377, __p3_377), __rev0_377, __p1_377); \
48110 __ret_285 = __builtin_shufflevector(__ret_285, __ret_285, 1, 0); \49466 __ret_377 = __builtin_shufflevector(__ret_377, __ret_377, 1, 0); \
48111 __ret_285; \49467 __ret_377; \
48112})49468})
48113#endif49469#endif
4811449470
48115#ifdef __LITTLE_ENDIAN__49471#ifdef __LITTLE_ENDIAN__
48116#define vcopy_lane_s32(__p0_286, __p1_286, __p2_286, __p3_286) __extension__ ({ \49472#define vcopy_lane_s32(__p0_378, __p1_378, __p2_378, __p3_378) __extension__ ({ \
48117 int32x2_t __s0_286 = __p0_286; \49473 int32x2_t __s0_378 = __p0_378; \
48118 int32x2_t __s2_286 = __p2_286; \49474 int32x2_t __s2_378 = __p2_378; \
48119 int32x2_t __ret_286; \49475 int32x2_t __ret_378; \
48120 __ret_286 = vset_lane_s32(vget_lane_s32(__s2_286, __p3_286), __s0_286, __p1_286); \49476 __ret_378 = vset_lane_s32(vget_lane_s32(__s2_378, __p3_378), __s0_378, __p1_378); \
48121 __ret_286; \49477 __ret_378; \
48122})49478})
48123#else49479#else
48124#define vcopy_lane_s32(__p0_287, __p1_287, __p2_287, __p3_287) __extension__ ({ \49480#define vcopy_lane_s32(__p0_379, __p1_379, __p2_379, __p3_379) __extension__ ({ \
48125 int32x2_t __s0_287 = __p0_287; \49481 int32x2_t __s0_379 = __p0_379; \
48126 int32x2_t __s2_287 = __p2_287; \49482 int32x2_t __s2_379 = __p2_379; \
48127 int32x2_t __rev0_287; __rev0_287 = __builtin_shufflevector(__s0_287, __s0_287, 1, 0); \49483 int32x2_t __rev0_379; __rev0_379 = __builtin_shufflevector(__s0_379, __s0_379, 1, 0); \
48128 int32x2_t __rev2_287; __rev2_287 = __builtin_shufflevector(__s2_287, __s2_287, 1, 0); \49484 int32x2_t __rev2_379; __rev2_379 = __builtin_shufflevector(__s2_379, __s2_379, 1, 0); \
48129 int32x2_t __ret_287; \49485 int32x2_t __ret_379; \
48130 __ret_287 = __noswap_vset_lane_s32(__noswap_vget_lane_s32(__rev2_287, __p3_287), __rev0_287, __p1_287); \49486 __ret_379 = __noswap_vset_lane_s32(__noswap_vget_lane_s32(__rev2_379, __p3_379), __rev0_379, __p1_379); \
48131 __ret_287 = __builtin_shufflevector(__ret_287, __ret_287, 1, 0); \49487 __ret_379 = __builtin_shufflevector(__ret_379, __ret_379, 1, 0); \
48132 __ret_287; \49488 __ret_379; \
48133})49489})
48134#endif49490#endif
4813549491
48136#define vcopy_lane_s64(__p0_288, __p1_288, __p2_288, __p3_288) __extension__ ({ \49492#define vcopy_lane_s64(__p0_380, __p1_380, __p2_380, __p3_380) __extension__ ({ \
48137 int64x1_t __s0_288 = __p0_288; \49493 int64x1_t __s0_380 = __p0_380; \
48138 int64x1_t __s2_288 = __p2_288; \49494 int64x1_t __s2_380 = __p2_380; \
48139 int64x1_t __ret_288; \49495 int64x1_t __ret_380; \
48140 __ret_288 = vset_lane_s64(vget_lane_s64(__s2_288, __p3_288), __s0_288, __p1_288); \49496 __ret_380 = vset_lane_s64(vget_lane_s64(__s2_380, __p3_380), __s0_380, __p1_380); \
48141 __ret_288; \49497 __ret_380; \
48142})49498})
48143#ifdef __LITTLE_ENDIAN__49499#ifdef __LITTLE_ENDIAN__
48144#define vcopy_lane_s16(__p0_289, __p1_289, __p2_289, __p3_289) __extension__ ({ \49500#define vcopy_lane_s16(__p0_381, __p1_381, __p2_381, __p3_381) __extension__ ({ \
48145 int16x4_t __s0_289 = __p0_289; \49501 int16x4_t __s0_381 = __p0_381; \
48146 int16x4_t __s2_289 = __p2_289; \49502 int16x4_t __s2_381 = __p2_381; \
48147 int16x4_t __ret_289; \49503 int16x4_t __ret_381; \
48148 __ret_289 = vset_lane_s16(vget_lane_s16(__s2_289, __p3_289), __s0_289, __p1_289); \49504 __ret_381 = vset_lane_s16(vget_lane_s16(__s2_381, __p3_381), __s0_381, __p1_381); \
48149 __ret_289; \49505 __ret_381; \
48150})49506})
48151#else49507#else
48152#define vcopy_lane_s16(__p0_290, __p1_290, __p2_290, __p3_290) __extension__ ({ \49508#define vcopy_lane_s16(__p0_382, __p1_382, __p2_382, __p3_382) __extension__ ({ \
48153 int16x4_t __s0_290 = __p0_290; \49509 int16x4_t __s0_382 = __p0_382; \
48154 int16x4_t __s2_290 = __p2_290; \49510 int16x4_t __s2_382 = __p2_382; \
48155 int16x4_t __rev0_290; __rev0_290 = __builtin_shufflevector(__s0_290, __s0_290, 3, 2, 1, 0); \49511 int16x4_t __rev0_382; __rev0_382 = __builtin_shufflevector(__s0_382, __s0_382, 3, 2, 1, 0); \
48156 int16x4_t __rev2_290; __rev2_290 = __builtin_shufflevector(__s2_290, __s2_290, 3, 2, 1, 0); \49512 int16x4_t __rev2_382; __rev2_382 = __builtin_shufflevector(__s2_382, __s2_382, 3, 2, 1, 0); \
48157 int16x4_t __ret_290; \49513 int16x4_t __ret_382; \
48158 __ret_290 = __noswap_vset_lane_s16(__noswap_vget_lane_s16(__rev2_290, __p3_290), __rev0_290, __p1_290); \49514 __ret_382 = __noswap_vset_lane_s16(__noswap_vget_lane_s16(__rev2_382, __p3_382), __rev0_382, __p1_382); \
48159 __ret_290 = __builtin_shufflevector(__ret_290, __ret_290, 3, 2, 1, 0); \49515 __ret_382 = __builtin_shufflevector(__ret_382, __ret_382, 3, 2, 1, 0); \
48160 __ret_290; \49516 __ret_382; \
48161})49517})
48162#endif49518#endif
4816349519
48164#ifdef __LITTLE_ENDIAN__49520#ifdef __LITTLE_ENDIAN__
48165#define vcopyq_laneq_p8(__p0_291, __p1_291, __p2_291, __p3_291) __extension__ ({ \49521#define vcopyq_laneq_p8(__p0_383, __p1_383, __p2_383, __p3_383) __extension__ ({ \
48166 poly8x16_t __s0_291 = __p0_291; \49522 poly8x16_t __s0_383 = __p0_383; \
48167 poly8x16_t __s2_291 = __p2_291; \49523 poly8x16_t __s2_383 = __p2_383; \
48168 poly8x16_t __ret_291; \49524 poly8x16_t __ret_383; \
48169 __ret_291 = vsetq_lane_p8(vgetq_lane_p8(__s2_291, __p3_291), __s0_291, __p1_291); \49525 __ret_383 = vsetq_lane_p8(vgetq_lane_p8(__s2_383, __p3_383), __s0_383, __p1_383); \
48170 __ret_291; \49526 __ret_383; \
48171})49527})
48172#else49528#else
48173#define vcopyq_laneq_p8(__p0_292, __p1_292, __p2_292, __p3_292) __extension__ ({ \49529#define vcopyq_laneq_p8(__p0_384, __p1_384, __p2_384, __p3_384) __extension__ ({ \
48174 poly8x16_t __s0_292 = __p0_292; \49530 poly8x16_t __s0_384 = __p0_384; \
48175 poly8x16_t __s2_292 = __p2_292; \49531 poly8x16_t __s2_384 = __p2_384; \
48176 poly8x16_t __rev0_292; __rev0_292 = __builtin_shufflevector(__s0_292, __s0_292, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49532 poly8x16_t __rev0_384; __rev0_384 = __builtin_shufflevector(__s0_384, __s0_384, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48177 poly8x16_t __rev2_292; __rev2_292 = __builtin_shufflevector(__s2_292, __s2_292, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49533 poly8x16_t __rev2_384; __rev2_384 = __builtin_shufflevector(__s2_384, __s2_384, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48178 poly8x16_t __ret_292; \49534 poly8x16_t __ret_384; \
48179 __ret_292 = __noswap_vsetq_lane_p8(__noswap_vgetq_lane_p8(__rev2_292, __p3_292), __rev0_292, __p1_292); \49535 __ret_384 = __noswap_vsetq_lane_p8(__noswap_vgetq_lane_p8(__rev2_384, __p3_384), __rev0_384, __p1_384); \
48180 __ret_292 = __builtin_shufflevector(__ret_292, __ret_292, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49536 __ret_384 = __builtin_shufflevector(__ret_384, __ret_384, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48181 __ret_292; \49537 __ret_384; \
48182})49538})
48183#endif49539#endif
4818449540
48185#ifdef __LITTLE_ENDIAN__49541#ifdef __LITTLE_ENDIAN__
48186#define vcopyq_laneq_p16(__p0_293, __p1_293, __p2_293, __p3_293) __extension__ ({ \49542#define vcopyq_laneq_p16(__p0_385, __p1_385, __p2_385, __p3_385) __extension__ ({ \
48187 poly16x8_t __s0_293 = __p0_293; \49543 poly16x8_t __s0_385 = __p0_385; \
48188 poly16x8_t __s2_293 = __p2_293; \49544 poly16x8_t __s2_385 = __p2_385; \
48189 poly16x8_t __ret_293; \49545 poly16x8_t __ret_385; \
48190 __ret_293 = vsetq_lane_p16(vgetq_lane_p16(__s2_293, __p3_293), __s0_293, __p1_293); \49546 __ret_385 = vsetq_lane_p16(vgetq_lane_p16(__s2_385, __p3_385), __s0_385, __p1_385); \
48191 __ret_293; \49547 __ret_385; \
48192})49548})
48193#else49549#else
48194#define vcopyq_laneq_p16(__p0_294, __p1_294, __p2_294, __p3_294) __extension__ ({ \49550#define vcopyq_laneq_p16(__p0_386, __p1_386, __p2_386, __p3_386) __extension__ ({ \
48195 poly16x8_t __s0_294 = __p0_294; \49551 poly16x8_t __s0_386 = __p0_386; \
48196 poly16x8_t __s2_294 = __p2_294; \49552 poly16x8_t __s2_386 = __p2_386; \
48197 poly16x8_t __rev0_294; __rev0_294 = __builtin_shufflevector(__s0_294, __s0_294, 7, 6, 5, 4, 3, 2, 1, 0); \49553 poly16x8_t __rev0_386; __rev0_386 = __builtin_shufflevector(__s0_386, __s0_386, 7, 6, 5, 4, 3, 2, 1, 0); \
48198 poly16x8_t __rev2_294; __rev2_294 = __builtin_shufflevector(__s2_294, __s2_294, 7, 6, 5, 4, 3, 2, 1, 0); \49554 poly16x8_t __rev2_386; __rev2_386 = __builtin_shufflevector(__s2_386, __s2_386, 7, 6, 5, 4, 3, 2, 1, 0); \
48199 poly16x8_t __ret_294; \49555 poly16x8_t __ret_386; \
48200 __ret_294 = __noswap_vsetq_lane_p16(__noswap_vgetq_lane_p16(__rev2_294, __p3_294), __rev0_294, __p1_294); \49556 __ret_386 = __noswap_vsetq_lane_p16(__noswap_vgetq_lane_p16(__rev2_386, __p3_386), __rev0_386, __p1_386); \
48201 __ret_294 = __builtin_shufflevector(__ret_294, __ret_294, 7, 6, 5, 4, 3, 2, 1, 0); \49557 __ret_386 = __builtin_shufflevector(__ret_386, __ret_386, 7, 6, 5, 4, 3, 2, 1, 0); \
48202 __ret_294; \49558 __ret_386; \
48203})49559})
48204#endif49560#endif
4820549561
48206#ifdef __LITTLE_ENDIAN__49562#ifdef __LITTLE_ENDIAN__
48207#define vcopyq_laneq_u8(__p0_295, __p1_295, __p2_295, __p3_295) __extension__ ({ \49563#define vcopyq_laneq_u8(__p0_387, __p1_387, __p2_387, __p3_387) __extension__ ({ \
48208 uint8x16_t __s0_295 = __p0_295; \49564 uint8x16_t __s0_387 = __p0_387; \
48209 uint8x16_t __s2_295 = __p2_295; \49565 uint8x16_t __s2_387 = __p2_387; \
48210 uint8x16_t __ret_295; \49566 uint8x16_t __ret_387; \
48211 __ret_295 = vsetq_lane_u8(vgetq_lane_u8(__s2_295, __p3_295), __s0_295, __p1_295); \49567 __ret_387 = vsetq_lane_u8(vgetq_lane_u8(__s2_387, __p3_387), __s0_387, __p1_387); \
48212 __ret_295; \49568 __ret_387; \
48213})49569})
48214#else49570#else
48215#define vcopyq_laneq_u8(__p0_296, __p1_296, __p2_296, __p3_296) __extension__ ({ \49571#define vcopyq_laneq_u8(__p0_388, __p1_388, __p2_388, __p3_388) __extension__ ({ \
48216 uint8x16_t __s0_296 = __p0_296; \49572 uint8x16_t __s0_388 = __p0_388; \
48217 uint8x16_t __s2_296 = __p2_296; \49573 uint8x16_t __s2_388 = __p2_388; \
48218 uint8x16_t __rev0_296; __rev0_296 = __builtin_shufflevector(__s0_296, __s0_296, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49574 uint8x16_t __rev0_388; __rev0_388 = __builtin_shufflevector(__s0_388, __s0_388, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48219 uint8x16_t __rev2_296; __rev2_296 = __builtin_shufflevector(__s2_296, __s2_296, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49575 uint8x16_t __rev2_388; __rev2_388 = __builtin_shufflevector(__s2_388, __s2_388, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48220 uint8x16_t __ret_296; \49576 uint8x16_t __ret_388; \
48221 __ret_296 = __noswap_vsetq_lane_u8(__noswap_vgetq_lane_u8(__rev2_296, __p3_296), __rev0_296, __p1_296); \49577 __ret_388 = __noswap_vsetq_lane_u8(__noswap_vgetq_lane_u8(__rev2_388, __p3_388), __rev0_388, __p1_388); \
48222 __ret_296 = __builtin_shufflevector(__ret_296, __ret_296, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49578 __ret_388 = __builtin_shufflevector(__ret_388, __ret_388, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48223 __ret_296; \49579 __ret_388; \
48224})49580})
48225#endif49581#endif
4822649582
48227#ifdef __LITTLE_ENDIAN__49583#ifdef __LITTLE_ENDIAN__
48228#define vcopyq_laneq_u32(__p0_297, __p1_297, __p2_297, __p3_297) __extension__ ({ \49584#define vcopyq_laneq_u32(__p0_389, __p1_389, __p2_389, __p3_389) __extension__ ({ \
48229 uint32x4_t __s0_297 = __p0_297; \49585 uint32x4_t __s0_389 = __p0_389; \
48230 uint32x4_t __s2_297 = __p2_297; \49586 uint32x4_t __s2_389 = __p2_389; \
48231 uint32x4_t __ret_297; \49587 uint32x4_t __ret_389; \
48232 __ret_297 = vsetq_lane_u32(vgetq_lane_u32(__s2_297, __p3_297), __s0_297, __p1_297); \49588 __ret_389 = vsetq_lane_u32(vgetq_lane_u32(__s2_389, __p3_389), __s0_389, __p1_389); \
48233 __ret_297; \49589 __ret_389; \
48234})49590})
48235#else49591#else
48236#define vcopyq_laneq_u32(__p0_298, __p1_298, __p2_298, __p3_298) __extension__ ({ \49592#define vcopyq_laneq_u32(__p0_390, __p1_390, __p2_390, __p3_390) __extension__ ({ \
48237 uint32x4_t __s0_298 = __p0_298; \49593 uint32x4_t __s0_390 = __p0_390; \
48238 uint32x4_t __s2_298 = __p2_298; \49594 uint32x4_t __s2_390 = __p2_390; \
48239 uint32x4_t __rev0_298; __rev0_298 = __builtin_shufflevector(__s0_298, __s0_298, 3, 2, 1, 0); \49595 uint32x4_t __rev0_390; __rev0_390 = __builtin_shufflevector(__s0_390, __s0_390, 3, 2, 1, 0); \
48240 uint32x4_t __rev2_298; __rev2_298 = __builtin_shufflevector(__s2_298, __s2_298, 3, 2, 1, 0); \49596 uint32x4_t __rev2_390; __rev2_390 = __builtin_shufflevector(__s2_390, __s2_390, 3, 2, 1, 0); \
48241 uint32x4_t __ret_298; \49597 uint32x4_t __ret_390; \
48242 __ret_298 = __noswap_vsetq_lane_u32(__noswap_vgetq_lane_u32(__rev2_298, __p3_298), __rev0_298, __p1_298); \49598 __ret_390 = __noswap_vsetq_lane_u32(__noswap_vgetq_lane_u32(__rev2_390, __p3_390), __rev0_390, __p1_390); \
48243 __ret_298 = __builtin_shufflevector(__ret_298, __ret_298, 3, 2, 1, 0); \49599 __ret_390 = __builtin_shufflevector(__ret_390, __ret_390, 3, 2, 1, 0); \
48244 __ret_298; \49600 __ret_390; \
48245})49601})
48246#endif49602#endif
4824749603
48248#ifdef __LITTLE_ENDIAN__49604#ifdef __LITTLE_ENDIAN__
48249#define vcopyq_laneq_u64(__p0_299, __p1_299, __p2_299, __p3_299) __extension__ ({ \49605#define vcopyq_laneq_u64(__p0_391, __p1_391, __p2_391, __p3_391) __extension__ ({ \
48250 uint64x2_t __s0_299 = __p0_299; \49606 uint64x2_t __s0_391 = __p0_391; \
48251 uint64x2_t __s2_299 = __p2_299; \49607 uint64x2_t __s2_391 = __p2_391; \
48252 uint64x2_t __ret_299; \49608 uint64x2_t __ret_391; \
48253 __ret_299 = vsetq_lane_u64(vgetq_lane_u64(__s2_299, __p3_299), __s0_299, __p1_299); \49609 __ret_391 = vsetq_lane_u64(vgetq_lane_u64(__s2_391, __p3_391), __s0_391, __p1_391); \
48254 __ret_299; \49610 __ret_391; \
48255})49611})
48256#else49612#else
48257#define vcopyq_laneq_u64(__p0_300, __p1_300, __p2_300, __p3_300) __extension__ ({ \49613#define vcopyq_laneq_u64(__p0_392, __p1_392, __p2_392, __p3_392) __extension__ ({ \
48258 uint64x2_t __s0_300 = __p0_300; \49614 uint64x2_t __s0_392 = __p0_392; \
48259 uint64x2_t __s2_300 = __p2_300; \49615 uint64x2_t __s2_392 = __p2_392; \
48260 uint64x2_t __rev0_300; __rev0_300 = __builtin_shufflevector(__s0_300, __s0_300, 1, 0); \49616 uint64x2_t __rev0_392; __rev0_392 = __builtin_shufflevector(__s0_392, __s0_392, 1, 0); \
48261 uint64x2_t __rev2_300; __rev2_300 = __builtin_shufflevector(__s2_300, __s2_300, 1, 0); \49617 uint64x2_t __rev2_392; __rev2_392 = __builtin_shufflevector(__s2_392, __s2_392, 1, 0); \
48262 uint64x2_t __ret_300; \49618 uint64x2_t __ret_392; \
48263 __ret_300 = __noswap_vsetq_lane_u64(__noswap_vgetq_lane_u64(__rev2_300, __p3_300), __rev0_300, __p1_300); \49619 __ret_392 = __noswap_vsetq_lane_u64(__noswap_vgetq_lane_u64(__rev2_392, __p3_392), __rev0_392, __p1_392); \
48264 __ret_300 = __builtin_shufflevector(__ret_300, __ret_300, 1, 0); \49620 __ret_392 = __builtin_shufflevector(__ret_392, __ret_392, 1, 0); \
48265 __ret_300; \49621 __ret_392; \
48266})49622})
48267#endif49623#endif
4826849624
48269#ifdef __LITTLE_ENDIAN__49625#ifdef __LITTLE_ENDIAN__
48270#define vcopyq_laneq_u16(__p0_301, __p1_301, __p2_301, __p3_301) __extension__ ({ \49626#define vcopyq_laneq_u16(__p0_393, __p1_393, __p2_393, __p3_393) __extension__ ({ \
48271 uint16x8_t __s0_301 = __p0_301; \49627 uint16x8_t __s0_393 = __p0_393; \
48272 uint16x8_t __s2_301 = __p2_301; \49628 uint16x8_t __s2_393 = __p2_393; \
48273 uint16x8_t __ret_301; \49629 uint16x8_t __ret_393; \
48274 __ret_301 = vsetq_lane_u16(vgetq_lane_u16(__s2_301, __p3_301), __s0_301, __p1_301); \49630 __ret_393 = vsetq_lane_u16(vgetq_lane_u16(__s2_393, __p3_393), __s0_393, __p1_393); \
48275 __ret_301; \49631 __ret_393; \
48276})49632})
48277#else49633#else
48278#define vcopyq_laneq_u16(__p0_302, __p1_302, __p2_302, __p3_302) __extension__ ({ \49634#define vcopyq_laneq_u16(__p0_394, __p1_394, __p2_394, __p3_394) __extension__ ({ \
48279 uint16x8_t __s0_302 = __p0_302; \49635 uint16x8_t __s0_394 = __p0_394; \
48280 uint16x8_t __s2_302 = __p2_302; \49636 uint16x8_t __s2_394 = __p2_394; \
48281 uint16x8_t __rev0_302; __rev0_302 = __builtin_shufflevector(__s0_302, __s0_302, 7, 6, 5, 4, 3, 2, 1, 0); \49637 uint16x8_t __rev0_394; __rev0_394 = __builtin_shufflevector(__s0_394, __s0_394, 7, 6, 5, 4, 3, 2, 1, 0); \
48282 uint16x8_t __rev2_302; __rev2_302 = __builtin_shufflevector(__s2_302, __s2_302, 7, 6, 5, 4, 3, 2, 1, 0); \49638 uint16x8_t __rev2_394; __rev2_394 = __builtin_shufflevector(__s2_394, __s2_394, 7, 6, 5, 4, 3, 2, 1, 0); \
48283 uint16x8_t __ret_302; \49639 uint16x8_t __ret_394; \
48284 __ret_302 = __noswap_vsetq_lane_u16(__noswap_vgetq_lane_u16(__rev2_302, __p3_302), __rev0_302, __p1_302); \49640 __ret_394 = __noswap_vsetq_lane_u16(__noswap_vgetq_lane_u16(__rev2_394, __p3_394), __rev0_394, __p1_394); \
48285 __ret_302 = __builtin_shufflevector(__ret_302, __ret_302, 7, 6, 5, 4, 3, 2, 1, 0); \49641 __ret_394 = __builtin_shufflevector(__ret_394, __ret_394, 7, 6, 5, 4, 3, 2, 1, 0); \
48286 __ret_302; \49642 __ret_394; \
48287})49643})
48288#endif49644#endif
4828949645
48290#ifdef __LITTLE_ENDIAN__49646#ifdef __LITTLE_ENDIAN__
48291#define vcopyq_laneq_s8(__p0_303, __p1_303, __p2_303, __p3_303) __extension__ ({ \49647#define vcopyq_laneq_s8(__p0_395, __p1_395, __p2_395, __p3_395) __extension__ ({ \
48292 int8x16_t __s0_303 = __p0_303; \49648 int8x16_t __s0_395 = __p0_395; \
48293 int8x16_t __s2_303 = __p2_303; \49649 int8x16_t __s2_395 = __p2_395; \
48294 int8x16_t __ret_303; \49650 int8x16_t __ret_395; \
48295 __ret_303 = vsetq_lane_s8(vgetq_lane_s8(__s2_303, __p3_303), __s0_303, __p1_303); \49651 __ret_395 = vsetq_lane_s8(vgetq_lane_s8(__s2_395, __p3_395), __s0_395, __p1_395); \
48296 __ret_303; \49652 __ret_395; \
48297})49653})
48298#else49654#else
48299#define vcopyq_laneq_s8(__p0_304, __p1_304, __p2_304, __p3_304) __extension__ ({ \49655#define vcopyq_laneq_s8(__p0_396, __p1_396, __p2_396, __p3_396) __extension__ ({ \
48300 int8x16_t __s0_304 = __p0_304; \49656 int8x16_t __s0_396 = __p0_396; \
48301 int8x16_t __s2_304 = __p2_304; \49657 int8x16_t __s2_396 = __p2_396; \
48302 int8x16_t __rev0_304; __rev0_304 = __builtin_shufflevector(__s0_304, __s0_304, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49658 int8x16_t __rev0_396; __rev0_396 = __builtin_shufflevector(__s0_396, __s0_396, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48303 int8x16_t __rev2_304; __rev2_304 = __builtin_shufflevector(__s2_304, __s2_304, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49659 int8x16_t __rev2_396; __rev2_396 = __builtin_shufflevector(__s2_396, __s2_396, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48304 int8x16_t __ret_304; \49660 int8x16_t __ret_396; \
48305 __ret_304 = __noswap_vsetq_lane_s8(__noswap_vgetq_lane_s8(__rev2_304, __p3_304), __rev0_304, __p1_304); \49661 __ret_396 = __noswap_vsetq_lane_s8(__noswap_vgetq_lane_s8(__rev2_396, __p3_396), __rev0_396, __p1_396); \
48306 __ret_304 = __builtin_shufflevector(__ret_304, __ret_304, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49662 __ret_396 = __builtin_shufflevector(__ret_396, __ret_396, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48307 __ret_304; \49663 __ret_396; \
48308})49664})
48309#endif49665#endif
4831049666
48311#ifdef __LITTLE_ENDIAN__49667#ifdef __LITTLE_ENDIAN__
48312#define vcopyq_laneq_f32(__p0_305, __p1_305, __p2_305, __p3_305) __extension__ ({ \49668#define vcopyq_laneq_f32(__p0_397, __p1_397, __p2_397, __p3_397) __extension__ ({ \
48313 float32x4_t __s0_305 = __p0_305; \49669 float32x4_t __s0_397 = __p0_397; \
48314 float32x4_t __s2_305 = __p2_305; \49670 float32x4_t __s2_397 = __p2_397; \
48315 float32x4_t __ret_305; \49671 float32x4_t __ret_397; \
48316 __ret_305 = vsetq_lane_f32(vgetq_lane_f32(__s2_305, __p3_305), __s0_305, __p1_305); \49672 __ret_397 = vsetq_lane_f32(vgetq_lane_f32(__s2_397, __p3_397), __s0_397, __p1_397); \
48317 __ret_305; \49673 __ret_397; \
48318})49674})
48319#else49675#else
48320#define vcopyq_laneq_f32(__p0_306, __p1_306, __p2_306, __p3_306) __extension__ ({ \49676#define vcopyq_laneq_f32(__p0_398, __p1_398, __p2_398, __p3_398) __extension__ ({ \
48321 float32x4_t __s0_306 = __p0_306; \49677 float32x4_t __s0_398 = __p0_398; \
48322 float32x4_t __s2_306 = __p2_306; \49678 float32x4_t __s2_398 = __p2_398; \
48323 float32x4_t __rev0_306; __rev0_306 = __builtin_shufflevector(__s0_306, __s0_306, 3, 2, 1, 0); \49679 float32x4_t __rev0_398; __rev0_398 = __builtin_shufflevector(__s0_398, __s0_398, 3, 2, 1, 0); \
48324 float32x4_t __rev2_306; __rev2_306 = __builtin_shufflevector(__s2_306, __s2_306, 3, 2, 1, 0); \49680 float32x4_t __rev2_398; __rev2_398 = __builtin_shufflevector(__s2_398, __s2_398, 3, 2, 1, 0); \
48325 float32x4_t __ret_306; \49681 float32x4_t __ret_398; \
48326 __ret_306 = __noswap_vsetq_lane_f32(__noswap_vgetq_lane_f32(__rev2_306, __p3_306), __rev0_306, __p1_306); \49682 __ret_398 = __noswap_vsetq_lane_f32(__noswap_vgetq_lane_f32(__rev2_398, __p3_398), __rev0_398, __p1_398); \
48327 __ret_306 = __builtin_shufflevector(__ret_306, __ret_306, 3, 2, 1, 0); \49683 __ret_398 = __builtin_shufflevector(__ret_398, __ret_398, 3, 2, 1, 0); \
48328 __ret_306; \49684 __ret_398; \
48329})49685})
48330#endif49686#endif
4833149687
48332#ifdef __LITTLE_ENDIAN__49688#ifdef __LITTLE_ENDIAN__
48333#define vcopyq_laneq_s32(__p0_307, __p1_307, __p2_307, __p3_307) __extension__ ({ \49689#define vcopyq_laneq_s32(__p0_399, __p1_399, __p2_399, __p3_399) __extension__ ({ \
48334 int32x4_t __s0_307 = __p0_307; \49690 int32x4_t __s0_399 = __p0_399; \
48335 int32x4_t __s2_307 = __p2_307; \49691 int32x4_t __s2_399 = __p2_399; \
48336 int32x4_t __ret_307; \49692 int32x4_t __ret_399; \
48337 __ret_307 = vsetq_lane_s32(vgetq_lane_s32(__s2_307, __p3_307), __s0_307, __p1_307); \49693 __ret_399 = vsetq_lane_s32(vgetq_lane_s32(__s2_399, __p3_399), __s0_399, __p1_399); \
48338 __ret_307; \49694 __ret_399; \
48339})49695})
48340#else49696#else
48341#define vcopyq_laneq_s32(__p0_308, __p1_308, __p2_308, __p3_308) __extension__ ({ \49697#define vcopyq_laneq_s32(__p0_400, __p1_400, __p2_400, __p3_400) __extension__ ({ \
48342 int32x4_t __s0_308 = __p0_308; \49698 int32x4_t __s0_400 = __p0_400; \
48343 int32x4_t __s2_308 = __p2_308; \49699 int32x4_t __s2_400 = __p2_400; \
48344 int32x4_t __rev0_308; __rev0_308 = __builtin_shufflevector(__s0_308, __s0_308, 3, 2, 1, 0); \49700 int32x4_t __rev0_400; __rev0_400 = __builtin_shufflevector(__s0_400, __s0_400, 3, 2, 1, 0); \
48345 int32x4_t __rev2_308; __rev2_308 = __builtin_shufflevector(__s2_308, __s2_308, 3, 2, 1, 0); \49701 int32x4_t __rev2_400; __rev2_400 = __builtin_shufflevector(__s2_400, __s2_400, 3, 2, 1, 0); \
48346 int32x4_t __ret_308; \49702 int32x4_t __ret_400; \
48347 __ret_308 = __noswap_vsetq_lane_s32(__noswap_vgetq_lane_s32(__rev2_308, __p3_308), __rev0_308, __p1_308); \49703 __ret_400 = __noswap_vsetq_lane_s32(__noswap_vgetq_lane_s32(__rev2_400, __p3_400), __rev0_400, __p1_400); \
48348 __ret_308 = __builtin_shufflevector(__ret_308, __ret_308, 3, 2, 1, 0); \49704 __ret_400 = __builtin_shufflevector(__ret_400, __ret_400, 3, 2, 1, 0); \
48349 __ret_308; \49705 __ret_400; \
48350})49706})
48351#endif49707#endif
4835249708
48353#ifdef __LITTLE_ENDIAN__49709#ifdef __LITTLE_ENDIAN__
48354#define vcopyq_laneq_s64(__p0_309, __p1_309, __p2_309, __p3_309) __extension__ ({ \49710#define vcopyq_laneq_s64(__p0_401, __p1_401, __p2_401, __p3_401) __extension__ ({ \
48355 int64x2_t __s0_309 = __p0_309; \49711 int64x2_t __s0_401 = __p0_401; \
48356 int64x2_t __s2_309 = __p2_309; \49712 int64x2_t __s2_401 = __p2_401; \
48357 int64x2_t __ret_309; \49713 int64x2_t __ret_401; \
48358 __ret_309 = vsetq_lane_s64(vgetq_lane_s64(__s2_309, __p3_309), __s0_309, __p1_309); \49714 __ret_401 = vsetq_lane_s64(vgetq_lane_s64(__s2_401, __p3_401), __s0_401, __p1_401); \
48359 __ret_309; \49715 __ret_401; \
48360})49716})
48361#else49717#else
48362#define vcopyq_laneq_s64(__p0_310, __p1_310, __p2_310, __p3_310) __extension__ ({ \49718#define vcopyq_laneq_s64(__p0_402, __p1_402, __p2_402, __p3_402) __extension__ ({ \
48363 int64x2_t __s0_310 = __p0_310; \49719 int64x2_t __s0_402 = __p0_402; \
48364 int64x2_t __s2_310 = __p2_310; \49720 int64x2_t __s2_402 = __p2_402; \
48365 int64x2_t __rev0_310; __rev0_310 = __builtin_shufflevector(__s0_310, __s0_310, 1, 0); \49721 int64x2_t __rev0_402; __rev0_402 = __builtin_shufflevector(__s0_402, __s0_402, 1, 0); \
48366 int64x2_t __rev2_310; __rev2_310 = __builtin_shufflevector(__s2_310, __s2_310, 1, 0); \49722 int64x2_t __rev2_402; __rev2_402 = __builtin_shufflevector(__s2_402, __s2_402, 1, 0); \
48367 int64x2_t __ret_310; \49723 int64x2_t __ret_402; \
48368 __ret_310 = __noswap_vsetq_lane_s64(__noswap_vgetq_lane_s64(__rev2_310, __p3_310), __rev0_310, __p1_310); \49724 __ret_402 = __noswap_vsetq_lane_s64(__noswap_vgetq_lane_s64(__rev2_402, __p3_402), __rev0_402, __p1_402); \
48369 __ret_310 = __builtin_shufflevector(__ret_310, __ret_310, 1, 0); \49725 __ret_402 = __builtin_shufflevector(__ret_402, __ret_402, 1, 0); \
48370 __ret_310; \49726 __ret_402; \
48371})49727})
48372#endif49728#endif
4837349729
48374#ifdef __LITTLE_ENDIAN__49730#ifdef __LITTLE_ENDIAN__
48375#define vcopyq_laneq_s16(__p0_311, __p1_311, __p2_311, __p3_311) __extension__ ({ \49731#define vcopyq_laneq_s16(__p0_403, __p1_403, __p2_403, __p3_403) __extension__ ({ \
48376 int16x8_t __s0_311 = __p0_311; \49732 int16x8_t __s0_403 = __p0_403; \
48377 int16x8_t __s2_311 = __p2_311; \49733 int16x8_t __s2_403 = __p2_403; \
48378 int16x8_t __ret_311; \49734 int16x8_t __ret_403; \
48379 __ret_311 = vsetq_lane_s16(vgetq_lane_s16(__s2_311, __p3_311), __s0_311, __p1_311); \49735 __ret_403 = vsetq_lane_s16(vgetq_lane_s16(__s2_403, __p3_403), __s0_403, __p1_403); \
48380 __ret_311; \49736 __ret_403; \
48381})49737})
48382#else49738#else
48383#define vcopyq_laneq_s16(__p0_312, __p1_312, __p2_312, __p3_312) __extension__ ({ \49739#define vcopyq_laneq_s16(__p0_404, __p1_404, __p2_404, __p3_404) __extension__ ({ \
48384 int16x8_t __s0_312 = __p0_312; \49740 int16x8_t __s0_404 = __p0_404; \
48385 int16x8_t __s2_312 = __p2_312; \49741 int16x8_t __s2_404 = __p2_404; \
48386 int16x8_t __rev0_312; __rev0_312 = __builtin_shufflevector(__s0_312, __s0_312, 7, 6, 5, 4, 3, 2, 1, 0); \49742 int16x8_t __rev0_404; __rev0_404 = __builtin_shufflevector(__s0_404, __s0_404, 7, 6, 5, 4, 3, 2, 1, 0); \
48387 int16x8_t __rev2_312; __rev2_312 = __builtin_shufflevector(__s2_312, __s2_312, 7, 6, 5, 4, 3, 2, 1, 0); \49743 int16x8_t __rev2_404; __rev2_404 = __builtin_shufflevector(__s2_404, __s2_404, 7, 6, 5, 4, 3, 2, 1, 0); \
48388 int16x8_t __ret_312; \49744 int16x8_t __ret_404; \
48389 __ret_312 = __noswap_vsetq_lane_s16(__noswap_vgetq_lane_s16(__rev2_312, __p3_312), __rev0_312, __p1_312); \49745 __ret_404 = __noswap_vsetq_lane_s16(__noswap_vgetq_lane_s16(__rev2_404, __p3_404), __rev0_404, __p1_404); \
48390 __ret_312 = __builtin_shufflevector(__ret_312, __ret_312, 7, 6, 5, 4, 3, 2, 1, 0); \49746 __ret_404 = __builtin_shufflevector(__ret_404, __ret_404, 7, 6, 5, 4, 3, 2, 1, 0); \
48391 __ret_312; \49747 __ret_404; \
48392})49748})
48393#endif49749#endif
4839449750
48395#ifdef __LITTLE_ENDIAN__49751#ifdef __LITTLE_ENDIAN__
48396#define vcopy_laneq_p8(__p0_313, __p1_313, __p2_313, __p3_313) __extension__ ({ \49752#define vcopy_laneq_p8(__p0_405, __p1_405, __p2_405, __p3_405) __extension__ ({ \
48397 poly8x8_t __s0_313 = __p0_313; \49753 poly8x8_t __s0_405 = __p0_405; \
48398 poly8x16_t __s2_313 = __p2_313; \49754 poly8x16_t __s2_405 = __p2_405; \
48399 poly8x8_t __ret_313; \49755 poly8x8_t __ret_405; \
48400 __ret_313 = vset_lane_p8(vgetq_lane_p8(__s2_313, __p3_313), __s0_313, __p1_313); \49756 __ret_405 = vset_lane_p8(vgetq_lane_p8(__s2_405, __p3_405), __s0_405, __p1_405); \
48401 __ret_313; \49757 __ret_405; \
48402})49758})
48403#else49759#else
48404#define vcopy_laneq_p8(__p0_314, __p1_314, __p2_314, __p3_314) __extension__ ({ \49760#define vcopy_laneq_p8(__p0_406, __p1_406, __p2_406, __p3_406) __extension__ ({ \
48405 poly8x8_t __s0_314 = __p0_314; \49761 poly8x8_t __s0_406 = __p0_406; \
48406 poly8x16_t __s2_314 = __p2_314; \49762 poly8x16_t __s2_406 = __p2_406; \
48407 poly8x8_t __rev0_314; __rev0_314 = __builtin_shufflevector(__s0_314, __s0_314, 7, 6, 5, 4, 3, 2, 1, 0); \49763 poly8x8_t __rev0_406; __rev0_406 = __builtin_shufflevector(__s0_406, __s0_406, 7, 6, 5, 4, 3, 2, 1, 0); \
48408 poly8x16_t __rev2_314; __rev2_314 = __builtin_shufflevector(__s2_314, __s2_314, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49764 poly8x16_t __rev2_406; __rev2_406 = __builtin_shufflevector(__s2_406, __s2_406, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48409 poly8x8_t __ret_314; \49765 poly8x8_t __ret_406; \
48410 __ret_314 = __noswap_vset_lane_p8(__noswap_vgetq_lane_p8(__rev2_314, __p3_314), __rev0_314, __p1_314); \49766 __ret_406 = __noswap_vset_lane_p8(__noswap_vgetq_lane_p8(__rev2_406, __p3_406), __rev0_406, __p1_406); \
48411 __ret_314 = __builtin_shufflevector(__ret_314, __ret_314, 7, 6, 5, 4, 3, 2, 1, 0); \49767 __ret_406 = __builtin_shufflevector(__ret_406, __ret_406, 7, 6, 5, 4, 3, 2, 1, 0); \
48412 __ret_314; \49768 __ret_406; \
48413})49769})
48414#endif49770#endif
4841549771
48416#ifdef __LITTLE_ENDIAN__49772#ifdef __LITTLE_ENDIAN__
48417#define vcopy_laneq_p16(__p0_315, __p1_315, __p2_315, __p3_315) __extension__ ({ \49773#define vcopy_laneq_p16(__p0_407, __p1_407, __p2_407, __p3_407) __extension__ ({ \
48418 poly16x4_t __s0_315 = __p0_315; \49774 poly16x4_t __s0_407 = __p0_407; \
48419 poly16x8_t __s2_315 = __p2_315; \49775 poly16x8_t __s2_407 = __p2_407; \
48420 poly16x4_t __ret_315; \49776 poly16x4_t __ret_407; \
48421 __ret_315 = vset_lane_p16(vgetq_lane_p16(__s2_315, __p3_315), __s0_315, __p1_315); \49777 __ret_407 = vset_lane_p16(vgetq_lane_p16(__s2_407, __p3_407), __s0_407, __p1_407); \
48422 __ret_315; \49778 __ret_407; \
48423})49779})
48424#else49780#else
48425#define vcopy_laneq_p16(__p0_316, __p1_316, __p2_316, __p3_316) __extension__ ({ \49781#define vcopy_laneq_p16(__p0_408, __p1_408, __p2_408, __p3_408) __extension__ ({ \
48426 poly16x4_t __s0_316 = __p0_316; \49782 poly16x4_t __s0_408 = __p0_408; \
48427 poly16x8_t __s2_316 = __p2_316; \49783 poly16x8_t __s2_408 = __p2_408; \
48428 poly16x4_t __rev0_316; __rev0_316 = __builtin_shufflevector(__s0_316, __s0_316, 3, 2, 1, 0); \49784 poly16x4_t __rev0_408; __rev0_408 = __builtin_shufflevector(__s0_408, __s0_408, 3, 2, 1, 0); \
48429 poly16x8_t __rev2_316; __rev2_316 = __builtin_shufflevector(__s2_316, __s2_316, 7, 6, 5, 4, 3, 2, 1, 0); \49785 poly16x8_t __rev2_408; __rev2_408 = __builtin_shufflevector(__s2_408, __s2_408, 7, 6, 5, 4, 3, 2, 1, 0); \
48430 poly16x4_t __ret_316; \49786 poly16x4_t __ret_408; \
48431 __ret_316 = __noswap_vset_lane_p16(__noswap_vgetq_lane_p16(__rev2_316, __p3_316), __rev0_316, __p1_316); \49787 __ret_408 = __noswap_vset_lane_p16(__noswap_vgetq_lane_p16(__rev2_408, __p3_408), __rev0_408, __p1_408); \
48432 __ret_316 = __builtin_shufflevector(__ret_316, __ret_316, 3, 2, 1, 0); \49788 __ret_408 = __builtin_shufflevector(__ret_408, __ret_408, 3, 2, 1, 0); \
48433 __ret_316; \49789 __ret_408; \
48434})49790})
48435#endif49791#endif
4843649792
48437#ifdef __LITTLE_ENDIAN__49793#ifdef __LITTLE_ENDIAN__
48438#define vcopy_laneq_u8(__p0_317, __p1_317, __p2_317, __p3_317) __extension__ ({ \49794#define vcopy_laneq_u8(__p0_409, __p1_409, __p2_409, __p3_409) __extension__ ({ \
48439 uint8x8_t __s0_317 = __p0_317; \49795 uint8x8_t __s0_409 = __p0_409; \
48440 uint8x16_t __s2_317 = __p2_317; \49796 uint8x16_t __s2_409 = __p2_409; \
48441 uint8x8_t __ret_317; \49797 uint8x8_t __ret_409; \
48442 __ret_317 = vset_lane_u8(vgetq_lane_u8(__s2_317, __p3_317), __s0_317, __p1_317); \49798 __ret_409 = vset_lane_u8(vgetq_lane_u8(__s2_409, __p3_409), __s0_409, __p1_409); \
48443 __ret_317; \49799 __ret_409; \
48444})49800})
48445#else49801#else
48446#define vcopy_laneq_u8(__p0_318, __p1_318, __p2_318, __p3_318) __extension__ ({ \49802#define vcopy_laneq_u8(__p0_410, __p1_410, __p2_410, __p3_410) __extension__ ({ \
48447 uint8x8_t __s0_318 = __p0_318; \49803 uint8x8_t __s0_410 = __p0_410; \
48448 uint8x16_t __s2_318 = __p2_318; \49804 uint8x16_t __s2_410 = __p2_410; \
48449 uint8x8_t __rev0_318; __rev0_318 = __builtin_shufflevector(__s0_318, __s0_318, 7, 6, 5, 4, 3, 2, 1, 0); \49805 uint8x8_t __rev0_410; __rev0_410 = __builtin_shufflevector(__s0_410, __s0_410, 7, 6, 5, 4, 3, 2, 1, 0); \
48450 uint8x16_t __rev2_318; __rev2_318 = __builtin_shufflevector(__s2_318, __s2_318, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49806 uint8x16_t __rev2_410; __rev2_410 = __builtin_shufflevector(__s2_410, __s2_410, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48451 uint8x8_t __ret_318; \49807 uint8x8_t __ret_410; \
48452 __ret_318 = __noswap_vset_lane_u8(__noswap_vgetq_lane_u8(__rev2_318, __p3_318), __rev0_318, __p1_318); \49808 __ret_410 = __noswap_vset_lane_u8(__noswap_vgetq_lane_u8(__rev2_410, __p3_410), __rev0_410, __p1_410); \
48453 __ret_318 = __builtin_shufflevector(__ret_318, __ret_318, 7, 6, 5, 4, 3, 2, 1, 0); \49809 __ret_410 = __builtin_shufflevector(__ret_410, __ret_410, 7, 6, 5, 4, 3, 2, 1, 0); \
48454 __ret_318; \49810 __ret_410; \
48455})49811})
48456#endif49812#endif
4845749813
48458#ifdef __LITTLE_ENDIAN__49814#ifdef __LITTLE_ENDIAN__
48459#define vcopy_laneq_u32(__p0_319, __p1_319, __p2_319, __p3_319) __extension__ ({ \49815#define vcopy_laneq_u32(__p0_411, __p1_411, __p2_411, __p3_411) __extension__ ({ \
48460 uint32x2_t __s0_319 = __p0_319; \49816 uint32x2_t __s0_411 = __p0_411; \
48461 uint32x4_t __s2_319 = __p2_319; \49817 uint32x4_t __s2_411 = __p2_411; \
48462 uint32x2_t __ret_319; \49818 uint32x2_t __ret_411; \
48463 __ret_319 = vset_lane_u32(vgetq_lane_u32(__s2_319, __p3_319), __s0_319, __p1_319); \49819 __ret_411 = vset_lane_u32(vgetq_lane_u32(__s2_411, __p3_411), __s0_411, __p1_411); \
48464 __ret_319; \49820 __ret_411; \
48465})49821})
48466#else49822#else
48467#define vcopy_laneq_u32(__p0_320, __p1_320, __p2_320, __p3_320) __extension__ ({ \49823#define vcopy_laneq_u32(__p0_412, __p1_412, __p2_412, __p3_412) __extension__ ({ \
48468 uint32x2_t __s0_320 = __p0_320; \49824 uint32x2_t __s0_412 = __p0_412; \
48469 uint32x4_t __s2_320 = __p2_320; \49825 uint32x4_t __s2_412 = __p2_412; \
48470 uint32x2_t __rev0_320; __rev0_320 = __builtin_shufflevector(__s0_320, __s0_320, 1, 0); \49826 uint32x2_t __rev0_412; __rev0_412 = __builtin_shufflevector(__s0_412, __s0_412, 1, 0); \
48471 uint32x4_t __rev2_320; __rev2_320 = __builtin_shufflevector(__s2_320, __s2_320, 3, 2, 1, 0); \49827 uint32x4_t __rev2_412; __rev2_412 = __builtin_shufflevector(__s2_412, __s2_412, 3, 2, 1, 0); \
48472 uint32x2_t __ret_320; \49828 uint32x2_t __ret_412; \
48473 __ret_320 = __noswap_vset_lane_u32(__noswap_vgetq_lane_u32(__rev2_320, __p3_320), __rev0_320, __p1_320); \49829 __ret_412 = __noswap_vset_lane_u32(__noswap_vgetq_lane_u32(__rev2_412, __p3_412), __rev0_412, __p1_412); \
48474 __ret_320 = __builtin_shufflevector(__ret_320, __ret_320, 1, 0); \49830 __ret_412 = __builtin_shufflevector(__ret_412, __ret_412, 1, 0); \
48475 __ret_320; \49831 __ret_412; \
48476})49832})
48477#endif49833#endif
4847849834
48479#ifdef __LITTLE_ENDIAN__49835#ifdef __LITTLE_ENDIAN__
48480#define vcopy_laneq_u64(__p0_321, __p1_321, __p2_321, __p3_321) __extension__ ({ \49836#define vcopy_laneq_u64(__p0_413, __p1_413, __p2_413, __p3_413) __extension__ ({ \
48481 uint64x1_t __s0_321 = __p0_321; \49837 uint64x1_t __s0_413 = __p0_413; \
48482 uint64x2_t __s2_321 = __p2_321; \49838 uint64x2_t __s2_413 = __p2_413; \
48483 uint64x1_t __ret_321; \49839 uint64x1_t __ret_413; \
48484 __ret_321 = vset_lane_u64(vgetq_lane_u64(__s2_321, __p3_321), __s0_321, __p1_321); \49840 __ret_413 = vset_lane_u64(vgetq_lane_u64(__s2_413, __p3_413), __s0_413, __p1_413); \
48485 __ret_321; \49841 __ret_413; \
48486})49842})
48487#else49843#else
48488#define vcopy_laneq_u64(__p0_322, __p1_322, __p2_322, __p3_322) __extension__ ({ \49844#define vcopy_laneq_u64(__p0_414, __p1_414, __p2_414, __p3_414) __extension__ ({ \
48489 uint64x1_t __s0_322 = __p0_322; \49845 uint64x1_t __s0_414 = __p0_414; \
48490 uint64x2_t __s2_322 = __p2_322; \49846 uint64x2_t __s2_414 = __p2_414; \
48491 uint64x2_t __rev2_322; __rev2_322 = __builtin_shufflevector(__s2_322, __s2_322, 1, 0); \49847 uint64x2_t __rev2_414; __rev2_414 = __builtin_shufflevector(__s2_414, __s2_414, 1, 0); \
48492 uint64x1_t __ret_322; \49848 uint64x1_t __ret_414; \
48493 __ret_322 = vset_lane_u64(__noswap_vgetq_lane_u64(__rev2_322, __p3_322), __s0_322, __p1_322); \49849 __ret_414 = vset_lane_u64(__noswap_vgetq_lane_u64(__rev2_414, __p3_414), __s0_414, __p1_414); \
48494 __ret_322; \49850 __ret_414; \
48495})49851})
48496#endif49852#endif
4849749853
48498#ifdef __LITTLE_ENDIAN__49854#ifdef __LITTLE_ENDIAN__
48499#define vcopy_laneq_u16(__p0_323, __p1_323, __p2_323, __p3_323) __extension__ ({ \49855#define vcopy_laneq_u16(__p0_415, __p1_415, __p2_415, __p3_415) __extension__ ({ \
48500 uint16x4_t __s0_323 = __p0_323; \49856 uint16x4_t __s0_415 = __p0_415; \
48501 uint16x8_t __s2_323 = __p2_323; \49857 uint16x8_t __s2_415 = __p2_415; \
48502 uint16x4_t __ret_323; \49858 uint16x4_t __ret_415; \
48503 __ret_323 = vset_lane_u16(vgetq_lane_u16(__s2_323, __p3_323), __s0_323, __p1_323); \49859 __ret_415 = vset_lane_u16(vgetq_lane_u16(__s2_415, __p3_415), __s0_415, __p1_415); \
48504 __ret_323; \49860 __ret_415; \
48505})49861})
48506#else49862#else
48507#define vcopy_laneq_u16(__p0_324, __p1_324, __p2_324, __p3_324) __extension__ ({ \49863#define vcopy_laneq_u16(__p0_416, __p1_416, __p2_416, __p3_416) __extension__ ({ \
48508 uint16x4_t __s0_324 = __p0_324; \49864 uint16x4_t __s0_416 = __p0_416; \
48509 uint16x8_t __s2_324 = __p2_324; \49865 uint16x8_t __s2_416 = __p2_416; \
48510 uint16x4_t __rev0_324; __rev0_324 = __builtin_shufflevector(__s0_324, __s0_324, 3, 2, 1, 0); \49866 uint16x4_t __rev0_416; __rev0_416 = __builtin_shufflevector(__s0_416, __s0_416, 3, 2, 1, 0); \
48511 uint16x8_t __rev2_324; __rev2_324 = __builtin_shufflevector(__s2_324, __s2_324, 7, 6, 5, 4, 3, 2, 1, 0); \49867 uint16x8_t __rev2_416; __rev2_416 = __builtin_shufflevector(__s2_416, __s2_416, 7, 6, 5, 4, 3, 2, 1, 0); \
48512 uint16x4_t __ret_324; \49868 uint16x4_t __ret_416; \
48513 __ret_324 = __noswap_vset_lane_u16(__noswap_vgetq_lane_u16(__rev2_324, __p3_324), __rev0_324, __p1_324); \49869 __ret_416 = __noswap_vset_lane_u16(__noswap_vgetq_lane_u16(__rev2_416, __p3_416), __rev0_416, __p1_416); \
48514 __ret_324 = __builtin_shufflevector(__ret_324, __ret_324, 3, 2, 1, 0); \49870 __ret_416 = __builtin_shufflevector(__ret_416, __ret_416, 3, 2, 1, 0); \
48515 __ret_324; \49871 __ret_416; \
48516})49872})
48517#endif49873#endif
4851849874
48519#ifdef __LITTLE_ENDIAN__49875#ifdef __LITTLE_ENDIAN__
48520#define vcopy_laneq_s8(__p0_325, __p1_325, __p2_325, __p3_325) __extension__ ({ \49876#define vcopy_laneq_s8(__p0_417, __p1_417, __p2_417, __p3_417) __extension__ ({ \
48521 int8x8_t __s0_325 = __p0_325; \49877 int8x8_t __s0_417 = __p0_417; \
48522 int8x16_t __s2_325 = __p2_325; \49878 int8x16_t __s2_417 = __p2_417; \
48523 int8x8_t __ret_325; \49879 int8x8_t __ret_417; \
48524 __ret_325 = vset_lane_s8(vgetq_lane_s8(__s2_325, __p3_325), __s0_325, __p1_325); \49880 __ret_417 = vset_lane_s8(vgetq_lane_s8(__s2_417, __p3_417), __s0_417, __p1_417); \
48525 __ret_325; \49881 __ret_417; \
48526})49882})
48527#else49883#else
48528#define vcopy_laneq_s8(__p0_326, __p1_326, __p2_326, __p3_326) __extension__ ({ \49884#define vcopy_laneq_s8(__p0_418, __p1_418, __p2_418, __p3_418) __extension__ ({ \
48529 int8x8_t __s0_326 = __p0_326; \49885 int8x8_t __s0_418 = __p0_418; \
48530 int8x16_t __s2_326 = __p2_326; \49886 int8x16_t __s2_418 = __p2_418; \
48531 int8x8_t __rev0_326; __rev0_326 = __builtin_shufflevector(__s0_326, __s0_326, 7, 6, 5, 4, 3, 2, 1, 0); \49887 int8x8_t __rev0_418; __rev0_418 = __builtin_shufflevector(__s0_418, __s0_418, 7, 6, 5, 4, 3, 2, 1, 0); \
48532 int8x16_t __rev2_326; __rev2_326 = __builtin_shufflevector(__s2_326, __s2_326, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \49888 int8x16_t __rev2_418; __rev2_418 = __builtin_shufflevector(__s2_418, __s2_418, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
48533 int8x8_t __ret_326; \49889 int8x8_t __ret_418; \
48534 __ret_326 = __noswap_vset_lane_s8(__noswap_vgetq_lane_s8(__rev2_326, __p3_326), __rev0_326, __p1_326); \49890 __ret_418 = __noswap_vset_lane_s8(__noswap_vgetq_lane_s8(__rev2_418, __p3_418), __rev0_418, __p1_418); \
48535 __ret_326 = __builtin_shufflevector(__ret_326, __ret_326, 7, 6, 5, 4, 3, 2, 1, 0); \49891 __ret_418 = __builtin_shufflevector(__ret_418, __ret_418, 7, 6, 5, 4, 3, 2, 1, 0); \
48536 __ret_326; \49892 __ret_418; \
48537})49893})
48538#endif49894#endif
4853949895
48540#ifdef __LITTLE_ENDIAN__49896#ifdef __LITTLE_ENDIAN__
48541#define vcopy_laneq_f32(__p0_327, __p1_327, __p2_327, __p3_327) __extension__ ({ \49897#define vcopy_laneq_f32(__p0_419, __p1_419, __p2_419, __p3_419) __extension__ ({ \
48542 float32x2_t __s0_327 = __p0_327; \49898 float32x2_t __s0_419 = __p0_419; \
48543 float32x4_t __s2_327 = __p2_327; \49899 float32x4_t __s2_419 = __p2_419; \
48544 float32x2_t __ret_327; \49900 float32x2_t __ret_419; \
48545 __ret_327 = vset_lane_f32(vgetq_lane_f32(__s2_327, __p3_327), __s0_327, __p1_327); \49901 __ret_419 = vset_lane_f32(vgetq_lane_f32(__s2_419, __p3_419), __s0_419, __p1_419); \
48546 __ret_327; \49902 __ret_419; \
48547})49903})
48548#else49904#else
48549#define vcopy_laneq_f32(__p0_328, __p1_328, __p2_328, __p3_328) __extension__ ({ \49905#define vcopy_laneq_f32(__p0_420, __p1_420, __p2_420, __p3_420) __extension__ ({ \
48550 float32x2_t __s0_328 = __p0_328; \49906 float32x2_t __s0_420 = __p0_420; \
48551 float32x4_t __s2_328 = __p2_328; \49907 float32x4_t __s2_420 = __p2_420; \
48552 float32x2_t __rev0_328; __rev0_328 = __builtin_shufflevector(__s0_328, __s0_328, 1, 0); \49908 float32x2_t __rev0_420; __rev0_420 = __builtin_shufflevector(__s0_420, __s0_420, 1, 0); \
48553 float32x4_t __rev2_328; __rev2_328 = __builtin_shufflevector(__s2_328, __s2_328, 3, 2, 1, 0); \49909 float32x4_t __rev2_420; __rev2_420 = __builtin_shufflevector(__s2_420, __s2_420, 3, 2, 1, 0); \
48554 float32x2_t __ret_328; \49910 float32x2_t __ret_420; \
48555 __ret_328 = __noswap_vset_lane_f32(__noswap_vgetq_lane_f32(__rev2_328, __p3_328), __rev0_328, __p1_328); \49911 __ret_420 = __noswap_vset_lane_f32(__noswap_vgetq_lane_f32(__rev2_420, __p3_420), __rev0_420, __p1_420); \
48556 __ret_328 = __builtin_shufflevector(__ret_328, __ret_328, 1, 0); \49912 __ret_420 = __builtin_shufflevector(__ret_420, __ret_420, 1, 0); \
48557 __ret_328; \49913 __ret_420; \
48558})49914})
48559#endif49915#endif
4856049916
48561#ifdef __LITTLE_ENDIAN__49917#ifdef __LITTLE_ENDIAN__
48562#define vcopy_laneq_s32(__p0_329, __p1_329, __p2_329, __p3_329) __extension__ ({ \49918#define vcopy_laneq_s32(__p0_421, __p1_421, __p2_421, __p3_421) __extension__ ({ \
48563 int32x2_t __s0_329 = __p0_329; \49919 int32x2_t __s0_421 = __p0_421; \
48564 int32x4_t __s2_329 = __p2_329; \49920 int32x4_t __s2_421 = __p2_421; \
48565 int32x2_t __ret_329; \49921 int32x2_t __ret_421; \
48566 __ret_329 = vset_lane_s32(vgetq_lane_s32(__s2_329, __p3_329), __s0_329, __p1_329); \49922 __ret_421 = vset_lane_s32(vgetq_lane_s32(__s2_421, __p3_421), __s0_421, __p1_421); \
48567 __ret_329; \49923 __ret_421; \
48568})49924})
48569#else49925#else
48570#define vcopy_laneq_s32(__p0_330, __p1_330, __p2_330, __p3_330) __extension__ ({ \49926#define vcopy_laneq_s32(__p0_422, __p1_422, __p2_422, __p3_422) __extension__ ({ \
48571 int32x2_t __s0_330 = __p0_330; \49927 int32x2_t __s0_422 = __p0_422; \
48572 int32x4_t __s2_330 = __p2_330; \49928 int32x4_t __s2_422 = __p2_422; \
48573 int32x2_t __rev0_330; __rev0_330 = __builtin_shufflevector(__s0_330, __s0_330, 1, 0); \49929 int32x2_t __rev0_422; __rev0_422 = __builtin_shufflevector(__s0_422, __s0_422, 1, 0); \
48574 int32x4_t __rev2_330; __rev2_330 = __builtin_shufflevector(__s2_330, __s2_330, 3, 2, 1, 0); \49930 int32x4_t __rev2_422; __rev2_422 = __builtin_shufflevector(__s2_422, __s2_422, 3, 2, 1, 0); \
48575 int32x2_t __ret_330; \49931 int32x2_t __ret_422; \
48576 __ret_330 = __noswap_vset_lane_s32(__noswap_vgetq_lane_s32(__rev2_330, __p3_330), __rev0_330, __p1_330); \49932 __ret_422 = __noswap_vset_lane_s32(__noswap_vgetq_lane_s32(__rev2_422, __p3_422), __rev0_422, __p1_422); \
48577 __ret_330 = __builtin_shufflevector(__ret_330, __ret_330, 1, 0); \49933 __ret_422 = __builtin_shufflevector(__ret_422, __ret_422, 1, 0); \
48578 __ret_330; \49934 __ret_422; \
48579})49935})
48580#endif49936#endif
4858149937
48582#ifdef __LITTLE_ENDIAN__49938#ifdef __LITTLE_ENDIAN__
48583#define vcopy_laneq_s64(__p0_331, __p1_331, __p2_331, __p3_331) __extension__ ({ \49939#define vcopy_laneq_s64(__p0_423, __p1_423, __p2_423, __p3_423) __extension__ ({ \
48584 int64x1_t __s0_331 = __p0_331; \49940 int64x1_t __s0_423 = __p0_423; \
48585 int64x2_t __s2_331 = __p2_331; \49941 int64x2_t __s2_423 = __p2_423; \
48586 int64x1_t __ret_331; \49942 int64x1_t __ret_423; \
48587 __ret_331 = vset_lane_s64(vgetq_lane_s64(__s2_331, __p3_331), __s0_331, __p1_331); \49943 __ret_423 = vset_lane_s64(vgetq_lane_s64(__s2_423, __p3_423), __s0_423, __p1_423); \
48588 __ret_331; \49944 __ret_423; \
48589})49945})
48590#else49946#else
48591#define vcopy_laneq_s64(__p0_332, __p1_332, __p2_332, __p3_332) __extension__ ({ \49947#define vcopy_laneq_s64(__p0_424, __p1_424, __p2_424, __p3_424) __extension__ ({ \
48592 int64x1_t __s0_332 = __p0_332; \49948 int64x1_t __s0_424 = __p0_424; \
48593 int64x2_t __s2_332 = __p2_332; \49949 int64x2_t __s2_424 = __p2_424; \
48594 int64x2_t __rev2_332; __rev2_332 = __builtin_shufflevector(__s2_332, __s2_332, 1, 0); \49950 int64x2_t __rev2_424; __rev2_424 = __builtin_shufflevector(__s2_424, __s2_424, 1, 0); \
48595 int64x1_t __ret_332; \49951 int64x1_t __ret_424; \
48596 __ret_332 = vset_lane_s64(__noswap_vgetq_lane_s64(__rev2_332, __p3_332), __s0_332, __p1_332); \49952 __ret_424 = vset_lane_s64(__noswap_vgetq_lane_s64(__rev2_424, __p3_424), __s0_424, __p1_424); \
48597 __ret_332; \49953 __ret_424; \
48598})49954})
48599#endif49955#endif
4860049956
48601#ifdef __LITTLE_ENDIAN__49957#ifdef __LITTLE_ENDIAN__
48602#define vcopy_laneq_s16(__p0_333, __p1_333, __p2_333, __p3_333) __extension__ ({ \49958#define vcopy_laneq_s16(__p0_425, __p1_425, __p2_425, __p3_425) __extension__ ({ \
48603 int16x4_t __s0_333 = __p0_333; \49959 int16x4_t __s0_425 = __p0_425; \
48604 int16x8_t __s2_333 = __p2_333; \49960 int16x8_t __s2_425 = __p2_425; \
48605 int16x4_t __ret_333; \49961 int16x4_t __ret_425; \
48606 __ret_333 = vset_lane_s16(vgetq_lane_s16(__s2_333, __p3_333), __s0_333, __p1_333); \49962 __ret_425 = vset_lane_s16(vgetq_lane_s16(__s2_425, __p3_425), __s0_425, __p1_425); \
48607 __ret_333; \49963 __ret_425; \
48608})49964})
48609#else49965#else
48610#define vcopy_laneq_s16(__p0_334, __p1_334, __p2_334, __p3_334) __extension__ ({ \49966#define vcopy_laneq_s16(__p0_426, __p1_426, __p2_426, __p3_426) __extension__ ({ \
48611 int16x4_t __s0_334 = __p0_334; \49967 int16x4_t __s0_426 = __p0_426; \
48612 int16x8_t __s2_334 = __p2_334; \49968 int16x8_t __s2_426 = __p2_426; \
48613 int16x4_t __rev0_334; __rev0_334 = __builtin_shufflevector(__s0_334, __s0_334, 3, 2, 1, 0); \49969 int16x4_t __rev0_426; __rev0_426 = __builtin_shufflevector(__s0_426, __s0_426, 3, 2, 1, 0); \
48614 int16x8_t __rev2_334; __rev2_334 = __builtin_shufflevector(__s2_334, __s2_334, 7, 6, 5, 4, 3, 2, 1, 0); \49970 int16x8_t __rev2_426; __rev2_426 = __builtin_shufflevector(__s2_426, __s2_426, 7, 6, 5, 4, 3, 2, 1, 0); \
48615 int16x4_t __ret_334; \49971 int16x4_t __ret_426; \
48616 __ret_334 = __noswap_vset_lane_s16(__noswap_vgetq_lane_s16(__rev2_334, __p3_334), __rev0_334, __p1_334); \49972 __ret_426 = __noswap_vset_lane_s16(__noswap_vgetq_lane_s16(__rev2_426, __p3_426), __rev0_426, __p1_426); \
48617 __ret_334 = __builtin_shufflevector(__ret_334, __ret_334, 3, 2, 1, 0); \49973 __ret_426 = __builtin_shufflevector(__ret_426, __ret_426, 3, 2, 1, 0); \
48618 __ret_334; \49974 __ret_426; \
48619})49975})
48620#endif49976#endif
4862149977
...@@ -49357,85 +50713,85 @@ __ai float32x2_t vdiv_f32(float32x2_t __p0, float32x2_t __p1) {...@@ -49357,85 +50713,85 @@ __ai float32x2_t vdiv_f32(float32x2_t __p0, float32x2_t __p1) {
49357})50713})
49358#endif50714#endif
4935950715
49360#define vdup_lane_p64(__p0_335, __p1_335) __extension__ ({ \50716#define vdup_lane_p64(__p0_427, __p1_427) __extension__ ({ \
49361 poly64x1_t __s0_335 = __p0_335; \50717 poly64x1_t __s0_427 = __p0_427; \
49362 poly64x1_t __ret_335; \50718 poly64x1_t __ret_427; \
49363 __ret_335 = splat_lane_p64(__s0_335, __p1_335); \50719 __ret_427 = splat_lane_p64(__s0_427, __p1_427); \
49364 __ret_335; \50720 __ret_427; \
49365})50721})
49366#ifdef __LITTLE_ENDIAN__50722#ifdef __LITTLE_ENDIAN__
49367#define vdupq_lane_p64(__p0_336, __p1_336) __extension__ ({ \50723#define vdupq_lane_p64(__p0_428, __p1_428) __extension__ ({ \
49368 poly64x1_t __s0_336 = __p0_336; \50724 poly64x1_t __s0_428 = __p0_428; \
49369 poly64x2_t __ret_336; \50725 poly64x2_t __ret_428; \
49370 __ret_336 = splatq_lane_p64(__s0_336, __p1_336); \50726 __ret_428 = splatq_lane_p64(__s0_428, __p1_428); \
49371 __ret_336; \50727 __ret_428; \
49372})50728})
49373#else50729#else
49374#define vdupq_lane_p64(__p0_337, __p1_337) __extension__ ({ \50730#define vdupq_lane_p64(__p0_429, __p1_429) __extension__ ({ \
49375 poly64x1_t __s0_337 = __p0_337; \50731 poly64x1_t __s0_429 = __p0_429; \
49376 poly64x2_t __ret_337; \50732 poly64x2_t __ret_429; \
49377 __ret_337 = __noswap_splatq_lane_p64(__s0_337, __p1_337); \50733 __ret_429 = __noswap_splatq_lane_p64(__s0_429, __p1_429); \
49378 __ret_337 = __builtin_shufflevector(__ret_337, __ret_337, 1, 0); \50734 __ret_429 = __builtin_shufflevector(__ret_429, __ret_429, 1, 0); \
49379 __ret_337; \50735 __ret_429; \
49380})50736})
49381#endif50737#endif
4938250738
49383#ifdef __LITTLE_ENDIAN__50739#ifdef __LITTLE_ENDIAN__
49384#define vdupq_lane_f64(__p0_338, __p1_338) __extension__ ({ \50740#define vdupq_lane_f64(__p0_430, __p1_430) __extension__ ({ \
49385 float64x1_t __s0_338 = __p0_338; \50741 float64x1_t __s0_430 = __p0_430; \
49386 float64x2_t __ret_338; \50742 float64x2_t __ret_430; \
49387 __ret_338 = splatq_lane_f64(__s0_338, __p1_338); \50743 __ret_430 = splatq_lane_f64(__s0_430, __p1_430); \
49388 __ret_338; \50744 __ret_430; \
49389})50745})
49390#else50746#else
49391#define vdupq_lane_f64(__p0_339, __p1_339) __extension__ ({ \50747#define vdupq_lane_f64(__p0_431, __p1_431) __extension__ ({ \
49392 float64x1_t __s0_339 = __p0_339; \50748 float64x1_t __s0_431 = __p0_431; \
49393 float64x2_t __ret_339; \50749 float64x2_t __ret_431; \
49394 __ret_339 = __noswap_splatq_lane_f64(__s0_339, __p1_339); \50750 __ret_431 = __noswap_splatq_lane_f64(__s0_431, __p1_431); \
49395 __ret_339 = __builtin_shufflevector(__ret_339, __ret_339, 1, 0); \50751 __ret_431 = __builtin_shufflevector(__ret_431, __ret_431, 1, 0); \
49396 __ret_339; \50752 __ret_431; \
49397})50753})
49398#endif50754#endif
4939950755
49400#ifdef __LITTLE_ENDIAN__50756#ifdef __LITTLE_ENDIAN__
49401#define vdupq_lane_f16(__p0_340, __p1_340) __extension__ ({ \50757#define vdupq_lane_f16(__p0_432, __p1_432) __extension__ ({ \
49402 float16x4_t __s0_340 = __p0_340; \50758 float16x4_t __s0_432 = __p0_432; \
49403 float16x8_t __ret_340; \50759 float16x8_t __ret_432; \
49404 __ret_340 = splatq_lane_f16(__s0_340, __p1_340); \50760 __ret_432 = splatq_lane_f16(__s0_432, __p1_432); \
49405 __ret_340; \50761 __ret_432; \
49406})50762})
49407#else50763#else
49408#define vdupq_lane_f16(__p0_341, __p1_341) __extension__ ({ \50764#define vdupq_lane_f16(__p0_433, __p1_433) __extension__ ({ \
49409 float16x4_t __s0_341 = __p0_341; \50765 float16x4_t __s0_433 = __p0_433; \
49410 float16x4_t __rev0_341; __rev0_341 = __builtin_shufflevector(__s0_341, __s0_341, 3, 2, 1, 0); \50766 float16x4_t __rev0_433; __rev0_433 = __builtin_shufflevector(__s0_433, __s0_433, 3, 2, 1, 0); \
49411 float16x8_t __ret_341; \50767 float16x8_t __ret_433; \
49412 __ret_341 = __noswap_splatq_lane_f16(__rev0_341, __p1_341); \50768 __ret_433 = __noswap_splatq_lane_f16(__rev0_433, __p1_433); \
49413 __ret_341 = __builtin_shufflevector(__ret_341, __ret_341, 7, 6, 5, 4, 3, 2, 1, 0); \50769 __ret_433 = __builtin_shufflevector(__ret_433, __ret_433, 7, 6, 5, 4, 3, 2, 1, 0); \
49414 __ret_341; \50770 __ret_433; \
49415})50771})
49416#endif50772#endif
4941750773
49418#define vdup_lane_f64(__p0_342, __p1_342) __extension__ ({ \50774#define vdup_lane_f64(__p0_434, __p1_434) __extension__ ({ \
49419 float64x1_t __s0_342 = __p0_342; \50775 float64x1_t __s0_434 = __p0_434; \
49420 float64x1_t __ret_342; \50776 float64x1_t __ret_434; \
49421 __ret_342 = splat_lane_f64(__s0_342, __p1_342); \50777 __ret_434 = splat_lane_f64(__s0_434, __p1_434); \
49422 __ret_342; \50778 __ret_434; \
49423})50779})
49424#ifdef __LITTLE_ENDIAN__50780#ifdef __LITTLE_ENDIAN__
49425#define vdup_lane_f16(__p0_343, __p1_343) __extension__ ({ \50781#define vdup_lane_f16(__p0_435, __p1_435) __extension__ ({ \
49426 float16x4_t __s0_343 = __p0_343; \50782 float16x4_t __s0_435 = __p0_435; \
49427 float16x4_t __ret_343; \50783 float16x4_t __ret_435; \
49428 __ret_343 = splat_lane_f16(__s0_343, __p1_343); \50784 __ret_435 = splat_lane_f16(__s0_435, __p1_435); \
49429 __ret_343; \50785 __ret_435; \
49430})50786})
49431#else50787#else
49432#define vdup_lane_f16(__p0_344, __p1_344) __extension__ ({ \50788#define vdup_lane_f16(__p0_436, __p1_436) __extension__ ({ \
49433 float16x4_t __s0_344 = __p0_344; \50789 float16x4_t __s0_436 = __p0_436; \
49434 float16x4_t __rev0_344; __rev0_344 = __builtin_shufflevector(__s0_344, __s0_344, 3, 2, 1, 0); \50790 float16x4_t __rev0_436; __rev0_436 = __builtin_shufflevector(__s0_436, __s0_436, 3, 2, 1, 0); \
49435 float16x4_t __ret_344; \50791 float16x4_t __ret_436; \
49436 __ret_344 = __noswap_splat_lane_f16(__rev0_344, __p1_344); \50792 __ret_436 = __noswap_splat_lane_f16(__rev0_436, __p1_436); \
49437 __ret_344 = __builtin_shufflevector(__ret_344, __ret_344, 3, 2, 1, 0); \50793 __ret_436 = __builtin_shufflevector(__ret_436, __ret_436, 3, 2, 1, 0); \
49438 __ret_344; \50794 __ret_436; \
49439})50795})
49440#endif50796#endif
4944150797
...@@ -49644,502 +51000,502 @@ __ai float32x2_t vdiv_f32(float32x2_t __p0, float32x2_t __p1) {...@@ -49644,502 +51000,502 @@ __ai float32x2_t vdiv_f32(float32x2_t __p0, float32x2_t __p1) {
49644#endif51000#endif
4964551001
49646#ifdef __LITTLE_ENDIAN__51002#ifdef __LITTLE_ENDIAN__
49647#define vdup_laneq_p8(__p0_345, __p1_345) __extension__ ({ \51003#define vdup_laneq_p8(__p0_437, __p1_437) __extension__ ({ \
49648 poly8x16_t __s0_345 = __p0_345; \51004 poly8x16_t __s0_437 = __p0_437; \
49649 poly8x8_t __ret_345; \51005 poly8x8_t __ret_437; \
49650 __ret_345 = splat_laneq_p8(__s0_345, __p1_345); \51006 __ret_437 = splat_laneq_p8(__s0_437, __p1_437); \
49651 __ret_345; \51007 __ret_437; \
49652})51008})
49653#else51009#else
49654#define vdup_laneq_p8(__p0_346, __p1_346) __extension__ ({ \51010#define vdup_laneq_p8(__p0_438, __p1_438) __extension__ ({ \
49655 poly8x16_t __s0_346 = __p0_346; \51011 poly8x16_t __s0_438 = __p0_438; \
49656 poly8x16_t __rev0_346; __rev0_346 = __builtin_shufflevector(__s0_346, __s0_346, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51012 poly8x16_t __rev0_438; __rev0_438 = __builtin_shufflevector(__s0_438, __s0_438, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49657 poly8x8_t __ret_346; \51013 poly8x8_t __ret_438; \
49658 __ret_346 = __noswap_splat_laneq_p8(__rev0_346, __p1_346); \51014 __ret_438 = __noswap_splat_laneq_p8(__rev0_438, __p1_438); \
49659 __ret_346 = __builtin_shufflevector(__ret_346, __ret_346, 7, 6, 5, 4, 3, 2, 1, 0); \51015 __ret_438 = __builtin_shufflevector(__ret_438, __ret_438, 7, 6, 5, 4, 3, 2, 1, 0); \
49660 __ret_346; \51016 __ret_438; \
49661})51017})
49662#endif51018#endif
4966351019
49664#ifdef __LITTLE_ENDIAN__51020#ifdef __LITTLE_ENDIAN__
49665#define vdup_laneq_p64(__p0_347, __p1_347) __extension__ ({ \51021#define vdup_laneq_p64(__p0_439, __p1_439) __extension__ ({ \
49666 poly64x2_t __s0_347 = __p0_347; \51022 poly64x2_t __s0_439 = __p0_439; \
49667 poly64x1_t __ret_347; \51023 poly64x1_t __ret_439; \
49668 __ret_347 = splat_laneq_p64(__s0_347, __p1_347); \51024 __ret_439 = splat_laneq_p64(__s0_439, __p1_439); \
49669 __ret_347; \51025 __ret_439; \
49670})51026})
49671#else51027#else
49672#define vdup_laneq_p64(__p0_348, __p1_348) __extension__ ({ \51028#define vdup_laneq_p64(__p0_440, __p1_440) __extension__ ({ \
49673 poly64x2_t __s0_348 = __p0_348; \51029 poly64x2_t __s0_440 = __p0_440; \
49674 poly64x2_t __rev0_348; __rev0_348 = __builtin_shufflevector(__s0_348, __s0_348, 1, 0); \51030 poly64x2_t __rev0_440; __rev0_440 = __builtin_shufflevector(__s0_440, __s0_440, 1, 0); \
49675 poly64x1_t __ret_348; \51031 poly64x1_t __ret_440; \
49676 __ret_348 = __noswap_splat_laneq_p64(__rev0_348, __p1_348); \51032 __ret_440 = __noswap_splat_laneq_p64(__rev0_440, __p1_440); \
49677 __ret_348; \51033 __ret_440; \
49678})51034})
49679#endif51035#endif
4968051036
49681#ifdef __LITTLE_ENDIAN__51037#ifdef __LITTLE_ENDIAN__
49682#define vdup_laneq_p16(__p0_349, __p1_349) __extension__ ({ \51038#define vdup_laneq_p16(__p0_441, __p1_441) __extension__ ({ \
49683 poly16x8_t __s0_349 = __p0_349; \51039 poly16x8_t __s0_441 = __p0_441; \
49684 poly16x4_t __ret_349; \51040 poly16x4_t __ret_441; \
49685 __ret_349 = splat_laneq_p16(__s0_349, __p1_349); \51041 __ret_441 = splat_laneq_p16(__s0_441, __p1_441); \
49686 __ret_349; \51042 __ret_441; \
49687})51043})
49688#else51044#else
49689#define vdup_laneq_p16(__p0_350, __p1_350) __extension__ ({ \51045#define vdup_laneq_p16(__p0_442, __p1_442) __extension__ ({ \
49690 poly16x8_t __s0_350 = __p0_350; \51046 poly16x8_t __s0_442 = __p0_442; \
49691 poly16x8_t __rev0_350; __rev0_350 = __builtin_shufflevector(__s0_350, __s0_350, 7, 6, 5, 4, 3, 2, 1, 0); \51047 poly16x8_t __rev0_442; __rev0_442 = __builtin_shufflevector(__s0_442, __s0_442, 7, 6, 5, 4, 3, 2, 1, 0); \
49692 poly16x4_t __ret_350; \51048 poly16x4_t __ret_442; \
49693 __ret_350 = __noswap_splat_laneq_p16(__rev0_350, __p1_350); \51049 __ret_442 = __noswap_splat_laneq_p16(__rev0_442, __p1_442); \
49694 __ret_350 = __builtin_shufflevector(__ret_350, __ret_350, 3, 2, 1, 0); \51050 __ret_442 = __builtin_shufflevector(__ret_442, __ret_442, 3, 2, 1, 0); \
49695 __ret_350; \51051 __ret_442; \
49696})51052})
49697#endif51053#endif
4969851054
49699#ifdef __LITTLE_ENDIAN__51055#ifdef __LITTLE_ENDIAN__
49700#define vdupq_laneq_p8(__p0_351, __p1_351) __extension__ ({ \51056#define vdupq_laneq_p8(__p0_443, __p1_443) __extension__ ({ \
49701 poly8x16_t __s0_351 = __p0_351; \51057 poly8x16_t __s0_443 = __p0_443; \
49702 poly8x16_t __ret_351; \51058 poly8x16_t __ret_443; \
49703 __ret_351 = splatq_laneq_p8(__s0_351, __p1_351); \51059 __ret_443 = splatq_laneq_p8(__s0_443, __p1_443); \
49704 __ret_351; \51060 __ret_443; \
49705})51061})
49706#else51062#else
49707#define vdupq_laneq_p8(__p0_352, __p1_352) __extension__ ({ \51063#define vdupq_laneq_p8(__p0_444, __p1_444) __extension__ ({ \
49708 poly8x16_t __s0_352 = __p0_352; \51064 poly8x16_t __s0_444 = __p0_444; \
49709 poly8x16_t __rev0_352; __rev0_352 = __builtin_shufflevector(__s0_352, __s0_352, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51065 poly8x16_t __rev0_444; __rev0_444 = __builtin_shufflevector(__s0_444, __s0_444, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49710 poly8x16_t __ret_352; \51066 poly8x16_t __ret_444; \
49711 __ret_352 = __noswap_splatq_laneq_p8(__rev0_352, __p1_352); \51067 __ret_444 = __noswap_splatq_laneq_p8(__rev0_444, __p1_444); \
49712 __ret_352 = __builtin_shufflevector(__ret_352, __ret_352, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51068 __ret_444 = __builtin_shufflevector(__ret_444, __ret_444, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49713 __ret_352; \51069 __ret_444; \
49714})51070})
49715#endif51071#endif
4971651072
49717#ifdef __LITTLE_ENDIAN__51073#ifdef __LITTLE_ENDIAN__
49718#define vdupq_laneq_p64(__p0_353, __p1_353) __extension__ ({ \51074#define vdupq_laneq_p64(__p0_445, __p1_445) __extension__ ({ \
49719 poly64x2_t __s0_353 = __p0_353; \51075 poly64x2_t __s0_445 = __p0_445; \
49720 poly64x2_t __ret_353; \51076 poly64x2_t __ret_445; \
49721 __ret_353 = splatq_laneq_p64(__s0_353, __p1_353); \51077 __ret_445 = splatq_laneq_p64(__s0_445, __p1_445); \
49722 __ret_353; \51078 __ret_445; \
49723})51079})
49724#else51080#else
49725#define vdupq_laneq_p64(__p0_354, __p1_354) __extension__ ({ \51081#define vdupq_laneq_p64(__p0_446, __p1_446) __extension__ ({ \
49726 poly64x2_t __s0_354 = __p0_354; \51082 poly64x2_t __s0_446 = __p0_446; \
49727 poly64x2_t __rev0_354; __rev0_354 = __builtin_shufflevector(__s0_354, __s0_354, 1, 0); \51083 poly64x2_t __rev0_446; __rev0_446 = __builtin_shufflevector(__s0_446, __s0_446, 1, 0); \
49728 poly64x2_t __ret_354; \51084 poly64x2_t __ret_446; \
49729 __ret_354 = __noswap_splatq_laneq_p64(__rev0_354, __p1_354); \51085 __ret_446 = __noswap_splatq_laneq_p64(__rev0_446, __p1_446); \
49730 __ret_354 = __builtin_shufflevector(__ret_354, __ret_354, 1, 0); \51086 __ret_446 = __builtin_shufflevector(__ret_446, __ret_446, 1, 0); \
49731 __ret_354; \51087 __ret_446; \
49732})51088})
49733#endif51089#endif
4973451090
49735#ifdef __LITTLE_ENDIAN__51091#ifdef __LITTLE_ENDIAN__
49736#define vdupq_laneq_p16(__p0_355, __p1_355) __extension__ ({ \51092#define vdupq_laneq_p16(__p0_447, __p1_447) __extension__ ({ \
49737 poly16x8_t __s0_355 = __p0_355; \51093 poly16x8_t __s0_447 = __p0_447; \
49738 poly16x8_t __ret_355; \51094 poly16x8_t __ret_447; \
49739 __ret_355 = splatq_laneq_p16(__s0_355, __p1_355); \51095 __ret_447 = splatq_laneq_p16(__s0_447, __p1_447); \
49740 __ret_355; \51096 __ret_447; \
49741})51097})
49742#else51098#else
49743#define vdupq_laneq_p16(__p0_356, __p1_356) __extension__ ({ \51099#define vdupq_laneq_p16(__p0_448, __p1_448) __extension__ ({ \
49744 poly16x8_t __s0_356 = __p0_356; \51100 poly16x8_t __s0_448 = __p0_448; \
49745 poly16x8_t __rev0_356; __rev0_356 = __builtin_shufflevector(__s0_356, __s0_356, 7, 6, 5, 4, 3, 2, 1, 0); \51101 poly16x8_t __rev0_448; __rev0_448 = __builtin_shufflevector(__s0_448, __s0_448, 7, 6, 5, 4, 3, 2, 1, 0); \
49746 poly16x8_t __ret_356; \51102 poly16x8_t __ret_448; \
49747 __ret_356 = __noswap_splatq_laneq_p16(__rev0_356, __p1_356); \51103 __ret_448 = __noswap_splatq_laneq_p16(__rev0_448, __p1_448); \
49748 __ret_356 = __builtin_shufflevector(__ret_356, __ret_356, 7, 6, 5, 4, 3, 2, 1, 0); \51104 __ret_448 = __builtin_shufflevector(__ret_448, __ret_448, 7, 6, 5, 4, 3, 2, 1, 0); \
49749 __ret_356; \51105 __ret_448; \
49750})51106})
49751#endif51107#endif
4975251108
49753#ifdef __LITTLE_ENDIAN__51109#ifdef __LITTLE_ENDIAN__
49754#define vdupq_laneq_u8(__p0_357, __p1_357) __extension__ ({ \51110#define vdupq_laneq_u8(__p0_449, __p1_449) __extension__ ({ \
49755 uint8x16_t __s0_357 = __p0_357; \51111 uint8x16_t __s0_449 = __p0_449; \
49756 uint8x16_t __ret_357; \51112 uint8x16_t __ret_449; \
49757 __ret_357 = splatq_laneq_u8(__s0_357, __p1_357); \51113 __ret_449 = splatq_laneq_u8(__s0_449, __p1_449); \
49758 __ret_357; \51114 __ret_449; \
49759})51115})
49760#else51116#else
49761#define vdupq_laneq_u8(__p0_358, __p1_358) __extension__ ({ \51117#define vdupq_laneq_u8(__p0_450, __p1_450) __extension__ ({ \
49762 uint8x16_t __s0_358 = __p0_358; \51118 uint8x16_t __s0_450 = __p0_450; \
49763 uint8x16_t __rev0_358; __rev0_358 = __builtin_shufflevector(__s0_358, __s0_358, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51119 uint8x16_t __rev0_450; __rev0_450 = __builtin_shufflevector(__s0_450, __s0_450, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49764 uint8x16_t __ret_358; \51120 uint8x16_t __ret_450; \
49765 __ret_358 = __noswap_splatq_laneq_u8(__rev0_358, __p1_358); \51121 __ret_450 = __noswap_splatq_laneq_u8(__rev0_450, __p1_450); \
49766 __ret_358 = __builtin_shufflevector(__ret_358, __ret_358, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51122 __ret_450 = __builtin_shufflevector(__ret_450, __ret_450, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49767 __ret_358; \51123 __ret_450; \
49768})51124})
49769#endif51125#endif
4977051126
49771#ifdef __LITTLE_ENDIAN__51127#ifdef __LITTLE_ENDIAN__
49772#define vdupq_laneq_u32(__p0_359, __p1_359) __extension__ ({ \51128#define vdupq_laneq_u32(__p0_451, __p1_451) __extension__ ({ \
49773 uint32x4_t __s0_359 = __p0_359; \51129 uint32x4_t __s0_451 = __p0_451; \
49774 uint32x4_t __ret_359; \51130 uint32x4_t __ret_451; \
49775 __ret_359 = splatq_laneq_u32(__s0_359, __p1_359); \51131 __ret_451 = splatq_laneq_u32(__s0_451, __p1_451); \
49776 __ret_359; \51132 __ret_451; \
49777})51133})
49778#else51134#else
49779#define vdupq_laneq_u32(__p0_360, __p1_360) __extension__ ({ \51135#define vdupq_laneq_u32(__p0_452, __p1_452) __extension__ ({ \
49780 uint32x4_t __s0_360 = __p0_360; \51136 uint32x4_t __s0_452 = __p0_452; \
49781 uint32x4_t __rev0_360; __rev0_360 = __builtin_shufflevector(__s0_360, __s0_360, 3, 2, 1, 0); \51137 uint32x4_t __rev0_452; __rev0_452 = __builtin_shufflevector(__s0_452, __s0_452, 3, 2, 1, 0); \
49782 uint32x4_t __ret_360; \51138 uint32x4_t __ret_452; \
49783 __ret_360 = __noswap_splatq_laneq_u32(__rev0_360, __p1_360); \51139 __ret_452 = __noswap_splatq_laneq_u32(__rev0_452, __p1_452); \
49784 __ret_360 = __builtin_shufflevector(__ret_360, __ret_360, 3, 2, 1, 0); \51140 __ret_452 = __builtin_shufflevector(__ret_452, __ret_452, 3, 2, 1, 0); \
49785 __ret_360; \51141 __ret_452; \
49786})51142})
49787#endif51143#endif
4978851144
49789#ifdef __LITTLE_ENDIAN__51145#ifdef __LITTLE_ENDIAN__
49790#define vdupq_laneq_u64(__p0_361, __p1_361) __extension__ ({ \51146#define vdupq_laneq_u64(__p0_453, __p1_453) __extension__ ({ \
49791 uint64x2_t __s0_361 = __p0_361; \51147 uint64x2_t __s0_453 = __p0_453; \
49792 uint64x2_t __ret_361; \51148 uint64x2_t __ret_453; \
49793 __ret_361 = splatq_laneq_u64(__s0_361, __p1_361); \51149 __ret_453 = splatq_laneq_u64(__s0_453, __p1_453); \
49794 __ret_361; \51150 __ret_453; \
49795})51151})
49796#else51152#else
49797#define vdupq_laneq_u64(__p0_362, __p1_362) __extension__ ({ \51153#define vdupq_laneq_u64(__p0_454, __p1_454) __extension__ ({ \
49798 uint64x2_t __s0_362 = __p0_362; \51154 uint64x2_t __s0_454 = __p0_454; \
49799 uint64x2_t __rev0_362; __rev0_362 = __builtin_shufflevector(__s0_362, __s0_362, 1, 0); \51155 uint64x2_t __rev0_454; __rev0_454 = __builtin_shufflevector(__s0_454, __s0_454, 1, 0); \
49800 uint64x2_t __ret_362; \51156 uint64x2_t __ret_454; \
49801 __ret_362 = __noswap_splatq_laneq_u64(__rev0_362, __p1_362); \51157 __ret_454 = __noswap_splatq_laneq_u64(__rev0_454, __p1_454); \
49802 __ret_362 = __builtin_shufflevector(__ret_362, __ret_362, 1, 0); \51158 __ret_454 = __builtin_shufflevector(__ret_454, __ret_454, 1, 0); \
49803 __ret_362; \51159 __ret_454; \
49804})51160})
49805#endif51161#endif
4980651162
49807#ifdef __LITTLE_ENDIAN__51163#ifdef __LITTLE_ENDIAN__
49808#define vdupq_laneq_u16(__p0_363, __p1_363) __extension__ ({ \51164#define vdupq_laneq_u16(__p0_455, __p1_455) __extension__ ({ \
49809 uint16x8_t __s0_363 = __p0_363; \51165 uint16x8_t __s0_455 = __p0_455; \
49810 uint16x8_t __ret_363; \51166 uint16x8_t __ret_455; \
49811 __ret_363 = splatq_laneq_u16(__s0_363, __p1_363); \51167 __ret_455 = splatq_laneq_u16(__s0_455, __p1_455); \
49812 __ret_363; \51168 __ret_455; \
49813})51169})
49814#else51170#else
49815#define vdupq_laneq_u16(__p0_364, __p1_364) __extension__ ({ \51171#define vdupq_laneq_u16(__p0_456, __p1_456) __extension__ ({ \
49816 uint16x8_t __s0_364 = __p0_364; \51172 uint16x8_t __s0_456 = __p0_456; \
49817 uint16x8_t __rev0_364; __rev0_364 = __builtin_shufflevector(__s0_364, __s0_364, 7, 6, 5, 4, 3, 2, 1, 0); \51173 uint16x8_t __rev0_456; __rev0_456 = __builtin_shufflevector(__s0_456, __s0_456, 7, 6, 5, 4, 3, 2, 1, 0); \
49818 uint16x8_t __ret_364; \51174 uint16x8_t __ret_456; \
49819 __ret_364 = __noswap_splatq_laneq_u16(__rev0_364, __p1_364); \51175 __ret_456 = __noswap_splatq_laneq_u16(__rev0_456, __p1_456); \
49820 __ret_364 = __builtin_shufflevector(__ret_364, __ret_364, 7, 6, 5, 4, 3, 2, 1, 0); \51176 __ret_456 = __builtin_shufflevector(__ret_456, __ret_456, 7, 6, 5, 4, 3, 2, 1, 0); \
49821 __ret_364; \51177 __ret_456; \
49822})51178})
49823#endif51179#endif
4982451180
49825#ifdef __LITTLE_ENDIAN__51181#ifdef __LITTLE_ENDIAN__
49826#define vdupq_laneq_s8(__p0_365, __p1_365) __extension__ ({ \51182#define vdupq_laneq_s8(__p0_457, __p1_457) __extension__ ({ \
49827 int8x16_t __s0_365 = __p0_365; \51183 int8x16_t __s0_457 = __p0_457; \
49828 int8x16_t __ret_365; \51184 int8x16_t __ret_457; \
49829 __ret_365 = splatq_laneq_s8(__s0_365, __p1_365); \51185 __ret_457 = splatq_laneq_s8(__s0_457, __p1_457); \
49830 __ret_365; \51186 __ret_457; \
49831})51187})
49832#else51188#else
49833#define vdupq_laneq_s8(__p0_366, __p1_366) __extension__ ({ \51189#define vdupq_laneq_s8(__p0_458, __p1_458) __extension__ ({ \
49834 int8x16_t __s0_366 = __p0_366; \51190 int8x16_t __s0_458 = __p0_458; \
49835 int8x16_t __rev0_366; __rev0_366 = __builtin_shufflevector(__s0_366, __s0_366, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51191 int8x16_t __rev0_458; __rev0_458 = __builtin_shufflevector(__s0_458, __s0_458, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49836 int8x16_t __ret_366; \51192 int8x16_t __ret_458; \
49837 __ret_366 = __noswap_splatq_laneq_s8(__rev0_366, __p1_366); \51193 __ret_458 = __noswap_splatq_laneq_s8(__rev0_458, __p1_458); \
49838 __ret_366 = __builtin_shufflevector(__ret_366, __ret_366, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51194 __ret_458 = __builtin_shufflevector(__ret_458, __ret_458, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49839 __ret_366; \51195 __ret_458; \
49840})51196})
49841#endif51197#endif
4984251198
49843#ifdef __LITTLE_ENDIAN__51199#ifdef __LITTLE_ENDIAN__
49844#define vdupq_laneq_f64(__p0_367, __p1_367) __extension__ ({ \51200#define vdupq_laneq_f64(__p0_459, __p1_459) __extension__ ({ \
49845 float64x2_t __s0_367 = __p0_367; \51201 float64x2_t __s0_459 = __p0_459; \
49846 float64x2_t __ret_367; \51202 float64x2_t __ret_459; \
49847 __ret_367 = splatq_laneq_f64(__s0_367, __p1_367); \51203 __ret_459 = splatq_laneq_f64(__s0_459, __p1_459); \
49848 __ret_367; \51204 __ret_459; \
49849})51205})
49850#else51206#else
49851#define vdupq_laneq_f64(__p0_368, __p1_368) __extension__ ({ \51207#define vdupq_laneq_f64(__p0_460, __p1_460) __extension__ ({ \
49852 float64x2_t __s0_368 = __p0_368; \51208 float64x2_t __s0_460 = __p0_460; \
49853 float64x2_t __rev0_368; __rev0_368 = __builtin_shufflevector(__s0_368, __s0_368, 1, 0); \51209 float64x2_t __rev0_460; __rev0_460 = __builtin_shufflevector(__s0_460, __s0_460, 1, 0); \
49854 float64x2_t __ret_368; \51210 float64x2_t __ret_460; \
49855 __ret_368 = __noswap_splatq_laneq_f64(__rev0_368, __p1_368); \51211 __ret_460 = __noswap_splatq_laneq_f64(__rev0_460, __p1_460); \
49856 __ret_368 = __builtin_shufflevector(__ret_368, __ret_368, 1, 0); \51212 __ret_460 = __builtin_shufflevector(__ret_460, __ret_460, 1, 0); \
49857 __ret_368; \51213 __ret_460; \
49858})51214})
49859#endif51215#endif
4986051216
49861#ifdef __LITTLE_ENDIAN__51217#ifdef __LITTLE_ENDIAN__
49862#define vdupq_laneq_f32(__p0_369, __p1_369) __extension__ ({ \51218#define vdupq_laneq_f32(__p0_461, __p1_461) __extension__ ({ \
49863 float32x4_t __s0_369 = __p0_369; \51219 float32x4_t __s0_461 = __p0_461; \
49864 float32x4_t __ret_369; \51220 float32x4_t __ret_461; \
49865 __ret_369 = splatq_laneq_f32(__s0_369, __p1_369); \51221 __ret_461 = splatq_laneq_f32(__s0_461, __p1_461); \
49866 __ret_369; \51222 __ret_461; \
49867})51223})
49868#else51224#else
49869#define vdupq_laneq_f32(__p0_370, __p1_370) __extension__ ({ \51225#define vdupq_laneq_f32(__p0_462, __p1_462) __extension__ ({ \
49870 float32x4_t __s0_370 = __p0_370; \51226 float32x4_t __s0_462 = __p0_462; \
49871 float32x4_t __rev0_370; __rev0_370 = __builtin_shufflevector(__s0_370, __s0_370, 3, 2, 1, 0); \51227 float32x4_t __rev0_462; __rev0_462 = __builtin_shufflevector(__s0_462, __s0_462, 3, 2, 1, 0); \
49872 float32x4_t __ret_370; \51228 float32x4_t __ret_462; \
49873 __ret_370 = __noswap_splatq_laneq_f32(__rev0_370, __p1_370); \51229 __ret_462 = __noswap_splatq_laneq_f32(__rev0_462, __p1_462); \
49874 __ret_370 = __builtin_shufflevector(__ret_370, __ret_370, 3, 2, 1, 0); \51230 __ret_462 = __builtin_shufflevector(__ret_462, __ret_462, 3, 2, 1, 0); \
49875 __ret_370; \51231 __ret_462; \
49876})51232})
49877#endif51233#endif
4987851234
49879#ifdef __LITTLE_ENDIAN__51235#ifdef __LITTLE_ENDIAN__
49880#define vdupq_laneq_f16(__p0_371, __p1_371) __extension__ ({ \51236#define vdupq_laneq_f16(__p0_463, __p1_463) __extension__ ({ \
49881 float16x8_t __s0_371 = __p0_371; \51237 float16x8_t __s0_463 = __p0_463; \
49882 float16x8_t __ret_371; \51238 float16x8_t __ret_463; \
49883 __ret_371 = splatq_laneq_f16(__s0_371, __p1_371); \51239 __ret_463 = splatq_laneq_f16(__s0_463, __p1_463); \
49884 __ret_371; \51240 __ret_463; \
49885})51241})
49886#else51242#else
49887#define vdupq_laneq_f16(__p0_372, __p1_372) __extension__ ({ \51243#define vdupq_laneq_f16(__p0_464, __p1_464) __extension__ ({ \
49888 float16x8_t __s0_372 = __p0_372; \51244 float16x8_t __s0_464 = __p0_464; \
49889 float16x8_t __rev0_372; __rev0_372 = __builtin_shufflevector(__s0_372, __s0_372, 7, 6, 5, 4, 3, 2, 1, 0); \51245 float16x8_t __rev0_464; __rev0_464 = __builtin_shufflevector(__s0_464, __s0_464, 7, 6, 5, 4, 3, 2, 1, 0); \
49890 float16x8_t __ret_372; \51246 float16x8_t __ret_464; \
49891 __ret_372 = __noswap_splatq_laneq_f16(__rev0_372, __p1_372); \51247 __ret_464 = __noswap_splatq_laneq_f16(__rev0_464, __p1_464); \
49892 __ret_372 = __builtin_shufflevector(__ret_372, __ret_372, 7, 6, 5, 4, 3, 2, 1, 0); \51248 __ret_464 = __builtin_shufflevector(__ret_464, __ret_464, 7, 6, 5, 4, 3, 2, 1, 0); \
49893 __ret_372; \51249 __ret_464; \
49894})51250})
49895#endif51251#endif
4989651252
49897#ifdef __LITTLE_ENDIAN__51253#ifdef __LITTLE_ENDIAN__
49898#define vdupq_laneq_s32(__p0_373, __p1_373) __extension__ ({ \51254#define vdupq_laneq_s32(__p0_465, __p1_465) __extension__ ({ \
49899 int32x4_t __s0_373 = __p0_373; \51255 int32x4_t __s0_465 = __p0_465; \
49900 int32x4_t __ret_373; \51256 int32x4_t __ret_465; \
49901 __ret_373 = splatq_laneq_s32(__s0_373, __p1_373); \51257 __ret_465 = splatq_laneq_s32(__s0_465, __p1_465); \
49902 __ret_373; \51258 __ret_465; \
49903})51259})
49904#else51260#else
49905#define vdupq_laneq_s32(__p0_374, __p1_374) __extension__ ({ \51261#define vdupq_laneq_s32(__p0_466, __p1_466) __extension__ ({ \
49906 int32x4_t __s0_374 = __p0_374; \51262 int32x4_t __s0_466 = __p0_466; \
49907 int32x4_t __rev0_374; __rev0_374 = __builtin_shufflevector(__s0_374, __s0_374, 3, 2, 1, 0); \51263 int32x4_t __rev0_466; __rev0_466 = __builtin_shufflevector(__s0_466, __s0_466, 3, 2, 1, 0); \
49908 int32x4_t __ret_374; \51264 int32x4_t __ret_466; \
49909 __ret_374 = __noswap_splatq_laneq_s32(__rev0_374, __p1_374); \51265 __ret_466 = __noswap_splatq_laneq_s32(__rev0_466, __p1_466); \
49910 __ret_374 = __builtin_shufflevector(__ret_374, __ret_374, 3, 2, 1, 0); \51266 __ret_466 = __builtin_shufflevector(__ret_466, __ret_466, 3, 2, 1, 0); \
49911 __ret_374; \51267 __ret_466; \
49912})51268})
49913#endif51269#endif
4991451270
49915#ifdef __LITTLE_ENDIAN__51271#ifdef __LITTLE_ENDIAN__
49916#define vdupq_laneq_s64(__p0_375, __p1_375) __extension__ ({ \51272#define vdupq_laneq_s64(__p0_467, __p1_467) __extension__ ({ \
49917 int64x2_t __s0_375 = __p0_375; \51273 int64x2_t __s0_467 = __p0_467; \
49918 int64x2_t __ret_375; \51274 int64x2_t __ret_467; \
49919 __ret_375 = splatq_laneq_s64(__s0_375, __p1_375); \51275 __ret_467 = splatq_laneq_s64(__s0_467, __p1_467); \
49920 __ret_375; \51276 __ret_467; \
49921})51277})
49922#else51278#else
49923#define vdupq_laneq_s64(__p0_376, __p1_376) __extension__ ({ \51279#define vdupq_laneq_s64(__p0_468, __p1_468) __extension__ ({ \
49924 int64x2_t __s0_376 = __p0_376; \51280 int64x2_t __s0_468 = __p0_468; \
49925 int64x2_t __rev0_376; __rev0_376 = __builtin_shufflevector(__s0_376, __s0_376, 1, 0); \51281 int64x2_t __rev0_468; __rev0_468 = __builtin_shufflevector(__s0_468, __s0_468, 1, 0); \
49926 int64x2_t __ret_376; \51282 int64x2_t __ret_468; \
49927 __ret_376 = __noswap_splatq_laneq_s64(__rev0_376, __p1_376); \51283 __ret_468 = __noswap_splatq_laneq_s64(__rev0_468, __p1_468); \
49928 __ret_376 = __builtin_shufflevector(__ret_376, __ret_376, 1, 0); \51284 __ret_468 = __builtin_shufflevector(__ret_468, __ret_468, 1, 0); \
49929 __ret_376; \51285 __ret_468; \
49930})51286})
49931#endif51287#endif
4993251288
49933#ifdef __LITTLE_ENDIAN__51289#ifdef __LITTLE_ENDIAN__
49934#define vdupq_laneq_s16(__p0_377, __p1_377) __extension__ ({ \51290#define vdupq_laneq_s16(__p0_469, __p1_469) __extension__ ({ \
49935 int16x8_t __s0_377 = __p0_377; \51291 int16x8_t __s0_469 = __p0_469; \
49936 int16x8_t __ret_377; \51292 int16x8_t __ret_469; \
49937 __ret_377 = splatq_laneq_s16(__s0_377, __p1_377); \51293 __ret_469 = splatq_laneq_s16(__s0_469, __p1_469); \
49938 __ret_377; \51294 __ret_469; \
49939})51295})
49940#else51296#else
49941#define vdupq_laneq_s16(__p0_378, __p1_378) __extension__ ({ \51297#define vdupq_laneq_s16(__p0_470, __p1_470) __extension__ ({ \
49942 int16x8_t __s0_378 = __p0_378; \51298 int16x8_t __s0_470 = __p0_470; \
49943 int16x8_t __rev0_378; __rev0_378 = __builtin_shufflevector(__s0_378, __s0_378, 7, 6, 5, 4, 3, 2, 1, 0); \51299 int16x8_t __rev0_470; __rev0_470 = __builtin_shufflevector(__s0_470, __s0_470, 7, 6, 5, 4, 3, 2, 1, 0); \
49944 int16x8_t __ret_378; \51300 int16x8_t __ret_470; \
49945 __ret_378 = __noswap_splatq_laneq_s16(__rev0_378, __p1_378); \51301 __ret_470 = __noswap_splatq_laneq_s16(__rev0_470, __p1_470); \
49946 __ret_378 = __builtin_shufflevector(__ret_378, __ret_378, 7, 6, 5, 4, 3, 2, 1, 0); \51302 __ret_470 = __builtin_shufflevector(__ret_470, __ret_470, 7, 6, 5, 4, 3, 2, 1, 0); \
49947 __ret_378; \51303 __ret_470; \
49948})51304})
49949#endif51305#endif
4995051306
49951#ifdef __LITTLE_ENDIAN__51307#ifdef __LITTLE_ENDIAN__
49952#define vdup_laneq_u8(__p0_379, __p1_379) __extension__ ({ \51308#define vdup_laneq_u8(__p0_471, __p1_471) __extension__ ({ \
49953 uint8x16_t __s0_379 = __p0_379; \51309 uint8x16_t __s0_471 = __p0_471; \
49954 uint8x8_t __ret_379; \51310 uint8x8_t __ret_471; \
49955 __ret_379 = splat_laneq_u8(__s0_379, __p1_379); \51311 __ret_471 = splat_laneq_u8(__s0_471, __p1_471); \
49956 __ret_379; \51312 __ret_471; \
49957})51313})
49958#else51314#else
49959#define vdup_laneq_u8(__p0_380, __p1_380) __extension__ ({ \51315#define vdup_laneq_u8(__p0_472, __p1_472) __extension__ ({ \
49960 uint8x16_t __s0_380 = __p0_380; \51316 uint8x16_t __s0_472 = __p0_472; \
49961 uint8x16_t __rev0_380; __rev0_380 = __builtin_shufflevector(__s0_380, __s0_380, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51317 uint8x16_t __rev0_472; __rev0_472 = __builtin_shufflevector(__s0_472, __s0_472, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
49962 uint8x8_t __ret_380; \51318 uint8x8_t __ret_472; \
49963 __ret_380 = __noswap_splat_laneq_u8(__rev0_380, __p1_380); \51319 __ret_472 = __noswap_splat_laneq_u8(__rev0_472, __p1_472); \
49964 __ret_380 = __builtin_shufflevector(__ret_380, __ret_380, 7, 6, 5, 4, 3, 2, 1, 0); \51320 __ret_472 = __builtin_shufflevector(__ret_472, __ret_472, 7, 6, 5, 4, 3, 2, 1, 0); \
49965 __ret_380; \51321 __ret_472; \
49966})51322})
49967#endif51323#endif
4996851324
49969#ifdef __LITTLE_ENDIAN__51325#ifdef __LITTLE_ENDIAN__
49970#define vdup_laneq_u32(__p0_381, __p1_381) __extension__ ({ \51326#define vdup_laneq_u32(__p0_473, __p1_473) __extension__ ({ \
49971 uint32x4_t __s0_381 = __p0_381; \51327 uint32x4_t __s0_473 = __p0_473; \
49972 uint32x2_t __ret_381; \51328 uint32x2_t __ret_473; \
49973 __ret_381 = splat_laneq_u32(__s0_381, __p1_381); \51329 __ret_473 = splat_laneq_u32(__s0_473, __p1_473); \
49974 __ret_381; \51330 __ret_473; \
49975})51331})
49976#else51332#else
49977#define vdup_laneq_u32(__p0_382, __p1_382) __extension__ ({ \51333#define vdup_laneq_u32(__p0_474, __p1_474) __extension__ ({ \
49978 uint32x4_t __s0_382 = __p0_382; \51334 uint32x4_t __s0_474 = __p0_474; \
49979 uint32x4_t __rev0_382; __rev0_382 = __builtin_shufflevector(__s0_382, __s0_382, 3, 2, 1, 0); \51335 uint32x4_t __rev0_474; __rev0_474 = __builtin_shufflevector(__s0_474, __s0_474, 3, 2, 1, 0); \
49980 uint32x2_t __ret_382; \51336 uint32x2_t __ret_474; \
49981 __ret_382 = __noswap_splat_laneq_u32(__rev0_382, __p1_382); \51337 __ret_474 = __noswap_splat_laneq_u32(__rev0_474, __p1_474); \
49982 __ret_382 = __builtin_shufflevector(__ret_382, __ret_382, 1, 0); \51338 __ret_474 = __builtin_shufflevector(__ret_474, __ret_474, 1, 0); \
49983 __ret_382; \51339 __ret_474; \
49984})51340})
49985#endif51341#endif
4998651342
49987#ifdef __LITTLE_ENDIAN__51343#ifdef __LITTLE_ENDIAN__
49988#define vdup_laneq_u64(__p0_383, __p1_383) __extension__ ({ \51344#define vdup_laneq_u64(__p0_475, __p1_475) __extension__ ({ \
49989 uint64x2_t __s0_383 = __p0_383; \51345 uint64x2_t __s0_475 = __p0_475; \
49990 uint64x1_t __ret_383; \51346 uint64x1_t __ret_475; \
49991 __ret_383 = splat_laneq_u64(__s0_383, __p1_383); \51347 __ret_475 = splat_laneq_u64(__s0_475, __p1_475); \
49992 __ret_383; \51348 __ret_475; \
49993})51349})
49994#else51350#else
49995#define vdup_laneq_u64(__p0_384, __p1_384) __extension__ ({ \51351#define vdup_laneq_u64(__p0_476, __p1_476) __extension__ ({ \
49996 uint64x2_t __s0_384 = __p0_384; \51352 uint64x2_t __s0_476 = __p0_476; \
49997 uint64x2_t __rev0_384; __rev0_384 = __builtin_shufflevector(__s0_384, __s0_384, 1, 0); \51353 uint64x2_t __rev0_476; __rev0_476 = __builtin_shufflevector(__s0_476, __s0_476, 1, 0); \
49998 uint64x1_t __ret_384; \51354 uint64x1_t __ret_476; \
49999 __ret_384 = __noswap_splat_laneq_u64(__rev0_384, __p1_384); \51355 __ret_476 = __noswap_splat_laneq_u64(__rev0_476, __p1_476); \
50000 __ret_384; \51356 __ret_476; \
50001})51357})
50002#endif51358#endif
5000351359
50004#ifdef __LITTLE_ENDIAN__51360#ifdef __LITTLE_ENDIAN__
50005#define vdup_laneq_u16(__p0_385, __p1_385) __extension__ ({ \51361#define vdup_laneq_u16(__p0_477, __p1_477) __extension__ ({ \
50006 uint16x8_t __s0_385 = __p0_385; \51362 uint16x8_t __s0_477 = __p0_477; \
50007 uint16x4_t __ret_385; \51363 uint16x4_t __ret_477; \
50008 __ret_385 = splat_laneq_u16(__s0_385, __p1_385); \51364 __ret_477 = splat_laneq_u16(__s0_477, __p1_477); \
50009 __ret_385; \51365 __ret_477; \
50010})51366})
50011#else51367#else
50012#define vdup_laneq_u16(__p0_386, __p1_386) __extension__ ({ \51368#define vdup_laneq_u16(__p0_478, __p1_478) __extension__ ({ \
50013 uint16x8_t __s0_386 = __p0_386; \51369 uint16x8_t __s0_478 = __p0_478; \
50014 uint16x8_t __rev0_386; __rev0_386 = __builtin_shufflevector(__s0_386, __s0_386, 7, 6, 5, 4, 3, 2, 1, 0); \51370 uint16x8_t __rev0_478; __rev0_478 = __builtin_shufflevector(__s0_478, __s0_478, 7, 6, 5, 4, 3, 2, 1, 0); \
50015 uint16x4_t __ret_386; \51371 uint16x4_t __ret_478; \
50016 __ret_386 = __noswap_splat_laneq_u16(__rev0_386, __p1_386); \51372 __ret_478 = __noswap_splat_laneq_u16(__rev0_478, __p1_478); \
50017 __ret_386 = __builtin_shufflevector(__ret_386, __ret_386, 3, 2, 1, 0); \51373 __ret_478 = __builtin_shufflevector(__ret_478, __ret_478, 3, 2, 1, 0); \
50018 __ret_386; \51374 __ret_478; \
50019})51375})
50020#endif51376#endif
5002151377
50022#ifdef __LITTLE_ENDIAN__51378#ifdef __LITTLE_ENDIAN__
50023#define vdup_laneq_s8(__p0_387, __p1_387) __extension__ ({ \51379#define vdup_laneq_s8(__p0_479, __p1_479) __extension__ ({ \
50024 int8x16_t __s0_387 = __p0_387; \51380 int8x16_t __s0_479 = __p0_479; \
50025 int8x8_t __ret_387; \51381 int8x8_t __ret_479; \
50026 __ret_387 = splat_laneq_s8(__s0_387, __p1_387); \51382 __ret_479 = splat_laneq_s8(__s0_479, __p1_479); \
50027 __ret_387; \51383 __ret_479; \
50028})51384})
50029#else51385#else
50030#define vdup_laneq_s8(__p0_388, __p1_388) __extension__ ({ \51386#define vdup_laneq_s8(__p0_480, __p1_480) __extension__ ({ \
50031 int8x16_t __s0_388 = __p0_388; \51387 int8x16_t __s0_480 = __p0_480; \
50032 int8x16_t __rev0_388; __rev0_388 = __builtin_shufflevector(__s0_388, __s0_388, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \51388 int8x16_t __rev0_480; __rev0_480 = __builtin_shufflevector(__s0_480, __s0_480, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
50033 int8x8_t __ret_388; \51389 int8x8_t __ret_480; \
50034 __ret_388 = __noswap_splat_laneq_s8(__rev0_388, __p1_388); \51390 __ret_480 = __noswap_splat_laneq_s8(__rev0_480, __p1_480); \
50035 __ret_388 = __builtin_shufflevector(__ret_388, __ret_388, 7, 6, 5, 4, 3, 2, 1, 0); \51391 __ret_480 = __builtin_shufflevector(__ret_480, __ret_480, 7, 6, 5, 4, 3, 2, 1, 0); \
50036 __ret_388; \51392 __ret_480; \
50037})51393})
50038#endif51394#endif
5003951395
50040#ifdef __LITTLE_ENDIAN__51396#ifdef __LITTLE_ENDIAN__
50041#define vdup_laneq_f64(__p0_389, __p1_389) __extension__ ({ \51397#define vdup_laneq_f64(__p0_481, __p1_481) __extension__ ({ \
50042 float64x2_t __s0_389 = __p0_389; \51398 float64x2_t __s0_481 = __p0_481; \
50043 float64x1_t __ret_389; \51399 float64x1_t __ret_481; \
50044 __ret_389 = splat_laneq_f64(__s0_389, __p1_389); \51400 __ret_481 = splat_laneq_f64(__s0_481, __p1_481); \
50045 __ret_389; \51401 __ret_481; \
50046})51402})
50047#else51403#else
50048#define vdup_laneq_f64(__p0_390, __p1_390) __extension__ ({ \51404#define vdup_laneq_f64(__p0_482, __p1_482) __extension__ ({ \
50049 float64x2_t __s0_390 = __p0_390; \51405 float64x2_t __s0_482 = __p0_482; \
50050 float64x2_t __rev0_390; __rev0_390 = __builtin_shufflevector(__s0_390, __s0_390, 1, 0); \51406 float64x2_t __rev0_482; __rev0_482 = __builtin_shufflevector(__s0_482, __s0_482, 1, 0); \
50051 float64x1_t __ret_390; \51407 float64x1_t __ret_482; \
50052 __ret_390 = __noswap_splat_laneq_f64(__rev0_390, __p1_390); \51408 __ret_482 = __noswap_splat_laneq_f64(__rev0_482, __p1_482); \
50053 __ret_390; \51409 __ret_482; \
50054})51410})
50055#endif51411#endif
5005651412
50057#ifdef __LITTLE_ENDIAN__51413#ifdef __LITTLE_ENDIAN__
50058#define vdup_laneq_f32(__p0_391, __p1_391) __extension__ ({ \51414#define vdup_laneq_f32(__p0_483, __p1_483) __extension__ ({ \
50059 float32x4_t __s0_391 = __p0_391; \51415 float32x4_t __s0_483 = __p0_483; \
50060 float32x2_t __ret_391; \51416 float32x2_t __ret_483; \
50061 __ret_391 = splat_laneq_f32(__s0_391, __p1_391); \51417 __ret_483 = splat_laneq_f32(__s0_483, __p1_483); \
50062 __ret_391; \51418 __ret_483; \
50063})51419})
50064#else51420#else
50065#define vdup_laneq_f32(__p0_392, __p1_392) __extension__ ({ \51421#define vdup_laneq_f32(__p0_484, __p1_484) __extension__ ({ \
50066 float32x4_t __s0_392 = __p0_392; \51422 float32x4_t __s0_484 = __p0_484; \
50067 float32x4_t __rev0_392; __rev0_392 = __builtin_shufflevector(__s0_392, __s0_392, 3, 2, 1, 0); \51423 float32x4_t __rev0_484; __rev0_484 = __builtin_shufflevector(__s0_484, __s0_484, 3, 2, 1, 0); \
50068 float32x2_t __ret_392; \51424 float32x2_t __ret_484; \
50069 __ret_392 = __noswap_splat_laneq_f32(__rev0_392, __p1_392); \51425 __ret_484 = __noswap_splat_laneq_f32(__rev0_484, __p1_484); \
50070 __ret_392 = __builtin_shufflevector(__ret_392, __ret_392, 1, 0); \51426 __ret_484 = __builtin_shufflevector(__ret_484, __ret_484, 1, 0); \
50071 __ret_392; \51427 __ret_484; \
50072})51428})
50073#endif51429#endif
5007451430
50075#ifdef __LITTLE_ENDIAN__51431#ifdef __LITTLE_ENDIAN__
50076#define vdup_laneq_f16(__p0_393, __p1_393) __extension__ ({ \51432#define vdup_laneq_f16(__p0_485, __p1_485) __extension__ ({ \
50077 float16x8_t __s0_393 = __p0_393; \51433 float16x8_t __s0_485 = __p0_485; \
50078 float16x4_t __ret_393; \51434 float16x4_t __ret_485; \
50079 __ret_393 = splat_laneq_f16(__s0_393, __p1_393); \51435 __ret_485 = splat_laneq_f16(__s0_485, __p1_485); \
50080 __ret_393; \51436 __ret_485; \
50081})51437})
50082#else51438#else
50083#define vdup_laneq_f16(__p0_394, __p1_394) __extension__ ({ \51439#define vdup_laneq_f16(__p0_486, __p1_486) __extension__ ({ \
50084 float16x8_t __s0_394 = __p0_394; \51440 float16x8_t __s0_486 = __p0_486; \
50085 float16x8_t __rev0_394; __rev0_394 = __builtin_shufflevector(__s0_394, __s0_394, 7, 6, 5, 4, 3, 2, 1, 0); \51441 float16x8_t __rev0_486; __rev0_486 = __builtin_shufflevector(__s0_486, __s0_486, 7, 6, 5, 4, 3, 2, 1, 0); \
50086 float16x4_t __ret_394; \51442 float16x4_t __ret_486; \
50087 __ret_394 = __noswap_splat_laneq_f16(__rev0_394, __p1_394); \51443 __ret_486 = __noswap_splat_laneq_f16(__rev0_486, __p1_486); \
50088 __ret_394 = __builtin_shufflevector(__ret_394, __ret_394, 3, 2, 1, 0); \51444 __ret_486 = __builtin_shufflevector(__ret_486, __ret_486, 3, 2, 1, 0); \
50089 __ret_394; \51445 __ret_486; \
50090})51446})
50091#endif51447#endif
5009251448
50093#ifdef __LITTLE_ENDIAN__51449#ifdef __LITTLE_ENDIAN__
50094#define vdup_laneq_s32(__p0_395, __p1_395) __extension__ ({ \51450#define vdup_laneq_s32(__p0_487, __p1_487) __extension__ ({ \
50095 int32x4_t __s0_395 = __p0_395; \51451 int32x4_t __s0_487 = __p0_487; \
50096 int32x2_t __ret_395; \51452 int32x2_t __ret_487; \
50097 __ret_395 = splat_laneq_s32(__s0_395, __p1_395); \51453 __ret_487 = splat_laneq_s32(__s0_487, __p1_487); \
50098 __ret_395; \51454 __ret_487; \
50099})51455})
50100#else51456#else
50101#define vdup_laneq_s32(__p0_396, __p1_396) __extension__ ({ \51457#define vdup_laneq_s32(__p0_488, __p1_488) __extension__ ({ \
50102 int32x4_t __s0_396 = __p0_396; \51458 int32x4_t __s0_488 = __p0_488; \
50103 int32x4_t __rev0_396; __rev0_396 = __builtin_shufflevector(__s0_396, __s0_396, 3, 2, 1, 0); \51459 int32x4_t __rev0_488; __rev0_488 = __builtin_shufflevector(__s0_488, __s0_488, 3, 2, 1, 0); \
50104 int32x2_t __ret_396; \51460 int32x2_t __ret_488; \
50105 __ret_396 = __noswap_splat_laneq_s32(__rev0_396, __p1_396); \51461 __ret_488 = __noswap_splat_laneq_s32(__rev0_488, __p1_488); \
50106 __ret_396 = __builtin_shufflevector(__ret_396, __ret_396, 1, 0); \51462 __ret_488 = __builtin_shufflevector(__ret_488, __ret_488, 1, 0); \
50107 __ret_396; \51463 __ret_488; \
50108})51464})
50109#endif51465#endif
5011051466
50111#ifdef __LITTLE_ENDIAN__51467#ifdef __LITTLE_ENDIAN__
50112#define vdup_laneq_s64(__p0_397, __p1_397) __extension__ ({ \51468#define vdup_laneq_s64(__p0_489, __p1_489) __extension__ ({ \
50113 int64x2_t __s0_397 = __p0_397; \51469 int64x2_t __s0_489 = __p0_489; \
50114 int64x1_t __ret_397; \51470 int64x1_t __ret_489; \
50115 __ret_397 = splat_laneq_s64(__s0_397, __p1_397); \51471 __ret_489 = splat_laneq_s64(__s0_489, __p1_489); \
50116 __ret_397; \51472 __ret_489; \
50117})51473})
50118#else51474#else
50119#define vdup_laneq_s64(__p0_398, __p1_398) __extension__ ({ \51475#define vdup_laneq_s64(__p0_490, __p1_490) __extension__ ({ \
50120 int64x2_t __s0_398 = __p0_398; \51476 int64x2_t __s0_490 = __p0_490; \
50121 int64x2_t __rev0_398; __rev0_398 = __builtin_shufflevector(__s0_398, __s0_398, 1, 0); \51477 int64x2_t __rev0_490; __rev0_490 = __builtin_shufflevector(__s0_490, __s0_490, 1, 0); \
50122 int64x1_t __ret_398; \51478 int64x1_t __ret_490; \
50123 __ret_398 = __noswap_splat_laneq_s64(__rev0_398, __p1_398); \51479 __ret_490 = __noswap_splat_laneq_s64(__rev0_490, __p1_490); \
50124 __ret_398; \51480 __ret_490; \
50125})51481})
50126#endif51482#endif
5012751483
50128#ifdef __LITTLE_ENDIAN__51484#ifdef __LITTLE_ENDIAN__
50129#define vdup_laneq_s16(__p0_399, __p1_399) __extension__ ({ \51485#define vdup_laneq_s16(__p0_491, __p1_491) __extension__ ({ \
50130 int16x8_t __s0_399 = __p0_399; \51486 int16x8_t __s0_491 = __p0_491; \
50131 int16x4_t __ret_399; \51487 int16x4_t __ret_491; \
50132 __ret_399 = splat_laneq_s16(__s0_399, __p1_399); \51488 __ret_491 = splat_laneq_s16(__s0_491, __p1_491); \
50133 __ret_399; \51489 __ret_491; \
50134})51490})
50135#else51491#else
50136#define vdup_laneq_s16(__p0_400, __p1_400) __extension__ ({ \51492#define vdup_laneq_s16(__p0_492, __p1_492) __extension__ ({ \
50137 int16x8_t __s0_400 = __p0_400; \51493 int16x8_t __s0_492 = __p0_492; \
50138 int16x8_t __rev0_400; __rev0_400 = __builtin_shufflevector(__s0_400, __s0_400, 7, 6, 5, 4, 3, 2, 1, 0); \51494 int16x8_t __rev0_492; __rev0_492 = __builtin_shufflevector(__s0_492, __s0_492, 7, 6, 5, 4, 3, 2, 1, 0); \
50139 int16x4_t __ret_400; \51495 int16x4_t __ret_492; \
50140 __ret_400 = __noswap_splat_laneq_s16(__rev0_400, __p1_400); \51496 __ret_492 = __noswap_splat_laneq_s16(__rev0_492, __p1_492); \
50141 __ret_400 = __builtin_shufflevector(__ret_400, __ret_400, 3, 2, 1, 0); \51497 __ret_492 = __builtin_shufflevector(__ret_492, __ret_492, 3, 2, 1, 0); \
50142 __ret_400; \51498 __ret_492; \
50143})51499})
50144#endif51500#endif
5014551501
...@@ -50635,246 +51991,246 @@ __ai float64x1_t vfms_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)...@@ -50635,246 +51991,246 @@ __ai float64x1_t vfms_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)
50635 __ret = vfma_f64(__p0, -__p1, __p2);51991 __ret = vfma_f64(__p0, -__p1, __p2);
50636 return __ret;51992 return __ret;
50637}51993}
50638#define vfmsd_lane_f64(__p0_401, __p1_401, __p2_401, __p3_401) __extension__ ({ \51994#define vfmsd_lane_f64(__p0_493, __p1_493, __p2_493, __p3_493) __extension__ ({ \
50639 float64_t __s0_401 = __p0_401; \51995 float64_t __s0_493 = __p0_493; \
50640 float64_t __s1_401 = __p1_401; \51996 float64_t __s1_493 = __p1_493; \
50641 float64x1_t __s2_401 = __p2_401; \51997 float64x1_t __s2_493 = __p2_493; \
50642 float64_t __ret_401; \51998 float64_t __ret_493; \
50643 __ret_401 = vfmad_lane_f64(__s0_401, -__s1_401, __s2_401, __p3_401); \51999 __ret_493 = vfmad_lane_f64(__s0_493, -__s1_493, __s2_493, __p3_493); \
50644 __ret_401; \52000 __ret_493; \
50645})52001})
50646#ifdef __LITTLE_ENDIAN__52002#ifdef __LITTLE_ENDIAN__
50647#define vfmss_lane_f32(__p0_402, __p1_402, __p2_402, __p3_402) __extension__ ({ \52003#define vfmss_lane_f32(__p0_494, __p1_494, __p2_494, __p3_494) __extension__ ({ \
50648 float32_t __s0_402 = __p0_402; \52004 float32_t __s0_494 = __p0_494; \
50649 float32_t __s1_402 = __p1_402; \52005 float32_t __s1_494 = __p1_494; \
50650 float32x2_t __s2_402 = __p2_402; \52006 float32x2_t __s2_494 = __p2_494; \
50651 float32_t __ret_402; \52007 float32_t __ret_494; \
50652 __ret_402 = vfmas_lane_f32(__s0_402, -__s1_402, __s2_402, __p3_402); \52008 __ret_494 = vfmas_lane_f32(__s0_494, -__s1_494, __s2_494, __p3_494); \
50653 __ret_402; \52009 __ret_494; \
50654})52010})
50655#else52011#else
50656#define vfmss_lane_f32(__p0_403, __p1_403, __p2_403, __p3_403) __extension__ ({ \52012#define vfmss_lane_f32(__p0_495, __p1_495, __p2_495, __p3_495) __extension__ ({ \
50657 float32_t __s0_403 = __p0_403; \52013 float32_t __s0_495 = __p0_495; \
50658 float32_t __s1_403 = __p1_403; \52014 float32_t __s1_495 = __p1_495; \
50659 float32x2_t __s2_403 = __p2_403; \52015 float32x2_t __s2_495 = __p2_495; \
50660 float32x2_t __rev2_403; __rev2_403 = __builtin_shufflevector(__s2_403, __s2_403, 1, 0); \52016 float32x2_t __rev2_495; __rev2_495 = __builtin_shufflevector(__s2_495, __s2_495, 1, 0); \
50661 float32_t __ret_403; \52017 float32_t __ret_495; \
50662 __ret_403 = __noswap_vfmas_lane_f32(__s0_403, -__s1_403, __rev2_403, __p3_403); \52018 __ret_495 = __noswap_vfmas_lane_f32(__s0_495, -__s1_495, __rev2_495, __p3_495); \
50663 __ret_403; \52019 __ret_495; \
50664})52020})
50665#endif52021#endif
5066652022
50667#ifdef __LITTLE_ENDIAN__52023#ifdef __LITTLE_ENDIAN__
50668#define vfmsq_lane_f64(__p0_404, __p1_404, __p2_404, __p3_404) __extension__ ({ \52024#define vfmsq_lane_f64(__p0_496, __p1_496, __p2_496, __p3_496) __extension__ ({ \
50669 float64x2_t __s0_404 = __p0_404; \52025 float64x2_t __s0_496 = __p0_496; \
50670 float64x2_t __s1_404 = __p1_404; \52026 float64x2_t __s1_496 = __p1_496; \
50671 float64x1_t __s2_404 = __p2_404; \52027 float64x1_t __s2_496 = __p2_496; \
50672 float64x2_t __ret_404; \52028 float64x2_t __ret_496; \
50673 __ret_404 = vfmaq_lane_f64(__s0_404, -__s1_404, __s2_404, __p3_404); \52029 __ret_496 = vfmaq_lane_f64(__s0_496, -__s1_496, __s2_496, __p3_496); \
50674 __ret_404; \52030 __ret_496; \
50675})52031})
50676#else52032#else
50677#define vfmsq_lane_f64(__p0_405, __p1_405, __p2_405, __p3_405) __extension__ ({ \52033#define vfmsq_lane_f64(__p0_497, __p1_497, __p2_497, __p3_497) __extension__ ({ \
50678 float64x2_t __s0_405 = __p0_405; \52034 float64x2_t __s0_497 = __p0_497; \
50679 float64x2_t __s1_405 = __p1_405; \52035 float64x2_t __s1_497 = __p1_497; \
50680 float64x1_t __s2_405 = __p2_405; \52036 float64x1_t __s2_497 = __p2_497; \
50681 float64x2_t __rev0_405; __rev0_405 = __builtin_shufflevector(__s0_405, __s0_405, 1, 0); \52037 float64x2_t __rev0_497; __rev0_497 = __builtin_shufflevector(__s0_497, __s0_497, 1, 0); \
50682 float64x2_t __rev1_405; __rev1_405 = __builtin_shufflevector(__s1_405, __s1_405, 1, 0); \52038 float64x2_t __rev1_497; __rev1_497 = __builtin_shufflevector(__s1_497, __s1_497, 1, 0); \
50683 float64x2_t __ret_405; \52039 float64x2_t __ret_497; \
50684 __ret_405 = __noswap_vfmaq_lane_f64(__rev0_405, -__rev1_405, __s2_405, __p3_405); \52040 __ret_497 = __noswap_vfmaq_lane_f64(__rev0_497, -__rev1_497, __s2_497, __p3_497); \
50685 __ret_405 = __builtin_shufflevector(__ret_405, __ret_405, 1, 0); \52041 __ret_497 = __builtin_shufflevector(__ret_497, __ret_497, 1, 0); \
50686 __ret_405; \52042 __ret_497; \
50687})52043})
50688#endif52044#endif
5068952045
50690#ifdef __LITTLE_ENDIAN__52046#ifdef __LITTLE_ENDIAN__
50691#define vfmsq_lane_f32(__p0_406, __p1_406, __p2_406, __p3_406) __extension__ ({ \52047#define vfmsq_lane_f32(__p0_498, __p1_498, __p2_498, __p3_498) __extension__ ({ \
50692 float32x4_t __s0_406 = __p0_406; \52048 float32x4_t __s0_498 = __p0_498; \
50693 float32x4_t __s1_406 = __p1_406; \52049 float32x4_t __s1_498 = __p1_498; \
50694 float32x2_t __s2_406 = __p2_406; \52050 float32x2_t __s2_498 = __p2_498; \
50695 float32x4_t __ret_406; \52051 float32x4_t __ret_498; \
50696 __ret_406 = vfmaq_lane_f32(__s0_406, -__s1_406, __s2_406, __p3_406); \52052 __ret_498 = vfmaq_lane_f32(__s0_498, -__s1_498, __s2_498, __p3_498); \
50697 __ret_406; \52053 __ret_498; \
50698})52054})
50699#else52055#else
50700#define vfmsq_lane_f32(__p0_407, __p1_407, __p2_407, __p3_407) __extension__ ({ \52056#define vfmsq_lane_f32(__p0_499, __p1_499, __p2_499, __p3_499) __extension__ ({ \
50701 float32x4_t __s0_407 = __p0_407; \52057 float32x4_t __s0_499 = __p0_499; \
50702 float32x4_t __s1_407 = __p1_407; \52058 float32x4_t __s1_499 = __p1_499; \
50703 float32x2_t __s2_407 = __p2_407; \52059 float32x2_t __s2_499 = __p2_499; \
50704 float32x4_t __rev0_407; __rev0_407 = __builtin_shufflevector(__s0_407, __s0_407, 3, 2, 1, 0); \52060 float32x4_t __rev0_499; __rev0_499 = __builtin_shufflevector(__s0_499, __s0_499, 3, 2, 1, 0); \
50705 float32x4_t __rev1_407; __rev1_407 = __builtin_shufflevector(__s1_407, __s1_407, 3, 2, 1, 0); \52061 float32x4_t __rev1_499; __rev1_499 = __builtin_shufflevector(__s1_499, __s1_499, 3, 2, 1, 0); \
50706 float32x2_t __rev2_407; __rev2_407 = __builtin_shufflevector(__s2_407, __s2_407, 1, 0); \52062 float32x2_t __rev2_499; __rev2_499 = __builtin_shufflevector(__s2_499, __s2_499, 1, 0); \
50707 float32x4_t __ret_407; \52063 float32x4_t __ret_499; \
50708 __ret_407 = __noswap_vfmaq_lane_f32(__rev0_407, -__rev1_407, __rev2_407, __p3_407); \52064 __ret_499 = __noswap_vfmaq_lane_f32(__rev0_499, -__rev1_499, __rev2_499, __p3_499); \
50709 __ret_407 = __builtin_shufflevector(__ret_407, __ret_407, 3, 2, 1, 0); \52065 __ret_499 = __builtin_shufflevector(__ret_499, __ret_499, 3, 2, 1, 0); \
50710 __ret_407; \52066 __ret_499; \
50711})52067})
50712#endif52068#endif
5071352069
50714#define vfms_lane_f64(__p0_408, __p1_408, __p2_408, __p3_408) __extension__ ({ \52070#define vfms_lane_f64(__p0_500, __p1_500, __p2_500, __p3_500) __extension__ ({ \
50715 float64x1_t __s0_408 = __p0_408; \52071 float64x1_t __s0_500 = __p0_500; \
50716 float64x1_t __s1_408 = __p1_408; \52072 float64x1_t __s1_500 = __p1_500; \
50717 float64x1_t __s2_408 = __p2_408; \52073 float64x1_t __s2_500 = __p2_500; \
50718 float64x1_t __ret_408; \52074 float64x1_t __ret_500; \
50719 __ret_408 = vfma_lane_f64(__s0_408, -__s1_408, __s2_408, __p3_408); \52075 __ret_500 = vfma_lane_f64(__s0_500, -__s1_500, __s2_500, __p3_500); \
50720 __ret_408; \52076 __ret_500; \
50721})52077})
50722#ifdef __LITTLE_ENDIAN__52078#ifdef __LITTLE_ENDIAN__
50723#define vfms_lane_f32(__p0_409, __p1_409, __p2_409, __p3_409) __extension__ ({ \52079#define vfms_lane_f32(__p0_501, __p1_501, __p2_501, __p3_501) __extension__ ({ \
50724 float32x2_t __s0_409 = __p0_409; \52080 float32x2_t __s0_501 = __p0_501; \
50725 float32x2_t __s1_409 = __p1_409; \52081 float32x2_t __s1_501 = __p1_501; \
50726 float32x2_t __s2_409 = __p2_409; \52082 float32x2_t __s2_501 = __p2_501; \
50727 float32x2_t __ret_409; \52083 float32x2_t __ret_501; \
50728 __ret_409 = vfma_lane_f32(__s0_409, -__s1_409, __s2_409, __p3_409); \52084 __ret_501 = vfma_lane_f32(__s0_501, -__s1_501, __s2_501, __p3_501); \
50729 __ret_409; \52085 __ret_501; \
50730})52086})
50731#else52087#else
50732#define vfms_lane_f32(__p0_410, __p1_410, __p2_410, __p3_410) __extension__ ({ \52088#define vfms_lane_f32(__p0_502, __p1_502, __p2_502, __p3_502) __extension__ ({ \
50733 float32x2_t __s0_410 = __p0_410; \52089 float32x2_t __s0_502 = __p0_502; \
50734 float32x2_t __s1_410 = __p1_410; \52090 float32x2_t __s1_502 = __p1_502; \
50735 float32x2_t __s2_410 = __p2_410; \52091 float32x2_t __s2_502 = __p2_502; \
50736 float32x2_t __rev0_410; __rev0_410 = __builtin_shufflevector(__s0_410, __s0_410, 1, 0); \52092 float32x2_t __rev0_502; __rev0_502 = __builtin_shufflevector(__s0_502, __s0_502, 1, 0); \
50737 float32x2_t __rev1_410; __rev1_410 = __builtin_shufflevector(__s1_410, __s1_410, 1, 0); \52093 float32x2_t __rev1_502; __rev1_502 = __builtin_shufflevector(__s1_502, __s1_502, 1, 0); \
50738 float32x2_t __rev2_410; __rev2_410 = __builtin_shufflevector(__s2_410, __s2_410, 1, 0); \52094 float32x2_t __rev2_502; __rev2_502 = __builtin_shufflevector(__s2_502, __s2_502, 1, 0); \
50739 float32x2_t __ret_410; \52095 float32x2_t __ret_502; \
50740 __ret_410 = __noswap_vfma_lane_f32(__rev0_410, -__rev1_410, __rev2_410, __p3_410); \52096 __ret_502 = __noswap_vfma_lane_f32(__rev0_502, -__rev1_502, __rev2_502, __p3_502); \
50741 __ret_410 = __builtin_shufflevector(__ret_410, __ret_410, 1, 0); \52097 __ret_502 = __builtin_shufflevector(__ret_502, __ret_502, 1, 0); \
50742 __ret_410; \52098 __ret_502; \
50743})52099})
50744#endif52100#endif
5074552101
50746#ifdef __LITTLE_ENDIAN__52102#ifdef __LITTLE_ENDIAN__
50747#define vfmsd_laneq_f64(__p0_411, __p1_411, __p2_411, __p3_411) __extension__ ({ \52103#define vfmsd_laneq_f64(__p0_503, __p1_503, __p2_503, __p3_503) __extension__ ({ \
50748 float64_t __s0_411 = __p0_411; \52104 float64_t __s0_503 = __p0_503; \
50749 float64_t __s1_411 = __p1_411; \52105 float64_t __s1_503 = __p1_503; \
50750 float64x2_t __s2_411 = __p2_411; \52106 float64x2_t __s2_503 = __p2_503; \
50751 float64_t __ret_411; \52107 float64_t __ret_503; \
50752 __ret_411 = vfmad_laneq_f64(__s0_411, -__s1_411, __s2_411, __p3_411); \52108 __ret_503 = vfmad_laneq_f64(__s0_503, -__s1_503, __s2_503, __p3_503); \
50753 __ret_411; \52109 __ret_503; \
50754})52110})
50755#else52111#else
50756#define vfmsd_laneq_f64(__p0_412, __p1_412, __p2_412, __p3_412) __extension__ ({ \52112#define vfmsd_laneq_f64(__p0_504, __p1_504, __p2_504, __p3_504) __extension__ ({ \
50757 float64_t __s0_412 = __p0_412; \52113 float64_t __s0_504 = __p0_504; \
50758 float64_t __s1_412 = __p1_412; \52114 float64_t __s1_504 = __p1_504; \
50759 float64x2_t __s2_412 = __p2_412; \52115 float64x2_t __s2_504 = __p2_504; \
50760 float64x2_t __rev2_412; __rev2_412 = __builtin_shufflevector(__s2_412, __s2_412, 1, 0); \52116 float64x2_t __rev2_504; __rev2_504 = __builtin_shufflevector(__s2_504, __s2_504, 1, 0); \
50761 float64_t __ret_412; \52117 float64_t __ret_504; \
50762 __ret_412 = __noswap_vfmad_laneq_f64(__s0_412, -__s1_412, __rev2_412, __p3_412); \52118 __ret_504 = __noswap_vfmad_laneq_f64(__s0_504, -__s1_504, __rev2_504, __p3_504); \
50763 __ret_412; \52119 __ret_504; \
50764})52120})
50765#endif52121#endif
5076652122
50767#ifdef __LITTLE_ENDIAN__52123#ifdef __LITTLE_ENDIAN__
50768#define vfmss_laneq_f32(__p0_413, __p1_413, __p2_413, __p3_413) __extension__ ({ \52124#define vfmss_laneq_f32(__p0_505, __p1_505, __p2_505, __p3_505) __extension__ ({ \
50769 float32_t __s0_413 = __p0_413; \52125 float32_t __s0_505 = __p0_505; \
50770 float32_t __s1_413 = __p1_413; \52126 float32_t __s1_505 = __p1_505; \
50771 float32x4_t __s2_413 = __p2_413; \52127 float32x4_t __s2_505 = __p2_505; \
50772 float32_t __ret_413; \52128 float32_t __ret_505; \
50773 __ret_413 = vfmas_laneq_f32(__s0_413, -__s1_413, __s2_413, __p3_413); \52129 __ret_505 = vfmas_laneq_f32(__s0_505, -__s1_505, __s2_505, __p3_505); \
50774 __ret_413; \52130 __ret_505; \
50775})52131})
50776#else52132#else
50777#define vfmss_laneq_f32(__p0_414, __p1_414, __p2_414, __p3_414) __extension__ ({ \52133#define vfmss_laneq_f32(__p0_506, __p1_506, __p2_506, __p3_506) __extension__ ({ \
50778 float32_t __s0_414 = __p0_414; \52134 float32_t __s0_506 = __p0_506; \
50779 float32_t __s1_414 = __p1_414; \52135 float32_t __s1_506 = __p1_506; \
50780 float32x4_t __s2_414 = __p2_414; \52136 float32x4_t __s2_506 = __p2_506; \
50781 float32x4_t __rev2_414; __rev2_414 = __builtin_shufflevector(__s2_414, __s2_414, 3, 2, 1, 0); \52137 float32x4_t __rev2_506; __rev2_506 = __builtin_shufflevector(__s2_506, __s2_506, 3, 2, 1, 0); \
50782 float32_t __ret_414; \52138 float32_t __ret_506; \
50783 __ret_414 = __noswap_vfmas_laneq_f32(__s0_414, -__s1_414, __rev2_414, __p3_414); \52139 __ret_506 = __noswap_vfmas_laneq_f32(__s0_506, -__s1_506, __rev2_506, __p3_506); \
50784 __ret_414; \52140 __ret_506; \
50785})52141})
50786#endif52142#endif
5078752143
50788#ifdef __LITTLE_ENDIAN__52144#ifdef __LITTLE_ENDIAN__
50789#define vfmsq_laneq_f64(__p0_415, __p1_415, __p2_415, __p3_415) __extension__ ({ \52145#define vfmsq_laneq_f64(__p0_507, __p1_507, __p2_507, __p3_507) __extension__ ({ \
50790 float64x2_t __s0_415 = __p0_415; \52146 float64x2_t __s0_507 = __p0_507; \
50791 float64x2_t __s1_415 = __p1_415; \52147 float64x2_t __s1_507 = __p1_507; \
50792 float64x2_t __s2_415 = __p2_415; \52148 float64x2_t __s2_507 = __p2_507; \
50793 float64x2_t __ret_415; \52149 float64x2_t __ret_507; \
50794 __ret_415 = vfmaq_laneq_f64(__s0_415, -__s1_415, __s2_415, __p3_415); \52150 __ret_507 = vfmaq_laneq_f64(__s0_507, -__s1_507, __s2_507, __p3_507); \
50795 __ret_415; \52151 __ret_507; \
50796})52152})
50797#else52153#else
50798#define vfmsq_laneq_f64(__p0_416, __p1_416, __p2_416, __p3_416) __extension__ ({ \52154#define vfmsq_laneq_f64(__p0_508, __p1_508, __p2_508, __p3_508) __extension__ ({ \
50799 float64x2_t __s0_416 = __p0_416; \52155 float64x2_t __s0_508 = __p0_508; \
50800 float64x2_t __s1_416 = __p1_416; \52156 float64x2_t __s1_508 = __p1_508; \
50801 float64x2_t __s2_416 = __p2_416; \52157 float64x2_t __s2_508 = __p2_508; \
50802 float64x2_t __rev0_416; __rev0_416 = __builtin_shufflevector(__s0_416, __s0_416, 1, 0); \52158 float64x2_t __rev0_508; __rev0_508 = __builtin_shufflevector(__s0_508, __s0_508, 1, 0); \
50803 float64x2_t __rev1_416; __rev1_416 = __builtin_shufflevector(__s1_416, __s1_416, 1, 0); \52159 float64x2_t __rev1_508; __rev1_508 = __builtin_shufflevector(__s1_508, __s1_508, 1, 0); \
50804 float64x2_t __rev2_416; __rev2_416 = __builtin_shufflevector(__s2_416, __s2_416, 1, 0); \52160 float64x2_t __rev2_508; __rev2_508 = __builtin_shufflevector(__s2_508, __s2_508, 1, 0); \
50805 float64x2_t __ret_416; \52161 float64x2_t __ret_508; \
50806 __ret_416 = __noswap_vfmaq_laneq_f64(__rev0_416, -__rev1_416, __rev2_416, __p3_416); \52162 __ret_508 = __noswap_vfmaq_laneq_f64(__rev0_508, -__rev1_508, __rev2_508, __p3_508); \
50807 __ret_416 = __builtin_shufflevector(__ret_416, __ret_416, 1, 0); \52163 __ret_508 = __builtin_shufflevector(__ret_508, __ret_508, 1, 0); \
50808 __ret_416; \52164 __ret_508; \
50809})52165})
50810#endif52166#endif
5081152167
50812#ifdef __LITTLE_ENDIAN__52168#ifdef __LITTLE_ENDIAN__
50813#define vfmsq_laneq_f32(__p0_417, __p1_417, __p2_417, __p3_417) __extension__ ({ \52169#define vfmsq_laneq_f32(__p0_509, __p1_509, __p2_509, __p3_509) __extension__ ({ \
50814 float32x4_t __s0_417 = __p0_417; \52170 float32x4_t __s0_509 = __p0_509; \
50815 float32x4_t __s1_417 = __p1_417; \52171 float32x4_t __s1_509 = __p1_509; \
50816 float32x4_t __s2_417 = __p2_417; \52172 float32x4_t __s2_509 = __p2_509; \
50817 float32x4_t __ret_417; \52173 float32x4_t __ret_509; \
50818 __ret_417 = vfmaq_laneq_f32(__s0_417, -__s1_417, __s2_417, __p3_417); \52174 __ret_509 = vfmaq_laneq_f32(__s0_509, -__s1_509, __s2_509, __p3_509); \
50819 __ret_417; \52175 __ret_509; \
50820})52176})
50821#else52177#else
50822#define vfmsq_laneq_f32(__p0_418, __p1_418, __p2_418, __p3_418) __extension__ ({ \52178#define vfmsq_laneq_f32(__p0_510, __p1_510, __p2_510, __p3_510) __extension__ ({ \
50823 float32x4_t __s0_418 = __p0_418; \52179 float32x4_t __s0_510 = __p0_510; \
50824 float32x4_t __s1_418 = __p1_418; \52180 float32x4_t __s1_510 = __p1_510; \
50825 float32x4_t __s2_418 = __p2_418; \52181 float32x4_t __s2_510 = __p2_510; \
50826 float32x4_t __rev0_418; __rev0_418 = __builtin_shufflevector(__s0_418, __s0_418, 3, 2, 1, 0); \52182 float32x4_t __rev0_510; __rev0_510 = __builtin_shufflevector(__s0_510, __s0_510, 3, 2, 1, 0); \
50827 float32x4_t __rev1_418; __rev1_418 = __builtin_shufflevector(__s1_418, __s1_418, 3, 2, 1, 0); \52183 float32x4_t __rev1_510; __rev1_510 = __builtin_shufflevector(__s1_510, __s1_510, 3, 2, 1, 0); \
50828 float32x4_t __rev2_418; __rev2_418 = __builtin_shufflevector(__s2_418, __s2_418, 3, 2, 1, 0); \52184 float32x4_t __rev2_510; __rev2_510 = __builtin_shufflevector(__s2_510, __s2_510, 3, 2, 1, 0); \
50829 float32x4_t __ret_418; \52185 float32x4_t __ret_510; \
50830 __ret_418 = __noswap_vfmaq_laneq_f32(__rev0_418, -__rev1_418, __rev2_418, __p3_418); \52186 __ret_510 = __noswap_vfmaq_laneq_f32(__rev0_510, -__rev1_510, __rev2_510, __p3_510); \
50831 __ret_418 = __builtin_shufflevector(__ret_418, __ret_418, 3, 2, 1, 0); \52187 __ret_510 = __builtin_shufflevector(__ret_510, __ret_510, 3, 2, 1, 0); \
50832 __ret_418; \52188 __ret_510; \
50833})52189})
50834#endif52190#endif
5083552191
50836#ifdef __LITTLE_ENDIAN__52192#ifdef __LITTLE_ENDIAN__
50837#define vfms_laneq_f64(__p0_419, __p1_419, __p2_419, __p3_419) __extension__ ({ \52193#define vfms_laneq_f64(__p0_511, __p1_511, __p2_511, __p3_511) __extension__ ({ \
50838 float64x1_t __s0_419 = __p0_419; \52194 float64x1_t __s0_511 = __p0_511; \
50839 float64x1_t __s1_419 = __p1_419; \52195 float64x1_t __s1_511 = __p1_511; \
50840 float64x2_t __s2_419 = __p2_419; \52196 float64x2_t __s2_511 = __p2_511; \
50841 float64x1_t __ret_419; \52197 float64x1_t __ret_511; \
50842 __ret_419 = vfma_laneq_f64(__s0_419, -__s1_419, __s2_419, __p3_419); \52198 __ret_511 = vfma_laneq_f64(__s0_511, -__s1_511, __s2_511, __p3_511); \
50843 __ret_419; \52199 __ret_511; \
50844})52200})
50845#else52201#else
50846#define vfms_laneq_f64(__p0_420, __p1_420, __p2_420, __p3_420) __extension__ ({ \52202#define vfms_laneq_f64(__p0_512, __p1_512, __p2_512, __p3_512) __extension__ ({ \
50847 float64x1_t __s0_420 = __p0_420; \52203 float64x1_t __s0_512 = __p0_512; \
50848 float64x1_t __s1_420 = __p1_420; \52204 float64x1_t __s1_512 = __p1_512; \
50849 float64x2_t __s2_420 = __p2_420; \52205 float64x2_t __s2_512 = __p2_512; \
50850 float64x2_t __rev2_420; __rev2_420 = __builtin_shufflevector(__s2_420, __s2_420, 1, 0); \52206 float64x2_t __rev2_512; __rev2_512 = __builtin_shufflevector(__s2_512, __s2_512, 1, 0); \
50851 float64x1_t __ret_420; \52207 float64x1_t __ret_512; \
50852 __ret_420 = __noswap_vfma_laneq_f64(__s0_420, -__s1_420, __rev2_420, __p3_420); \52208 __ret_512 = __noswap_vfma_laneq_f64(__s0_512, -__s1_512, __rev2_512, __p3_512); \
50853 __ret_420; \52209 __ret_512; \
50854})52210})
50855#endif52211#endif
5085652212
50857#ifdef __LITTLE_ENDIAN__52213#ifdef __LITTLE_ENDIAN__
50858#define vfms_laneq_f32(__p0_421, __p1_421, __p2_421, __p3_421) __extension__ ({ \52214#define vfms_laneq_f32(__p0_513, __p1_513, __p2_513, __p3_513) __extension__ ({ \
50859 float32x2_t __s0_421 = __p0_421; \52215 float32x2_t __s0_513 = __p0_513; \
50860 float32x2_t __s1_421 = __p1_421; \52216 float32x2_t __s1_513 = __p1_513; \
50861 float32x4_t __s2_421 = __p2_421; \52217 float32x4_t __s2_513 = __p2_513; \
50862 float32x2_t __ret_421; \52218 float32x2_t __ret_513; \
50863 __ret_421 = vfma_laneq_f32(__s0_421, -__s1_421, __s2_421, __p3_421); \52219 __ret_513 = vfma_laneq_f32(__s0_513, -__s1_513, __s2_513, __p3_513); \
50864 __ret_421; \52220 __ret_513; \
50865})52221})
50866#else52222#else
50867#define vfms_laneq_f32(__p0_422, __p1_422, __p2_422, __p3_422) __extension__ ({ \52223#define vfms_laneq_f32(__p0_514, __p1_514, __p2_514, __p3_514) __extension__ ({ \
50868 float32x2_t __s0_422 = __p0_422; \52224 float32x2_t __s0_514 = __p0_514; \
50869 float32x2_t __s1_422 = __p1_422; \52225 float32x2_t __s1_514 = __p1_514; \
50870 float32x4_t __s2_422 = __p2_422; \52226 float32x4_t __s2_514 = __p2_514; \
50871 float32x2_t __rev0_422; __rev0_422 = __builtin_shufflevector(__s0_422, __s0_422, 1, 0); \52227 float32x2_t __rev0_514; __rev0_514 = __builtin_shufflevector(__s0_514, __s0_514, 1, 0); \
50872 float32x2_t __rev1_422; __rev1_422 = __builtin_shufflevector(__s1_422, __s1_422, 1, 0); \52228 float32x2_t __rev1_514; __rev1_514 = __builtin_shufflevector(__s1_514, __s1_514, 1, 0); \
50873 float32x4_t __rev2_422; __rev2_422 = __builtin_shufflevector(__s2_422, __s2_422, 3, 2, 1, 0); \52229 float32x4_t __rev2_514; __rev2_514 = __builtin_shufflevector(__s2_514, __s2_514, 3, 2, 1, 0); \
50874 float32x2_t __ret_422; \52230 float32x2_t __ret_514; \
50875 __ret_422 = __noswap_vfma_laneq_f32(__rev0_422, -__rev1_422, __rev2_422, __p3_422); \52231 __ret_514 = __noswap_vfma_laneq_f32(__rev0_514, -__rev1_514, __rev2_514, __p3_514); \
50876 __ret_422 = __builtin_shufflevector(__ret_422, __ret_422, 1, 0); \52232 __ret_514 = __builtin_shufflevector(__ret_514, __ret_514, 1, 0); \
50877 __ret_422; \52233 __ret_514; \
50878})52234})
50879#endif52235#endif
5088052236
...@@ -52896,530 +54252,530 @@ __ai float64x1_t vmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)...@@ -52896,530 +54252,530 @@ __ai float64x1_t vmla_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)
52896 return __ret;54252 return __ret;
52897}54253}
52898#ifdef __LITTLE_ENDIAN__54254#ifdef __LITTLE_ENDIAN__
52899#define vmlaq_laneq_u32(__p0_423, __p1_423, __p2_423, __p3_423) __extension__ ({ \54255#define vmlaq_laneq_u32(__p0_515, __p1_515, __p2_515, __p3_515) __extension__ ({ \
52900 uint32x4_t __s0_423 = __p0_423; \54256 uint32x4_t __s0_515 = __p0_515; \
52901 uint32x4_t __s1_423 = __p1_423; \54257 uint32x4_t __s1_515 = __p1_515; \
52902 uint32x4_t __s2_423 = __p2_423; \54258 uint32x4_t __s2_515 = __p2_515; \
52903 uint32x4_t __ret_423; \54259 uint32x4_t __ret_515; \
52904 __ret_423 = __s0_423 + __s1_423 * splatq_laneq_u32(__s2_423, __p3_423); \54260 __ret_515 = __s0_515 + __s1_515 * splatq_laneq_u32(__s2_515, __p3_515); \
52905 __ret_423; \54261 __ret_515; \
52906})54262})
52907#else54263#else
52908#define vmlaq_laneq_u32(__p0_424, __p1_424, __p2_424, __p3_424) __extension__ ({ \54264#define vmlaq_laneq_u32(__p0_516, __p1_516, __p2_516, __p3_516) __extension__ ({ \
52909 uint32x4_t __s0_424 = __p0_424; \54265 uint32x4_t __s0_516 = __p0_516; \
52910 uint32x4_t __s1_424 = __p1_424; \54266 uint32x4_t __s1_516 = __p1_516; \
52911 uint32x4_t __s2_424 = __p2_424; \54267 uint32x4_t __s2_516 = __p2_516; \
52912 uint32x4_t __rev0_424; __rev0_424 = __builtin_shufflevector(__s0_424, __s0_424, 3, 2, 1, 0); \54268 uint32x4_t __rev0_516; __rev0_516 = __builtin_shufflevector(__s0_516, __s0_516, 3, 2, 1, 0); \
52913 uint32x4_t __rev1_424; __rev1_424 = __builtin_shufflevector(__s1_424, __s1_424, 3, 2, 1, 0); \54269 uint32x4_t __rev1_516; __rev1_516 = __builtin_shufflevector(__s1_516, __s1_516, 3, 2, 1, 0); \
52914 uint32x4_t __rev2_424; __rev2_424 = __builtin_shufflevector(__s2_424, __s2_424, 3, 2, 1, 0); \54270 uint32x4_t __rev2_516; __rev2_516 = __builtin_shufflevector(__s2_516, __s2_516, 3, 2, 1, 0); \
52915 uint32x4_t __ret_424; \54271 uint32x4_t __ret_516; \
52916 __ret_424 = __rev0_424 + __rev1_424 * __noswap_splatq_laneq_u32(__rev2_424, __p3_424); \54272 __ret_516 = __rev0_516 + __rev1_516 * __noswap_splatq_laneq_u32(__rev2_516, __p3_516); \
52917 __ret_424 = __builtin_shufflevector(__ret_424, __ret_424, 3, 2, 1, 0); \54273 __ret_516 = __builtin_shufflevector(__ret_516, __ret_516, 3, 2, 1, 0); \
52918 __ret_424; \54274 __ret_516; \
52919})54275})
52920#endif54276#endif
5292154277
52922#ifdef __LITTLE_ENDIAN__54278#ifdef __LITTLE_ENDIAN__
52923#define vmlaq_laneq_u16(__p0_425, __p1_425, __p2_425, __p3_425) __extension__ ({ \54279#define vmlaq_laneq_u16(__p0_517, __p1_517, __p2_517, __p3_517) __extension__ ({ \
52924 uint16x8_t __s0_425 = __p0_425; \54280 uint16x8_t __s0_517 = __p0_517; \
52925 uint16x8_t __s1_425 = __p1_425; \54281 uint16x8_t __s1_517 = __p1_517; \
52926 uint16x8_t __s2_425 = __p2_425; \54282 uint16x8_t __s2_517 = __p2_517; \
52927 uint16x8_t __ret_425; \54283 uint16x8_t __ret_517; \
52928 __ret_425 = __s0_425 + __s1_425 * splatq_laneq_u16(__s2_425, __p3_425); \54284 __ret_517 = __s0_517 + __s1_517 * splatq_laneq_u16(__s2_517, __p3_517); \
52929 __ret_425; \54285 __ret_517; \
52930})54286})
52931#else54287#else
52932#define vmlaq_laneq_u16(__p0_426, __p1_426, __p2_426, __p3_426) __extension__ ({ \54288#define vmlaq_laneq_u16(__p0_518, __p1_518, __p2_518, __p3_518) __extension__ ({ \
52933 uint16x8_t __s0_426 = __p0_426; \54289 uint16x8_t __s0_518 = __p0_518; \
52934 uint16x8_t __s1_426 = __p1_426; \54290 uint16x8_t __s1_518 = __p1_518; \
52935 uint16x8_t __s2_426 = __p2_426; \54291 uint16x8_t __s2_518 = __p2_518; \
52936 uint16x8_t __rev0_426; __rev0_426 = __builtin_shufflevector(__s0_426, __s0_426, 7, 6, 5, 4, 3, 2, 1, 0); \54292 uint16x8_t __rev0_518; __rev0_518 = __builtin_shufflevector(__s0_518, __s0_518, 7, 6, 5, 4, 3, 2, 1, 0); \
52937 uint16x8_t __rev1_426; __rev1_426 = __builtin_shufflevector(__s1_426, __s1_426, 7, 6, 5, 4, 3, 2, 1, 0); \54293 uint16x8_t __rev1_518; __rev1_518 = __builtin_shufflevector(__s1_518, __s1_518, 7, 6, 5, 4, 3, 2, 1, 0); \
52938 uint16x8_t __rev2_426; __rev2_426 = __builtin_shufflevector(__s2_426, __s2_426, 7, 6, 5, 4, 3, 2, 1, 0); \54294 uint16x8_t __rev2_518; __rev2_518 = __builtin_shufflevector(__s2_518, __s2_518, 7, 6, 5, 4, 3, 2, 1, 0); \
52939 uint16x8_t __ret_426; \54295 uint16x8_t __ret_518; \
52940 __ret_426 = __rev0_426 + __rev1_426 * __noswap_splatq_laneq_u16(__rev2_426, __p3_426); \54296 __ret_518 = __rev0_518 + __rev1_518 * __noswap_splatq_laneq_u16(__rev2_518, __p3_518); \
52941 __ret_426 = __builtin_shufflevector(__ret_426, __ret_426, 7, 6, 5, 4, 3, 2, 1, 0); \54297 __ret_518 = __builtin_shufflevector(__ret_518, __ret_518, 7, 6, 5, 4, 3, 2, 1, 0); \
52942 __ret_426; \54298 __ret_518; \
52943})54299})
52944#endif54300#endif
5294554301
52946#ifdef __LITTLE_ENDIAN__54302#ifdef __LITTLE_ENDIAN__
52947#define vmlaq_laneq_f32(__p0_427, __p1_427, __p2_427, __p3_427) __extension__ ({ \54303#define vmlaq_laneq_f32(__p0_519, __p1_519, __p2_519, __p3_519) __extension__ ({ \
52948 float32x4_t __s0_427 = __p0_427; \54304 float32x4_t __s0_519 = __p0_519; \
52949 float32x4_t __s1_427 = __p1_427; \54305 float32x4_t __s1_519 = __p1_519; \
52950 float32x4_t __s2_427 = __p2_427; \54306 float32x4_t __s2_519 = __p2_519; \
52951 float32x4_t __ret_427; \54307 float32x4_t __ret_519; \
52952 __ret_427 = __s0_427 + __s1_427 * splatq_laneq_f32(__s2_427, __p3_427); \54308 __ret_519 = __s0_519 + __s1_519 * splatq_laneq_f32(__s2_519, __p3_519); \
52953 __ret_427; \54309 __ret_519; \
52954})54310})
52955#else54311#else
52956#define vmlaq_laneq_f32(__p0_428, __p1_428, __p2_428, __p3_428) __extension__ ({ \54312#define vmlaq_laneq_f32(__p0_520, __p1_520, __p2_520, __p3_520) __extension__ ({ \
52957 float32x4_t __s0_428 = __p0_428; \54313 float32x4_t __s0_520 = __p0_520; \
52958 float32x4_t __s1_428 = __p1_428; \54314 float32x4_t __s1_520 = __p1_520; \
52959 float32x4_t __s2_428 = __p2_428; \54315 float32x4_t __s2_520 = __p2_520; \
52960 float32x4_t __rev0_428; __rev0_428 = __builtin_shufflevector(__s0_428, __s0_428, 3, 2, 1, 0); \54316 float32x4_t __rev0_520; __rev0_520 = __builtin_shufflevector(__s0_520, __s0_520, 3, 2, 1, 0); \
52961 float32x4_t __rev1_428; __rev1_428 = __builtin_shufflevector(__s1_428, __s1_428, 3, 2, 1, 0); \54317 float32x4_t __rev1_520; __rev1_520 = __builtin_shufflevector(__s1_520, __s1_520, 3, 2, 1, 0); \
52962 float32x4_t __rev2_428; __rev2_428 = __builtin_shufflevector(__s2_428, __s2_428, 3, 2, 1, 0); \54318 float32x4_t __rev2_520; __rev2_520 = __builtin_shufflevector(__s2_520, __s2_520, 3, 2, 1, 0); \
52963 float32x4_t __ret_428; \54319 float32x4_t __ret_520; \
52964 __ret_428 = __rev0_428 + __rev1_428 * __noswap_splatq_laneq_f32(__rev2_428, __p3_428); \54320 __ret_520 = __rev0_520 + __rev1_520 * __noswap_splatq_laneq_f32(__rev2_520, __p3_520); \
52965 __ret_428 = __builtin_shufflevector(__ret_428, __ret_428, 3, 2, 1, 0); \54321 __ret_520 = __builtin_shufflevector(__ret_520, __ret_520, 3, 2, 1, 0); \
52966 __ret_428; \54322 __ret_520; \
52967})54323})
52968#endif54324#endif
5296954325
52970#ifdef __LITTLE_ENDIAN__54326#ifdef __LITTLE_ENDIAN__
52971#define vmlaq_laneq_s32(__p0_429, __p1_429, __p2_429, __p3_429) __extension__ ({ \54327#define vmlaq_laneq_s32(__p0_521, __p1_521, __p2_521, __p3_521) __extension__ ({ \
52972 int32x4_t __s0_429 = __p0_429; \54328 int32x4_t __s0_521 = __p0_521; \
52973 int32x4_t __s1_429 = __p1_429; \54329 int32x4_t __s1_521 = __p1_521; \
52974 int32x4_t __s2_429 = __p2_429; \54330 int32x4_t __s2_521 = __p2_521; \
52975 int32x4_t __ret_429; \54331 int32x4_t __ret_521; \
52976 __ret_429 = __s0_429 + __s1_429 * splatq_laneq_s32(__s2_429, __p3_429); \54332 __ret_521 = __s0_521 + __s1_521 * splatq_laneq_s32(__s2_521, __p3_521); \
52977 __ret_429; \54333 __ret_521; \
52978})54334})
52979#else54335#else
52980#define vmlaq_laneq_s32(__p0_430, __p1_430, __p2_430, __p3_430) __extension__ ({ \54336#define vmlaq_laneq_s32(__p0_522, __p1_522, __p2_522, __p3_522) __extension__ ({ \
52981 int32x4_t __s0_430 = __p0_430; \54337 int32x4_t __s0_522 = __p0_522; \
52982 int32x4_t __s1_430 = __p1_430; \54338 int32x4_t __s1_522 = __p1_522; \
52983 int32x4_t __s2_430 = __p2_430; \54339 int32x4_t __s2_522 = __p2_522; \
52984 int32x4_t __rev0_430; __rev0_430 = __builtin_shufflevector(__s0_430, __s0_430, 3, 2, 1, 0); \54340 int32x4_t __rev0_522; __rev0_522 = __builtin_shufflevector(__s0_522, __s0_522, 3, 2, 1, 0); \
52985 int32x4_t __rev1_430; __rev1_430 = __builtin_shufflevector(__s1_430, __s1_430, 3, 2, 1, 0); \54341 int32x4_t __rev1_522; __rev1_522 = __builtin_shufflevector(__s1_522, __s1_522, 3, 2, 1, 0); \
52986 int32x4_t __rev2_430; __rev2_430 = __builtin_shufflevector(__s2_430, __s2_430, 3, 2, 1, 0); \54342 int32x4_t __rev2_522; __rev2_522 = __builtin_shufflevector(__s2_522, __s2_522, 3, 2, 1, 0); \
52987 int32x4_t __ret_430; \54343 int32x4_t __ret_522; \
52988 __ret_430 = __rev0_430 + __rev1_430 * __noswap_splatq_laneq_s32(__rev2_430, __p3_430); \54344 __ret_522 = __rev0_522 + __rev1_522 * __noswap_splatq_laneq_s32(__rev2_522, __p3_522); \
52989 __ret_430 = __builtin_shufflevector(__ret_430, __ret_430, 3, 2, 1, 0); \54345 __ret_522 = __builtin_shufflevector(__ret_522, __ret_522, 3, 2, 1, 0); \
52990 __ret_430; \54346 __ret_522; \
52991})54347})
52992#endif54348#endif
5299354349
52994#ifdef __LITTLE_ENDIAN__54350#ifdef __LITTLE_ENDIAN__
52995#define vmlaq_laneq_s16(__p0_431, __p1_431, __p2_431, __p3_431) __extension__ ({ \54351#define vmlaq_laneq_s16(__p0_523, __p1_523, __p2_523, __p3_523) __extension__ ({ \
52996 int16x8_t __s0_431 = __p0_431; \54352 int16x8_t __s0_523 = __p0_523; \
52997 int16x8_t __s1_431 = __p1_431; \54353 int16x8_t __s1_523 = __p1_523; \
52998 int16x8_t __s2_431 = __p2_431; \54354 int16x8_t __s2_523 = __p2_523; \
52999 int16x8_t __ret_431; \54355 int16x8_t __ret_523; \
53000 __ret_431 = __s0_431 + __s1_431 * splatq_laneq_s16(__s2_431, __p3_431); \54356 __ret_523 = __s0_523 + __s1_523 * splatq_laneq_s16(__s2_523, __p3_523); \
53001 __ret_431; \54357 __ret_523; \
53002})54358})
53003#else54359#else
53004#define vmlaq_laneq_s16(__p0_432, __p1_432, __p2_432, __p3_432) __extension__ ({ \54360#define vmlaq_laneq_s16(__p0_524, __p1_524, __p2_524, __p3_524) __extension__ ({ \
53005 int16x8_t __s0_432 = __p0_432; \54361 int16x8_t __s0_524 = __p0_524; \
53006 int16x8_t __s1_432 = __p1_432; \54362 int16x8_t __s1_524 = __p1_524; \
53007 int16x8_t __s2_432 = __p2_432; \54363 int16x8_t __s2_524 = __p2_524; \
53008 int16x8_t __rev0_432; __rev0_432 = __builtin_shufflevector(__s0_432, __s0_432, 7, 6, 5, 4, 3, 2, 1, 0); \54364 int16x8_t __rev0_524; __rev0_524 = __builtin_shufflevector(__s0_524, __s0_524, 7, 6, 5, 4, 3, 2, 1, 0); \
53009 int16x8_t __rev1_432; __rev1_432 = __builtin_shufflevector(__s1_432, __s1_432, 7, 6, 5, 4, 3, 2, 1, 0); \54365 int16x8_t __rev1_524; __rev1_524 = __builtin_shufflevector(__s1_524, __s1_524, 7, 6, 5, 4, 3, 2, 1, 0); \
53010 int16x8_t __rev2_432; __rev2_432 = __builtin_shufflevector(__s2_432, __s2_432, 7, 6, 5, 4, 3, 2, 1, 0); \54366 int16x8_t __rev2_524; __rev2_524 = __builtin_shufflevector(__s2_524, __s2_524, 7, 6, 5, 4, 3, 2, 1, 0); \
53011 int16x8_t __ret_432; \54367 int16x8_t __ret_524; \
53012 __ret_432 = __rev0_432 + __rev1_432 * __noswap_splatq_laneq_s16(__rev2_432, __p3_432); \54368 __ret_524 = __rev0_524 + __rev1_524 * __noswap_splatq_laneq_s16(__rev2_524, __p3_524); \
53013 __ret_432 = __builtin_shufflevector(__ret_432, __ret_432, 7, 6, 5, 4, 3, 2, 1, 0); \54369 __ret_524 = __builtin_shufflevector(__ret_524, __ret_524, 7, 6, 5, 4, 3, 2, 1, 0); \
53014 __ret_432; \54370 __ret_524; \
53015})54371})
53016#endif54372#endif
5301754373
53018#ifdef __LITTLE_ENDIAN__54374#ifdef __LITTLE_ENDIAN__
53019#define vmla_laneq_u32(__p0_433, __p1_433, __p2_433, __p3_433) __extension__ ({ \54375#define vmla_laneq_u32(__p0_525, __p1_525, __p2_525, __p3_525) __extension__ ({ \
53020 uint32x2_t __s0_433 = __p0_433; \54376 uint32x2_t __s0_525 = __p0_525; \
53021 uint32x2_t __s1_433 = __p1_433; \54377 uint32x2_t __s1_525 = __p1_525; \
53022 uint32x4_t __s2_433 = __p2_433; \54378 uint32x4_t __s2_525 = __p2_525; \
53023 uint32x2_t __ret_433; \54379 uint32x2_t __ret_525; \
53024 __ret_433 = __s0_433 + __s1_433 * splat_laneq_u32(__s2_433, __p3_433); \54380 __ret_525 = __s0_525 + __s1_525 * splat_laneq_u32(__s2_525, __p3_525); \
53025 __ret_433; \54381 __ret_525; \
53026})54382})
53027#else54383#else
53028#define vmla_laneq_u32(__p0_434, __p1_434, __p2_434, __p3_434) __extension__ ({ \54384#define vmla_laneq_u32(__p0_526, __p1_526, __p2_526, __p3_526) __extension__ ({ \
53029 uint32x2_t __s0_434 = __p0_434; \54385 uint32x2_t __s0_526 = __p0_526; \
53030 uint32x2_t __s1_434 = __p1_434; \54386 uint32x2_t __s1_526 = __p1_526; \
53031 uint32x4_t __s2_434 = __p2_434; \54387 uint32x4_t __s2_526 = __p2_526; \
53032 uint32x2_t __rev0_434; __rev0_434 = __builtin_shufflevector(__s0_434, __s0_434, 1, 0); \54388 uint32x2_t __rev0_526; __rev0_526 = __builtin_shufflevector(__s0_526, __s0_526, 1, 0); \
53033 uint32x2_t __rev1_434; __rev1_434 = __builtin_shufflevector(__s1_434, __s1_434, 1, 0); \54389 uint32x2_t __rev1_526; __rev1_526 = __builtin_shufflevector(__s1_526, __s1_526, 1, 0); \
53034 uint32x4_t __rev2_434; __rev2_434 = __builtin_shufflevector(__s2_434, __s2_434, 3, 2, 1, 0); \54390 uint32x4_t __rev2_526; __rev2_526 = __builtin_shufflevector(__s2_526, __s2_526, 3, 2, 1, 0); \
53035 uint32x2_t __ret_434; \54391 uint32x2_t __ret_526; \
53036 __ret_434 = __rev0_434 + __rev1_434 * __noswap_splat_laneq_u32(__rev2_434, __p3_434); \54392 __ret_526 = __rev0_526 + __rev1_526 * __noswap_splat_laneq_u32(__rev2_526, __p3_526); \
53037 __ret_434 = __builtin_shufflevector(__ret_434, __ret_434, 1, 0); \54393 __ret_526 = __builtin_shufflevector(__ret_526, __ret_526, 1, 0); \
53038 __ret_434; \54394 __ret_526; \
53039})54395})
53040#endif54396#endif
5304154397
53042#ifdef __LITTLE_ENDIAN__54398#ifdef __LITTLE_ENDIAN__
53043#define vmla_laneq_u16(__p0_435, __p1_435, __p2_435, __p3_435) __extension__ ({ \54399#define vmla_laneq_u16(__p0_527, __p1_527, __p2_527, __p3_527) __extension__ ({ \
53044 uint16x4_t __s0_435 = __p0_435; \54400 uint16x4_t __s0_527 = __p0_527; \
53045 uint16x4_t __s1_435 = __p1_435; \54401 uint16x4_t __s1_527 = __p1_527; \
53046 uint16x8_t __s2_435 = __p2_435; \54402 uint16x8_t __s2_527 = __p2_527; \
53047 uint16x4_t __ret_435; \54403 uint16x4_t __ret_527; \
53048 __ret_435 = __s0_435 + __s1_435 * splat_laneq_u16(__s2_435, __p3_435); \54404 __ret_527 = __s0_527 + __s1_527 * splat_laneq_u16(__s2_527, __p3_527); \
53049 __ret_435; \54405 __ret_527; \
53050})54406})
53051#else54407#else
53052#define vmla_laneq_u16(__p0_436, __p1_436, __p2_436, __p3_436) __extension__ ({ \54408#define vmla_laneq_u16(__p0_528, __p1_528, __p2_528, __p3_528) __extension__ ({ \
53053 uint16x4_t __s0_436 = __p0_436; \54409 uint16x4_t __s0_528 = __p0_528; \
53054 uint16x4_t __s1_436 = __p1_436; \54410 uint16x4_t __s1_528 = __p1_528; \
53055 uint16x8_t __s2_436 = __p2_436; \54411 uint16x8_t __s2_528 = __p2_528; \
53056 uint16x4_t __rev0_436; __rev0_436 = __builtin_shufflevector(__s0_436, __s0_436, 3, 2, 1, 0); \54412 uint16x4_t __rev0_528; __rev0_528 = __builtin_shufflevector(__s0_528, __s0_528, 3, 2, 1, 0); \
53057 uint16x4_t __rev1_436; __rev1_436 = __builtin_shufflevector(__s1_436, __s1_436, 3, 2, 1, 0); \54413 uint16x4_t __rev1_528; __rev1_528 = __builtin_shufflevector(__s1_528, __s1_528, 3, 2, 1, 0); \
53058 uint16x8_t __rev2_436; __rev2_436 = __builtin_shufflevector(__s2_436, __s2_436, 7, 6, 5, 4, 3, 2, 1, 0); \54414 uint16x8_t __rev2_528; __rev2_528 = __builtin_shufflevector(__s2_528, __s2_528, 7, 6, 5, 4, 3, 2, 1, 0); \
53059 uint16x4_t __ret_436; \54415 uint16x4_t __ret_528; \
53060 __ret_436 = __rev0_436 + __rev1_436 * __noswap_splat_laneq_u16(__rev2_436, __p3_436); \54416 __ret_528 = __rev0_528 + __rev1_528 * __noswap_splat_laneq_u16(__rev2_528, __p3_528); \
53061 __ret_436 = __builtin_shufflevector(__ret_436, __ret_436, 3, 2, 1, 0); \54417 __ret_528 = __builtin_shufflevector(__ret_528, __ret_528, 3, 2, 1, 0); \
53062 __ret_436; \54418 __ret_528; \
53063})54419})
53064#endif54420#endif
5306554421
53066#ifdef __LITTLE_ENDIAN__54422#ifdef __LITTLE_ENDIAN__
53067#define vmla_laneq_f32(__p0_437, __p1_437, __p2_437, __p3_437) __extension__ ({ \54423#define vmla_laneq_f32(__p0_529, __p1_529, __p2_529, __p3_529) __extension__ ({ \
53068 float32x2_t __s0_437 = __p0_437; \54424 float32x2_t __s0_529 = __p0_529; \
53069 float32x2_t __s1_437 = __p1_437; \54425 float32x2_t __s1_529 = __p1_529; \
53070 float32x4_t __s2_437 = __p2_437; \54426 float32x4_t __s2_529 = __p2_529; \
53071 float32x2_t __ret_437; \54427 float32x2_t __ret_529; \
53072 __ret_437 = __s0_437 + __s1_437 * splat_laneq_f32(__s2_437, __p3_437); \54428 __ret_529 = __s0_529 + __s1_529 * splat_laneq_f32(__s2_529, __p3_529); \
53073 __ret_437; \54429 __ret_529; \
53074})54430})
53075#else54431#else
53076#define vmla_laneq_f32(__p0_438, __p1_438, __p2_438, __p3_438) __extension__ ({ \54432#define vmla_laneq_f32(__p0_530, __p1_530, __p2_530, __p3_530) __extension__ ({ \
53077 float32x2_t __s0_438 = __p0_438; \54433 float32x2_t __s0_530 = __p0_530; \
53078 float32x2_t __s1_438 = __p1_438; \54434 float32x2_t __s1_530 = __p1_530; \
53079 float32x4_t __s2_438 = __p2_438; \54435 float32x4_t __s2_530 = __p2_530; \
53080 float32x2_t __rev0_438; __rev0_438 = __builtin_shufflevector(__s0_438, __s0_438, 1, 0); \54436 float32x2_t __rev0_530; __rev0_530 = __builtin_shufflevector(__s0_530, __s0_530, 1, 0); \
53081 float32x2_t __rev1_438; __rev1_438 = __builtin_shufflevector(__s1_438, __s1_438, 1, 0); \54437 float32x2_t __rev1_530; __rev1_530 = __builtin_shufflevector(__s1_530, __s1_530, 1, 0); \
53082 float32x4_t __rev2_438; __rev2_438 = __builtin_shufflevector(__s2_438, __s2_438, 3, 2, 1, 0); \54438 float32x4_t __rev2_530; __rev2_530 = __builtin_shufflevector(__s2_530, __s2_530, 3, 2, 1, 0); \
53083 float32x2_t __ret_438; \54439 float32x2_t __ret_530; \
53084 __ret_438 = __rev0_438 + __rev1_438 * __noswap_splat_laneq_f32(__rev2_438, __p3_438); \54440 __ret_530 = __rev0_530 + __rev1_530 * __noswap_splat_laneq_f32(__rev2_530, __p3_530); \
53085 __ret_438 = __builtin_shufflevector(__ret_438, __ret_438, 1, 0); \54441 __ret_530 = __builtin_shufflevector(__ret_530, __ret_530, 1, 0); \
53086 __ret_438; \54442 __ret_530; \
53087})54443})
53088#endif54444#endif
5308954445
53090#ifdef __LITTLE_ENDIAN__54446#ifdef __LITTLE_ENDIAN__
53091#define vmla_laneq_s32(__p0_439, __p1_439, __p2_439, __p3_439) __extension__ ({ \54447#define vmla_laneq_s32(__p0_531, __p1_531, __p2_531, __p3_531) __extension__ ({ \
53092 int32x2_t __s0_439 = __p0_439; \54448 int32x2_t __s0_531 = __p0_531; \
53093 int32x2_t __s1_439 = __p1_439; \54449 int32x2_t __s1_531 = __p1_531; \
53094 int32x4_t __s2_439 = __p2_439; \54450 int32x4_t __s2_531 = __p2_531; \
53095 int32x2_t __ret_439; \54451 int32x2_t __ret_531; \
53096 __ret_439 = __s0_439 + __s1_439 * splat_laneq_s32(__s2_439, __p3_439); \54452 __ret_531 = __s0_531 + __s1_531 * splat_laneq_s32(__s2_531, __p3_531); \
53097 __ret_439; \54453 __ret_531; \
53098})54454})
53099#else54455#else
53100#define vmla_laneq_s32(__p0_440, __p1_440, __p2_440, __p3_440) __extension__ ({ \54456#define vmla_laneq_s32(__p0_532, __p1_532, __p2_532, __p3_532) __extension__ ({ \
53101 int32x2_t __s0_440 = __p0_440; \54457 int32x2_t __s0_532 = __p0_532; \
53102 int32x2_t __s1_440 = __p1_440; \54458 int32x2_t __s1_532 = __p1_532; \
53103 int32x4_t __s2_440 = __p2_440; \54459 int32x4_t __s2_532 = __p2_532; \
53104 int32x2_t __rev0_440; __rev0_440 = __builtin_shufflevector(__s0_440, __s0_440, 1, 0); \54460 int32x2_t __rev0_532; __rev0_532 = __builtin_shufflevector(__s0_532, __s0_532, 1, 0); \
53105 int32x2_t __rev1_440; __rev1_440 = __builtin_shufflevector(__s1_440, __s1_440, 1, 0); \54461 int32x2_t __rev1_532; __rev1_532 = __builtin_shufflevector(__s1_532, __s1_532, 1, 0); \
53106 int32x4_t __rev2_440; __rev2_440 = __builtin_shufflevector(__s2_440, __s2_440, 3, 2, 1, 0); \54462 int32x4_t __rev2_532; __rev2_532 = __builtin_shufflevector(__s2_532, __s2_532, 3, 2, 1, 0); \
53107 int32x2_t __ret_440; \54463 int32x2_t __ret_532; \
53108 __ret_440 = __rev0_440 + __rev1_440 * __noswap_splat_laneq_s32(__rev2_440, __p3_440); \54464 __ret_532 = __rev0_532 + __rev1_532 * __noswap_splat_laneq_s32(__rev2_532, __p3_532); \
53109 __ret_440 = __builtin_shufflevector(__ret_440, __ret_440, 1, 0); \54465 __ret_532 = __builtin_shufflevector(__ret_532, __ret_532, 1, 0); \
53110 __ret_440; \54466 __ret_532; \
53111})54467})
53112#endif54468#endif
5311354469
53114#ifdef __LITTLE_ENDIAN__54470#ifdef __LITTLE_ENDIAN__
53115#define vmla_laneq_s16(__p0_441, __p1_441, __p2_441, __p3_441) __extension__ ({ \54471#define vmla_laneq_s16(__p0_533, __p1_533, __p2_533, __p3_533) __extension__ ({ \
53116 int16x4_t __s0_441 = __p0_441; \54472 int16x4_t __s0_533 = __p0_533; \
53117 int16x4_t __s1_441 = __p1_441; \54473 int16x4_t __s1_533 = __p1_533; \
53118 int16x8_t __s2_441 = __p2_441; \54474 int16x8_t __s2_533 = __p2_533; \
53119 int16x4_t __ret_441; \54475 int16x4_t __ret_533; \
53120 __ret_441 = __s0_441 + __s1_441 * splat_laneq_s16(__s2_441, __p3_441); \54476 __ret_533 = __s0_533 + __s1_533 * splat_laneq_s16(__s2_533, __p3_533); \
53121 __ret_441; \54477 __ret_533; \
53122})54478})
53123#else54479#else
53124#define vmla_laneq_s16(__p0_442, __p1_442, __p2_442, __p3_442) __extension__ ({ \54480#define vmla_laneq_s16(__p0_534, __p1_534, __p2_534, __p3_534) __extension__ ({ \
53125 int16x4_t __s0_442 = __p0_442; \54481 int16x4_t __s0_534 = __p0_534; \
53126 int16x4_t __s1_442 = __p1_442; \54482 int16x4_t __s1_534 = __p1_534; \
53127 int16x8_t __s2_442 = __p2_442; \54483 int16x8_t __s2_534 = __p2_534; \
53128 int16x4_t __rev0_442; __rev0_442 = __builtin_shufflevector(__s0_442, __s0_442, 3, 2, 1, 0); \54484 int16x4_t __rev0_534; __rev0_534 = __builtin_shufflevector(__s0_534, __s0_534, 3, 2, 1, 0); \
53129 int16x4_t __rev1_442; __rev1_442 = __builtin_shufflevector(__s1_442, __s1_442, 3, 2, 1, 0); \54485 int16x4_t __rev1_534; __rev1_534 = __builtin_shufflevector(__s1_534, __s1_534, 3, 2, 1, 0); \
53130 int16x8_t __rev2_442; __rev2_442 = __builtin_shufflevector(__s2_442, __s2_442, 7, 6, 5, 4, 3, 2, 1, 0); \54486 int16x8_t __rev2_534; __rev2_534 = __builtin_shufflevector(__s2_534, __s2_534, 7, 6, 5, 4, 3, 2, 1, 0); \
53131 int16x4_t __ret_442; \54487 int16x4_t __ret_534; \
53132 __ret_442 = __rev0_442 + __rev1_442 * __noswap_splat_laneq_s16(__rev2_442, __p3_442); \54488 __ret_534 = __rev0_534 + __rev1_534 * __noswap_splat_laneq_s16(__rev2_534, __p3_534); \
53133 __ret_442 = __builtin_shufflevector(__ret_442, __ret_442, 3, 2, 1, 0); \54489 __ret_534 = __builtin_shufflevector(__ret_534, __ret_534, 3, 2, 1, 0); \
53134 __ret_442; \54490 __ret_534; \
53135})54491})
53136#endif54492#endif
5313754493
53138#ifdef __LITTLE_ENDIAN__54494#ifdef __LITTLE_ENDIAN__
53139#define vmlal_high_lane_u32(__p0_443, __p1_443, __p2_443, __p3_443) __extension__ ({ \54495#define vmlal_high_lane_u32(__p0_535, __p1_535, __p2_535, __p3_535) __extension__ ({ \
53140 uint64x2_t __s0_443 = __p0_443; \54496 uint64x2_t __s0_535 = __p0_535; \
53141 uint32x4_t __s1_443 = __p1_443; \54497 uint32x4_t __s1_535 = __p1_535; \
53142 uint32x2_t __s2_443 = __p2_443; \54498 uint32x2_t __s2_535 = __p2_535; \
53143 uint64x2_t __ret_443; \54499 uint64x2_t __ret_535; \
53144 __ret_443 = __s0_443 + vmull_u32(vget_high_u32(__s1_443), splat_lane_u32(__s2_443, __p3_443)); \54500 __ret_535 = __s0_535 + vmull_u32(vget_high_u32(__s1_535), splat_lane_u32(__s2_535, __p3_535)); \
53145 __ret_443; \54501 __ret_535; \
53146})54502})
53147#else54503#else
53148#define vmlal_high_lane_u32(__p0_444, __p1_444, __p2_444, __p3_444) __extension__ ({ \54504#define vmlal_high_lane_u32(__p0_536, __p1_536, __p2_536, __p3_536) __extension__ ({ \
53149 uint64x2_t __s0_444 = __p0_444; \54505 uint64x2_t __s0_536 = __p0_536; \
53150 uint32x4_t __s1_444 = __p1_444; \54506 uint32x4_t __s1_536 = __p1_536; \
53151 uint32x2_t __s2_444 = __p2_444; \54507 uint32x2_t __s2_536 = __p2_536; \
53152 uint64x2_t __rev0_444; __rev0_444 = __builtin_shufflevector(__s0_444, __s0_444, 1, 0); \54508 uint64x2_t __rev0_536; __rev0_536 = __builtin_shufflevector(__s0_536, __s0_536, 1, 0); \
53153 uint32x4_t __rev1_444; __rev1_444 = __builtin_shufflevector(__s1_444, __s1_444, 3, 2, 1, 0); \54509 uint32x4_t __rev1_536; __rev1_536 = __builtin_shufflevector(__s1_536, __s1_536, 3, 2, 1, 0); \
53154 uint32x2_t __rev2_444; __rev2_444 = __builtin_shufflevector(__s2_444, __s2_444, 1, 0); \54510 uint32x2_t __rev2_536; __rev2_536 = __builtin_shufflevector(__s2_536, __s2_536, 1, 0); \
53155 uint64x2_t __ret_444; \54511 uint64x2_t __ret_536; \
53156 __ret_444 = __rev0_444 + __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_444), __noswap_splat_lane_u32(__rev2_444, __p3_444)); \54512 __ret_536 = __rev0_536 + __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_536), __noswap_splat_lane_u32(__rev2_536, __p3_536)); \
53157 __ret_444 = __builtin_shufflevector(__ret_444, __ret_444, 1, 0); \54513 __ret_536 = __builtin_shufflevector(__ret_536, __ret_536, 1, 0); \
53158 __ret_444; \54514 __ret_536; \
53159})54515})
53160#endif54516#endif
5316154517
53162#ifdef __LITTLE_ENDIAN__54518#ifdef __LITTLE_ENDIAN__
53163#define vmlal_high_lane_u16(__p0_445, __p1_445, __p2_445, __p3_445) __extension__ ({ \54519#define vmlal_high_lane_u16(__p0_537, __p1_537, __p2_537, __p3_537) __extension__ ({ \
53164 uint32x4_t __s0_445 = __p0_445; \54520 uint32x4_t __s0_537 = __p0_537; \
53165 uint16x8_t __s1_445 = __p1_445; \54521 uint16x8_t __s1_537 = __p1_537; \
53166 uint16x4_t __s2_445 = __p2_445; \54522 uint16x4_t __s2_537 = __p2_537; \
53167 uint32x4_t __ret_445; \54523 uint32x4_t __ret_537; \
53168 __ret_445 = __s0_445 + vmull_u16(vget_high_u16(__s1_445), splat_lane_u16(__s2_445, __p3_445)); \54524 __ret_537 = __s0_537 + vmull_u16(vget_high_u16(__s1_537), splat_lane_u16(__s2_537, __p3_537)); \
53169 __ret_445; \54525 __ret_537; \
53170})54526})
53171#else54527#else
53172#define vmlal_high_lane_u16(__p0_446, __p1_446, __p2_446, __p3_446) __extension__ ({ \54528#define vmlal_high_lane_u16(__p0_538, __p1_538, __p2_538, __p3_538) __extension__ ({ \
53173 uint32x4_t __s0_446 = __p0_446; \54529 uint32x4_t __s0_538 = __p0_538; \
53174 uint16x8_t __s1_446 = __p1_446; \54530 uint16x8_t __s1_538 = __p1_538; \
53175 uint16x4_t __s2_446 = __p2_446; \54531 uint16x4_t __s2_538 = __p2_538; \
53176 uint32x4_t __rev0_446; __rev0_446 = __builtin_shufflevector(__s0_446, __s0_446, 3, 2, 1, 0); \54532 uint32x4_t __rev0_538; __rev0_538 = __builtin_shufflevector(__s0_538, __s0_538, 3, 2, 1, 0); \
53177 uint16x8_t __rev1_446; __rev1_446 = __builtin_shufflevector(__s1_446, __s1_446, 7, 6, 5, 4, 3, 2, 1, 0); \54533 uint16x8_t __rev1_538; __rev1_538 = __builtin_shufflevector(__s1_538, __s1_538, 7, 6, 5, 4, 3, 2, 1, 0); \
53178 uint16x4_t __rev2_446; __rev2_446 = __builtin_shufflevector(__s2_446, __s2_446, 3, 2, 1, 0); \54534 uint16x4_t __rev2_538; __rev2_538 = __builtin_shufflevector(__s2_538, __s2_538, 3, 2, 1, 0); \
53179 uint32x4_t __ret_446; \54535 uint32x4_t __ret_538; \
53180 __ret_446 = __rev0_446 + __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_446), __noswap_splat_lane_u16(__rev2_446, __p3_446)); \54536 __ret_538 = __rev0_538 + __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_538), __noswap_splat_lane_u16(__rev2_538, __p3_538)); \
53181 __ret_446 = __builtin_shufflevector(__ret_446, __ret_446, 3, 2, 1, 0); \54537 __ret_538 = __builtin_shufflevector(__ret_538, __ret_538, 3, 2, 1, 0); \
53182 __ret_446; \54538 __ret_538; \
53183})54539})
53184#endif54540#endif
5318554541
53186#ifdef __LITTLE_ENDIAN__54542#ifdef __LITTLE_ENDIAN__
53187#define vmlal_high_lane_s32(__p0_447, __p1_447, __p2_447, __p3_447) __extension__ ({ \54543#define vmlal_high_lane_s32(__p0_539, __p1_539, __p2_539, __p3_539) __extension__ ({ \
53188 int64x2_t __s0_447 = __p0_447; \54544 int64x2_t __s0_539 = __p0_539; \
53189 int32x4_t __s1_447 = __p1_447; \54545 int32x4_t __s1_539 = __p1_539; \
53190 int32x2_t __s2_447 = __p2_447; \54546 int32x2_t __s2_539 = __p2_539; \
53191 int64x2_t __ret_447; \54547 int64x2_t __ret_539; \
53192 __ret_447 = __s0_447 + vmull_s32(vget_high_s32(__s1_447), splat_lane_s32(__s2_447, __p3_447)); \54548 __ret_539 = __s0_539 + vmull_s32(vget_high_s32(__s1_539), splat_lane_s32(__s2_539, __p3_539)); \
53193 __ret_447; \54549 __ret_539; \
53194})54550})
53195#else54551#else
53196#define vmlal_high_lane_s32(__p0_448, __p1_448, __p2_448, __p3_448) __extension__ ({ \54552#define vmlal_high_lane_s32(__p0_540, __p1_540, __p2_540, __p3_540) __extension__ ({ \
53197 int64x2_t __s0_448 = __p0_448; \54553 int64x2_t __s0_540 = __p0_540; \
53198 int32x4_t __s1_448 = __p1_448; \54554 int32x4_t __s1_540 = __p1_540; \
53199 int32x2_t __s2_448 = __p2_448; \54555 int32x2_t __s2_540 = __p2_540; \
53200 int64x2_t __rev0_448; __rev0_448 = __builtin_shufflevector(__s0_448, __s0_448, 1, 0); \54556 int64x2_t __rev0_540; __rev0_540 = __builtin_shufflevector(__s0_540, __s0_540, 1, 0); \
53201 int32x4_t __rev1_448; __rev1_448 = __builtin_shufflevector(__s1_448, __s1_448, 3, 2, 1, 0); \54557 int32x4_t __rev1_540; __rev1_540 = __builtin_shufflevector(__s1_540, __s1_540, 3, 2, 1, 0); \
53202 int32x2_t __rev2_448; __rev2_448 = __builtin_shufflevector(__s2_448, __s2_448, 1, 0); \54558 int32x2_t __rev2_540; __rev2_540 = __builtin_shufflevector(__s2_540, __s2_540, 1, 0); \
53203 int64x2_t __ret_448; \54559 int64x2_t __ret_540; \
53204 __ret_448 = __rev0_448 + __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_448), __noswap_splat_lane_s32(__rev2_448, __p3_448)); \54560 __ret_540 = __rev0_540 + __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_540), __noswap_splat_lane_s32(__rev2_540, __p3_540)); \
53205 __ret_448 = __builtin_shufflevector(__ret_448, __ret_448, 1, 0); \54561 __ret_540 = __builtin_shufflevector(__ret_540, __ret_540, 1, 0); \
53206 __ret_448; \54562 __ret_540; \
53207})54563})
53208#endif54564#endif
5320954565
53210#ifdef __LITTLE_ENDIAN__54566#ifdef __LITTLE_ENDIAN__
53211#define vmlal_high_lane_s16(__p0_449, __p1_449, __p2_449, __p3_449) __extension__ ({ \54567#define vmlal_high_lane_s16(__p0_541, __p1_541, __p2_541, __p3_541) __extension__ ({ \
53212 int32x4_t __s0_449 = __p0_449; \54568 int32x4_t __s0_541 = __p0_541; \
53213 int16x8_t __s1_449 = __p1_449; \54569 int16x8_t __s1_541 = __p1_541; \
53214 int16x4_t __s2_449 = __p2_449; \54570 int16x4_t __s2_541 = __p2_541; \
53215 int32x4_t __ret_449; \54571 int32x4_t __ret_541; \
53216 __ret_449 = __s0_449 + vmull_s16(vget_high_s16(__s1_449), splat_lane_s16(__s2_449, __p3_449)); \54572 __ret_541 = __s0_541 + vmull_s16(vget_high_s16(__s1_541), splat_lane_s16(__s2_541, __p3_541)); \
53217 __ret_449; \54573 __ret_541; \
53218})54574})
53219#else54575#else
53220#define vmlal_high_lane_s16(__p0_450, __p1_450, __p2_450, __p3_450) __extension__ ({ \54576#define vmlal_high_lane_s16(__p0_542, __p1_542, __p2_542, __p3_542) __extension__ ({ \
53221 int32x4_t __s0_450 = __p0_450; \54577 int32x4_t __s0_542 = __p0_542; \
53222 int16x8_t __s1_450 = __p1_450; \54578 int16x8_t __s1_542 = __p1_542; \
53223 int16x4_t __s2_450 = __p2_450; \54579 int16x4_t __s2_542 = __p2_542; \
53224 int32x4_t __rev0_450; __rev0_450 = __builtin_shufflevector(__s0_450, __s0_450, 3, 2, 1, 0); \54580 int32x4_t __rev0_542; __rev0_542 = __builtin_shufflevector(__s0_542, __s0_542, 3, 2, 1, 0); \
53225 int16x8_t __rev1_450; __rev1_450 = __builtin_shufflevector(__s1_450, __s1_450, 7, 6, 5, 4, 3, 2, 1, 0); \54581 int16x8_t __rev1_542; __rev1_542 = __builtin_shufflevector(__s1_542, __s1_542, 7, 6, 5, 4, 3, 2, 1, 0); \
53226 int16x4_t __rev2_450; __rev2_450 = __builtin_shufflevector(__s2_450, __s2_450, 3, 2, 1, 0); \54582 int16x4_t __rev2_542; __rev2_542 = __builtin_shufflevector(__s2_542, __s2_542, 3, 2, 1, 0); \
53227 int32x4_t __ret_450; \54583 int32x4_t __ret_542; \
53228 __ret_450 = __rev0_450 + __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_450), __noswap_splat_lane_s16(__rev2_450, __p3_450)); \54584 __ret_542 = __rev0_542 + __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_542), __noswap_splat_lane_s16(__rev2_542, __p3_542)); \
53229 __ret_450 = __builtin_shufflevector(__ret_450, __ret_450, 3, 2, 1, 0); \54585 __ret_542 = __builtin_shufflevector(__ret_542, __ret_542, 3, 2, 1, 0); \
53230 __ret_450; \54586 __ret_542; \
53231})54587})
53232#endif54588#endif
5323354589
53234#ifdef __LITTLE_ENDIAN__54590#ifdef __LITTLE_ENDIAN__
53235#define vmlal_high_laneq_u32(__p0_451, __p1_451, __p2_451, __p3_451) __extension__ ({ \54591#define vmlal_high_laneq_u32(__p0_543, __p1_543, __p2_543, __p3_543) __extension__ ({ \
53236 uint64x2_t __s0_451 = __p0_451; \54592 uint64x2_t __s0_543 = __p0_543; \
53237 uint32x4_t __s1_451 = __p1_451; \54593 uint32x4_t __s1_543 = __p1_543; \
53238 uint32x4_t __s2_451 = __p2_451; \54594 uint32x4_t __s2_543 = __p2_543; \
53239 uint64x2_t __ret_451; \54595 uint64x2_t __ret_543; \
53240 __ret_451 = __s0_451 + vmull_u32(vget_high_u32(__s1_451), splat_laneq_u32(__s2_451, __p3_451)); \54596 __ret_543 = __s0_543 + vmull_u32(vget_high_u32(__s1_543), splat_laneq_u32(__s2_543, __p3_543)); \
53241 __ret_451; \54597 __ret_543; \
53242})54598})
53243#else54599#else
53244#define vmlal_high_laneq_u32(__p0_452, __p1_452, __p2_452, __p3_452) __extension__ ({ \54600#define vmlal_high_laneq_u32(__p0_544, __p1_544, __p2_544, __p3_544) __extension__ ({ \
53245 uint64x2_t __s0_452 = __p0_452; \54601 uint64x2_t __s0_544 = __p0_544; \
53246 uint32x4_t __s1_452 = __p1_452; \54602 uint32x4_t __s1_544 = __p1_544; \
53247 uint32x4_t __s2_452 = __p2_452; \54603 uint32x4_t __s2_544 = __p2_544; \
53248 uint64x2_t __rev0_452; __rev0_452 = __builtin_shufflevector(__s0_452, __s0_452, 1, 0); \54604 uint64x2_t __rev0_544; __rev0_544 = __builtin_shufflevector(__s0_544, __s0_544, 1, 0); \
53249 uint32x4_t __rev1_452; __rev1_452 = __builtin_shufflevector(__s1_452, __s1_452, 3, 2, 1, 0); \54605 uint32x4_t __rev1_544; __rev1_544 = __builtin_shufflevector(__s1_544, __s1_544, 3, 2, 1, 0); \
53250 uint32x4_t __rev2_452; __rev2_452 = __builtin_shufflevector(__s2_452, __s2_452, 3, 2, 1, 0); \54606 uint32x4_t __rev2_544; __rev2_544 = __builtin_shufflevector(__s2_544, __s2_544, 3, 2, 1, 0); \
53251 uint64x2_t __ret_452; \54607 uint64x2_t __ret_544; \
53252 __ret_452 = __rev0_452 + __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_452), __noswap_splat_laneq_u32(__rev2_452, __p3_452)); \54608 __ret_544 = __rev0_544 + __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_544), __noswap_splat_laneq_u32(__rev2_544, __p3_544)); \
53253 __ret_452 = __builtin_shufflevector(__ret_452, __ret_452, 1, 0); \54609 __ret_544 = __builtin_shufflevector(__ret_544, __ret_544, 1, 0); \
53254 __ret_452; \54610 __ret_544; \
53255})54611})
53256#endif54612#endif
5325754613
53258#ifdef __LITTLE_ENDIAN__54614#ifdef __LITTLE_ENDIAN__
53259#define vmlal_high_laneq_u16(__p0_453, __p1_453, __p2_453, __p3_453) __extension__ ({ \54615#define vmlal_high_laneq_u16(__p0_545, __p1_545, __p2_545, __p3_545) __extension__ ({ \
53260 uint32x4_t __s0_453 = __p0_453; \54616 uint32x4_t __s0_545 = __p0_545; \
53261 uint16x8_t __s1_453 = __p1_453; \54617 uint16x8_t __s1_545 = __p1_545; \
53262 uint16x8_t __s2_453 = __p2_453; \54618 uint16x8_t __s2_545 = __p2_545; \
53263 uint32x4_t __ret_453; \54619 uint32x4_t __ret_545; \
53264 __ret_453 = __s0_453 + vmull_u16(vget_high_u16(__s1_453), splat_laneq_u16(__s2_453, __p3_453)); \54620 __ret_545 = __s0_545 + vmull_u16(vget_high_u16(__s1_545), splat_laneq_u16(__s2_545, __p3_545)); \
53265 __ret_453; \54621 __ret_545; \
53266})54622})
53267#else54623#else
53268#define vmlal_high_laneq_u16(__p0_454, __p1_454, __p2_454, __p3_454) __extension__ ({ \54624#define vmlal_high_laneq_u16(__p0_546, __p1_546, __p2_546, __p3_546) __extension__ ({ \
53269 uint32x4_t __s0_454 = __p0_454; \54625 uint32x4_t __s0_546 = __p0_546; \
53270 uint16x8_t __s1_454 = __p1_454; \54626 uint16x8_t __s1_546 = __p1_546; \
53271 uint16x8_t __s2_454 = __p2_454; \54627 uint16x8_t __s2_546 = __p2_546; \
53272 uint32x4_t __rev0_454; __rev0_454 = __builtin_shufflevector(__s0_454, __s0_454, 3, 2, 1, 0); \54628 uint32x4_t __rev0_546; __rev0_546 = __builtin_shufflevector(__s0_546, __s0_546, 3, 2, 1, 0); \
53273 uint16x8_t __rev1_454; __rev1_454 = __builtin_shufflevector(__s1_454, __s1_454, 7, 6, 5, 4, 3, 2, 1, 0); \54629 uint16x8_t __rev1_546; __rev1_546 = __builtin_shufflevector(__s1_546, __s1_546, 7, 6, 5, 4, 3, 2, 1, 0); \
53274 uint16x8_t __rev2_454; __rev2_454 = __builtin_shufflevector(__s2_454, __s2_454, 7, 6, 5, 4, 3, 2, 1, 0); \54630 uint16x8_t __rev2_546; __rev2_546 = __builtin_shufflevector(__s2_546, __s2_546, 7, 6, 5, 4, 3, 2, 1, 0); \
53275 uint32x4_t __ret_454; \54631 uint32x4_t __ret_546; \
53276 __ret_454 = __rev0_454 + __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_454), __noswap_splat_laneq_u16(__rev2_454, __p3_454)); \54632 __ret_546 = __rev0_546 + __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_546), __noswap_splat_laneq_u16(__rev2_546, __p3_546)); \
53277 __ret_454 = __builtin_shufflevector(__ret_454, __ret_454, 3, 2, 1, 0); \54633 __ret_546 = __builtin_shufflevector(__ret_546, __ret_546, 3, 2, 1, 0); \
53278 __ret_454; \54634 __ret_546; \
53279})54635})
53280#endif54636#endif
5328154637
53282#ifdef __LITTLE_ENDIAN__54638#ifdef __LITTLE_ENDIAN__
53283#define vmlal_high_laneq_s32(__p0_455, __p1_455, __p2_455, __p3_455) __extension__ ({ \54639#define vmlal_high_laneq_s32(__p0_547, __p1_547, __p2_547, __p3_547) __extension__ ({ \
53284 int64x2_t __s0_455 = __p0_455; \54640 int64x2_t __s0_547 = __p0_547; \
53285 int32x4_t __s1_455 = __p1_455; \54641 int32x4_t __s1_547 = __p1_547; \
53286 int32x4_t __s2_455 = __p2_455; \54642 int32x4_t __s2_547 = __p2_547; \
53287 int64x2_t __ret_455; \54643 int64x2_t __ret_547; \
53288 __ret_455 = __s0_455 + vmull_s32(vget_high_s32(__s1_455), splat_laneq_s32(__s2_455, __p3_455)); \54644 __ret_547 = __s0_547 + vmull_s32(vget_high_s32(__s1_547), splat_laneq_s32(__s2_547, __p3_547)); \
53289 __ret_455; \54645 __ret_547; \
53290})54646})
53291#else54647#else
53292#define vmlal_high_laneq_s32(__p0_456, __p1_456, __p2_456, __p3_456) __extension__ ({ \54648#define vmlal_high_laneq_s32(__p0_548, __p1_548, __p2_548, __p3_548) __extension__ ({ \
53293 int64x2_t __s0_456 = __p0_456; \54649 int64x2_t __s0_548 = __p0_548; \
53294 int32x4_t __s1_456 = __p1_456; \54650 int32x4_t __s1_548 = __p1_548; \
53295 int32x4_t __s2_456 = __p2_456; \54651 int32x4_t __s2_548 = __p2_548; \
53296 int64x2_t __rev0_456; __rev0_456 = __builtin_shufflevector(__s0_456, __s0_456, 1, 0); \54652 int64x2_t __rev0_548; __rev0_548 = __builtin_shufflevector(__s0_548, __s0_548, 1, 0); \
53297 int32x4_t __rev1_456; __rev1_456 = __builtin_shufflevector(__s1_456, __s1_456, 3, 2, 1, 0); \54653 int32x4_t __rev1_548; __rev1_548 = __builtin_shufflevector(__s1_548, __s1_548, 3, 2, 1, 0); \
53298 int32x4_t __rev2_456; __rev2_456 = __builtin_shufflevector(__s2_456, __s2_456, 3, 2, 1, 0); \54654 int32x4_t __rev2_548; __rev2_548 = __builtin_shufflevector(__s2_548, __s2_548, 3, 2, 1, 0); \
53299 int64x2_t __ret_456; \54655 int64x2_t __ret_548; \
53300 __ret_456 = __rev0_456 + __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_456), __noswap_splat_laneq_s32(__rev2_456, __p3_456)); \54656 __ret_548 = __rev0_548 + __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_548), __noswap_splat_laneq_s32(__rev2_548, __p3_548)); \
53301 __ret_456 = __builtin_shufflevector(__ret_456, __ret_456, 1, 0); \54657 __ret_548 = __builtin_shufflevector(__ret_548, __ret_548, 1, 0); \
53302 __ret_456; \54658 __ret_548; \
53303})54659})
53304#endif54660#endif
5330554661
53306#ifdef __LITTLE_ENDIAN__54662#ifdef __LITTLE_ENDIAN__
53307#define vmlal_high_laneq_s16(__p0_457, __p1_457, __p2_457, __p3_457) __extension__ ({ \54663#define vmlal_high_laneq_s16(__p0_549, __p1_549, __p2_549, __p3_549) __extension__ ({ \
53308 int32x4_t __s0_457 = __p0_457; \54664 int32x4_t __s0_549 = __p0_549; \
53309 int16x8_t __s1_457 = __p1_457; \54665 int16x8_t __s1_549 = __p1_549; \
53310 int16x8_t __s2_457 = __p2_457; \54666 int16x8_t __s2_549 = __p2_549; \
53311 int32x4_t __ret_457; \54667 int32x4_t __ret_549; \
53312 __ret_457 = __s0_457 + vmull_s16(vget_high_s16(__s1_457), splat_laneq_s16(__s2_457, __p3_457)); \54668 __ret_549 = __s0_549 + vmull_s16(vget_high_s16(__s1_549), splat_laneq_s16(__s2_549, __p3_549)); \
53313 __ret_457; \54669 __ret_549; \
53314})54670})
53315#else54671#else
53316#define vmlal_high_laneq_s16(__p0_458, __p1_458, __p2_458, __p3_458) __extension__ ({ \54672#define vmlal_high_laneq_s16(__p0_550, __p1_550, __p2_550, __p3_550) __extension__ ({ \
53317 int32x4_t __s0_458 = __p0_458; \54673 int32x4_t __s0_550 = __p0_550; \
53318 int16x8_t __s1_458 = __p1_458; \54674 int16x8_t __s1_550 = __p1_550; \
53319 int16x8_t __s2_458 = __p2_458; \54675 int16x8_t __s2_550 = __p2_550; \
53320 int32x4_t __rev0_458; __rev0_458 = __builtin_shufflevector(__s0_458, __s0_458, 3, 2, 1, 0); \54676 int32x4_t __rev0_550; __rev0_550 = __builtin_shufflevector(__s0_550, __s0_550, 3, 2, 1, 0); \
53321 int16x8_t __rev1_458; __rev1_458 = __builtin_shufflevector(__s1_458, __s1_458, 7, 6, 5, 4, 3, 2, 1, 0); \54677 int16x8_t __rev1_550; __rev1_550 = __builtin_shufflevector(__s1_550, __s1_550, 7, 6, 5, 4, 3, 2, 1, 0); \
53322 int16x8_t __rev2_458; __rev2_458 = __builtin_shufflevector(__s2_458, __s2_458, 7, 6, 5, 4, 3, 2, 1, 0); \54678 int16x8_t __rev2_550; __rev2_550 = __builtin_shufflevector(__s2_550, __s2_550, 7, 6, 5, 4, 3, 2, 1, 0); \
53323 int32x4_t __ret_458; \54679 int32x4_t __ret_550; \
53324 __ret_458 = __rev0_458 + __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_458), __noswap_splat_laneq_s16(__rev2_458, __p3_458)); \54680 __ret_550 = __rev0_550 + __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_550), __noswap_splat_laneq_s16(__rev2_550, __p3_550)); \
53325 __ret_458 = __builtin_shufflevector(__ret_458, __ret_458, 3, 2, 1, 0); \54681 __ret_550 = __builtin_shufflevector(__ret_550, __ret_550, 3, 2, 1, 0); \
53326 __ret_458; \54682 __ret_550; \
53327})54683})
53328#endif54684#endif
5332954685
53330#ifdef __LITTLE_ENDIAN__54686#ifdef __LITTLE_ENDIAN__
53331#define vmlal_laneq_u32(__p0_459, __p1_459, __p2_459, __p3_459) __extension__ ({ \54687#define vmlal_laneq_u32(__p0_551, __p1_551, __p2_551, __p3_551) __extension__ ({ \
53332 uint64x2_t __s0_459 = __p0_459; \54688 uint64x2_t __s0_551 = __p0_551; \
53333 uint32x2_t __s1_459 = __p1_459; \54689 uint32x2_t __s1_551 = __p1_551; \
53334 uint32x4_t __s2_459 = __p2_459; \54690 uint32x4_t __s2_551 = __p2_551; \
53335 uint64x2_t __ret_459; \54691 uint64x2_t __ret_551; \
53336 __ret_459 = __s0_459 + vmull_u32(__s1_459, splat_laneq_u32(__s2_459, __p3_459)); \54692 __ret_551 = __s0_551 + vmull_u32(__s1_551, splat_laneq_u32(__s2_551, __p3_551)); \
53337 __ret_459; \54693 __ret_551; \
53338})54694})
53339#else54695#else
53340#define vmlal_laneq_u32(__p0_460, __p1_460, __p2_460, __p3_460) __extension__ ({ \54696#define vmlal_laneq_u32(__p0_552, __p1_552, __p2_552, __p3_552) __extension__ ({ \
53341 uint64x2_t __s0_460 = __p0_460; \54697 uint64x2_t __s0_552 = __p0_552; \
53342 uint32x2_t __s1_460 = __p1_460; \54698 uint32x2_t __s1_552 = __p1_552; \
53343 uint32x4_t __s2_460 = __p2_460; \54699 uint32x4_t __s2_552 = __p2_552; \
53344 uint64x2_t __rev0_460; __rev0_460 = __builtin_shufflevector(__s0_460, __s0_460, 1, 0); \54700 uint64x2_t __rev0_552; __rev0_552 = __builtin_shufflevector(__s0_552, __s0_552, 1, 0); \
53345 uint32x2_t __rev1_460; __rev1_460 = __builtin_shufflevector(__s1_460, __s1_460, 1, 0); \54701 uint32x2_t __rev1_552; __rev1_552 = __builtin_shufflevector(__s1_552, __s1_552, 1, 0); \
53346 uint32x4_t __rev2_460; __rev2_460 = __builtin_shufflevector(__s2_460, __s2_460, 3, 2, 1, 0); \54702 uint32x4_t __rev2_552; __rev2_552 = __builtin_shufflevector(__s2_552, __s2_552, 3, 2, 1, 0); \
53347 uint64x2_t __ret_460; \54703 uint64x2_t __ret_552; \
53348 __ret_460 = __rev0_460 + __noswap_vmull_u32(__rev1_460, __noswap_splat_laneq_u32(__rev2_460, __p3_460)); \54704 __ret_552 = __rev0_552 + __noswap_vmull_u32(__rev1_552, __noswap_splat_laneq_u32(__rev2_552, __p3_552)); \
53349 __ret_460 = __builtin_shufflevector(__ret_460, __ret_460, 1, 0); \54705 __ret_552 = __builtin_shufflevector(__ret_552, __ret_552, 1, 0); \
53350 __ret_460; \54706 __ret_552; \
53351})54707})
53352#endif54708#endif
5335354709
53354#ifdef __LITTLE_ENDIAN__54710#ifdef __LITTLE_ENDIAN__
53355#define vmlal_laneq_u16(__p0_461, __p1_461, __p2_461, __p3_461) __extension__ ({ \54711#define vmlal_laneq_u16(__p0_553, __p1_553, __p2_553, __p3_553) __extension__ ({ \
53356 uint32x4_t __s0_461 = __p0_461; \54712 uint32x4_t __s0_553 = __p0_553; \
53357 uint16x4_t __s1_461 = __p1_461; \54713 uint16x4_t __s1_553 = __p1_553; \
53358 uint16x8_t __s2_461 = __p2_461; \54714 uint16x8_t __s2_553 = __p2_553; \
53359 uint32x4_t __ret_461; \54715 uint32x4_t __ret_553; \
53360 __ret_461 = __s0_461 + vmull_u16(__s1_461, splat_laneq_u16(__s2_461, __p3_461)); \54716 __ret_553 = __s0_553 + vmull_u16(__s1_553, splat_laneq_u16(__s2_553, __p3_553)); \
53361 __ret_461; \54717 __ret_553; \
53362})54718})
53363#else54719#else
53364#define vmlal_laneq_u16(__p0_462, __p1_462, __p2_462, __p3_462) __extension__ ({ \54720#define vmlal_laneq_u16(__p0_554, __p1_554, __p2_554, __p3_554) __extension__ ({ \
53365 uint32x4_t __s0_462 = __p0_462; \54721 uint32x4_t __s0_554 = __p0_554; \
53366 uint16x4_t __s1_462 = __p1_462; \54722 uint16x4_t __s1_554 = __p1_554; \
53367 uint16x8_t __s2_462 = __p2_462; \54723 uint16x8_t __s2_554 = __p2_554; \
53368 uint32x4_t __rev0_462; __rev0_462 = __builtin_shufflevector(__s0_462, __s0_462, 3, 2, 1, 0); \54724 uint32x4_t __rev0_554; __rev0_554 = __builtin_shufflevector(__s0_554, __s0_554, 3, 2, 1, 0); \
53369 uint16x4_t __rev1_462; __rev1_462 = __builtin_shufflevector(__s1_462, __s1_462, 3, 2, 1, 0); \54725 uint16x4_t __rev1_554; __rev1_554 = __builtin_shufflevector(__s1_554, __s1_554, 3, 2, 1, 0); \
53370 uint16x8_t __rev2_462; __rev2_462 = __builtin_shufflevector(__s2_462, __s2_462, 7, 6, 5, 4, 3, 2, 1, 0); \54726 uint16x8_t __rev2_554; __rev2_554 = __builtin_shufflevector(__s2_554, __s2_554, 7, 6, 5, 4, 3, 2, 1, 0); \
53371 uint32x4_t __ret_462; \54727 uint32x4_t __ret_554; \
53372 __ret_462 = __rev0_462 + __noswap_vmull_u16(__rev1_462, __noswap_splat_laneq_u16(__rev2_462, __p3_462)); \54728 __ret_554 = __rev0_554 + __noswap_vmull_u16(__rev1_554, __noswap_splat_laneq_u16(__rev2_554, __p3_554)); \
53373 __ret_462 = __builtin_shufflevector(__ret_462, __ret_462, 3, 2, 1, 0); \54729 __ret_554 = __builtin_shufflevector(__ret_554, __ret_554, 3, 2, 1, 0); \
53374 __ret_462; \54730 __ret_554; \
53375})54731})
53376#endif54732#endif
5337754733
53378#ifdef __LITTLE_ENDIAN__54734#ifdef __LITTLE_ENDIAN__
53379#define vmlal_laneq_s32(__p0_463, __p1_463, __p2_463, __p3_463) __extension__ ({ \54735#define vmlal_laneq_s32(__p0_555, __p1_555, __p2_555, __p3_555) __extension__ ({ \
53380 int64x2_t __s0_463 = __p0_463; \54736 int64x2_t __s0_555 = __p0_555; \
53381 int32x2_t __s1_463 = __p1_463; \54737 int32x2_t __s1_555 = __p1_555; \
53382 int32x4_t __s2_463 = __p2_463; \54738 int32x4_t __s2_555 = __p2_555; \
53383 int64x2_t __ret_463; \54739 int64x2_t __ret_555; \
53384 __ret_463 = __s0_463 + vmull_s32(__s1_463, splat_laneq_s32(__s2_463, __p3_463)); \54740 __ret_555 = __s0_555 + vmull_s32(__s1_555, splat_laneq_s32(__s2_555, __p3_555)); \
53385 __ret_463; \54741 __ret_555; \
53386})54742})
53387#else54743#else
53388#define vmlal_laneq_s32(__p0_464, __p1_464, __p2_464, __p3_464) __extension__ ({ \54744#define vmlal_laneq_s32(__p0_556, __p1_556, __p2_556, __p3_556) __extension__ ({ \
53389 int64x2_t __s0_464 = __p0_464; \54745 int64x2_t __s0_556 = __p0_556; \
53390 int32x2_t __s1_464 = __p1_464; \54746 int32x2_t __s1_556 = __p1_556; \
53391 int32x4_t __s2_464 = __p2_464; \54747 int32x4_t __s2_556 = __p2_556; \
53392 int64x2_t __rev0_464; __rev0_464 = __builtin_shufflevector(__s0_464, __s0_464, 1, 0); \54748 int64x2_t __rev0_556; __rev0_556 = __builtin_shufflevector(__s0_556, __s0_556, 1, 0); \
53393 int32x2_t __rev1_464; __rev1_464 = __builtin_shufflevector(__s1_464, __s1_464, 1, 0); \54749 int32x2_t __rev1_556; __rev1_556 = __builtin_shufflevector(__s1_556, __s1_556, 1, 0); \
53394 int32x4_t __rev2_464; __rev2_464 = __builtin_shufflevector(__s2_464, __s2_464, 3, 2, 1, 0); \54750 int32x4_t __rev2_556; __rev2_556 = __builtin_shufflevector(__s2_556, __s2_556, 3, 2, 1, 0); \
53395 int64x2_t __ret_464; \54751 int64x2_t __ret_556; \
53396 __ret_464 = __rev0_464 + __noswap_vmull_s32(__rev1_464, __noswap_splat_laneq_s32(__rev2_464, __p3_464)); \54752 __ret_556 = __rev0_556 + __noswap_vmull_s32(__rev1_556, __noswap_splat_laneq_s32(__rev2_556, __p3_556)); \
53397 __ret_464 = __builtin_shufflevector(__ret_464, __ret_464, 1, 0); \54753 __ret_556 = __builtin_shufflevector(__ret_556, __ret_556, 1, 0); \
53398 __ret_464; \54754 __ret_556; \
53399})54755})
53400#endif54756#endif
5340154757
53402#ifdef __LITTLE_ENDIAN__54758#ifdef __LITTLE_ENDIAN__
53403#define vmlal_laneq_s16(__p0_465, __p1_465, __p2_465, __p3_465) __extension__ ({ \54759#define vmlal_laneq_s16(__p0_557, __p1_557, __p2_557, __p3_557) __extension__ ({ \
53404 int32x4_t __s0_465 = __p0_465; \54760 int32x4_t __s0_557 = __p0_557; \
53405 int16x4_t __s1_465 = __p1_465; \54761 int16x4_t __s1_557 = __p1_557; \
53406 int16x8_t __s2_465 = __p2_465; \54762 int16x8_t __s2_557 = __p2_557; \
53407 int32x4_t __ret_465; \54763 int32x4_t __ret_557; \
53408 __ret_465 = __s0_465 + vmull_s16(__s1_465, splat_laneq_s16(__s2_465, __p3_465)); \54764 __ret_557 = __s0_557 + vmull_s16(__s1_557, splat_laneq_s16(__s2_557, __p3_557)); \
53409 __ret_465; \54765 __ret_557; \
53410})54766})
53411#else54767#else
53412#define vmlal_laneq_s16(__p0_466, __p1_466, __p2_466, __p3_466) __extension__ ({ \54768#define vmlal_laneq_s16(__p0_558, __p1_558, __p2_558, __p3_558) __extension__ ({ \
53413 int32x4_t __s0_466 = __p0_466; \54769 int32x4_t __s0_558 = __p0_558; \
53414 int16x4_t __s1_466 = __p1_466; \54770 int16x4_t __s1_558 = __p1_558; \
53415 int16x8_t __s2_466 = __p2_466; \54771 int16x8_t __s2_558 = __p2_558; \
53416 int32x4_t __rev0_466; __rev0_466 = __builtin_shufflevector(__s0_466, __s0_466, 3, 2, 1, 0); \54772 int32x4_t __rev0_558; __rev0_558 = __builtin_shufflevector(__s0_558, __s0_558, 3, 2, 1, 0); \
53417 int16x4_t __rev1_466; __rev1_466 = __builtin_shufflevector(__s1_466, __s1_466, 3, 2, 1, 0); \54773 int16x4_t __rev1_558; __rev1_558 = __builtin_shufflevector(__s1_558, __s1_558, 3, 2, 1, 0); \
53418 int16x8_t __rev2_466; __rev2_466 = __builtin_shufflevector(__s2_466, __s2_466, 7, 6, 5, 4, 3, 2, 1, 0); \54774 int16x8_t __rev2_558; __rev2_558 = __builtin_shufflevector(__s2_558, __s2_558, 7, 6, 5, 4, 3, 2, 1, 0); \
53419 int32x4_t __ret_466; \54775 int32x4_t __ret_558; \
53420 __ret_466 = __rev0_466 + __noswap_vmull_s16(__rev1_466, __noswap_splat_laneq_s16(__rev2_466, __p3_466)); \54776 __ret_558 = __rev0_558 + __noswap_vmull_s16(__rev1_558, __noswap_splat_laneq_s16(__rev2_558, __p3_558)); \
53421 __ret_466 = __builtin_shufflevector(__ret_466, __ret_466, 3, 2, 1, 0); \54777 __ret_558 = __builtin_shufflevector(__ret_558, __ret_558, 3, 2, 1, 0); \
53422 __ret_466; \54778 __ret_558; \
53423})54779})
53424#endif54780#endif
5342554781
...@@ -53447,530 +54803,530 @@ __ai float64x1_t vmls_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)...@@ -53447,530 +54803,530 @@ __ai float64x1_t vmls_f64(float64x1_t __p0, float64x1_t __p1, float64x1_t __p2)
53447 return __ret;54803 return __ret;
53448}54804}
53449#ifdef __LITTLE_ENDIAN__54805#ifdef __LITTLE_ENDIAN__
53450#define vmlsq_laneq_u32(__p0_467, __p1_467, __p2_467, __p3_467) __extension__ ({ \54806#define vmlsq_laneq_u32(__p0_559, __p1_559, __p2_559, __p3_559) __extension__ ({ \
53451 uint32x4_t __s0_467 = __p0_467; \54807 uint32x4_t __s0_559 = __p0_559; \
53452 uint32x4_t __s1_467 = __p1_467; \54808 uint32x4_t __s1_559 = __p1_559; \
53453 uint32x4_t __s2_467 = __p2_467; \54809 uint32x4_t __s2_559 = __p2_559; \
53454 uint32x4_t __ret_467; \54810 uint32x4_t __ret_559; \
53455 __ret_467 = __s0_467 - __s1_467 * splatq_laneq_u32(__s2_467, __p3_467); \54811 __ret_559 = __s0_559 - __s1_559 * splatq_laneq_u32(__s2_559, __p3_559); \
53456 __ret_467; \54812 __ret_559; \
53457})54813})
53458#else54814#else
53459#define vmlsq_laneq_u32(__p0_468, __p1_468, __p2_468, __p3_468) __extension__ ({ \54815#define vmlsq_laneq_u32(__p0_560, __p1_560, __p2_560, __p3_560) __extension__ ({ \
53460 uint32x4_t __s0_468 = __p0_468; \54816 uint32x4_t __s0_560 = __p0_560; \
53461 uint32x4_t __s1_468 = __p1_468; \54817 uint32x4_t __s1_560 = __p1_560; \
53462 uint32x4_t __s2_468 = __p2_468; \54818 uint32x4_t __s2_560 = __p2_560; \
53463 uint32x4_t __rev0_468; __rev0_468 = __builtin_shufflevector(__s0_468, __s0_468, 3, 2, 1, 0); \54819 uint32x4_t __rev0_560; __rev0_560 = __builtin_shufflevector(__s0_560, __s0_560, 3, 2, 1, 0); \
53464 uint32x4_t __rev1_468; __rev1_468 = __builtin_shufflevector(__s1_468, __s1_468, 3, 2, 1, 0); \54820 uint32x4_t __rev1_560; __rev1_560 = __builtin_shufflevector(__s1_560, __s1_560, 3, 2, 1, 0); \
53465 uint32x4_t __rev2_468; __rev2_468 = __builtin_shufflevector(__s2_468, __s2_468, 3, 2, 1, 0); \54821 uint32x4_t __rev2_560; __rev2_560 = __builtin_shufflevector(__s2_560, __s2_560, 3, 2, 1, 0); \
53466 uint32x4_t __ret_468; \54822 uint32x4_t __ret_560; \
53467 __ret_468 = __rev0_468 - __rev1_468 * __noswap_splatq_laneq_u32(__rev2_468, __p3_468); \54823 __ret_560 = __rev0_560 - __rev1_560 * __noswap_splatq_laneq_u32(__rev2_560, __p3_560); \
53468 __ret_468 = __builtin_shufflevector(__ret_468, __ret_468, 3, 2, 1, 0); \54824 __ret_560 = __builtin_shufflevector(__ret_560, __ret_560, 3, 2, 1, 0); \
53469 __ret_468; \54825 __ret_560; \
53470})54826})
53471#endif54827#endif
5347254828
53473#ifdef __LITTLE_ENDIAN__54829#ifdef __LITTLE_ENDIAN__
53474#define vmlsq_laneq_u16(__p0_469, __p1_469, __p2_469, __p3_469) __extension__ ({ \54830#define vmlsq_laneq_u16(__p0_561, __p1_561, __p2_561, __p3_561) __extension__ ({ \
53475 uint16x8_t __s0_469 = __p0_469; \54831 uint16x8_t __s0_561 = __p0_561; \
53476 uint16x8_t __s1_469 = __p1_469; \54832 uint16x8_t __s1_561 = __p1_561; \
53477 uint16x8_t __s2_469 = __p2_469; \54833 uint16x8_t __s2_561 = __p2_561; \
53478 uint16x8_t __ret_469; \54834 uint16x8_t __ret_561; \
53479 __ret_469 = __s0_469 - __s1_469 * splatq_laneq_u16(__s2_469, __p3_469); \54835 __ret_561 = __s0_561 - __s1_561 * splatq_laneq_u16(__s2_561, __p3_561); \
53480 __ret_469; \54836 __ret_561; \
53481})54837})
53482#else54838#else
53483#define vmlsq_laneq_u16(__p0_470, __p1_470, __p2_470, __p3_470) __extension__ ({ \54839#define vmlsq_laneq_u16(__p0_562, __p1_562, __p2_562, __p3_562) __extension__ ({ \
53484 uint16x8_t __s0_470 = __p0_470; \54840 uint16x8_t __s0_562 = __p0_562; \
53485 uint16x8_t __s1_470 = __p1_470; \54841 uint16x8_t __s1_562 = __p1_562; \
53486 uint16x8_t __s2_470 = __p2_470; \54842 uint16x8_t __s2_562 = __p2_562; \
53487 uint16x8_t __rev0_470; __rev0_470 = __builtin_shufflevector(__s0_470, __s0_470, 7, 6, 5, 4, 3, 2, 1, 0); \54843 uint16x8_t __rev0_562; __rev0_562 = __builtin_shufflevector(__s0_562, __s0_562, 7, 6, 5, 4, 3, 2, 1, 0); \
53488 uint16x8_t __rev1_470; __rev1_470 = __builtin_shufflevector(__s1_470, __s1_470, 7, 6, 5, 4, 3, 2, 1, 0); \54844 uint16x8_t __rev1_562; __rev1_562 = __builtin_shufflevector(__s1_562, __s1_562, 7, 6, 5, 4, 3, 2, 1, 0); \
53489 uint16x8_t __rev2_470; __rev2_470 = __builtin_shufflevector(__s2_470, __s2_470, 7, 6, 5, 4, 3, 2, 1, 0); \54845 uint16x8_t __rev2_562; __rev2_562 = __builtin_shufflevector(__s2_562, __s2_562, 7, 6, 5, 4, 3, 2, 1, 0); \
53490 uint16x8_t __ret_470; \54846 uint16x8_t __ret_562; \
53491 __ret_470 = __rev0_470 - __rev1_470 * __noswap_splatq_laneq_u16(__rev2_470, __p3_470); \54847 __ret_562 = __rev0_562 - __rev1_562 * __noswap_splatq_laneq_u16(__rev2_562, __p3_562); \
53492 __ret_470 = __builtin_shufflevector(__ret_470, __ret_470, 7, 6, 5, 4, 3, 2, 1, 0); \54848 __ret_562 = __builtin_shufflevector(__ret_562, __ret_562, 7, 6, 5, 4, 3, 2, 1, 0); \
53493 __ret_470; \54849 __ret_562; \
53494})54850})
53495#endif54851#endif
5349654852
53497#ifdef __LITTLE_ENDIAN__54853#ifdef __LITTLE_ENDIAN__
53498#define vmlsq_laneq_f32(__p0_471, __p1_471, __p2_471, __p3_471) __extension__ ({ \54854#define vmlsq_laneq_f32(__p0_563, __p1_563, __p2_563, __p3_563) __extension__ ({ \
53499 float32x4_t __s0_471 = __p0_471; \54855 float32x4_t __s0_563 = __p0_563; \
53500 float32x4_t __s1_471 = __p1_471; \54856 float32x4_t __s1_563 = __p1_563; \
53501 float32x4_t __s2_471 = __p2_471; \54857 float32x4_t __s2_563 = __p2_563; \
53502 float32x4_t __ret_471; \54858 float32x4_t __ret_563; \
53503 __ret_471 = __s0_471 - __s1_471 * splatq_laneq_f32(__s2_471, __p3_471); \54859 __ret_563 = __s0_563 - __s1_563 * splatq_laneq_f32(__s2_563, __p3_563); \
53504 __ret_471; \54860 __ret_563; \
53505})54861})
53506#else54862#else
53507#define vmlsq_laneq_f32(__p0_472, __p1_472, __p2_472, __p3_472) __extension__ ({ \54863#define vmlsq_laneq_f32(__p0_564, __p1_564, __p2_564, __p3_564) __extension__ ({ \
53508 float32x4_t __s0_472 = __p0_472; \54864 float32x4_t __s0_564 = __p0_564; \
53509 float32x4_t __s1_472 = __p1_472; \54865 float32x4_t __s1_564 = __p1_564; \
53510 float32x4_t __s2_472 = __p2_472; \54866 float32x4_t __s2_564 = __p2_564; \
53511 float32x4_t __rev0_472; __rev0_472 = __builtin_shufflevector(__s0_472, __s0_472, 3, 2, 1, 0); \54867 float32x4_t __rev0_564; __rev0_564 = __builtin_shufflevector(__s0_564, __s0_564, 3, 2, 1, 0); \
53512 float32x4_t __rev1_472; __rev1_472 = __builtin_shufflevector(__s1_472, __s1_472, 3, 2, 1, 0); \54868 float32x4_t __rev1_564; __rev1_564 = __builtin_shufflevector(__s1_564, __s1_564, 3, 2, 1, 0); \
53513 float32x4_t __rev2_472; __rev2_472 = __builtin_shufflevector(__s2_472, __s2_472, 3, 2, 1, 0); \54869 float32x4_t __rev2_564; __rev2_564 = __builtin_shufflevector(__s2_564, __s2_564, 3, 2, 1, 0); \
53514 float32x4_t __ret_472; \54870 float32x4_t __ret_564; \
53515 __ret_472 = __rev0_472 - __rev1_472 * __noswap_splatq_laneq_f32(__rev2_472, __p3_472); \54871 __ret_564 = __rev0_564 - __rev1_564 * __noswap_splatq_laneq_f32(__rev2_564, __p3_564); \
53516 __ret_472 = __builtin_shufflevector(__ret_472, __ret_472, 3, 2, 1, 0); \54872 __ret_564 = __builtin_shufflevector(__ret_564, __ret_564, 3, 2, 1, 0); \
53517 __ret_472; \54873 __ret_564; \
53518})54874})
53519#endif54875#endif
5352054876
53521#ifdef __LITTLE_ENDIAN__54877#ifdef __LITTLE_ENDIAN__
53522#define vmlsq_laneq_s32(__p0_473, __p1_473, __p2_473, __p3_473) __extension__ ({ \54878#define vmlsq_laneq_s32(__p0_565, __p1_565, __p2_565, __p3_565) __extension__ ({ \
53523 int32x4_t __s0_473 = __p0_473; \54879 int32x4_t __s0_565 = __p0_565; \
53524 int32x4_t __s1_473 = __p1_473; \54880 int32x4_t __s1_565 = __p1_565; \
53525 int32x4_t __s2_473 = __p2_473; \54881 int32x4_t __s2_565 = __p2_565; \
53526 int32x4_t __ret_473; \54882 int32x4_t __ret_565; \
53527 __ret_473 = __s0_473 - __s1_473 * splatq_laneq_s32(__s2_473, __p3_473); \54883 __ret_565 = __s0_565 - __s1_565 * splatq_laneq_s32(__s2_565, __p3_565); \
53528 __ret_473; \54884 __ret_565; \
53529})54885})
53530#else54886#else
53531#define vmlsq_laneq_s32(__p0_474, __p1_474, __p2_474, __p3_474) __extension__ ({ \54887#define vmlsq_laneq_s32(__p0_566, __p1_566, __p2_566, __p3_566) __extension__ ({ \
53532 int32x4_t __s0_474 = __p0_474; \54888 int32x4_t __s0_566 = __p0_566; \
53533 int32x4_t __s1_474 = __p1_474; \54889 int32x4_t __s1_566 = __p1_566; \
53534 int32x4_t __s2_474 = __p2_474; \54890 int32x4_t __s2_566 = __p2_566; \
53535 int32x4_t __rev0_474; __rev0_474 = __builtin_shufflevector(__s0_474, __s0_474, 3, 2, 1, 0); \54891 int32x4_t __rev0_566; __rev0_566 = __builtin_shufflevector(__s0_566, __s0_566, 3, 2, 1, 0); \
53536 int32x4_t __rev1_474; __rev1_474 = __builtin_shufflevector(__s1_474, __s1_474, 3, 2, 1, 0); \54892 int32x4_t __rev1_566; __rev1_566 = __builtin_shufflevector(__s1_566, __s1_566, 3, 2, 1, 0); \
53537 int32x4_t __rev2_474; __rev2_474 = __builtin_shufflevector(__s2_474, __s2_474, 3, 2, 1, 0); \54893 int32x4_t __rev2_566; __rev2_566 = __builtin_shufflevector(__s2_566, __s2_566, 3, 2, 1, 0); \
53538 int32x4_t __ret_474; \54894 int32x4_t __ret_566; \
53539 __ret_474 = __rev0_474 - __rev1_474 * __noswap_splatq_laneq_s32(__rev2_474, __p3_474); \54895 __ret_566 = __rev0_566 - __rev1_566 * __noswap_splatq_laneq_s32(__rev2_566, __p3_566); \
53540 __ret_474 = __builtin_shufflevector(__ret_474, __ret_474, 3, 2, 1, 0); \54896 __ret_566 = __builtin_shufflevector(__ret_566, __ret_566, 3, 2, 1, 0); \
53541 __ret_474; \54897 __ret_566; \
53542})54898})
53543#endif54899#endif
5354454900
53545#ifdef __LITTLE_ENDIAN__54901#ifdef __LITTLE_ENDIAN__
53546#define vmlsq_laneq_s16(__p0_475, __p1_475, __p2_475, __p3_475) __extension__ ({ \54902#define vmlsq_laneq_s16(__p0_567, __p1_567, __p2_567, __p3_567) __extension__ ({ \
53547 int16x8_t __s0_475 = __p0_475; \54903 int16x8_t __s0_567 = __p0_567; \
53548 int16x8_t __s1_475 = __p1_475; \54904 int16x8_t __s1_567 = __p1_567; \
53549 int16x8_t __s2_475 = __p2_475; \54905 int16x8_t __s2_567 = __p2_567; \
53550 int16x8_t __ret_475; \54906 int16x8_t __ret_567; \
53551 __ret_475 = __s0_475 - __s1_475 * splatq_laneq_s16(__s2_475, __p3_475); \54907 __ret_567 = __s0_567 - __s1_567 * splatq_laneq_s16(__s2_567, __p3_567); \
53552 __ret_475; \54908 __ret_567; \
53553})54909})
53554#else54910#else
53555#define vmlsq_laneq_s16(__p0_476, __p1_476, __p2_476, __p3_476) __extension__ ({ \54911#define vmlsq_laneq_s16(__p0_568, __p1_568, __p2_568, __p3_568) __extension__ ({ \
53556 int16x8_t __s0_476 = __p0_476; \54912 int16x8_t __s0_568 = __p0_568; \
53557 int16x8_t __s1_476 = __p1_476; \54913 int16x8_t __s1_568 = __p1_568; \
53558 int16x8_t __s2_476 = __p2_476; \54914 int16x8_t __s2_568 = __p2_568; \
53559 int16x8_t __rev0_476; __rev0_476 = __builtin_shufflevector(__s0_476, __s0_476, 7, 6, 5, 4, 3, 2, 1, 0); \54915 int16x8_t __rev0_568; __rev0_568 = __builtin_shufflevector(__s0_568, __s0_568, 7, 6, 5, 4, 3, 2, 1, 0); \
53560 int16x8_t __rev1_476; __rev1_476 = __builtin_shufflevector(__s1_476, __s1_476, 7, 6, 5, 4, 3, 2, 1, 0); \54916 int16x8_t __rev1_568; __rev1_568 = __builtin_shufflevector(__s1_568, __s1_568, 7, 6, 5, 4, 3, 2, 1, 0); \
53561 int16x8_t __rev2_476; __rev2_476 = __builtin_shufflevector(__s2_476, __s2_476, 7, 6, 5, 4, 3, 2, 1, 0); \54917 int16x8_t __rev2_568; __rev2_568 = __builtin_shufflevector(__s2_568, __s2_568, 7, 6, 5, 4, 3, 2, 1, 0); \
53562 int16x8_t __ret_476; \54918 int16x8_t __ret_568; \
53563 __ret_476 = __rev0_476 - __rev1_476 * __noswap_splatq_laneq_s16(__rev2_476, __p3_476); \54919 __ret_568 = __rev0_568 - __rev1_568 * __noswap_splatq_laneq_s16(__rev2_568, __p3_568); \
53564 __ret_476 = __builtin_shufflevector(__ret_476, __ret_476, 7, 6, 5, 4, 3, 2, 1, 0); \54920 __ret_568 = __builtin_shufflevector(__ret_568, __ret_568, 7, 6, 5, 4, 3, 2, 1, 0); \
53565 __ret_476; \54921 __ret_568; \
53566})54922})
53567#endif54923#endif
5356854924
53569#ifdef __LITTLE_ENDIAN__54925#ifdef __LITTLE_ENDIAN__
53570#define vmls_laneq_u32(__p0_477, __p1_477, __p2_477, __p3_477) __extension__ ({ \54926#define vmls_laneq_u32(__p0_569, __p1_569, __p2_569, __p3_569) __extension__ ({ \
53571 uint32x2_t __s0_477 = __p0_477; \54927 uint32x2_t __s0_569 = __p0_569; \
53572 uint32x2_t __s1_477 = __p1_477; \54928 uint32x2_t __s1_569 = __p1_569; \
53573 uint32x4_t __s2_477 = __p2_477; \54929 uint32x4_t __s2_569 = __p2_569; \
53574 uint32x2_t __ret_477; \54930 uint32x2_t __ret_569; \
53575 __ret_477 = __s0_477 - __s1_477 * splat_laneq_u32(__s2_477, __p3_477); \54931 __ret_569 = __s0_569 - __s1_569 * splat_laneq_u32(__s2_569, __p3_569); \
53576 __ret_477; \54932 __ret_569; \
53577})54933})
53578#else54934#else
53579#define vmls_laneq_u32(__p0_478, __p1_478, __p2_478, __p3_478) __extension__ ({ \54935#define vmls_laneq_u32(__p0_570, __p1_570, __p2_570, __p3_570) __extension__ ({ \
53580 uint32x2_t __s0_478 = __p0_478; \54936 uint32x2_t __s0_570 = __p0_570; \
53581 uint32x2_t __s1_478 = __p1_478; \54937 uint32x2_t __s1_570 = __p1_570; \
53582 uint32x4_t __s2_478 = __p2_478; \54938 uint32x4_t __s2_570 = __p2_570; \
53583 uint32x2_t __rev0_478; __rev0_478 = __builtin_shufflevector(__s0_478, __s0_478, 1, 0); \54939 uint32x2_t __rev0_570; __rev0_570 = __builtin_shufflevector(__s0_570, __s0_570, 1, 0); \
53584 uint32x2_t __rev1_478; __rev1_478 = __builtin_shufflevector(__s1_478, __s1_478, 1, 0); \54940 uint32x2_t __rev1_570; __rev1_570 = __builtin_shufflevector(__s1_570, __s1_570, 1, 0); \
53585 uint32x4_t __rev2_478; __rev2_478 = __builtin_shufflevector(__s2_478, __s2_478, 3, 2, 1, 0); \54941 uint32x4_t __rev2_570; __rev2_570 = __builtin_shufflevector(__s2_570, __s2_570, 3, 2, 1, 0); \
53586 uint32x2_t __ret_478; \54942 uint32x2_t __ret_570; \
53587 __ret_478 = __rev0_478 - __rev1_478 * __noswap_splat_laneq_u32(__rev2_478, __p3_478); \54943 __ret_570 = __rev0_570 - __rev1_570 * __noswap_splat_laneq_u32(__rev2_570, __p3_570); \
53588 __ret_478 = __builtin_shufflevector(__ret_478, __ret_478, 1, 0); \54944 __ret_570 = __builtin_shufflevector(__ret_570, __ret_570, 1, 0); \
53589 __ret_478; \54945 __ret_570; \
53590})54946})
53591#endif54947#endif
5359254948
53593#ifdef __LITTLE_ENDIAN__54949#ifdef __LITTLE_ENDIAN__
53594#define vmls_laneq_u16(__p0_479, __p1_479, __p2_479, __p3_479) __extension__ ({ \54950#define vmls_laneq_u16(__p0_571, __p1_571, __p2_571, __p3_571) __extension__ ({ \
53595 uint16x4_t __s0_479 = __p0_479; \54951 uint16x4_t __s0_571 = __p0_571; \
53596 uint16x4_t __s1_479 = __p1_479; \54952 uint16x4_t __s1_571 = __p1_571; \
53597 uint16x8_t __s2_479 = __p2_479; \54953 uint16x8_t __s2_571 = __p2_571; \
53598 uint16x4_t __ret_479; \54954 uint16x4_t __ret_571; \
53599 __ret_479 = __s0_479 - __s1_479 * splat_laneq_u16(__s2_479, __p3_479); \54955 __ret_571 = __s0_571 - __s1_571 * splat_laneq_u16(__s2_571, __p3_571); \
53600 __ret_479; \54956 __ret_571; \
53601})54957})
53602#else54958#else
53603#define vmls_laneq_u16(__p0_480, __p1_480, __p2_480, __p3_480) __extension__ ({ \54959#define vmls_laneq_u16(__p0_572, __p1_572, __p2_572, __p3_572) __extension__ ({ \
53604 uint16x4_t __s0_480 = __p0_480; \54960 uint16x4_t __s0_572 = __p0_572; \
53605 uint16x4_t __s1_480 = __p1_480; \54961 uint16x4_t __s1_572 = __p1_572; \
53606 uint16x8_t __s2_480 = __p2_480; \54962 uint16x8_t __s2_572 = __p2_572; \
53607 uint16x4_t __rev0_480; __rev0_480 = __builtin_shufflevector(__s0_480, __s0_480, 3, 2, 1, 0); \54963 uint16x4_t __rev0_572; __rev0_572 = __builtin_shufflevector(__s0_572, __s0_572, 3, 2, 1, 0); \
53608 uint16x4_t __rev1_480; __rev1_480 = __builtin_shufflevector(__s1_480, __s1_480, 3, 2, 1, 0); \54964 uint16x4_t __rev1_572; __rev1_572 = __builtin_shufflevector(__s1_572, __s1_572, 3, 2, 1, 0); \
53609 uint16x8_t __rev2_480; __rev2_480 = __builtin_shufflevector(__s2_480, __s2_480, 7, 6, 5, 4, 3, 2, 1, 0); \54965 uint16x8_t __rev2_572; __rev2_572 = __builtin_shufflevector(__s2_572, __s2_572, 7, 6, 5, 4, 3, 2, 1, 0); \
53610 uint16x4_t __ret_480; \54966 uint16x4_t __ret_572; \
53611 __ret_480 = __rev0_480 - __rev1_480 * __noswap_splat_laneq_u16(__rev2_480, __p3_480); \54967 __ret_572 = __rev0_572 - __rev1_572 * __noswap_splat_laneq_u16(__rev2_572, __p3_572); \
53612 __ret_480 = __builtin_shufflevector(__ret_480, __ret_480, 3, 2, 1, 0); \54968 __ret_572 = __builtin_shufflevector(__ret_572, __ret_572, 3, 2, 1, 0); \
53613 __ret_480; \54969 __ret_572; \
53614})54970})
53615#endif54971#endif
5361654972
53617#ifdef __LITTLE_ENDIAN__54973#ifdef __LITTLE_ENDIAN__
53618#define vmls_laneq_f32(__p0_481, __p1_481, __p2_481, __p3_481) __extension__ ({ \54974#define vmls_laneq_f32(__p0_573, __p1_573, __p2_573, __p3_573) __extension__ ({ \
53619 float32x2_t __s0_481 = __p0_481; \54975 float32x2_t __s0_573 = __p0_573; \
53620 float32x2_t __s1_481 = __p1_481; \54976 float32x2_t __s1_573 = __p1_573; \
53621 float32x4_t __s2_481 = __p2_481; \54977 float32x4_t __s2_573 = __p2_573; \
53622 float32x2_t __ret_481; \54978 float32x2_t __ret_573; \
53623 __ret_481 = __s0_481 - __s1_481 * splat_laneq_f32(__s2_481, __p3_481); \54979 __ret_573 = __s0_573 - __s1_573 * splat_laneq_f32(__s2_573, __p3_573); \
53624 __ret_481; \54980 __ret_573; \
53625})54981})
53626#else54982#else
53627#define vmls_laneq_f32(__p0_482, __p1_482, __p2_482, __p3_482) __extension__ ({ \54983#define vmls_laneq_f32(__p0_574, __p1_574, __p2_574, __p3_574) __extension__ ({ \
53628 float32x2_t __s0_482 = __p0_482; \54984 float32x2_t __s0_574 = __p0_574; \
53629 float32x2_t __s1_482 = __p1_482; \54985 float32x2_t __s1_574 = __p1_574; \
53630 float32x4_t __s2_482 = __p2_482; \54986 float32x4_t __s2_574 = __p2_574; \
53631 float32x2_t __rev0_482; __rev0_482 = __builtin_shufflevector(__s0_482, __s0_482, 1, 0); \54987 float32x2_t __rev0_574; __rev0_574 = __builtin_shufflevector(__s0_574, __s0_574, 1, 0); \
53632 float32x2_t __rev1_482; __rev1_482 = __builtin_shufflevector(__s1_482, __s1_482, 1, 0); \54988 float32x2_t __rev1_574; __rev1_574 = __builtin_shufflevector(__s1_574, __s1_574, 1, 0); \
53633 float32x4_t __rev2_482; __rev2_482 = __builtin_shufflevector(__s2_482, __s2_482, 3, 2, 1, 0); \54989 float32x4_t __rev2_574; __rev2_574 = __builtin_shufflevector(__s2_574, __s2_574, 3, 2, 1, 0); \
53634 float32x2_t __ret_482; \54990 float32x2_t __ret_574; \
53635 __ret_482 = __rev0_482 - __rev1_482 * __noswap_splat_laneq_f32(__rev2_482, __p3_482); \54991 __ret_574 = __rev0_574 - __rev1_574 * __noswap_splat_laneq_f32(__rev2_574, __p3_574); \
53636 __ret_482 = __builtin_shufflevector(__ret_482, __ret_482, 1, 0); \54992 __ret_574 = __builtin_shufflevector(__ret_574, __ret_574, 1, 0); \
53637 __ret_482; \54993 __ret_574; \
53638})54994})
53639#endif54995#endif
5364054996
53641#ifdef __LITTLE_ENDIAN__54997#ifdef __LITTLE_ENDIAN__
53642#define vmls_laneq_s32(__p0_483, __p1_483, __p2_483, __p3_483) __extension__ ({ \54998#define vmls_laneq_s32(__p0_575, __p1_575, __p2_575, __p3_575) __extension__ ({ \
53643 int32x2_t __s0_483 = __p0_483; \54999 int32x2_t __s0_575 = __p0_575; \
53644 int32x2_t __s1_483 = __p1_483; \55000 int32x2_t __s1_575 = __p1_575; \
53645 int32x4_t __s2_483 = __p2_483; \55001 int32x4_t __s2_575 = __p2_575; \
53646 int32x2_t __ret_483; \55002 int32x2_t __ret_575; \
53647 __ret_483 = __s0_483 - __s1_483 * splat_laneq_s32(__s2_483, __p3_483); \55003 __ret_575 = __s0_575 - __s1_575 * splat_laneq_s32(__s2_575, __p3_575); \
53648 __ret_483; \55004 __ret_575; \
53649})55005})
53650#else55006#else
53651#define vmls_laneq_s32(__p0_484, __p1_484, __p2_484, __p3_484) __extension__ ({ \55007#define vmls_laneq_s32(__p0_576, __p1_576, __p2_576, __p3_576) __extension__ ({ \
53652 int32x2_t __s0_484 = __p0_484; \55008 int32x2_t __s0_576 = __p0_576; \
53653 int32x2_t __s1_484 = __p1_484; \55009 int32x2_t __s1_576 = __p1_576; \
53654 int32x4_t __s2_484 = __p2_484; \55010 int32x4_t __s2_576 = __p2_576; \
53655 int32x2_t __rev0_484; __rev0_484 = __builtin_shufflevector(__s0_484, __s0_484, 1, 0); \55011 int32x2_t __rev0_576; __rev0_576 = __builtin_shufflevector(__s0_576, __s0_576, 1, 0); \
53656 int32x2_t __rev1_484; __rev1_484 = __builtin_shufflevector(__s1_484, __s1_484, 1, 0); \55012 int32x2_t __rev1_576; __rev1_576 = __builtin_shufflevector(__s1_576, __s1_576, 1, 0); \
53657 int32x4_t __rev2_484; __rev2_484 = __builtin_shufflevector(__s2_484, __s2_484, 3, 2, 1, 0); \55013 int32x4_t __rev2_576; __rev2_576 = __builtin_shufflevector(__s2_576, __s2_576, 3, 2, 1, 0); \
53658 int32x2_t __ret_484; \55014 int32x2_t __ret_576; \
53659 __ret_484 = __rev0_484 - __rev1_484 * __noswap_splat_laneq_s32(__rev2_484, __p3_484); \55015 __ret_576 = __rev0_576 - __rev1_576 * __noswap_splat_laneq_s32(__rev2_576, __p3_576); \
53660 __ret_484 = __builtin_shufflevector(__ret_484, __ret_484, 1, 0); \55016 __ret_576 = __builtin_shufflevector(__ret_576, __ret_576, 1, 0); \
53661 __ret_484; \55017 __ret_576; \
53662})55018})
53663#endif55019#endif
5366455020
53665#ifdef __LITTLE_ENDIAN__55021#ifdef __LITTLE_ENDIAN__
53666#define vmls_laneq_s16(__p0_485, __p1_485, __p2_485, __p3_485) __extension__ ({ \55022#define vmls_laneq_s16(__p0_577, __p1_577, __p2_577, __p3_577) __extension__ ({ \
53667 int16x4_t __s0_485 = __p0_485; \55023 int16x4_t __s0_577 = __p0_577; \
53668 int16x4_t __s1_485 = __p1_485; \55024 int16x4_t __s1_577 = __p1_577; \
53669 int16x8_t __s2_485 = __p2_485; \55025 int16x8_t __s2_577 = __p2_577; \
53670 int16x4_t __ret_485; \55026 int16x4_t __ret_577; \
53671 __ret_485 = __s0_485 - __s1_485 * splat_laneq_s16(__s2_485, __p3_485); \55027 __ret_577 = __s0_577 - __s1_577 * splat_laneq_s16(__s2_577, __p3_577); \
53672 __ret_485; \55028 __ret_577; \
53673})55029})
53674#else55030#else
53675#define vmls_laneq_s16(__p0_486, __p1_486, __p2_486, __p3_486) __extension__ ({ \55031#define vmls_laneq_s16(__p0_578, __p1_578, __p2_578, __p3_578) __extension__ ({ \
53676 int16x4_t __s0_486 = __p0_486; \55032 int16x4_t __s0_578 = __p0_578; \
53677 int16x4_t __s1_486 = __p1_486; \55033 int16x4_t __s1_578 = __p1_578; \
53678 int16x8_t __s2_486 = __p2_486; \55034 int16x8_t __s2_578 = __p2_578; \
53679 int16x4_t __rev0_486; __rev0_486 = __builtin_shufflevector(__s0_486, __s0_486, 3, 2, 1, 0); \55035 int16x4_t __rev0_578; __rev0_578 = __builtin_shufflevector(__s0_578, __s0_578, 3, 2, 1, 0); \
53680 int16x4_t __rev1_486; __rev1_486 = __builtin_shufflevector(__s1_486, __s1_486, 3, 2, 1, 0); \55036 int16x4_t __rev1_578; __rev1_578 = __builtin_shufflevector(__s1_578, __s1_578, 3, 2, 1, 0); \
53681 int16x8_t __rev2_486; __rev2_486 = __builtin_shufflevector(__s2_486, __s2_486, 7, 6, 5, 4, 3, 2, 1, 0); \55037 int16x8_t __rev2_578; __rev2_578 = __builtin_shufflevector(__s2_578, __s2_578, 7, 6, 5, 4, 3, 2, 1, 0); \
53682 int16x4_t __ret_486; \55038 int16x4_t __ret_578; \
53683 __ret_486 = __rev0_486 - __rev1_486 * __noswap_splat_laneq_s16(__rev2_486, __p3_486); \55039 __ret_578 = __rev0_578 - __rev1_578 * __noswap_splat_laneq_s16(__rev2_578, __p3_578); \
53684 __ret_486 = __builtin_shufflevector(__ret_486, __ret_486, 3, 2, 1, 0); \55040 __ret_578 = __builtin_shufflevector(__ret_578, __ret_578, 3, 2, 1, 0); \
53685 __ret_486; \55041 __ret_578; \
53686})55042})
53687#endif55043#endif
5368855044
53689#ifdef __LITTLE_ENDIAN__55045#ifdef __LITTLE_ENDIAN__
53690#define vmlsl_high_lane_u32(__p0_487, __p1_487, __p2_487, __p3_487) __extension__ ({ \55046#define vmlsl_high_lane_u32(__p0_579, __p1_579, __p2_579, __p3_579) __extension__ ({ \
53691 uint64x2_t __s0_487 = __p0_487; \55047 uint64x2_t __s0_579 = __p0_579; \
53692 uint32x4_t __s1_487 = __p1_487; \55048 uint32x4_t __s1_579 = __p1_579; \
53693 uint32x2_t __s2_487 = __p2_487; \55049 uint32x2_t __s2_579 = __p2_579; \
53694 uint64x2_t __ret_487; \55050 uint64x2_t __ret_579; \
53695 __ret_487 = __s0_487 - vmull_u32(vget_high_u32(__s1_487), splat_lane_u32(__s2_487, __p3_487)); \55051 __ret_579 = __s0_579 - vmull_u32(vget_high_u32(__s1_579), splat_lane_u32(__s2_579, __p3_579)); \
53696 __ret_487; \55052 __ret_579; \
53697})55053})
53698#else55054#else
53699#define vmlsl_high_lane_u32(__p0_488, __p1_488, __p2_488, __p3_488) __extension__ ({ \55055#define vmlsl_high_lane_u32(__p0_580, __p1_580, __p2_580, __p3_580) __extension__ ({ \
53700 uint64x2_t __s0_488 = __p0_488; \55056 uint64x2_t __s0_580 = __p0_580; \
53701 uint32x4_t __s1_488 = __p1_488; \55057 uint32x4_t __s1_580 = __p1_580; \
53702 uint32x2_t __s2_488 = __p2_488; \55058 uint32x2_t __s2_580 = __p2_580; \
53703 uint64x2_t __rev0_488; __rev0_488 = __builtin_shufflevector(__s0_488, __s0_488, 1, 0); \55059 uint64x2_t __rev0_580; __rev0_580 = __builtin_shufflevector(__s0_580, __s0_580, 1, 0); \
53704 uint32x4_t __rev1_488; __rev1_488 = __builtin_shufflevector(__s1_488, __s1_488, 3, 2, 1, 0); \55060 uint32x4_t __rev1_580; __rev1_580 = __builtin_shufflevector(__s1_580, __s1_580, 3, 2, 1, 0); \
53705 uint32x2_t __rev2_488; __rev2_488 = __builtin_shufflevector(__s2_488, __s2_488, 1, 0); \55061 uint32x2_t __rev2_580; __rev2_580 = __builtin_shufflevector(__s2_580, __s2_580, 1, 0); \
53706 uint64x2_t __ret_488; \55062 uint64x2_t __ret_580; \
53707 __ret_488 = __rev0_488 - __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_488), __noswap_splat_lane_u32(__rev2_488, __p3_488)); \55063 __ret_580 = __rev0_580 - __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_580), __noswap_splat_lane_u32(__rev2_580, __p3_580)); \
53708 __ret_488 = __builtin_shufflevector(__ret_488, __ret_488, 1, 0); \55064 __ret_580 = __builtin_shufflevector(__ret_580, __ret_580, 1, 0); \
53709 __ret_488; \55065 __ret_580; \
53710})55066})
53711#endif55067#endif
5371255068
53713#ifdef __LITTLE_ENDIAN__55069#ifdef __LITTLE_ENDIAN__
53714#define vmlsl_high_lane_u16(__p0_489, __p1_489, __p2_489, __p3_489) __extension__ ({ \55070#define vmlsl_high_lane_u16(__p0_581, __p1_581, __p2_581, __p3_581) __extension__ ({ \
53715 uint32x4_t __s0_489 = __p0_489; \55071 uint32x4_t __s0_581 = __p0_581; \
53716 uint16x8_t __s1_489 = __p1_489; \55072 uint16x8_t __s1_581 = __p1_581; \
53717 uint16x4_t __s2_489 = __p2_489; \55073 uint16x4_t __s2_581 = __p2_581; \
53718 uint32x4_t __ret_489; \55074 uint32x4_t __ret_581; \
53719 __ret_489 = __s0_489 - vmull_u16(vget_high_u16(__s1_489), splat_lane_u16(__s2_489, __p3_489)); \55075 __ret_581 = __s0_581 - vmull_u16(vget_high_u16(__s1_581), splat_lane_u16(__s2_581, __p3_581)); \
53720 __ret_489; \55076 __ret_581; \
53721})55077})
53722#else55078#else
53723#define vmlsl_high_lane_u16(__p0_490, __p1_490, __p2_490, __p3_490) __extension__ ({ \55079#define vmlsl_high_lane_u16(__p0_582, __p1_582, __p2_582, __p3_582) __extension__ ({ \
53724 uint32x4_t __s0_490 = __p0_490; \55080 uint32x4_t __s0_582 = __p0_582; \
53725 uint16x8_t __s1_490 = __p1_490; \55081 uint16x8_t __s1_582 = __p1_582; \
53726 uint16x4_t __s2_490 = __p2_490; \55082 uint16x4_t __s2_582 = __p2_582; \
53727 uint32x4_t __rev0_490; __rev0_490 = __builtin_shufflevector(__s0_490, __s0_490, 3, 2, 1, 0); \55083 uint32x4_t __rev0_582; __rev0_582 = __builtin_shufflevector(__s0_582, __s0_582, 3, 2, 1, 0); \
53728 uint16x8_t __rev1_490; __rev1_490 = __builtin_shufflevector(__s1_490, __s1_490, 7, 6, 5, 4, 3, 2, 1, 0); \55084 uint16x8_t __rev1_582; __rev1_582 = __builtin_shufflevector(__s1_582, __s1_582, 7, 6, 5, 4, 3, 2, 1, 0); \
53729 uint16x4_t __rev2_490; __rev2_490 = __builtin_shufflevector(__s2_490, __s2_490, 3, 2, 1, 0); \55085 uint16x4_t __rev2_582; __rev2_582 = __builtin_shufflevector(__s2_582, __s2_582, 3, 2, 1, 0); \
53730 uint32x4_t __ret_490; \55086 uint32x4_t __ret_582; \
53731 __ret_490 = __rev0_490 - __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_490), __noswap_splat_lane_u16(__rev2_490, __p3_490)); \55087 __ret_582 = __rev0_582 - __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_582), __noswap_splat_lane_u16(__rev2_582, __p3_582)); \
53732 __ret_490 = __builtin_shufflevector(__ret_490, __ret_490, 3, 2, 1, 0); \55088 __ret_582 = __builtin_shufflevector(__ret_582, __ret_582, 3, 2, 1, 0); \
53733 __ret_490; \55089 __ret_582; \
53734})55090})
53735#endif55091#endif
5373655092
53737#ifdef __LITTLE_ENDIAN__55093#ifdef __LITTLE_ENDIAN__
53738#define vmlsl_high_lane_s32(__p0_491, __p1_491, __p2_491, __p3_491) __extension__ ({ \55094#define vmlsl_high_lane_s32(__p0_583, __p1_583, __p2_583, __p3_583) __extension__ ({ \
53739 int64x2_t __s0_491 = __p0_491; \55095 int64x2_t __s0_583 = __p0_583; \
53740 int32x4_t __s1_491 = __p1_491; \55096 int32x4_t __s1_583 = __p1_583; \
53741 int32x2_t __s2_491 = __p2_491; \55097 int32x2_t __s2_583 = __p2_583; \
53742 int64x2_t __ret_491; \55098 int64x2_t __ret_583; \
53743 __ret_491 = __s0_491 - vmull_s32(vget_high_s32(__s1_491), splat_lane_s32(__s2_491, __p3_491)); \55099 __ret_583 = __s0_583 - vmull_s32(vget_high_s32(__s1_583), splat_lane_s32(__s2_583, __p3_583)); \
53744 __ret_491; \55100 __ret_583; \
53745})55101})
53746#else55102#else
53747#define vmlsl_high_lane_s32(__p0_492, __p1_492, __p2_492, __p3_492) __extension__ ({ \55103#define vmlsl_high_lane_s32(__p0_584, __p1_584, __p2_584, __p3_584) __extension__ ({ \
53748 int64x2_t __s0_492 = __p0_492; \55104 int64x2_t __s0_584 = __p0_584; \
53749 int32x4_t __s1_492 = __p1_492; \55105 int32x4_t __s1_584 = __p1_584; \
53750 int32x2_t __s2_492 = __p2_492; \55106 int32x2_t __s2_584 = __p2_584; \
53751 int64x2_t __rev0_492; __rev0_492 = __builtin_shufflevector(__s0_492, __s0_492, 1, 0); \55107 int64x2_t __rev0_584; __rev0_584 = __builtin_shufflevector(__s0_584, __s0_584, 1, 0); \
53752 int32x4_t __rev1_492; __rev1_492 = __builtin_shufflevector(__s1_492, __s1_492, 3, 2, 1, 0); \55108 int32x4_t __rev1_584; __rev1_584 = __builtin_shufflevector(__s1_584, __s1_584, 3, 2, 1, 0); \
53753 int32x2_t __rev2_492; __rev2_492 = __builtin_shufflevector(__s2_492, __s2_492, 1, 0); \55109 int32x2_t __rev2_584; __rev2_584 = __builtin_shufflevector(__s2_584, __s2_584, 1, 0); \
53754 int64x2_t __ret_492; \55110 int64x2_t __ret_584; \
53755 __ret_492 = __rev0_492 - __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_492), __noswap_splat_lane_s32(__rev2_492, __p3_492)); \55111 __ret_584 = __rev0_584 - __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_584), __noswap_splat_lane_s32(__rev2_584, __p3_584)); \
53756 __ret_492 = __builtin_shufflevector(__ret_492, __ret_492, 1, 0); \55112 __ret_584 = __builtin_shufflevector(__ret_584, __ret_584, 1, 0); \
53757 __ret_492; \55113 __ret_584; \
53758})55114})
53759#endif55115#endif
5376055116
53761#ifdef __LITTLE_ENDIAN__55117#ifdef __LITTLE_ENDIAN__
53762#define vmlsl_high_lane_s16(__p0_493, __p1_493, __p2_493, __p3_493) __extension__ ({ \55118#define vmlsl_high_lane_s16(__p0_585, __p1_585, __p2_585, __p3_585) __extension__ ({ \
53763 int32x4_t __s0_493 = __p0_493; \55119 int32x4_t __s0_585 = __p0_585; \
53764 int16x8_t __s1_493 = __p1_493; \55120 int16x8_t __s1_585 = __p1_585; \
53765 int16x4_t __s2_493 = __p2_493; \55121 int16x4_t __s2_585 = __p2_585; \
53766 int32x4_t __ret_493; \55122 int32x4_t __ret_585; \
53767 __ret_493 = __s0_493 - vmull_s16(vget_high_s16(__s1_493), splat_lane_s16(__s2_493, __p3_493)); \55123 __ret_585 = __s0_585 - vmull_s16(vget_high_s16(__s1_585), splat_lane_s16(__s2_585, __p3_585)); \
53768 __ret_493; \55124 __ret_585; \
53769})55125})
53770#else55126#else
53771#define vmlsl_high_lane_s16(__p0_494, __p1_494, __p2_494, __p3_494) __extension__ ({ \55127#define vmlsl_high_lane_s16(__p0_586, __p1_586, __p2_586, __p3_586) __extension__ ({ \
53772 int32x4_t __s0_494 = __p0_494; \55128 int32x4_t __s0_586 = __p0_586; \
53773 int16x8_t __s1_494 = __p1_494; \55129 int16x8_t __s1_586 = __p1_586; \
53774 int16x4_t __s2_494 = __p2_494; \55130 int16x4_t __s2_586 = __p2_586; \
53775 int32x4_t __rev0_494; __rev0_494 = __builtin_shufflevector(__s0_494, __s0_494, 3, 2, 1, 0); \55131 int32x4_t __rev0_586; __rev0_586 = __builtin_shufflevector(__s0_586, __s0_586, 3, 2, 1, 0); \
53776 int16x8_t __rev1_494; __rev1_494 = __builtin_shufflevector(__s1_494, __s1_494, 7, 6, 5, 4, 3, 2, 1, 0); \55132 int16x8_t __rev1_586; __rev1_586 = __builtin_shufflevector(__s1_586, __s1_586, 7, 6, 5, 4, 3, 2, 1, 0); \
53777 int16x4_t __rev2_494; __rev2_494 = __builtin_shufflevector(__s2_494, __s2_494, 3, 2, 1, 0); \55133 int16x4_t __rev2_586; __rev2_586 = __builtin_shufflevector(__s2_586, __s2_586, 3, 2, 1, 0); \
53778 int32x4_t __ret_494; \55134 int32x4_t __ret_586; \
53779 __ret_494 = __rev0_494 - __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_494), __noswap_splat_lane_s16(__rev2_494, __p3_494)); \55135 __ret_586 = __rev0_586 - __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_586), __noswap_splat_lane_s16(__rev2_586, __p3_586)); \
53780 __ret_494 = __builtin_shufflevector(__ret_494, __ret_494, 3, 2, 1, 0); \55136 __ret_586 = __builtin_shufflevector(__ret_586, __ret_586, 3, 2, 1, 0); \
53781 __ret_494; \55137 __ret_586; \
53782})55138})
53783#endif55139#endif
5378455140
53785#ifdef __LITTLE_ENDIAN__55141#ifdef __LITTLE_ENDIAN__
53786#define vmlsl_high_laneq_u32(__p0_495, __p1_495, __p2_495, __p3_495) __extension__ ({ \55142#define vmlsl_high_laneq_u32(__p0_587, __p1_587, __p2_587, __p3_587) __extension__ ({ \
53787 uint64x2_t __s0_495 = __p0_495; \55143 uint64x2_t __s0_587 = __p0_587; \
53788 uint32x4_t __s1_495 = __p1_495; \55144 uint32x4_t __s1_587 = __p1_587; \
53789 uint32x4_t __s2_495 = __p2_495; \55145 uint32x4_t __s2_587 = __p2_587; \
53790 uint64x2_t __ret_495; \55146 uint64x2_t __ret_587; \
53791 __ret_495 = __s0_495 - vmull_u32(vget_high_u32(__s1_495), splat_laneq_u32(__s2_495, __p3_495)); \55147 __ret_587 = __s0_587 - vmull_u32(vget_high_u32(__s1_587), splat_laneq_u32(__s2_587, __p3_587)); \
53792 __ret_495; \55148 __ret_587; \
53793})55149})
53794#else55150#else
53795#define vmlsl_high_laneq_u32(__p0_496, __p1_496, __p2_496, __p3_496) __extension__ ({ \55151#define vmlsl_high_laneq_u32(__p0_588, __p1_588, __p2_588, __p3_588) __extension__ ({ \
53796 uint64x2_t __s0_496 = __p0_496; \55152 uint64x2_t __s0_588 = __p0_588; \
53797 uint32x4_t __s1_496 = __p1_496; \55153 uint32x4_t __s1_588 = __p1_588; \
53798 uint32x4_t __s2_496 = __p2_496; \55154 uint32x4_t __s2_588 = __p2_588; \
53799 uint64x2_t __rev0_496; __rev0_496 = __builtin_shufflevector(__s0_496, __s0_496, 1, 0); \55155 uint64x2_t __rev0_588; __rev0_588 = __builtin_shufflevector(__s0_588, __s0_588, 1, 0); \
53800 uint32x4_t __rev1_496; __rev1_496 = __builtin_shufflevector(__s1_496, __s1_496, 3, 2, 1, 0); \55156 uint32x4_t __rev1_588; __rev1_588 = __builtin_shufflevector(__s1_588, __s1_588, 3, 2, 1, 0); \
53801 uint32x4_t __rev2_496; __rev2_496 = __builtin_shufflevector(__s2_496, __s2_496, 3, 2, 1, 0); \55157 uint32x4_t __rev2_588; __rev2_588 = __builtin_shufflevector(__s2_588, __s2_588, 3, 2, 1, 0); \
53802 uint64x2_t __ret_496; \55158 uint64x2_t __ret_588; \
53803 __ret_496 = __rev0_496 - __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_496), __noswap_splat_laneq_u32(__rev2_496, __p3_496)); \55159 __ret_588 = __rev0_588 - __noswap_vmull_u32(__noswap_vget_high_u32(__rev1_588), __noswap_splat_laneq_u32(__rev2_588, __p3_588)); \
53804 __ret_496 = __builtin_shufflevector(__ret_496, __ret_496, 1, 0); \55160 __ret_588 = __builtin_shufflevector(__ret_588, __ret_588, 1, 0); \
53805 __ret_496; \55161 __ret_588; \
53806})55162})
53807#endif55163#endif
5380855164
53809#ifdef __LITTLE_ENDIAN__55165#ifdef __LITTLE_ENDIAN__
53810#define vmlsl_high_laneq_u16(__p0_497, __p1_497, __p2_497, __p3_497) __extension__ ({ \55166#define vmlsl_high_laneq_u16(__p0_589, __p1_589, __p2_589, __p3_589) __extension__ ({ \
53811 uint32x4_t __s0_497 = __p0_497; \55167 uint32x4_t __s0_589 = __p0_589; \
53812 uint16x8_t __s1_497 = __p1_497; \55168 uint16x8_t __s1_589 = __p1_589; \
53813 uint16x8_t __s2_497 = __p2_497; \55169 uint16x8_t __s2_589 = __p2_589; \
53814 uint32x4_t __ret_497; \55170 uint32x4_t __ret_589; \
53815 __ret_497 = __s0_497 - vmull_u16(vget_high_u16(__s1_497), splat_laneq_u16(__s2_497, __p3_497)); \55171 __ret_589 = __s0_589 - vmull_u16(vget_high_u16(__s1_589), splat_laneq_u16(__s2_589, __p3_589)); \
53816 __ret_497; \55172 __ret_589; \
53817})55173})
53818#else55174#else
53819#define vmlsl_high_laneq_u16(__p0_498, __p1_498, __p2_498, __p3_498) __extension__ ({ \55175#define vmlsl_high_laneq_u16(__p0_590, __p1_590, __p2_590, __p3_590) __extension__ ({ \
53820 uint32x4_t __s0_498 = __p0_498; \55176 uint32x4_t __s0_590 = __p0_590; \
53821 uint16x8_t __s1_498 = __p1_498; \55177 uint16x8_t __s1_590 = __p1_590; \
53822 uint16x8_t __s2_498 = __p2_498; \55178 uint16x8_t __s2_590 = __p2_590; \
53823 uint32x4_t __rev0_498; __rev0_498 = __builtin_shufflevector(__s0_498, __s0_498, 3, 2, 1, 0); \55179 uint32x4_t __rev0_590; __rev0_590 = __builtin_shufflevector(__s0_590, __s0_590, 3, 2, 1, 0); \
53824 uint16x8_t __rev1_498; __rev1_498 = __builtin_shufflevector(__s1_498, __s1_498, 7, 6, 5, 4, 3, 2, 1, 0); \55180 uint16x8_t __rev1_590; __rev1_590 = __builtin_shufflevector(__s1_590, __s1_590, 7, 6, 5, 4, 3, 2, 1, 0); \
53825 uint16x8_t __rev2_498; __rev2_498 = __builtin_shufflevector(__s2_498, __s2_498, 7, 6, 5, 4, 3, 2, 1, 0); \55181 uint16x8_t __rev2_590; __rev2_590 = __builtin_shufflevector(__s2_590, __s2_590, 7, 6, 5, 4, 3, 2, 1, 0); \
53826 uint32x4_t __ret_498; \55182 uint32x4_t __ret_590; \
53827 __ret_498 = __rev0_498 - __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_498), __noswap_splat_laneq_u16(__rev2_498, __p3_498)); \55183 __ret_590 = __rev0_590 - __noswap_vmull_u16(__noswap_vget_high_u16(__rev1_590), __noswap_splat_laneq_u16(__rev2_590, __p3_590)); \
53828 __ret_498 = __builtin_shufflevector(__ret_498, __ret_498, 3, 2, 1, 0); \55184 __ret_590 = __builtin_shufflevector(__ret_590, __ret_590, 3, 2, 1, 0); \
53829 __ret_498; \55185 __ret_590; \
53830})55186})
53831#endif55187#endif
5383255188
53833#ifdef __LITTLE_ENDIAN__55189#ifdef __LITTLE_ENDIAN__
53834#define vmlsl_high_laneq_s32(__p0_499, __p1_499, __p2_499, __p3_499) __extension__ ({ \55190#define vmlsl_high_laneq_s32(__p0_591, __p1_591, __p2_591, __p3_591) __extension__ ({ \
53835 int64x2_t __s0_499 = __p0_499; \55191 int64x2_t __s0_591 = __p0_591; \
53836 int32x4_t __s1_499 = __p1_499; \55192 int32x4_t __s1_591 = __p1_591; \
53837 int32x4_t __s2_499 = __p2_499; \55193 int32x4_t __s2_591 = __p2_591; \
53838 int64x2_t __ret_499; \55194 int64x2_t __ret_591; \
53839 __ret_499 = __s0_499 - vmull_s32(vget_high_s32(__s1_499), splat_laneq_s32(__s2_499, __p3_499)); \55195 __ret_591 = __s0_591 - vmull_s32(vget_high_s32(__s1_591), splat_laneq_s32(__s2_591, __p3_591)); \
53840 __ret_499; \55196 __ret_591; \
53841})55197})
53842#else55198#else
53843#define vmlsl_high_laneq_s32(__p0_500, __p1_500, __p2_500, __p3_500) __extension__ ({ \55199#define vmlsl_high_laneq_s32(__p0_592, __p1_592, __p2_592, __p3_592) __extension__ ({ \
53844 int64x2_t __s0_500 = __p0_500; \55200 int64x2_t __s0_592 = __p0_592; \
53845 int32x4_t __s1_500 = __p1_500; \55201 int32x4_t __s1_592 = __p1_592; \
53846 int32x4_t __s2_500 = __p2_500; \55202 int32x4_t __s2_592 = __p2_592; \
53847 int64x2_t __rev0_500; __rev0_500 = __builtin_shufflevector(__s0_500, __s0_500, 1, 0); \55203 int64x2_t __rev0_592; __rev0_592 = __builtin_shufflevector(__s0_592, __s0_592, 1, 0); \
53848 int32x4_t __rev1_500; __rev1_500 = __builtin_shufflevector(__s1_500, __s1_500, 3, 2, 1, 0); \55204 int32x4_t __rev1_592; __rev1_592 = __builtin_shufflevector(__s1_592, __s1_592, 3, 2, 1, 0); \
53849 int32x4_t __rev2_500; __rev2_500 = __builtin_shufflevector(__s2_500, __s2_500, 3, 2, 1, 0); \55205 int32x4_t __rev2_592; __rev2_592 = __builtin_shufflevector(__s2_592, __s2_592, 3, 2, 1, 0); \
53850 int64x2_t __ret_500; \55206 int64x2_t __ret_592; \
53851 __ret_500 = __rev0_500 - __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_500), __noswap_splat_laneq_s32(__rev2_500, __p3_500)); \55207 __ret_592 = __rev0_592 - __noswap_vmull_s32(__noswap_vget_high_s32(__rev1_592), __noswap_splat_laneq_s32(__rev2_592, __p3_592)); \
53852 __ret_500 = __builtin_shufflevector(__ret_500, __ret_500, 1, 0); \55208 __ret_592 = __builtin_shufflevector(__ret_592, __ret_592, 1, 0); \
53853 __ret_500; \55209 __ret_592; \
53854})55210})
53855#endif55211#endif
5385655212
53857#ifdef __LITTLE_ENDIAN__55213#ifdef __LITTLE_ENDIAN__
53858#define vmlsl_high_laneq_s16(__p0_501, __p1_501, __p2_501, __p3_501) __extension__ ({ \55214#define vmlsl_high_laneq_s16(__p0_593, __p1_593, __p2_593, __p3_593) __extension__ ({ \
53859 int32x4_t __s0_501 = __p0_501; \55215 int32x4_t __s0_593 = __p0_593; \
53860 int16x8_t __s1_501 = __p1_501; \55216 int16x8_t __s1_593 = __p1_593; \
53861 int16x8_t __s2_501 = __p2_501; \55217 int16x8_t __s2_593 = __p2_593; \
53862 int32x4_t __ret_501; \55218 int32x4_t __ret_593; \
53863 __ret_501 = __s0_501 - vmull_s16(vget_high_s16(__s1_501), splat_laneq_s16(__s2_501, __p3_501)); \55219 __ret_593 = __s0_593 - vmull_s16(vget_high_s16(__s1_593), splat_laneq_s16(__s2_593, __p3_593)); \
53864 __ret_501; \55220 __ret_593; \
53865})55221})
53866#else55222#else
53867#define vmlsl_high_laneq_s16(__p0_502, __p1_502, __p2_502, __p3_502) __extension__ ({ \55223#define vmlsl_high_laneq_s16(__p0_594, __p1_594, __p2_594, __p3_594) __extension__ ({ \
53868 int32x4_t __s0_502 = __p0_502; \55224 int32x4_t __s0_594 = __p0_594; \
53869 int16x8_t __s1_502 = __p1_502; \55225 int16x8_t __s1_594 = __p1_594; \
53870 int16x8_t __s2_502 = __p2_502; \55226 int16x8_t __s2_594 = __p2_594; \
53871 int32x4_t __rev0_502; __rev0_502 = __builtin_shufflevector(__s0_502, __s0_502, 3, 2, 1, 0); \55227 int32x4_t __rev0_594; __rev0_594 = __builtin_shufflevector(__s0_594, __s0_594, 3, 2, 1, 0); \
53872 int16x8_t __rev1_502; __rev1_502 = __builtin_shufflevector(__s1_502, __s1_502, 7, 6, 5, 4, 3, 2, 1, 0); \55228 int16x8_t __rev1_594; __rev1_594 = __builtin_shufflevector(__s1_594, __s1_594, 7, 6, 5, 4, 3, 2, 1, 0); \
53873 int16x8_t __rev2_502; __rev2_502 = __builtin_shufflevector(__s2_502, __s2_502, 7, 6, 5, 4, 3, 2, 1, 0); \55229 int16x8_t __rev2_594; __rev2_594 = __builtin_shufflevector(__s2_594, __s2_594, 7, 6, 5, 4, 3, 2, 1, 0); \
53874 int32x4_t __ret_502; \55230 int32x4_t __ret_594; \
53875 __ret_502 = __rev0_502 - __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_502), __noswap_splat_laneq_s16(__rev2_502, __p3_502)); \55231 __ret_594 = __rev0_594 - __noswap_vmull_s16(__noswap_vget_high_s16(__rev1_594), __noswap_splat_laneq_s16(__rev2_594, __p3_594)); \
53876 __ret_502 = __builtin_shufflevector(__ret_502, __ret_502, 3, 2, 1, 0); \55232 __ret_594 = __builtin_shufflevector(__ret_594, __ret_594, 3, 2, 1, 0); \
53877 __ret_502; \55233 __ret_594; \
53878})55234})
53879#endif55235#endif
5388055236
53881#ifdef __LITTLE_ENDIAN__55237#ifdef __LITTLE_ENDIAN__
53882#define vmlsl_laneq_u32(__p0_503, __p1_503, __p2_503, __p3_503) __extension__ ({ \55238#define vmlsl_laneq_u32(__p0_595, __p1_595, __p2_595, __p3_595) __extension__ ({ \
53883 uint64x2_t __s0_503 = __p0_503; \55239 uint64x2_t __s0_595 = __p0_595; \
53884 uint32x2_t __s1_503 = __p1_503; \55240 uint32x2_t __s1_595 = __p1_595; \
53885 uint32x4_t __s2_503 = __p2_503; \55241 uint32x4_t __s2_595 = __p2_595; \
53886 uint64x2_t __ret_503; \55242 uint64x2_t __ret_595; \
53887 __ret_503 = __s0_503 - vmull_u32(__s1_503, splat_laneq_u32(__s2_503, __p3_503)); \55243 __ret_595 = __s0_595 - vmull_u32(__s1_595, splat_laneq_u32(__s2_595, __p3_595)); \
53888 __ret_503; \55244 __ret_595; \
53889})55245})
53890#else55246#else
53891#define vmlsl_laneq_u32(__p0_504, __p1_504, __p2_504, __p3_504) __extension__ ({ \55247#define vmlsl_laneq_u32(__p0_596, __p1_596, __p2_596, __p3_596) __extension__ ({ \
53892 uint64x2_t __s0_504 = __p0_504; \55248 uint64x2_t __s0_596 = __p0_596; \
53893 uint32x2_t __s1_504 = __p1_504; \55249 uint32x2_t __s1_596 = __p1_596; \
53894 uint32x4_t __s2_504 = __p2_504; \55250 uint32x4_t __s2_596 = __p2_596; \
53895 uint64x2_t __rev0_504; __rev0_504 = __builtin_shufflevector(__s0_504, __s0_504, 1, 0); \55251 uint64x2_t __rev0_596; __rev0_596 = __builtin_shufflevector(__s0_596, __s0_596, 1, 0); \
53896 uint32x2_t __rev1_504; __rev1_504 = __builtin_shufflevector(__s1_504, __s1_504, 1, 0); \55252 uint32x2_t __rev1_596; __rev1_596 = __builtin_shufflevector(__s1_596, __s1_596, 1, 0); \
53897 uint32x4_t __rev2_504; __rev2_504 = __builtin_shufflevector(__s2_504, __s2_504, 3, 2, 1, 0); \55253 uint32x4_t __rev2_596; __rev2_596 = __builtin_shufflevector(__s2_596, __s2_596, 3, 2, 1, 0); \
53898 uint64x2_t __ret_504; \55254 uint64x2_t __ret_596; \
53899 __ret_504 = __rev0_504 - __noswap_vmull_u32(__rev1_504, __noswap_splat_laneq_u32(__rev2_504, __p3_504)); \55255 __ret_596 = __rev0_596 - __noswap_vmull_u32(__rev1_596, __noswap_splat_laneq_u32(__rev2_596, __p3_596)); \
53900 __ret_504 = __builtin_shufflevector(__ret_504, __ret_504, 1, 0); \55256 __ret_596 = __builtin_shufflevector(__ret_596, __ret_596, 1, 0); \
53901 __ret_504; \55257 __ret_596; \
53902})55258})
53903#endif55259#endif
5390455260
53905#ifdef __LITTLE_ENDIAN__55261#ifdef __LITTLE_ENDIAN__
53906#define vmlsl_laneq_u16(__p0_505, __p1_505, __p2_505, __p3_505) __extension__ ({ \55262#define vmlsl_laneq_u16(__p0_597, __p1_597, __p2_597, __p3_597) __extension__ ({ \
53907 uint32x4_t __s0_505 = __p0_505; \55263 uint32x4_t __s0_597 = __p0_597; \
53908 uint16x4_t __s1_505 = __p1_505; \55264 uint16x4_t __s1_597 = __p1_597; \
53909 uint16x8_t __s2_505 = __p2_505; \55265 uint16x8_t __s2_597 = __p2_597; \
53910 uint32x4_t __ret_505; \55266 uint32x4_t __ret_597; \
53911 __ret_505 = __s0_505 - vmull_u16(__s1_505, splat_laneq_u16(__s2_505, __p3_505)); \55267 __ret_597 = __s0_597 - vmull_u16(__s1_597, splat_laneq_u16(__s2_597, __p3_597)); \
53912 __ret_505; \55268 __ret_597; \
53913})55269})
53914#else55270#else
53915#define vmlsl_laneq_u16(__p0_506, __p1_506, __p2_506, __p3_506) __extension__ ({ \55271#define vmlsl_laneq_u16(__p0_598, __p1_598, __p2_598, __p3_598) __extension__ ({ \
53916 uint32x4_t __s0_506 = __p0_506; \55272 uint32x4_t __s0_598 = __p0_598; \
53917 uint16x4_t __s1_506 = __p1_506; \55273 uint16x4_t __s1_598 = __p1_598; \
53918 uint16x8_t __s2_506 = __p2_506; \55274 uint16x8_t __s2_598 = __p2_598; \
53919 uint32x4_t __rev0_506; __rev0_506 = __builtin_shufflevector(__s0_506, __s0_506, 3, 2, 1, 0); \55275 uint32x4_t __rev0_598; __rev0_598 = __builtin_shufflevector(__s0_598, __s0_598, 3, 2, 1, 0); \
53920 uint16x4_t __rev1_506; __rev1_506 = __builtin_shufflevector(__s1_506, __s1_506, 3, 2, 1, 0); \55276 uint16x4_t __rev1_598; __rev1_598 = __builtin_shufflevector(__s1_598, __s1_598, 3, 2, 1, 0); \
53921 uint16x8_t __rev2_506; __rev2_506 = __builtin_shufflevector(__s2_506, __s2_506, 7, 6, 5, 4, 3, 2, 1, 0); \55277 uint16x8_t __rev2_598; __rev2_598 = __builtin_shufflevector(__s2_598, __s2_598, 7, 6, 5, 4, 3, 2, 1, 0); \
53922 uint32x4_t __ret_506; \55278 uint32x4_t __ret_598; \
53923 __ret_506 = __rev0_506 - __noswap_vmull_u16(__rev1_506, __noswap_splat_laneq_u16(__rev2_506, __p3_506)); \55279 __ret_598 = __rev0_598 - __noswap_vmull_u16(__rev1_598, __noswap_splat_laneq_u16(__rev2_598, __p3_598)); \
53924 __ret_506 = __builtin_shufflevector(__ret_506, __ret_506, 3, 2, 1, 0); \55280 __ret_598 = __builtin_shufflevector(__ret_598, __ret_598, 3, 2, 1, 0); \
53925 __ret_506; \55281 __ret_598; \
53926})55282})
53927#endif55283#endif
5392855284
53929#ifdef __LITTLE_ENDIAN__55285#ifdef __LITTLE_ENDIAN__
53930#define vmlsl_laneq_s32(__p0_507, __p1_507, __p2_507, __p3_507) __extension__ ({ \55286#define vmlsl_laneq_s32(__p0_599, __p1_599, __p2_599, __p3_599) __extension__ ({ \
53931 int64x2_t __s0_507 = __p0_507; \55287 int64x2_t __s0_599 = __p0_599; \
53932 int32x2_t __s1_507 = __p1_507; \55288 int32x2_t __s1_599 = __p1_599; \
53933 int32x4_t __s2_507 = __p2_507; \55289 int32x4_t __s2_599 = __p2_599; \
53934 int64x2_t __ret_507; \55290 int64x2_t __ret_599; \
53935 __ret_507 = __s0_507 - vmull_s32(__s1_507, splat_laneq_s32(__s2_507, __p3_507)); \55291 __ret_599 = __s0_599 - vmull_s32(__s1_599, splat_laneq_s32(__s2_599, __p3_599)); \
53936 __ret_507; \55292 __ret_599; \
53937})55293})
53938#else55294#else
53939#define vmlsl_laneq_s32(__p0_508, __p1_508, __p2_508, __p3_508) __extension__ ({ \55295#define vmlsl_laneq_s32(__p0_600, __p1_600, __p2_600, __p3_600) __extension__ ({ \
53940 int64x2_t __s0_508 = __p0_508; \55296 int64x2_t __s0_600 = __p0_600; \
53941 int32x2_t __s1_508 = __p1_508; \55297 int32x2_t __s1_600 = __p1_600; \
53942 int32x4_t __s2_508 = __p2_508; \55298 int32x4_t __s2_600 = __p2_600; \
53943 int64x2_t __rev0_508; __rev0_508 = __builtin_shufflevector(__s0_508, __s0_508, 1, 0); \55299 int64x2_t __rev0_600; __rev0_600 = __builtin_shufflevector(__s0_600, __s0_600, 1, 0); \
53944 int32x2_t __rev1_508; __rev1_508 = __builtin_shufflevector(__s1_508, __s1_508, 1, 0); \55300 int32x2_t __rev1_600; __rev1_600 = __builtin_shufflevector(__s1_600, __s1_600, 1, 0); \
53945 int32x4_t __rev2_508; __rev2_508 = __builtin_shufflevector(__s2_508, __s2_508, 3, 2, 1, 0); \55301 int32x4_t __rev2_600; __rev2_600 = __builtin_shufflevector(__s2_600, __s2_600, 3, 2, 1, 0); \
53946 int64x2_t __ret_508; \55302 int64x2_t __ret_600; \
53947 __ret_508 = __rev0_508 - __noswap_vmull_s32(__rev1_508, __noswap_splat_laneq_s32(__rev2_508, __p3_508)); \55303 __ret_600 = __rev0_600 - __noswap_vmull_s32(__rev1_600, __noswap_splat_laneq_s32(__rev2_600, __p3_600)); \
53948 __ret_508 = __builtin_shufflevector(__ret_508, __ret_508, 1, 0); \55304 __ret_600 = __builtin_shufflevector(__ret_600, __ret_600, 1, 0); \
53949 __ret_508; \55305 __ret_600; \
53950})55306})
53951#endif55307#endif
5395255308
53953#ifdef __LITTLE_ENDIAN__55309#ifdef __LITTLE_ENDIAN__
53954#define vmlsl_laneq_s16(__p0_509, __p1_509, __p2_509, __p3_509) __extension__ ({ \55310#define vmlsl_laneq_s16(__p0_601, __p1_601, __p2_601, __p3_601) __extension__ ({ \
53955 int32x4_t __s0_509 = __p0_509; \55311 int32x4_t __s0_601 = __p0_601; \
53956 int16x4_t __s1_509 = __p1_509; \55312 int16x4_t __s1_601 = __p1_601; \
53957 int16x8_t __s2_509 = __p2_509; \55313 int16x8_t __s2_601 = __p2_601; \
53958 int32x4_t __ret_509; \55314 int32x4_t __ret_601; \
53959 __ret_509 = __s0_509 - vmull_s16(__s1_509, splat_laneq_s16(__s2_509, __p3_509)); \55315 __ret_601 = __s0_601 - vmull_s16(__s1_601, splat_laneq_s16(__s2_601, __p3_601)); \
53960 __ret_509; \55316 __ret_601; \
53961})55317})
53962#else55318#else
53963#define vmlsl_laneq_s16(__p0_510, __p1_510, __p2_510, __p3_510) __extension__ ({ \55319#define vmlsl_laneq_s16(__p0_602, __p1_602, __p2_602, __p3_602) __extension__ ({ \
53964 int32x4_t __s0_510 = __p0_510; \55320 int32x4_t __s0_602 = __p0_602; \
53965 int16x4_t __s1_510 = __p1_510; \55321 int16x4_t __s1_602 = __p1_602; \
53966 int16x8_t __s2_510 = __p2_510; \55322 int16x8_t __s2_602 = __p2_602; \
53967 int32x4_t __rev0_510; __rev0_510 = __builtin_shufflevector(__s0_510, __s0_510, 3, 2, 1, 0); \55323 int32x4_t __rev0_602; __rev0_602 = __builtin_shufflevector(__s0_602, __s0_602, 3, 2, 1, 0); \
53968 int16x4_t __rev1_510; __rev1_510 = __builtin_shufflevector(__s1_510, __s1_510, 3, 2, 1, 0); \55324 int16x4_t __rev1_602; __rev1_602 = __builtin_shufflevector(__s1_602, __s1_602, 3, 2, 1, 0); \
53969 int16x8_t __rev2_510; __rev2_510 = __builtin_shufflevector(__s2_510, __s2_510, 7, 6, 5, 4, 3, 2, 1, 0); \55325 int16x8_t __rev2_602; __rev2_602 = __builtin_shufflevector(__s2_602, __s2_602, 7, 6, 5, 4, 3, 2, 1, 0); \
53970 int32x4_t __ret_510; \55326 int32x4_t __ret_602; \
53971 __ret_510 = __rev0_510 - __noswap_vmull_s16(__rev1_510, __noswap_splat_laneq_s16(__rev2_510, __p3_510)); \55327 __ret_602 = __rev0_602 - __noswap_vmull_s16(__rev1_602, __noswap_splat_laneq_s16(__rev2_602, __p3_602)); \
53972 __ret_510 = __builtin_shufflevector(__ret_510, __ret_510, 3, 2, 1, 0); \55328 __ret_602 = __builtin_shufflevector(__ret_602, __ret_602, 3, 2, 1, 0); \
53973 __ret_510; \55329 __ret_602; \
53974})55330})
53975#endif55331#endif
5397655332
...@@ -54015,146 +55371,146 @@ __ai float64x1_t vmov_n_f64(float64_t __p0) {...@@ -54015,146 +55371,146 @@ __ai float64x1_t vmov_n_f64(float64_t __p0) {
54015 return __ret;55371 return __ret;
54016}55372}
54017#ifdef __LITTLE_ENDIAN__55373#ifdef __LITTLE_ENDIAN__
54018__ai uint16x8_t vmovl_high_u8(uint8x16_t __p0_511) {55374__ai uint16x8_t vmovl_high_u8(uint8x16_t __p0_603) {
54019 uint16x8_t __ret_511;55375 uint16x8_t __ret_603;
54020 uint8x8_t __a1_511 = vget_high_u8(__p0_511);55376 uint8x8_t __a1_603 = vget_high_u8(__p0_603);
54021 __ret_511 = (uint16x8_t)(vshll_n_u8(__a1_511, 0));55377 __ret_603 = (uint16x8_t)(vshll_n_u8(__a1_603, 0));
54022 return __ret_511;55378 return __ret_603;
54023}55379}
54024#else55380#else
54025__ai uint16x8_t vmovl_high_u8(uint8x16_t __p0_512) {55381__ai uint16x8_t vmovl_high_u8(uint8x16_t __p0_604) {
54026 uint8x16_t __rev0_512; __rev0_512 = __builtin_shufflevector(__p0_512, __p0_512, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);55382 uint8x16_t __rev0_604; __rev0_604 = __builtin_shufflevector(__p0_604, __p0_604, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
54027 uint16x8_t __ret_512;55383 uint16x8_t __ret_604;
54028 uint8x8_t __a1_512 = __noswap_vget_high_u8(__rev0_512);55384 uint8x8_t __a1_604 = __noswap_vget_high_u8(__rev0_604);
54029 __ret_512 = (uint16x8_t)(__noswap_vshll_n_u8(__a1_512, 0));55385 __ret_604 = (uint16x8_t)(__noswap_vshll_n_u8(__a1_604, 0));
54030 __ret_512 = __builtin_shufflevector(__ret_512, __ret_512, 7, 6, 5, 4, 3, 2, 1, 0);55386 __ret_604 = __builtin_shufflevector(__ret_604, __ret_604, 7, 6, 5, 4, 3, 2, 1, 0);
54031 return __ret_512;55387 return __ret_604;
54032}55388}
54033__ai uint16x8_t __noswap_vmovl_high_u8(uint8x16_t __p0_513) {55389__ai uint16x8_t __noswap_vmovl_high_u8(uint8x16_t __p0_605) {
54034 uint16x8_t __ret_513;55390 uint16x8_t __ret_605;
54035 uint8x8_t __a1_513 = __noswap_vget_high_u8(__p0_513);55391 uint8x8_t __a1_605 = __noswap_vget_high_u8(__p0_605);
54036 __ret_513 = (uint16x8_t)(__noswap_vshll_n_u8(__a1_513, 0));55392 __ret_605 = (uint16x8_t)(__noswap_vshll_n_u8(__a1_605, 0));
54037 return __ret_513;55393 return __ret_605;
54038}55394}
54039#endif55395#endif
5404055396
54041#ifdef __LITTLE_ENDIAN__55397#ifdef __LITTLE_ENDIAN__
54042__ai uint64x2_t vmovl_high_u32(uint32x4_t __p0_514) {55398__ai uint64x2_t vmovl_high_u32(uint32x4_t __p0_606) {
54043 uint64x2_t __ret_514;55399 uint64x2_t __ret_606;
54044 uint32x2_t __a1_514 = vget_high_u32(__p0_514);55400 uint32x2_t __a1_606 = vget_high_u32(__p0_606);
54045 __ret_514 = (uint64x2_t)(vshll_n_u32(__a1_514, 0));55401 __ret_606 = (uint64x2_t)(vshll_n_u32(__a1_606, 0));
54046 return __ret_514;55402 return __ret_606;
54047}55403}
54048#else55404#else
54049__ai uint64x2_t vmovl_high_u32(uint32x4_t __p0_515) {55405__ai uint64x2_t vmovl_high_u32(uint32x4_t __p0_607) {
54050 uint32x4_t __rev0_515; __rev0_515 = __builtin_shufflevector(__p0_515, __p0_515, 3, 2, 1, 0);55406 uint32x4_t __rev0_607; __rev0_607 = __builtin_shufflevector(__p0_607, __p0_607, 3, 2, 1, 0);
54051 uint64x2_t __ret_515;55407 uint64x2_t __ret_607;
54052 uint32x2_t __a1_515 = __noswap_vget_high_u32(__rev0_515);55408 uint32x2_t __a1_607 = __noswap_vget_high_u32(__rev0_607);
54053 __ret_515 = (uint64x2_t)(__noswap_vshll_n_u32(__a1_515, 0));55409 __ret_607 = (uint64x2_t)(__noswap_vshll_n_u32(__a1_607, 0));
54054 __ret_515 = __builtin_shufflevector(__ret_515, __ret_515, 1, 0);55410 __ret_607 = __builtin_shufflevector(__ret_607, __ret_607, 1, 0);
54055 return __ret_515;55411 return __ret_607;
54056}55412}
54057__ai uint64x2_t __noswap_vmovl_high_u32(uint32x4_t __p0_516) {55413__ai uint64x2_t __noswap_vmovl_high_u32(uint32x4_t __p0_608) {
54058 uint64x2_t __ret_516;55414 uint64x2_t __ret_608;
54059 uint32x2_t __a1_516 = __noswap_vget_high_u32(__p0_516);55415 uint32x2_t __a1_608 = __noswap_vget_high_u32(__p0_608);
54060 __ret_516 = (uint64x2_t)(__noswap_vshll_n_u32(__a1_516, 0));55416 __ret_608 = (uint64x2_t)(__noswap_vshll_n_u32(__a1_608, 0));
54061 return __ret_516;55417 return __ret_608;
54062}55418}
54063#endif55419#endif
5406455420
54065#ifdef __LITTLE_ENDIAN__55421#ifdef __LITTLE_ENDIAN__
54066__ai uint32x4_t vmovl_high_u16(uint16x8_t __p0_517) {55422__ai uint32x4_t vmovl_high_u16(uint16x8_t __p0_609) {
54067 uint32x4_t __ret_517;55423 uint32x4_t __ret_609;
54068 uint16x4_t __a1_517 = vget_high_u16(__p0_517);55424 uint16x4_t __a1_609 = vget_high_u16(__p0_609);
54069 __ret_517 = (uint32x4_t)(vshll_n_u16(__a1_517, 0));55425 __ret_609 = (uint32x4_t)(vshll_n_u16(__a1_609, 0));
54070 return __ret_517;55426 return __ret_609;
54071}55427}
54072#else55428#else
54073__ai uint32x4_t vmovl_high_u16(uint16x8_t __p0_518) {55429__ai uint32x4_t vmovl_high_u16(uint16x8_t __p0_610) {
54074 uint16x8_t __rev0_518; __rev0_518 = __builtin_shufflevector(__p0_518, __p0_518, 7, 6, 5, 4, 3, 2, 1, 0);55430 uint16x8_t __rev0_610; __rev0_610 = __builtin_shufflevector(__p0_610, __p0_610, 7, 6, 5, 4, 3, 2, 1, 0);
54075 uint32x4_t __ret_518;55431 uint32x4_t __ret_610;
54076 uint16x4_t __a1_518 = __noswap_vget_high_u16(__rev0_518);55432 uint16x4_t __a1_610 = __noswap_vget_high_u16(__rev0_610);
54077 __ret_518 = (uint32x4_t)(__noswap_vshll_n_u16(__a1_518, 0));55433 __ret_610 = (uint32x4_t)(__noswap_vshll_n_u16(__a1_610, 0));
54078 __ret_518 = __builtin_shufflevector(__ret_518, __ret_518, 3, 2, 1, 0);55434 __ret_610 = __builtin_shufflevector(__ret_610, __ret_610, 3, 2, 1, 0);
54079 return __ret_518;55435 return __ret_610;
54080}55436}
54081__ai uint32x4_t __noswap_vmovl_high_u16(uint16x8_t __p0_519) {55437__ai uint32x4_t __noswap_vmovl_high_u16(uint16x8_t __p0_611) {
54082 uint32x4_t __ret_519;55438 uint32x4_t __ret_611;
54083 uint16x4_t __a1_519 = __noswap_vget_high_u16(__p0_519);55439 uint16x4_t __a1_611 = __noswap_vget_high_u16(__p0_611);
54084 __ret_519 = (uint32x4_t)(__noswap_vshll_n_u16(__a1_519, 0));55440 __ret_611 = (uint32x4_t)(__noswap_vshll_n_u16(__a1_611, 0));
54085 return __ret_519;55441 return __ret_611;
54086}55442}
54087#endif55443#endif
5408855444
54089#ifdef __LITTLE_ENDIAN__55445#ifdef __LITTLE_ENDIAN__
54090__ai int16x8_t vmovl_high_s8(int8x16_t __p0_520) {55446__ai int16x8_t vmovl_high_s8(int8x16_t __p0_612) {
54091 int16x8_t __ret_520;55447 int16x8_t __ret_612;
54092 int8x8_t __a1_520 = vget_high_s8(__p0_520);55448 int8x8_t __a1_612 = vget_high_s8(__p0_612);
54093 __ret_520 = (int16x8_t)(vshll_n_s8(__a1_520, 0));55449 __ret_612 = (int16x8_t)(vshll_n_s8(__a1_612, 0));
54094 return __ret_520;55450 return __ret_612;
54095}55451}
54096#else55452#else
54097__ai int16x8_t vmovl_high_s8(int8x16_t __p0_521) {55453__ai int16x8_t vmovl_high_s8(int8x16_t __p0_613) {
54098 int8x16_t __rev0_521; __rev0_521 = __builtin_shufflevector(__p0_521, __p0_521, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);55454 int8x16_t __rev0_613; __rev0_613 = __builtin_shufflevector(__p0_613, __p0_613, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0);
54099 int16x8_t __ret_521;55455 int16x8_t __ret_613;
54100 int8x8_t __a1_521 = __noswap_vget_high_s8(__rev0_521);55456 int8x8_t __a1_613 = __noswap_vget_high_s8(__rev0_613);
54101 __ret_521 = (int16x8_t)(__noswap_vshll_n_s8(__a1_521, 0));55457 __ret_613 = (int16x8_t)(__noswap_vshll_n_s8(__a1_613, 0));
54102 __ret_521 = __builtin_shufflevector(__ret_521, __ret_521, 7, 6, 5, 4, 3, 2, 1, 0);55458 __ret_613 = __builtin_shufflevector(__ret_613, __ret_613, 7, 6, 5, 4, 3, 2, 1, 0);
54103 return __ret_521;55459 return __ret_613;
54104}55460}
54105__ai int16x8_t __noswap_vmovl_high_s8(int8x16_t __p0_522) {55461__ai int16x8_t __noswap_vmovl_high_s8(int8x16_t __p0_614) {
54106 int16x8_t __ret_522;55462 int16x8_t __ret_614;
54107 int8x8_t __a1_522 = __noswap_vget_high_s8(__p0_522);55463 int8x8_t __a1_614 = __noswap_vget_high_s8(__p0_614);
54108 __ret_522 = (int16x8_t)(__noswap_vshll_n_s8(__a1_522, 0));55464 __ret_614 = (int16x8_t)(__noswap_vshll_n_s8(__a1_614, 0));
54109 return __ret_522;55465 return __ret_614;
54110}55466}
54111#endif55467#endif
5411255468
54113#ifdef __LITTLE_ENDIAN__55469#ifdef __LITTLE_ENDIAN__
54114__ai int64x2_t vmovl_high_s32(int32x4_t __p0_523) {55470__ai int64x2_t vmovl_high_s32(int32x4_t __p0_615) {
54115 int64x2_t __ret_523;55471 int64x2_t __ret_615;
54116 int32x2_t __a1_523 = vget_high_s32(__p0_523);55472 int32x2_t __a1_615 = vget_high_s32(__p0_615);
54117 __ret_523 = (int64x2_t)(vshll_n_s32(__a1_523, 0));55473 __ret_615 = (int64x2_t)(vshll_n_s32(__a1_615, 0));
54118 return __ret_523;55474 return __ret_615;
54119}55475}
54120#else55476#else
54121__ai int64x2_t vmovl_high_s32(int32x4_t __p0_524) {55477__ai int64x2_t vmovl_high_s32(int32x4_t __p0_616) {
54122 int32x4_t __rev0_524; __rev0_524 = __builtin_shufflevector(__p0_524, __p0_524, 3, 2, 1, 0);55478 int32x4_t __rev0_616; __rev0_616 = __builtin_shufflevector(__p0_616, __p0_616, 3, 2, 1, 0);
54123 int64x2_t __ret_524;55479 int64x2_t __ret_616;
54124 int32x2_t __a1_524 = __noswap_vget_high_s32(__rev0_524);55480 int32x2_t __a1_616 = __noswap_vget_high_s32(__rev0_616);
54125 __ret_524 = (int64x2_t)(__noswap_vshll_n_s32(__a1_524, 0));55481 __ret_616 = (int64x2_t)(__noswap_vshll_n_s32(__a1_616, 0));
54126 __ret_524 = __builtin_shufflevector(__ret_524, __ret_524, 1, 0);55482 __ret_616 = __builtin_shufflevector(__ret_616, __ret_616, 1, 0);
54127 return __ret_524;55483 return __ret_616;
54128}55484}
54129__ai int64x2_t __noswap_vmovl_high_s32(int32x4_t __p0_525) {55485__ai int64x2_t __noswap_vmovl_high_s32(int32x4_t __p0_617) {
54130 int64x2_t __ret_525;55486 int64x2_t __ret_617;
54131 int32x2_t __a1_525 = __noswap_vget_high_s32(__p0_525);55487 int32x2_t __a1_617 = __noswap_vget_high_s32(__p0_617);
54132 __ret_525 = (int64x2_t)(__noswap_vshll_n_s32(__a1_525, 0));55488 __ret_617 = (int64x2_t)(__noswap_vshll_n_s32(__a1_617, 0));
54133 return __ret_525;55489 return __ret_617;
54134}55490}
54135#endif55491#endif
5413655492
54137#ifdef __LITTLE_ENDIAN__55493#ifdef __LITTLE_ENDIAN__
54138__ai int32x4_t vmovl_high_s16(int16x8_t __p0_526) {55494__ai int32x4_t vmovl_high_s16(int16x8_t __p0_618) {
54139 int32x4_t __ret_526;55495 int32x4_t __ret_618;
54140 int16x4_t __a1_526 = vget_high_s16(__p0_526);55496 int16x4_t __a1_618 = vget_high_s16(__p0_618);
54141 __ret_526 = (int32x4_t)(vshll_n_s16(__a1_526, 0));55497 __ret_618 = (int32x4_t)(vshll_n_s16(__a1_618, 0));
54142 return __ret_526;55498 return __ret_618;
54143}55499}
54144#else55500#else
54145__ai int32x4_t vmovl_high_s16(int16x8_t __p0_527) {55501__ai int32x4_t vmovl_high_s16(int16x8_t __p0_619) {
54146 int16x8_t __rev0_527; __rev0_527 = __builtin_shufflevector(__p0_527, __p0_527, 7, 6, 5, 4, 3, 2, 1, 0);55502 int16x8_t __rev0_619; __rev0_619 = __builtin_shufflevector(__p0_619, __p0_619, 7, 6, 5, 4, 3, 2, 1, 0);
54147 int32x4_t __ret_527;55503 int32x4_t __ret_619;
54148 int16x4_t __a1_527 = __noswap_vget_high_s16(__rev0_527);55504 int16x4_t __a1_619 = __noswap_vget_high_s16(__rev0_619);
54149 __ret_527 = (int32x4_t)(__noswap_vshll_n_s16(__a1_527, 0));55505 __ret_619 = (int32x4_t)(__noswap_vshll_n_s16(__a1_619, 0));
54150 __ret_527 = __builtin_shufflevector(__ret_527, __ret_527, 3, 2, 1, 0);55506 __ret_619 = __builtin_shufflevector(__ret_619, __ret_619, 3, 2, 1, 0);
54151 return __ret_527;55507 return __ret_619;
54152}55508}
54153__ai int32x4_t __noswap_vmovl_high_s16(int16x8_t __p0_528) {55509__ai int32x4_t __noswap_vmovl_high_s16(int16x8_t __p0_620) {
54154 int32x4_t __ret_528;55510 int32x4_t __ret_620;
54155 int16x4_t __a1_528 = __noswap_vget_high_s16(__p0_528);55511 int16x4_t __a1_620 = __noswap_vget_high_s16(__p0_620);
54156 __ret_528 = (int32x4_t)(__noswap_vshll_n_s16(__a1_528, 0));55512 __ret_620 = (int32x4_t)(__noswap_vshll_n_s16(__a1_620, 0));
54157 return __ret_528;55513 return __ret_620;
54158}55514}
54159#endif55515#endif
5416055516
...@@ -54282,29 +55638,29 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {...@@ -54282,29 +55638,29 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {
54282 __ret = __p0 * __p1;55638 __ret = __p0 * __p1;
54283 return __ret;55639 return __ret;
54284}55640}
54285#define vmuld_lane_f64(__p0_529, __p1_529, __p2_529) __extension__ ({ \55641#define vmuld_lane_f64(__p0_621, __p1_621, __p2_621) __extension__ ({ \
54286 float64_t __s0_529 = __p0_529; \55642 float64_t __s0_621 = __p0_621; \
54287 float64x1_t __s1_529 = __p1_529; \55643 float64x1_t __s1_621 = __p1_621; \
54288 float64_t __ret_529; \55644 float64_t __ret_621; \
54289 __ret_529 = __s0_529 * vget_lane_f64(__s1_529, __p2_529); \55645 __ret_621 = __s0_621 * vget_lane_f64(__s1_621, __p2_621); \
54290 __ret_529; \55646 __ret_621; \
54291})55647})
54292#ifdef __LITTLE_ENDIAN__55648#ifdef __LITTLE_ENDIAN__
54293#define vmuls_lane_f32(__p0_530, __p1_530, __p2_530) __extension__ ({ \55649#define vmuls_lane_f32(__p0_622, __p1_622, __p2_622) __extension__ ({ \
54294 float32_t __s0_530 = __p0_530; \55650 float32_t __s0_622 = __p0_622; \
54295 float32x2_t __s1_530 = __p1_530; \55651 float32x2_t __s1_622 = __p1_622; \
54296 float32_t __ret_530; \55652 float32_t __ret_622; \
54297 __ret_530 = __s0_530 * vget_lane_f32(__s1_530, __p2_530); \55653 __ret_622 = __s0_622 * vget_lane_f32(__s1_622, __p2_622); \
54298 __ret_530; \55654 __ret_622; \
54299})55655})
54300#else55656#else
54301#define vmuls_lane_f32(__p0_531, __p1_531, __p2_531) __extension__ ({ \55657#define vmuls_lane_f32(__p0_623, __p1_623, __p2_623) __extension__ ({ \
54302 float32_t __s0_531 = __p0_531; \55658 float32_t __s0_623 = __p0_623; \
54303 float32x2_t __s1_531 = __p1_531; \55659 float32x2_t __s1_623 = __p1_623; \
54304 float32x2_t __rev1_531; __rev1_531 = __builtin_shufflevector(__s1_531, __s1_531, 1, 0); \55660 float32x2_t __rev1_623; __rev1_623 = __builtin_shufflevector(__s1_623, __s1_623, 1, 0); \
54305 float32_t __ret_531; \55661 float32_t __ret_623; \
54306 __ret_531 = __s0_531 * __noswap_vget_lane_f32(__rev1_531, __p2_531); \55662 __ret_623 = __s0_623 * __noswap_vget_lane_f32(__rev1_623, __p2_623); \
54307 __ret_531; \55663 __ret_623; \
54308})55664})
54309#endif55665#endif
5431055666
...@@ -54316,60 +55672,60 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {...@@ -54316,60 +55672,60 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {
54316 __ret; \55672 __ret; \
54317})55673})
54318#ifdef __LITTLE_ENDIAN__55674#ifdef __LITTLE_ENDIAN__
54319#define vmulq_lane_f64(__p0_532, __p1_532, __p2_532) __extension__ ({ \55675#define vmulq_lane_f64(__p0_624, __p1_624, __p2_624) __extension__ ({ \
54320 float64x2_t __s0_532 = __p0_532; \55676 float64x2_t __s0_624 = __p0_624; \
54321 float64x1_t __s1_532 = __p1_532; \55677 float64x1_t __s1_624 = __p1_624; \
54322 float64x2_t __ret_532; \55678 float64x2_t __ret_624; \
54323 __ret_532 = __s0_532 * splatq_lane_f64(__s1_532, __p2_532); \55679 __ret_624 = __s0_624 * splatq_lane_f64(__s1_624, __p2_624); \
54324 __ret_532; \55680 __ret_624; \
54325})55681})
54326#else55682#else
54327#define vmulq_lane_f64(__p0_533, __p1_533, __p2_533) __extension__ ({ \55683#define vmulq_lane_f64(__p0_625, __p1_625, __p2_625) __extension__ ({ \
54328 float64x2_t __s0_533 = __p0_533; \55684 float64x2_t __s0_625 = __p0_625; \
54329 float64x1_t __s1_533 = __p1_533; \55685 float64x1_t __s1_625 = __p1_625; \
54330 float64x2_t __rev0_533; __rev0_533 = __builtin_shufflevector(__s0_533, __s0_533, 1, 0); \55686 float64x2_t __rev0_625; __rev0_625 = __builtin_shufflevector(__s0_625, __s0_625, 1, 0); \
54331 float64x2_t __ret_533; \55687 float64x2_t __ret_625; \
54332 __ret_533 = __rev0_533 * __noswap_splatq_lane_f64(__s1_533, __p2_533); \55688 __ret_625 = __rev0_625 * __noswap_splatq_lane_f64(__s1_625, __p2_625); \
54333 __ret_533 = __builtin_shufflevector(__ret_533, __ret_533, 1, 0); \55689 __ret_625 = __builtin_shufflevector(__ret_625, __ret_625, 1, 0); \
54334 __ret_533; \55690 __ret_625; \
54335})55691})
54336#endif55692#endif
5433755693
54338#ifdef __LITTLE_ENDIAN__55694#ifdef __LITTLE_ENDIAN__
54339#define vmuld_laneq_f64(__p0_534, __p1_534, __p2_534) __extension__ ({ \55695#define vmuld_laneq_f64(__p0_626, __p1_626, __p2_626) __extension__ ({ \
54340 float64_t __s0_534 = __p0_534; \55696 float64_t __s0_626 = __p0_626; \
54341 float64x2_t __s1_534 = __p1_534; \55697 float64x2_t __s1_626 = __p1_626; \
54342 float64_t __ret_534; \55698 float64_t __ret_626; \
54343 __ret_534 = __s0_534 * vgetq_lane_f64(__s1_534, __p2_534); \55699 __ret_626 = __s0_626 * vgetq_lane_f64(__s1_626, __p2_626); \
54344 __ret_534; \55700 __ret_626; \
54345})55701})
54346#else55702#else
54347#define vmuld_laneq_f64(__p0_535, __p1_535, __p2_535) __extension__ ({ \55703#define vmuld_laneq_f64(__p0_627, __p1_627, __p2_627) __extension__ ({ \
54348 float64_t __s0_535 = __p0_535; \55704 float64_t __s0_627 = __p0_627; \
54349 float64x2_t __s1_535 = __p1_535; \55705 float64x2_t __s1_627 = __p1_627; \
54350 float64x2_t __rev1_535; __rev1_535 = __builtin_shufflevector(__s1_535, __s1_535, 1, 0); \55706 float64x2_t __rev1_627; __rev1_627 = __builtin_shufflevector(__s1_627, __s1_627, 1, 0); \
54351 float64_t __ret_535; \55707 float64_t __ret_627; \
54352 __ret_535 = __s0_535 * __noswap_vgetq_lane_f64(__rev1_535, __p2_535); \55708 __ret_627 = __s0_627 * __noswap_vgetq_lane_f64(__rev1_627, __p2_627); \
54353 __ret_535; \55709 __ret_627; \
54354})55710})
54355#endif55711#endif
5435655712
54357#ifdef __LITTLE_ENDIAN__55713#ifdef __LITTLE_ENDIAN__
54358#define vmuls_laneq_f32(__p0_536, __p1_536, __p2_536) __extension__ ({ \55714#define vmuls_laneq_f32(__p0_628, __p1_628, __p2_628) __extension__ ({ \
54359 float32_t __s0_536 = __p0_536; \55715 float32_t __s0_628 = __p0_628; \
54360 float32x4_t __s1_536 = __p1_536; \55716 float32x4_t __s1_628 = __p1_628; \
54361 float32_t __ret_536; \55717 float32_t __ret_628; \
54362 __ret_536 = __s0_536 * vgetq_lane_f32(__s1_536, __p2_536); \55718 __ret_628 = __s0_628 * vgetq_lane_f32(__s1_628, __p2_628); \
54363 __ret_536; \55719 __ret_628; \
54364})55720})
54365#else55721#else
54366#define vmuls_laneq_f32(__p0_537, __p1_537, __p2_537) __extension__ ({ \55722#define vmuls_laneq_f32(__p0_629, __p1_629, __p2_629) __extension__ ({ \
54367 float32_t __s0_537 = __p0_537; \55723 float32_t __s0_629 = __p0_629; \
54368 float32x4_t __s1_537 = __p1_537; \55724 float32x4_t __s1_629 = __p1_629; \
54369 float32x4_t __rev1_537; __rev1_537 = __builtin_shufflevector(__s1_537, __s1_537, 3, 2, 1, 0); \55725 float32x4_t __rev1_629; __rev1_629 = __builtin_shufflevector(__s1_629, __s1_629, 3, 2, 1, 0); \
54370 float32_t __ret_537; \55726 float32_t __ret_629; \
54371 __ret_537 = __s0_537 * __noswap_vgetq_lane_f32(__rev1_537, __p2_537); \55727 __ret_629 = __s0_629 * __noswap_vgetq_lane_f32(__rev1_629, __p2_629); \
54372 __ret_537; \55728 __ret_629; \
54373})55729})
54374#endif55730#endif
5437555731
...@@ -54393,233 +55749,233 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {...@@ -54393,233 +55749,233 @@ __ai float64x1_t vmul_f64(float64x1_t __p0, float64x1_t __p1) {
54393#endif55749#endif
5439455750
54395#ifdef __LITTLE_ENDIAN__55751#ifdef __LITTLE_ENDIAN__
54396#define vmulq_laneq_u32(__p0_538, __p1_538, __p2_538) __extension__ ({ \55752#define vmulq_laneq_u32(__p0_630, __p1_630, __p2_630) __extension__ ({ \
54397 uint32x4_t __s0_538 = __p0_538; \55753 uint32x4_t __s0_630 = __p0_630; \
54398 uint32x4_t __s1_538 = __p1_538; \55754 uint32x4_t __s1_630 = __p1_630; \
54399 uint32x4_t __ret_538; \55755 uint32x4_t __ret_630; \
54400 __ret_538 = __s0_538 * splatq_laneq_u32(__s1_538, __p2_538); \55756 __ret_630 = __s0_630 * splatq_laneq_u32(__s1_630, __p2_630); \
54401 __ret_538; \55757 __ret_630; \
54402})55758})
54403#else55759#else
54404#define vmulq_laneq_u32(__p0_539, __p1_539, __p2_539) __extension__ ({ \55760#define vmulq_laneq_u32(__p0_631, __p1_631, __p2_631) __extension__ ({ \
54405 uint32x4_t __s0_539 = __p0_539; \55761 uint32x4_t __s0_631 = __p0_631; \
54406 uint32x4_t __s1_539 = __p1_539; \55762 uint32x4_t __s1_631 = __p1_631; \
54407 uint32x4_t __rev0_539; __rev0_539 = __builtin_shufflevector(__s0_539, __s0_539, 3, 2, 1, 0); \55763 uint32x4_t __rev0_631; __rev0_631 = __builtin_shufflevector(__s0_631, __s0_631, 3, 2, 1, 0); \
54408 uint32x4_t __rev1_539; __rev1_539 = __builtin_shufflevector(__s1_539, __s1_539, 3, 2, 1, 0); \55764 uint32x4_t __rev1_631; __rev1_631 = __builtin_shufflevector(__s1_631, __s1_631, 3, 2, 1, 0); \
54409 uint32x4_t __ret_539; \55765 uint32x4_t __ret_631; \
54410 __ret_539 = __rev0_539 * __noswap_splatq_laneq_u32(__rev1_539, __p2_539); \55766 __ret_631 = __rev0_631 * __noswap_splatq_laneq_u32(__rev1_631, __p2_631); \
54411 __ret_539 = __builtin_shufflevector(__ret_539, __ret_539, 3, 2, 1, 0); \55767 __ret_631 = __builtin_shufflevector(__ret_631, __ret_631, 3, 2, 1, 0); \
54412 __ret_539; \55768 __ret_631; \
54413})55769})
54414#endif55770#endif
5441555771
54416#ifdef __LITTLE_ENDIAN__55772#ifdef __LITTLE_ENDIAN__
54417#define vmulq_laneq_u16(__p0_540, __p1_540, __p2_540) __extension__ ({ \55773#define vmulq_laneq_u16(__p0_632, __p1_632, __p2_632) __extension__ ({ \
54418 uint16x8_t __s0_540 = __p0_540; \55774 uint16x8_t __s0_632 = __p0_632; \
54419 uint16x8_t __s1_540 = __p1_540; \55775 uint16x8_t __s1_632 = __p1_632; \
54420 uint16x8_t __ret_540; \55776 uint16x8_t __ret_632; \
54421 __ret_540 = __s0_540 * splatq_laneq_u16(__s1_540, __p2_540); \55777 __ret_632 = __s0_632 * splatq_laneq_u16(__s1_632, __p2_632); \
54422 __ret_540; \55778 __ret_632; \
54423})55779})
54424#else55780#else
54425#define vmulq_laneq_u16(__p0_541, __p1_541, __p2_541) __extension__ ({ \55781#define vmulq_laneq_u16(__p0_633, __p1_633, __p2_633) __extension__ ({ \
54426 uint16x8_t __s0_541 = __p0_541; \55782 uint16x8_t __s0_633 = __p0_633; \
54427 uint16x8_t __s1_541 = __p1_541; \55783 uint16x8_t __s1_633 = __p1_633; \
54428 uint16x8_t __rev0_541; __rev0_541 = __builtin_shufflevector(__s0_541, __s0_541, 7, 6, 5, 4, 3, 2, 1, 0); \55784 uint16x8_t __rev0_633; __rev0_633 = __builtin_shufflevector(__s0_633, __s0_633, 7, 6, 5, 4, 3, 2, 1, 0); \
54429 uint16x8_t __rev1_541; __rev1_541 = __builtin_shufflevector(__s1_541, __s1_541, 7, 6, 5, 4, 3, 2, 1, 0); \55785 uint16x8_t __rev1_633; __rev1_633 = __builtin_shufflevector(__s1_633, __s1_633, 7, 6, 5, 4, 3, 2, 1, 0); \
54430 uint16x8_t __ret_541; \55786 uint16x8_t __ret_633; \
54431 __ret_541 = __rev0_541 * __noswap_splatq_laneq_u16(__rev1_541, __p2_541); \55787 __ret_633 = __rev0_633 * __noswap_splatq_laneq_u16(__rev1_633, __p2_633); \
54432 __ret_541 = __builtin_shufflevector(__ret_541, __ret_541, 7, 6, 5, 4, 3, 2, 1, 0); \55788 __ret_633 = __builtin_shufflevector(__ret_633, __ret_633, 7, 6, 5, 4, 3, 2, 1, 0); \
54433 __ret_541; \55789 __ret_633; \
54434})55790})
54435#endif55791#endif
5443655792
54437#ifdef __LITTLE_ENDIAN__55793#ifdef __LITTLE_ENDIAN__
54438#define vmulq_laneq_f64(__p0_542, __p1_542, __p2_542) __extension__ ({ \55794#define vmulq_laneq_f64(__p0_634, __p1_634, __p2_634) __extension__ ({ \
54439 float64x2_t __s0_542 = __p0_542; \55795 float64x2_t __s0_634 = __p0_634; \
54440 float64x2_t __s1_542 = __p1_542; \55796 float64x2_t __s1_634 = __p1_634; \
54441 float64x2_t __ret_542; \55797 float64x2_t __ret_634; \
54442 __ret_542 = __s0_542 * splatq_laneq_f64(__s1_542, __p2_542); \55798 __ret_634 = __s0_634 * splatq_laneq_f64(__s1_634, __p2_634); \
54443 __ret_542; \55799 __ret_634; \
54444})55800})
54445#else55801#else
54446#define vmulq_laneq_f64(__p0_543, __p1_543, __p2_543) __extension__ ({ \55802#define vmulq_laneq_f64(__p0_635, __p1_635, __p2_635) __extension__ ({ \
54447 float64x2_t __s0_543 = __p0_543; \55803 float64x2_t __s0_635 = __p0_635; \
54448 float64x2_t __s1_543 = __p1_543; \55804 float64x2_t __s1_635 = __p1_635; \
54449 float64x2_t __rev0_543; __rev0_543 = __builtin_shufflevector(__s0_543, __s0_543, 1, 0); \55805 float64x2_t __rev0_635; __rev0_635 = __builtin_shufflevector(__s0_635, __s0_635, 1, 0); \
54450 float64x2_t __rev1_543; __rev1_543 = __builtin_shufflevector(__s1_543, __s1_543, 1, 0); \55806 float64x2_t __rev1_635; __rev1_635 = __builtin_shufflevector(__s1_635, __s1_635, 1, 0); \
54451 float64x2_t __ret_543; \55807 float64x2_t __ret_635; \
54452 __ret_543 = __rev0_543 * __noswap_splatq_laneq_f64(__rev1_543, __p2_543); \55808 __ret_635 = __rev0_635 * __noswap_splatq_laneq_f64(__rev1_635, __p2_635); \
54453 __ret_543 = __builtin_shufflevector(__ret_543, __ret_543, 1, 0); \55809 __ret_635 = __builtin_shufflevector(__ret_635, __ret_635, 1, 0); \
54454 __ret_543; \55810 __ret_635; \
54455})55811})
54456#endif55812#endif
5445755813
54458#ifdef __LITTLE_ENDIAN__55814#ifdef __LITTLE_ENDIAN__
54459#define vmulq_laneq_f32(__p0_544, __p1_544, __p2_544) __extension__ ({ \55815#define vmulq_laneq_f32(__p0_636, __p1_636, __p2_636) __extension__ ({ \
54460 float32x4_t __s0_544 = __p0_544; \55816 float32x4_t __s0_636 = __p0_636; \
54461 float32x4_t __s1_544 = __p1_544; \55817 float32x4_t __s1_636 = __p1_636; \
54462 float32x4_t __ret_544; \55818 float32x4_t __ret_636; \
54463 __ret_544 = __s0_544 * splatq_laneq_f32(__s1_544, __p2_544); \55819 __ret_636 = __s0_636 * splatq_laneq_f32(__s1_636, __p2_636); \
54464 __ret_544; \55820 __ret_636; \
54465})55821})
54466#else55822#else
54467#define vmulq_laneq_f32(__p0_545, __p1_545, __p2_545) __extension__ ({ \55823#define vmulq_laneq_f32(__p0_637, __p1_637, __p2_637) __extension__ ({ \
54468 float32x4_t __s0_545 = __p0_545; \55824 float32x4_t __s0_637 = __p0_637; \
54469 float32x4_t __s1_545 = __p1_545; \55825 float32x4_t __s1_637 = __p1_637; \
54470 float32x4_t __rev0_545; __rev0_545 = __builtin_shufflevector(__s0_545, __s0_545, 3, 2, 1, 0); \55826 float32x4_t __rev0_637; __rev0_637 = __builtin_shufflevector(__s0_637, __s0_637, 3, 2, 1, 0); \
54471 float32x4_t __rev1_545; __rev1_545 = __builtin_shufflevector(__s1_545, __s1_545, 3, 2, 1, 0); \55827 float32x4_t __rev1_637; __rev1_637 = __builtin_shufflevector(__s1_637, __s1_637, 3, 2, 1, 0); \
54472 float32x4_t __ret_545; \55828 float32x4_t __ret_637; \
54473 __ret_545 = __rev0_545 * __noswap_splatq_laneq_f32(__rev1_545, __p2_545); \55829 __ret_637 = __rev0_637 * __noswap_splatq_laneq_f32(__rev1_637, __p2_637); \
54474 __ret_545 = __builtin_shufflevector(__ret_545, __ret_545, 3, 2, 1, 0); \55830 __ret_637 = __builtin_shufflevector(__ret_637, __ret_637, 3, 2, 1, 0); \
54475 __ret_545; \55831 __ret_637; \
54476})55832})
54477#endif55833#endif
5447855834
54479#ifdef __LITTLE_ENDIAN__55835#ifdef __LITTLE_ENDIAN__
54480#define vmulq_laneq_s32(__p0_546, __p1_546, __p2_546) __extension__ ({ \55836#define vmulq_laneq_s32(__p0_638, __p1_638, __p2_638) __extension__ ({ \
54481 int32x4_t __s0_546 = __p0_546; \55837 int32x4_t __s0_638 = __p0_638; \
54482 int32x4_t __s1_546 = __p1_546; \55838 int32x4_t __s1_638 = __p1_638; \
54483 int32x4_t __ret_546; \55839 int32x4_t __ret_638; \
54484 __ret_546 = __s0_546 * splatq_laneq_s32(__s1_546, __p2_546); \55840 __ret_638 = __s0_638 * splatq_laneq_s32(__s1_638, __p2_638); \
54485 __ret_546; \55841 __ret_638; \
54486})55842})
54487#else55843#else
54488#define vmulq_laneq_s32(__p0_547, __p1_547, __p2_547) __extension__ ({ \55844#define vmulq_laneq_s32(__p0_639, __p1_639, __p2_639) __extension__ ({ \
54489 int32x4_t __s0_547 = __p0_547; \55845 int32x4_t __s0_639 = __p0_639; \
54490 int32x4_t __s1_547 = __p1_547; \55846 int32x4_t __s1_639 = __p1_639; \
54491 int32x4_t __rev0_547; __rev0_547 = __builtin_shufflevector(__s0_547, __s0_547, 3, 2, 1, 0); \55847 int32x4_t __rev0_639; __rev0_639 = __builtin_shufflevector(__s0_639, __s0_639, 3, 2, 1, 0); \
54492 int32x4_t __rev1_547; __rev1_547 = __builtin_shufflevector(__s1_547, __s1_547, 3, 2, 1, 0); \55848 int32x4_t __rev1_639; __rev1_639 = __builtin_shufflevector(__s1_639, __s1_639, 3, 2, 1, 0); \
54493 int32x4_t __ret_547; \55849 int32x4_t __ret_639; \
54494 __ret_547 = __rev0_547 * __noswap_splatq_laneq_s32(__rev1_547, __p2_547); \55850 __ret_639 = __rev0_639 * __noswap_splatq_laneq_s32(__rev1_639, __p2_639); \
54495 __ret_547 = __builtin_shufflevector(__ret_547, __ret_547, 3, 2, 1, 0); \55851 __ret_639 = __builtin_shufflevector(__ret_639, __ret_639, 3, 2, 1, 0); \
54496 __ret_547; \55852 __ret_639; \
54497})55853})
54498#endif55854#endif
5449955855
54500#ifdef __LITTLE_ENDIAN__55856#ifdef __LITTLE_ENDIAN__
54501#define vmulq_laneq_s16(__p0_548, __p1_548, __p2_548) __extension__ ({ \55857#define vmulq_laneq_s16(__p0_640, __p1_640, __p2_640) __extension__ ({ \
54502 int16x8_t __s0_548 = __p0_548; \55858 int16x8_t __s0_640 = __p0_640; \
54503 int16x8_t __s1_548 = __p1_548; \55859 int16x8_t __s1_640 = __p1_640; \
54504 int16x8_t __ret_548; \55860 int16x8_t __ret_640; \
54505 __ret_548 = __s0_548 * splatq_laneq_s16(__s1_548, __p2_548); \55861 __ret_640 = __s0_640 * splatq_laneq_s16(__s1_640, __p2_640); \
54506 __ret_548; \55862 __ret_640; \
54507})55863})
54508#else55864#else
54509#define vmulq_laneq_s16(__p0_549, __p1_549, __p2_549) __extension__ ({ \55865#define vmulq_laneq_s16(__p0_641, __p1_641, __p2_641) __extension__ ({ \
54510 int16x8_t __s0_549 = __p0_549; \55866 int16x8_t __s0_641 = __p0_641; \
54511 int16x8_t __s1_549 = __p1_549; \55867 int16x8_t __s1_641 = __p1_641; \
54512 int16x8_t __rev0_549; __rev0_549 = __builtin_shufflevector(__s0_549, __s0_549, 7, 6, 5, 4, 3, 2, 1, 0); \55868 int16x8_t __rev0_641; __rev0_641 = __builtin_shufflevector(__s0_641, __s0_641, 7, 6, 5, 4, 3, 2, 1, 0); \
54513 int16x8_t __rev1_549; __rev1_549 = __builtin_shufflevector(__s1_549, __s1_549, 7, 6, 5, 4, 3, 2, 1, 0); \55869 int16x8_t __rev1_641; __rev1_641 = __builtin_shufflevector(__s1_641, __s1_641, 7, 6, 5, 4, 3, 2, 1, 0); \
54514 int16x8_t __ret_549; \55870 int16x8_t __ret_641; \
54515 __ret_549 = __rev0_549 * __noswap_splatq_laneq_s16(__rev1_549, __p2_549); \55871 __ret_641 = __rev0_641 * __noswap_splatq_laneq_s16(__rev1_641, __p2_641); \
54516 __ret_549 = __builtin_shufflevector(__ret_549, __ret_549, 7, 6, 5, 4, 3, 2, 1, 0); \55872 __ret_641 = __builtin_shufflevector(__ret_641, __ret_641, 7, 6, 5, 4, 3, 2, 1, 0); \
54517 __ret_549; \55873 __ret_641; \
54518})55874})
54519#endif55875#endif
5452055876
54521#ifdef __LITTLE_ENDIAN__55877#ifdef __LITTLE_ENDIAN__
54522#define vmul_laneq_u32(__p0_550, __p1_550, __p2_550) __extension__ ({ \55878#define vmul_laneq_u32(__p0_642, __p1_642, __p2_642) __extension__ ({ \
54523 uint32x2_t __s0_550 = __p0_550; \55879 uint32x2_t __s0_642 = __p0_642; \
54524 uint32x4_t __s1_550 = __p1_550; \55880 uint32x4_t __s1_642 = __p1_642; \
54525 uint32x2_t __ret_550; \55881 uint32x2_t __ret_642; \
54526 __ret_550 = __s0_550 * splat_laneq_u32(__s1_550, __p2_550); \55882 __ret_642 = __s0_642 * splat_laneq_u32(__s1_642, __p2_642); \
54527 __ret_550; \55883 __ret_642; \
54528})55884})
54529#else55885#else
54530#define vmul_laneq_u32(__p0_551, __p1_551, __p2_551) __extension__ ({ \55886#define vmul_laneq_u32(__p0_643, __p1_643, __p2_643) __extension__ ({ \
54531 uint32x2_t __s0_551 = __p0_551; \55887 uint32x2_t __s0_643 = __p0_643; \
54532 uint32x4_t __s1_551 = __p1_551; \55888 uint32x4_t __s1_643 = __p1_643; \
54533 uint32x2_t __rev0_551; __rev0_551 = __builtin_shufflevector(__s0_551, __s0_551, 1, 0); \55889 uint32x2_t __rev0_643; __rev0_643 = __builtin_shufflevector(__s0_643, __s0_643, 1, 0); \
54534 uint32x4_t __rev1_551; __rev1_551 = __builtin_shufflevector(__s1_551, __s1_551, 3, 2, 1, 0); \55890 uint32x4_t __rev1_643; __rev1_643 = __builtin_shufflevector(__s1_643, __s1_643, 3, 2, 1, 0); \
54535 uint32x2_t __ret_551; \55891 uint32x2_t __ret_643; \
54536 __ret_551 = __rev0_551 * __noswap_splat_laneq_u32(__rev1_551, __p2_551); \55892 __ret_643 = __rev0_643 * __noswap_splat_laneq_u32(__rev1_643, __p2_643); \
54537 __ret_551 = __builtin_shufflevector(__ret_551, __ret_551, 1, 0); \55893 __ret_643 = __builtin_shufflevector(__ret_643, __ret_643, 1, 0); \
54538 __ret_551; \55894 __ret_643; \
54539})55895})
54540#endif55896#endif
5454155897
54542#ifdef __LITTLE_ENDIAN__55898#ifdef __LITTLE_ENDIAN__
54543#define vmul_laneq_u16(__p0_552, __p1_552, __p2_552) __extension__ ({ \55899#define vmul_laneq_u16(__p0_644, __p1_644, __p2_644) __extension__ ({ \
54544 uint16x4_t __s0_552 = __p0_552; \55900 uint16x4_t __s0_644 = __p0_644; \
54545 uint16x8_t __s1_552 = __p1_552; \55901 uint16x8_t __s1_644 = __p1_644; \
54546 uint16x4_t __ret_552; \55902 uint16x4_t __ret_644; \
54547 __ret_552 = __s0_552 * splat_laneq_u16(__s1_552, __p2_552); \55903 __ret_644 = __s0_644 * splat_laneq_u16(__s1_644, __p2_644); \
54548 __ret_552; \55904 __ret_644; \
54549})55905})
54550#else55906#else
54551#define vmul_laneq_u16(__p0_553, __p1_553, __p2_553) __extension__ ({ \55907#define vmul_laneq_u16(__p0_645, __p1_645, __p2_645) __extension__ ({ \
54552 uint16x4_t __s0_553 = __p0_553; \55908 uint16x4_t __s0_645 = __p0_645; \
54553 uint16x8_t __s1_553 = __p1_553; \55909 uint16x8_t __s1_645 = __p1_645; \
54554 uint16x4_t __rev0_553; __rev0_553 = __builtin_shufflevector(__s0_553, __s0_553, 3, 2, 1, 0); \55910 uint16x4_t __rev0_645; __rev0_645 = __builtin_shufflevector(__s0_645, __s0_645, 3, 2, 1, 0); \
54555 uint16x8_t __rev1_553; __rev1_553 = __builtin_shufflevector(__s1_553, __s1_553, 7, 6, 5, 4, 3, 2, 1, 0); \55911 uint16x8_t __rev1_645; __rev1_645 = __builtin_shufflevector(__s1_645, __s1_645, 7, 6, 5, 4, 3, 2, 1, 0); \
54556 uint16x4_t __ret_553; \55912 uint16x4_t __ret_645; \
54557 __ret_553 = __rev0_553 * __noswap_splat_laneq_u16(__rev1_553, __p2_553); \55913 __ret_645 = __rev0_645 * __noswap_splat_laneq_u16(__rev1_645, __p2_645); \
54558 __ret_553 = __builtin_shufflevector(__ret_553, __ret_553, 3, 2, 1, 0); \55914 __ret_645 = __builtin_shufflevector(__ret_645, __ret_645, 3, 2, 1, 0); \
54559 __ret_553; \55915 __ret_645; \
54560})55916})
54561#endif55917#endif
5456255918
54563#ifdef __LITTLE_ENDIAN__55919#ifdef __LITTLE_ENDIAN__
54564#define vmul_laneq_f32(__p0_554, __p1_554, __p2_554) __extension__ ({ \55920#define vmul_laneq_f32(__p0_646, __p1_646, __p2_646) __extension__ ({ \
54565 float32x2_t __s0_554 = __p0_554; \55921 float32x2_t __s0_646 = __p0_646; \
54566 float32x4_t __s1_554 = __p1_554; \55922 float32x4_t __s1_646 = __p1_646; \
54567 float32x2_t __ret_554; \55923 float32x2_t __ret_646; \
54568 __ret_554 = __s0_554 * splat_laneq_f32(__s1_554, __p2_554); \55924 __ret_646 = __s0_646 * splat_laneq_f32(__s1_646, __p2_646); \
54569 __ret_554; \55925 __ret_646; \
54570})55926})
54571#else55927#else
54572#define vmul_laneq_f32(__p0_555, __p1_555, __p2_555) __extension__ ({ \55928#define vmul_laneq_f32(__p0_647, __p1_647, __p2_647) __extension__ ({ \
54573 float32x2_t __s0_555 = __p0_555; \55929 float32x2_t __s0_647 = __p0_647; \
54574 float32x4_t __s1_555 = __p1_555; \55930 float32x4_t __s1_647 = __p1_647; \
54575 float32x2_t __rev0_555; __rev0_555 = __builtin_shufflevector(__s0_555, __s0_555, 1, 0); \55931 float32x2_t __rev0_647; __rev0_647 = __builtin_shufflevector(__s0_647, __s0_647, 1, 0); \
54576 float32x4_t __rev1_555; __rev1_555 = __builtin_shufflevector(__s1_555, __s1_555, 3, 2, 1, 0); \55932 float32x4_t __rev1_647; __rev1_647 = __builtin_shufflevector(__s1_647, __s1_647, 3, 2, 1, 0); \
54577 float32x2_t __ret_555; \55933 float32x2_t __ret_647; \
54578 __ret_555 = __rev0_555 * __noswap_splat_laneq_f32(__rev1_555, __p2_555); \55934 __ret_647 = __rev0_647 * __noswap_splat_laneq_f32(__rev1_647, __p2_647); \
54579 __ret_555 = __builtin_shufflevector(__ret_555, __ret_555, 1, 0); \55935 __ret_647 = __builtin_shufflevector(__ret_647, __ret_647, 1, 0); \
54580 __ret_555; \55936 __ret_647; \
54581})55937})
54582#endif55938#endif
5458355939
54584#ifdef __LITTLE_ENDIAN__55940#ifdef __LITTLE_ENDIAN__
54585#define vmul_laneq_s32(__p0_556, __p1_556, __p2_556) __extension__ ({ \55941#define vmul_laneq_s32(__p0_648, __p1_648, __p2_648) __extension__ ({ \
54586 int32x2_t __s0_556 = __p0_556; \55942 int32x2_t __s0_648 = __p0_648; \
54587 int32x4_t __s1_556 = __p1_556; \55943 int32x4_t __s1_648 = __p1_648; \
54588 int32x2_t __ret_556; \55944 int32x2_t __ret_648; \
54589 __ret_556 = __s0_556 * splat_laneq_s32(__s1_556, __p2_556); \55945 __ret_648 = __s0_648 * splat_laneq_s32(__s1_648, __p2_648); \
54590 __ret_556; \55946 __ret_648; \
54591})55947})
54592#else55948#else
54593#define vmul_laneq_s32(__p0_557, __p1_557, __p2_557) __extension__ ({ \55949#define vmul_laneq_s32(__p0_649, __p1_649, __p2_649) __extension__ ({ \
54594 int32x2_t __s0_557 = __p0_557; \55950 int32x2_t __s0_649 = __p0_649; \
54595 int32x4_t __s1_557 = __p1_557; \55951 int32x4_t __s1_649 = __p1_649; \
54596 int32x2_t __rev0_557; __rev0_557 = __builtin_shufflevector(__s0_557, __s0_557, 1, 0); \55952 int32x2_t __rev0_649; __rev0_649 = __builtin_shufflevector(__s0_649, __s0_649, 1, 0); \
54597 int32x4_t __rev1_557; __rev1_557 = __builtin_shufflevector(__s1_557, __s1_557, 3, 2, 1, 0); \55953 int32x4_t __rev1_649; __rev1_649 = __builtin_shufflevector(__s1_649, __s1_649, 3, 2, 1, 0); \
54598 int32x2_t __ret_557; \55954 int32x2_t __ret_649; \
54599 __ret_557 = __rev0_557 * __noswap_splat_laneq_s32(__rev1_557, __p2_557); \55955 __ret_649 = __rev0_649 * __noswap_splat_laneq_s32(__rev1_649, __p2_649); \
54600 __ret_557 = __builtin_shufflevector(__ret_557, __ret_557, 1, 0); \55956 __ret_649 = __builtin_shufflevector(__ret_649, __ret_649, 1, 0); \
54601 __ret_557; \55957 __ret_649; \
54602})55958})
54603#endif55959#endif
5460455960
54605#ifdef __LITTLE_ENDIAN__55961#ifdef __LITTLE_ENDIAN__
54606#define vmul_laneq_s16(__p0_558, __p1_558, __p2_558) __extension__ ({ \55962#define vmul_laneq_s16(__p0_650, __p1_650, __p2_650) __extension__ ({ \
54607 int16x4_t __s0_558 = __p0_558; \55963 int16x4_t __s0_650 = __p0_650; \
54608 int16x8_t __s1_558 = __p1_558; \55964 int16x8_t __s1_650 = __p1_650; \
54609 int16x4_t __ret_558; \55965 int16x4_t __ret_650; \
54610 __ret_558 = __s0_558 * splat_laneq_s16(__s1_558, __p2_558); \55966 __ret_650 = __s0_650 * splat_laneq_s16(__s1_650, __p2_650); \
54611 __ret_558; \55967 __ret_650; \
54612})55968})
54613#else55969#else
54614#define vmul_laneq_s16(__p0_559, __p1_559, __p2_559) __extension__ ({ \55970#define vmul_laneq_s16(__p0_651, __p1_651, __p2_651) __extension__ ({ \
54615 int16x4_t __s0_559 = __p0_559; \55971 int16x4_t __s0_651 = __p0_651; \
54616 int16x8_t __s1_559 = __p1_559; \55972 int16x8_t __s1_651 = __p1_651; \
54617 int16x4_t __rev0_559; __rev0_559 = __builtin_shufflevector(__s0_559, __s0_559, 3, 2, 1, 0); \55973 int16x4_t __rev0_651; __rev0_651 = __builtin_shufflevector(__s0_651, __s0_651, 3, 2, 1, 0); \
54618 int16x8_t __rev1_559; __rev1_559 = __builtin_shufflevector(__s1_559, __s1_559, 7, 6, 5, 4, 3, 2, 1, 0); \55974 int16x8_t __rev1_651; __rev1_651 = __builtin_shufflevector(__s1_651, __s1_651, 7, 6, 5, 4, 3, 2, 1, 0); \
54619 int16x4_t __ret_559; \55975 int16x4_t __ret_651; \
54620 __ret_559 = __rev0_559 * __noswap_splat_laneq_s16(__rev1_559, __p2_559); \55976 __ret_651 = __rev0_651 * __noswap_splat_laneq_s16(__rev1_651, __p2_651); \
54621 __ret_559 = __builtin_shufflevector(__ret_559, __ret_559, 3, 2, 1, 0); \55977 __ret_651 = __builtin_shufflevector(__ret_651, __ret_651, 3, 2, 1, 0); \
54622 __ret_559; \55978 __ret_651; \
54623})55979})
54624#endif55980#endif
5462555981
...@@ -54785,170 +56141,170 @@ __ai poly128_t vmull_high_p64(poly64x2_t __p0, poly64x2_t __p1) {...@@ -54785,170 +56141,170 @@ __ai poly128_t vmull_high_p64(poly64x2_t __p0, poly64x2_t __p1) {
54785#endif56141#endif
5478656142
54787#ifdef __LITTLE_ENDIAN__56143#ifdef __LITTLE_ENDIAN__
54788#define vmull_high_lane_u32(__p0_560, __p1_560, __p2_560) __extension__ ({ \56144#define vmull_high_lane_u32(__p0_652, __p1_652, __p2_652) __extension__ ({ \
54789 uint32x4_t __s0_560 = __p0_560; \56145 uint32x4_t __s0_652 = __p0_652; \
54790 uint32x2_t __s1_560 = __p1_560; \56146 uint32x2_t __s1_652 = __p1_652; \
54791 uint64x2_t __ret_560; \56147 uint64x2_t __ret_652; \
54792 __ret_560 = vmull_u32(vget_high_u32(__s0_560), splat_lane_u32(__s1_560, __p2_560)); \56148 __ret_652 = vmull_u32(vget_high_u32(__s0_652), splat_lane_u32(__s1_652, __p2_652)); \
54793 __ret_560; \56149 __ret_652; \
54794})56150})
54795#else56151#else
54796#define vmull_high_lane_u32(__p0_561, __p1_561, __p2_561) __extension__ ({ \56152#define vmull_high_lane_u32(__p0_653, __p1_653, __p2_653) __extension__ ({ \
54797 uint32x4_t __s0_561 = __p0_561; \56153 uint32x4_t __s0_653 = __p0_653; \
54798 uint32x2_t __s1_561 = __p1_561; \56154 uint32x2_t __s1_653 = __p1_653; \
54799 uint32x4_t __rev0_561; __rev0_561 = __builtin_shufflevector(__s0_561, __s0_561, 3, 2, 1, 0); \56155 uint32x4_t __rev0_653; __rev0_653 = __builtin_shufflevector(__s0_653, __s0_653, 3, 2, 1, 0); \
54800 uint32x2_t __rev1_561; __rev1_561 = __builtin_shufflevector(__s1_561, __s1_561, 1, 0); \56156 uint32x2_t __rev1_653; __rev1_653 = __builtin_shufflevector(__s1_653, __s1_653, 1, 0); \
54801 uint64x2_t __ret_561; \56157 uint64x2_t __ret_653; \
54802 __ret_561 = __noswap_vmull_u32(__noswap_vget_high_u32(__rev0_561), __noswap_splat_lane_u32(__rev1_561, __p2_561)); \56158 __ret_653 = __noswap_vmull_u32(__noswap_vget_high_u32(__rev0_653), __noswap_splat_lane_u32(__rev1_653, __p2_653)); \
54803 __ret_561 = __builtin_shufflevector(__ret_561, __ret_561, 1, 0); \56159 __ret_653 = __builtin_shufflevector(__ret_653, __ret_653, 1, 0); \
54804 __ret_561; \56160 __ret_653; \
54805})56161})
54806#endif56162#endif
5480756163
54808#ifdef __LITTLE_ENDIAN__56164#ifdef __LITTLE_ENDIAN__
54809#define vmull_high_lane_u16(__p0_562, __p1_562, __p2_562) __extension__ ({ \56165#define vmull_high_lane_u16(__p0_654, __p1_654, __p2_654) __extension__ ({ \
54810 uint16x8_t __s0_562 = __p0_562; \56166 uint16x8_t __s0_654 = __p0_654; \
54811 uint16x4_t __s1_562 = __p1_562; \56167 uint16x4_t __s1_654 = __p1_654; \
54812 uint32x4_t __ret_562; \56168 uint32x4_t __ret_654; \
54813 __ret_562 = vmull_u16(vget_high_u16(__s0_562), splat_lane_u16(__s1_562, __p2_562)); \56169 __ret_654 = vmull_u16(vget_high_u16(__s0_654), splat_lane_u16(__s1_654, __p2_654)); \
54814 __ret_562; \56170 __ret_654; \
54815})56171})
54816#else56172#else
54817#define vmull_high_lane_u16(__p0_563, __p1_563, __p2_563) __extension__ ({ \56173#define vmull_high_lane_u16(__p0_655, __p1_655, __p2_655) __extension__ ({ \
54818 uint16x8_t __s0_563 = __p0_563; \56174 uint16x8_t __s0_655 = __p0_655; \
54819 uint16x4_t __s1_563 = __p1_563; \56175 uint16x4_t __s1_655 = __p1_655; \
54820 uint16x8_t __rev0_563; __rev0_563 = __builtin_shufflevector(__s0_563, __s0_563, 7, 6, 5, 4, 3, 2, 1, 0); \56176 uint16x8_t __rev0_655; __rev0_655 = __builtin_shufflevector(__s0_655, __s0_655, 7, 6, 5, 4, 3, 2, 1, 0); \
54821 uint16x4_t __rev1_563; __rev1_563 = __builtin_shufflevector(__s1_563, __s1_563, 3, 2, 1, 0); \56177 uint16x4_t __rev1_655; __rev1_655 = __builtin_shufflevector(__s1_655, __s1_655, 3, 2, 1, 0); \
54822 uint32x4_t __ret_563; \56178 uint32x4_t __ret_655; \
54823 __ret_563 = __noswap_vmull_u16(__noswap_vget_high_u16(__rev0_563), __noswap_splat_lane_u16(__rev1_563, __p2_563)); \56179 __ret_655 = __noswap_vmull_u16(__noswap_vget_high_u16(__rev0_655), __noswap_splat_lane_u16(__rev1_655, __p2_655)); \
54824 __ret_563 = __builtin_shufflevector(__ret_563, __ret_563, 3, 2, 1, 0); \56180 __ret_655 = __builtin_shufflevector(__ret_655, __ret_655, 3, 2, 1, 0); \
54825 __ret_563; \56181 __ret_655; \
54826})56182})
54827#endif56183#endif
5482856184
54829#ifdef __LITTLE_ENDIAN__56185#ifdef __LITTLE_ENDIAN__
54830#define vmull_high_lane_s32(__p0_564, __p1_564, __p2_564) __extension__ ({ \56186#define vmull_high_lane_s32(__p0_656, __p1_656, __p2_656) __extension__ ({ \
54831 int32x4_t __s0_564 = __p0_564; \56187 int32x4_t __s0_656 = __p0_656; \
54832 int32x2_t __s1_564 = __p1_564; \56188 int32x2_t __s1_656 = __p1_656; \
54833 int64x2_t __ret_564; \56189 int64x2_t __ret_656; \
54834 __ret_564 = vmull_s32(vget_high_s32(__s0_564), splat_lane_s32(__s1_564, __p2_564)); \56190 __ret_656 = vmull_s32(vget_high_s32(__s0_656), splat_lane_s32(__s1_656, __p2_656)); \
54835 __ret_564; \56191 __ret_656; \
54836})56192})
54837#else56193#else
54838#define vmull_high_lane_s32(__p0_565, __p1_565, __p2_565) __extension__ ({ \56194#define vmull_high_lane_s32(__p0_657, __p1_657, __p2_657) __extension__ ({ \
54839 int32x4_t __s0_565 = __p0_565; \56195 int32x4_t __s0_657 = __p0_657; \
54840 int32x2_t __s1_565 = __p1_565; \56196 int32x2_t __s1_657 = __p1_657; \
54841 int32x4_t __rev0_565; __rev0_565 = __builtin_shufflevector(__s0_565, __s0_565, 3, 2, 1, 0); \56197 int32x4_t __rev0_657; __rev0_657 = __builtin_shufflevector(__s0_657, __s0_657, 3, 2, 1, 0); \
54842 int32x2_t __rev1_565; __rev1_565 = __builtin_shufflevector(__s1_565, __s1_565, 1, 0); \56198 int32x2_t __rev1_657; __rev1_657 = __builtin_shufflevector(__s1_657, __s1_657, 1, 0); \
54843 int64x2_t __ret_565; \56199 int64x2_t __ret_657; \
54844 __ret_565 = __noswap_vmull_s32(__noswap_vget_high_s32(__rev0_565), __noswap_splat_lane_s32(__rev1_565, __p2_565)); \56200 __ret_657 = __noswap_vmull_s32(__noswap_vget_high_s32(__rev0_657), __noswap_splat_lane_s32(__rev1_657, __p2_657)); \
54845 __ret_565 = __builtin_shufflevector(__ret_565, __ret_565, 1, 0); \56201 __ret_657 = __builtin_shufflevector(__ret_657, __ret_657, 1, 0); \
54846 __ret_565; \56202 __ret_657; \
54847})56203})
54848#endif56204#endif
5484956205
54850#ifdef __LITTLE_ENDIAN__56206#ifdef __LITTLE_ENDIAN__
54851#define vmull_high_lane_s16(__p0_566, __p1_566, __p2_566) __extension__ ({ \56207#define vmull_high_lane_s16(__p0_658, __p1_658, __p2_658) __extension__ ({ \
54852 int16x8_t __s0_566 = __p0_566; \56208 int16x8_t __s0_658 = __p0_658; \
54853 int16x4_t __s1_566 = __p1_566; \56209 int16x4_t __s1_658 = __p1_658; \
54854 int32x4_t __ret_566; \56210 int32x4_t __ret_658; \
54855 __ret_566 = vmull_s16(vget_high_s16(__s0_566), splat_lane_s16(__s1_566, __p2_566)); \56211 __ret_658 = vmull_s16(vget_high_s16(__s0_658), splat_lane_s16(__s1_658, __p2_658)); \
54856 __ret_566; \56212 __ret_658; \
54857})56213})
54858#else56214#else
54859#define vmull_high_lane_s16(__p0_567, __p1_567, __p2_567) __extension__ ({ \56215#define vmull_high_lane_s16(__p0_659, __p1_659, __p2_659) __extension__ ({ \
54860 int16x8_t __s0_567 = __p0_567; \56216 int16x8_t __s0_659 = __p0_659; \
54861 int16x4_t __s1_567 = __p1_567; \56217 int16x4_t __s1_659 = __p1_659; \
54862 int16x8_t __rev0_567; __rev0_567 = __builtin_shufflevector(__s0_567, __s0_567, 7, 6, 5, 4, 3, 2, 1, 0); \56218 int16x8_t __rev0_659; __rev0_659 = __builtin_shufflevector(__s0_659, __s0_659, 7, 6, 5, 4, 3, 2, 1, 0); \
54863 int16x4_t __rev1_567; __rev1_567 = __builtin_shufflevector(__s1_567, __s1_567, 3, 2, 1, 0); \56219 int16x4_t __rev1_659; __rev1_659 = __builtin_shufflevector(__s1_659, __s1_659, 3, 2, 1, 0); \
54864 int32x4_t __ret_567; \56220 int32x4_t __ret_659; \
54865 __ret_567 = __noswap_vmull_s16(__noswap_vget_high_s16(__rev0_567), __noswap_splat_lane_s16(__rev1_567, __p2_567)); \56221 __ret_659 = __noswap_vmull_s16(__noswap_vget_high_s16(__rev0_659), __noswap_splat_lane_s16(__rev1_659, __p2_659)); \
54866 __ret_567 = __builtin_shufflevector(__ret_567, __ret_567, 3, 2, 1, 0); \56222 __ret_659 = __builtin_shufflevector(__ret_659, __ret_659, 3, 2, 1, 0); \
54867 __ret_567; \56223 __ret_659; \
54868})56224})
54869#endif56225#endif
5487056226
54871#ifdef __LITTLE_ENDIAN__56227#ifdef __LITTLE_ENDIAN__
54872#define vmull_high_laneq_u32(__p0_568, __p1_568, __p2_568) __extension__ ({ \56228#define vmull_high_laneq_u32(__p0_660, __p1_660, __p2_660) __extension__ ({ \
54873 uint32x4_t __s0_568 = __p0_568; \56229 uint32x4_t __s0_660 = __p0_660; \
54874 uint32x4_t __s1_568 = __p1_568; \56230 uint32x4_t __s1_660 = __p1_660; \
54875 uint64x2_t __ret_568; \56231 uint64x2_t __ret_660; \
54876 __ret_568 = vmull_u32(vget_high_u32(__s0_568), splat_laneq_u32(__s1_568, __p2_568)); \56232 __ret_660 = vmull_u32(vget_high_u32(__s0_660), splat_laneq_u32(__s1_660, __p2_660)); \
54877 __ret_568; \56233 __ret_660; \
54878})56234})
54879#else56235#else
54880#define vmull_high_laneq_u32(__p0_569, __p1_569, __p2_569) __extension__ ({ \56236#define vmull_high_laneq_u32(__p0_661, __p1_661, __p2_661) __extension__ ({ \
54881 uint32x4_t __s0_569 = __p0_569; \56237 uint32x4_t __s0_661 = __p0_661; \
54882 uint32x4_t __s1_569 = __p1_569; \56238 uint32x4_t __s1_661 = __p1_661; \
54883 uint32x4_t __rev0_569; __rev0_569 = __builtin_shufflevector(__s0_569, __s0_569, 3, 2, 1, 0); \56239 uint32x4_t __rev0_661; __rev0_661 = __builtin_shufflevector(__s0_661, __s0_661, 3, 2, 1, 0); \
54884 uint32x4_t __rev1_569; __rev1_569 = __builtin_shufflevector(__s1_569, __s1_569, 3, 2, 1, 0); \56240 uint32x4_t __rev1_661; __rev1_661 = __builtin_shufflevector(__s1_661, __s1_661, 3, 2, 1, 0); \
54885 uint64x2_t __ret_569; \56241 uint64x2_t __ret_661; \
54886 __ret_569 = __noswap_vmull_u32(__noswap_vget_high_u32(__rev0_569), __noswap_splat_laneq_u32(__rev1_569, __p2_569)); \56242 __ret_661 = __noswap_vmull_u32(__noswap_vget_high_u32(__rev0_661), __noswap_splat_laneq_u32(__rev1_661, __p2_661)); \
54887 __ret_569 = __builtin_shufflevector(__ret_569, __ret_569, 1, 0); \56243 __ret_661 = __builtin_shufflevector(__ret_661, __ret_661, 1, 0); \
54888 __ret_569; \56244 __ret_661; \
54889})56245})
54890#endif56246#endif
5489156247
54892#ifdef __LITTLE_ENDIAN__56248#ifdef __LITTLE_ENDIAN__
54893#define vmull_high_laneq_u16(__p0_570, __p1_570, __p2_570) __extension__ ({ \56249#define vmull_high_laneq_u16(__p0_662, __p1_662, __p2_662) __extension__ ({ \
54894 uint16x8_t __s0_570 = __p0_570; \56250 uint16x8_t __s0_662 = __p0_662; \
54895 uint16x8_t __s1_570 = __p1_570; \56251 uint16x8_t __s1_662 = __p1_662; \
54896 uint32x4_t __ret_570; \56252 uint32x4_t __ret_662; \
54897 __ret_570 = vmull_u16(vget_high_u16(__s0_570), splat_laneq_u16(__s1_570, __p2_570)); \56253 __ret_662 = vmull_u16(vget_high_u16(__s0_662), splat_laneq_u16(__s1_662, __p2_662)); \
54898 __ret_570; \56254 __ret_662; \
54899})56255})
54900#else56256#else
54901#define vmull_high_laneq_u16(__p0_571, __p1_571, __p2_571) __extension__ ({ \56257#define vmull_high_laneq_u16(__p0_663, __p1_663, __p2_663) __extension__ ({ \
54902 uint16x8_t __s0_571 = __p0_571; \56258 uint16x8_t __s0_663 = __p0_663; \
54903 uint16x8_t __s1_571 = __p1_571; \56259 uint16x8_t __s1_663 = __p1_663; \
54904 uint16x8_t __rev0_571; __rev0_571 = __builtin_shufflevector(__s0_571, __s0_571, 7, 6, 5, 4, 3, 2, 1, 0); \56260 uint16x8_t __rev0_663; __rev0_663 = __builtin_shufflevector(__s0_663, __s0_663, 7, 6, 5, 4, 3, 2, 1, 0); \
54905 uint16x8_t __rev1_571; __rev1_571 = __builtin_shufflevector(__s1_571, __s1_571, 7, 6, 5, 4, 3, 2, 1, 0); \56261 uint16x8_t __rev1_663; __rev1_663 = __builtin_shufflevector(__s1_663, __s1_663, 7, 6, 5, 4, 3, 2, 1, 0); \
54906 uint32x4_t __ret_571; \56262 uint32x4_t __ret_663; \
54907 __ret_571 = __noswap_vmull_u16(__noswap_vget_high_u16(__rev0_571), __noswap_splat_laneq_u16(__rev1_571, __p2_571)); \56263 __ret_663 = __noswap_vmull_u16(__noswap_vget_high_u16(__rev0_663), __noswap_splat_laneq_u16(__rev1_663, __p2_663)); \
54908 __ret_571 = __builtin_shufflevector(__ret_571, __ret_571, 3, 2, 1, 0); \56264 __ret_663 = __builtin_shufflevector(__ret_663, __ret_663, 3, 2, 1, 0); \
54909 __ret_571; \56265 __ret_663; \
54910})56266})
54911#endif56267#endif
5491256268
54913#ifdef __LITTLE_ENDIAN__56269#ifdef __LITTLE_ENDIAN__
54914#define vmull_high_laneq_s32(__p0_572, __p1_572, __p2_572) __extension__ ({ \56270#define vmull_high_laneq_s32(__p0_664, __p1_664, __p2_664) __extension__ ({ \
54915 int32x4_t __s0_572 = __p0_572; \56271 int32x4_t __s0_664 = __p0_664; \
54916 int32x4_t __s1_572 = __p1_572; \56272 int32x4_t __s1_664 = __p1_664; \
54917 int64x2_t __ret_572; \56273 int64x2_t __ret_664; \
54918 __ret_572 = vmull_s32(vget_high_s32(__s0_572), splat_laneq_s32(__s1_572, __p2_572)); \56274 __ret_664 = vmull_s32(vget_high_s32(__s0_664), splat_laneq_s32(__s1_664, __p2_664)); \
54919 __ret_572; \56275 __ret_664; \
54920})56276})
54921#else56277#else
54922#define vmull_high_laneq_s32(__p0_573, __p1_573, __p2_573) __extension__ ({ \56278#define vmull_high_laneq_s32(__p0_665, __p1_665, __p2_665) __extension__ ({ \
54923 int32x4_t __s0_573 = __p0_573; \56279 int32x4_t __s0_665 = __p0_665; \
54924 int32x4_t __s1_573 = __p1_573; \56280 int32x4_t __s1_665 = __p1_665; \
54925 int32x4_t __rev0_573; __rev0_573 = __builtin_shufflevector(__s0_573, __s0_573, 3, 2, 1, 0); \56281 int32x4_t __rev0_665; __rev0_665 = __builtin_shufflevector(__s0_665, __s0_665, 3, 2, 1, 0); \
54926 int32x4_t __rev1_573; __rev1_573 = __builtin_shufflevector(__s1_573, __s1_573, 3, 2, 1, 0); \56282 int32x4_t __rev1_665; __rev1_665 = __builtin_shufflevector(__s1_665, __s1_665, 3, 2, 1, 0); \
54927 int64x2_t __ret_573; \56283 int64x2_t __ret_665; \
54928 __ret_573 = __noswap_vmull_s32(__noswap_vget_high_s32(__rev0_573), __noswap_splat_laneq_s32(__rev1_573, __p2_573)); \56284 __ret_665 = __noswap_vmull_s32(__noswap_vget_high_s32(__rev0_665), __noswap_splat_laneq_s32(__rev1_665, __p2_665)); \
54929 __ret_573 = __builtin_shufflevector(__ret_573, __ret_573, 1, 0); \56285 __ret_665 = __builtin_shufflevector(__ret_665, __ret_665, 1, 0); \
54930 __ret_573; \56286 __ret_665; \
54931})56287})
54932#endif56288#endif
5493356289
54934#ifdef __LITTLE_ENDIAN__56290#ifdef __LITTLE_ENDIAN__
54935#define vmull_high_laneq_s16(__p0_574, __p1_574, __p2_574) __extension__ ({ \56291#define vmull_high_laneq_s16(__p0_666, __p1_666, __p2_666) __extension__ ({ \
54936 int16x8_t __s0_574 = __p0_574; \56292 int16x8_t __s0_666 = __p0_666; \
54937 int16x8_t __s1_574 = __p1_574; \56293 int16x8_t __s1_666 = __p1_666; \
54938 int32x4_t __ret_574; \56294 int32x4_t __ret_666; \
54939 __ret_574 = vmull_s16(vget_high_s16(__s0_574), splat_laneq_s16(__s1_574, __p2_574)); \56295 __ret_666 = vmull_s16(vget_high_s16(__s0_666), splat_laneq_s16(__s1_666, __p2_666)); \
54940 __ret_574; \56296 __ret_666; \
54941})56297})
54942#else56298#else
54943#define vmull_high_laneq_s16(__p0_575, __p1_575, __p2_575) __extension__ ({ \56299#define vmull_high_laneq_s16(__p0_667, __p1_667, __p2_667) __extension__ ({ \
54944 int16x8_t __s0_575 = __p0_575; \56300 int16x8_t __s0_667 = __p0_667; \
54945 int16x8_t __s1_575 = __p1_575; \56301 int16x8_t __s1_667 = __p1_667; \
54946 int16x8_t __rev0_575; __rev0_575 = __builtin_shufflevector(__s0_575, __s0_575, 7, 6, 5, 4, 3, 2, 1, 0); \56302 int16x8_t __rev0_667; __rev0_667 = __builtin_shufflevector(__s0_667, __s0_667, 7, 6, 5, 4, 3, 2, 1, 0); \
54947 int16x8_t __rev1_575; __rev1_575 = __builtin_shufflevector(__s1_575, __s1_575, 7, 6, 5, 4, 3, 2, 1, 0); \56303 int16x8_t __rev1_667; __rev1_667 = __builtin_shufflevector(__s1_667, __s1_667, 7, 6, 5, 4, 3, 2, 1, 0); \
54948 int32x4_t __ret_575; \56304 int32x4_t __ret_667; \
54949 __ret_575 = __noswap_vmull_s16(__noswap_vget_high_s16(__rev0_575), __noswap_splat_laneq_s16(__rev1_575, __p2_575)); \56305 __ret_667 = __noswap_vmull_s16(__noswap_vget_high_s16(__rev0_667), __noswap_splat_laneq_s16(__rev1_667, __p2_667)); \
54950 __ret_575 = __builtin_shufflevector(__ret_575, __ret_575, 3, 2, 1, 0); \56306 __ret_667 = __builtin_shufflevector(__ret_667, __ret_667, 3, 2, 1, 0); \
54951 __ret_575; \56307 __ret_667; \
54952})56308})
54953#endif56309#endif
5495456310
...@@ -55017,86 +56373,86 @@ __ai int32x4_t vmull_high_n_s16(int16x8_t __p0, int16_t __p1) {...@@ -55017,86 +56373,86 @@ __ai int32x4_t vmull_high_n_s16(int16x8_t __p0, int16_t __p1) {
55017#endif56373#endif
5501856374
55019#ifdef __LITTLE_ENDIAN__56375#ifdef __LITTLE_ENDIAN__
55020#define vmull_laneq_u32(__p0_576, __p1_576, __p2_576) __extension__ ({ \56376#define vmull_laneq_u32(__p0_668, __p1_668, __p2_668) __extension__ ({ \
55021 uint32x2_t __s0_576 = __p0_576; \56377 uint32x2_t __s0_668 = __p0_668; \
55022 uint32x4_t __s1_576 = __p1_576; \56378 uint32x4_t __s1_668 = __p1_668; \
55023 uint64x2_t __ret_576; \56379 uint64x2_t __ret_668; \
55024 __ret_576 = vmull_u32(__s0_576, splat_laneq_u32(__s1_576, __p2_576)); \56380 __ret_668 = vmull_u32(__s0_668, splat_laneq_u32(__s1_668, __p2_668)); \
55025 __ret_576; \56381 __ret_668; \
55026})56382})
55027#else56383#else
55028#define vmull_laneq_u32(__p0_577, __p1_577, __p2_577) __extension__ ({ \56384#define vmull_laneq_u32(__p0_669, __p1_669, __p2_669) __extension__ ({ \
55029 uint32x2_t __s0_577 = __p0_577; \56385 uint32x2_t __s0_669 = __p0_669; \
55030 uint32x4_t __s1_577 = __p1_577; \56386 uint32x4_t __s1_669 = __p1_669; \
55031 uint32x2_t __rev0_577; __rev0_577 = __builtin_shufflevector(__s0_577, __s0_577, 1, 0); \56387 uint32x2_t __rev0_669; __rev0_669 = __builtin_shufflevector(__s0_669, __s0_669, 1, 0); \
55032 uint32x4_t __rev1_577; __rev1_577 = __builtin_shufflevector(__s1_577, __s1_577, 3, 2, 1, 0); \56388 uint32x4_t __rev1_669; __rev1_669 = __builtin_shufflevector(__s1_669, __s1_669, 3, 2, 1, 0); \
55033 uint64x2_t __ret_577; \56389 uint64x2_t __ret_669; \
55034 __ret_577 = __noswap_vmull_u32(__rev0_577, __noswap_splat_laneq_u32(__rev1_577, __p2_577)); \56390 __ret_669 = __noswap_vmull_u32(__rev0_669, __noswap_splat_laneq_u32(__rev1_669, __p2_669)); \
55035 __ret_577 = __builtin_shufflevector(__ret_577, __ret_577, 1, 0); \56391 __ret_669 = __builtin_shufflevector(__ret_669, __ret_669, 1, 0); \
55036 __ret_577; \56392 __ret_669; \
55037})56393})
55038#endif56394#endif
5503956395
55040#ifdef __LITTLE_ENDIAN__56396#ifdef __LITTLE_ENDIAN__
55041#define vmull_laneq_u16(__p0_578, __p1_578, __p2_578) __extension__ ({ \56397#define vmull_laneq_u16(__p0_670, __p1_670, __p2_670) __extension__ ({ \
55042 uint16x4_t __s0_578 = __p0_578; \56398 uint16x4_t __s0_670 = __p0_670; \
55043 uint16x8_t __s1_578 = __p1_578; \56399 uint16x8_t __s1_670 = __p1_670; \
55044 uint32x4_t __ret_578; \56400 uint32x4_t __ret_670; \
55045 __ret_578 = vmull_u16(__s0_578, splat_laneq_u16(__s1_578, __p2_578)); \56401 __ret_670 = vmull_u16(__s0_670, splat_laneq_u16(__s1_670, __p2_670)); \
55046 __ret_578; \56402 __ret_670; \
55047})56403})
55048#else56404#else
55049#define vmull_laneq_u16(__p0_579, __p1_579, __p2_579) __extension__ ({ \56405#define vmull_laneq_u16(__p0_671, __p1_671, __p2_671) __extension__ ({ \
55050 uint16x4_t __s0_579 = __p0_579; \56406 uint16x4_t __s0_671 = __p0_671; \
55051 uint16x8_t __s1_579 = __p1_579; \56407 uint16x8_t __s1_671 = __p1_671; \
55052 uint16x4_t __rev0_579; __rev0_579 = __builtin_shufflevector(__s0_579, __s0_579, 3, 2, 1, 0); \56408 uint16x4_t __rev0_671; __rev0_671 = __builtin_shufflevector(__s0_671, __s0_671, 3, 2, 1, 0); \
55053 uint16x8_t __rev1_579; __rev1_579 = __builtin_shufflevector(__s1_579, __s1_579, 7, 6, 5, 4, 3, 2, 1, 0); \56409 uint16x8_t __rev1_671; __rev1_671 = __builtin_shufflevector(__s1_671, __s1_671, 7, 6, 5, 4, 3, 2, 1, 0); \
55054 uint32x4_t __ret_579; \56410 uint32x4_t __ret_671; \
55055 __ret_579 = __noswap_vmull_u16(__rev0_579, __noswap_splat_laneq_u16(__rev1_579, __p2_579)); \56411 __ret_671 = __noswap_vmull_u16(__rev0_671, __noswap_splat_laneq_u16(__rev1_671, __p2_671)); \
55056 __ret_579 = __builtin_shufflevector(__ret_579, __ret_579, 3, 2, 1, 0); \56412 __ret_671 = __builtin_shufflevector(__ret_671, __ret_671, 3, 2, 1, 0); \
55057 __ret_579; \56413 __ret_671; \
55058})56414})
55059#endif56415#endif
5506056416
55061#ifdef __LITTLE_ENDIAN__56417#ifdef __LITTLE_ENDIAN__
55062#define vmull_laneq_s32(__p0_580, __p1_580, __p2_580) __extension__ ({ \56418#define vmull_laneq_s32(__p0_672, __p1_672, __p2_672) __extension__ ({ \
55063 int32x2_t __s0_580 = __p0_580; \56419 int32x2_t __s0_672 = __p0_672; \
55064 int32x4_t __s1_580 = __p1_580; \56420 int32x4_t __s1_672 = __p1_672; \
55065 int64x2_t __ret_580; \56421 int64x2_t __ret_672; \
55066 __ret_580 = vmull_s32(__s0_580, splat_laneq_s32(__s1_580, __p2_580)); \56422 __ret_672 = vmull_s32(__s0_672, splat_laneq_s32(__s1_672, __p2_672)); \
55067 __ret_580; \56423 __ret_672; \
55068})56424})
55069#else56425#else
55070#define vmull_laneq_s32(__p0_581, __p1_581, __p2_581) __extension__ ({ \56426#define vmull_laneq_s32(__p0_673, __p1_673, __p2_673) __extension__ ({ \
55071 int32x2_t __s0_581 = __p0_581; \56427 int32x2_t __s0_673 = __p0_673; \
55072 int32x4_t __s1_581 = __p1_581; \56428 int32x4_t __s1_673 = __p1_673; \
55073 int32x2_t __rev0_581; __rev0_581 = __builtin_shufflevector(__s0_581, __s0_581, 1, 0); \56429 int32x2_t __rev0_673; __rev0_673 = __builtin_shufflevector(__s0_673, __s0_673, 1, 0); \
55074 int32x4_t __rev1_581; __rev1_581 = __builtin_shufflevector(__s1_581, __s1_581, 3, 2, 1, 0); \56430 int32x4_t __rev1_673; __rev1_673 = __builtin_shufflevector(__s1_673, __s1_673, 3, 2, 1, 0); \
55075 int64x2_t __ret_581; \56431 int64x2_t __ret_673; \
55076 __ret_581 = __noswap_vmull_s32(__rev0_581, __noswap_splat_laneq_s32(__rev1_581, __p2_581)); \56432 __ret_673 = __noswap_vmull_s32(__rev0_673, __noswap_splat_laneq_s32(__rev1_673, __p2_673)); \
55077 __ret_581 = __builtin_shufflevector(__ret_581, __ret_581, 1, 0); \56433 __ret_673 = __builtin_shufflevector(__ret_673, __ret_673, 1, 0); \
55078 __ret_581; \56434 __ret_673; \
55079})56435})
55080#endif56436#endif
5508156437
55082#ifdef __LITTLE_ENDIAN__56438#ifdef __LITTLE_ENDIAN__
55083#define vmull_laneq_s16(__p0_582, __p1_582, __p2_582) __extension__ ({ \56439#define vmull_laneq_s16(__p0_674, __p1_674, __p2_674) __extension__ ({ \
55084 int16x4_t __s0_582 = __p0_582; \56440 int16x4_t __s0_674 = __p0_674; \
55085 int16x8_t __s1_582 = __p1_582; \56441 int16x8_t __s1_674 = __p1_674; \
55086 int32x4_t __ret_582; \56442 int32x4_t __ret_674; \
55087 __ret_582 = vmull_s16(__s0_582, splat_laneq_s16(__s1_582, __p2_582)); \56443 __ret_674 = vmull_s16(__s0_674, splat_laneq_s16(__s1_674, __p2_674)); \
55088 __ret_582; \56444 __ret_674; \
55089})56445})
55090#else56446#else
55091#define vmull_laneq_s16(__p0_583, __p1_583, __p2_583) __extension__ ({ \56447#define vmull_laneq_s16(__p0_675, __p1_675, __p2_675) __extension__ ({ \
55092 int16x4_t __s0_583 = __p0_583; \56448 int16x4_t __s0_675 = __p0_675; \
55093 int16x8_t __s1_583 = __p1_583; \56449 int16x8_t __s1_675 = __p1_675; \
55094 int16x4_t __rev0_583; __rev0_583 = __builtin_shufflevector(__s0_583, __s0_583, 3, 2, 1, 0); \56450 int16x4_t __rev0_675; __rev0_675 = __builtin_shufflevector(__s0_675, __s0_675, 3, 2, 1, 0); \
55095 int16x8_t __rev1_583; __rev1_583 = __builtin_shufflevector(__s1_583, __s1_583, 7, 6, 5, 4, 3, 2, 1, 0); \56451 int16x8_t __rev1_675; __rev1_675 = __builtin_shufflevector(__s1_675, __s1_675, 7, 6, 5, 4, 3, 2, 1, 0); \
55096 int32x4_t __ret_583; \56452 int32x4_t __ret_675; \
55097 __ret_583 = __noswap_vmull_s16(__rev0_583, __noswap_splat_laneq_s16(__rev1_583, __p2_583)); \56453 __ret_675 = __noswap_vmull_s16(__rev0_675, __noswap_splat_laneq_s16(__rev1_675, __p2_675)); \
55098 __ret_583 = __builtin_shufflevector(__ret_583, __ret_583, 3, 2, 1, 0); \56454 __ret_675 = __builtin_shufflevector(__ret_675, __ret_675, 3, 2, 1, 0); \
55099 __ret_583; \56455 __ret_675; \
55100})56456})
55101#endif56457#endif
5510256458
...@@ -55181,192 +56537,192 @@ __ai float32_t vmulxs_f32(float32_t __p0, float32_t __p1) {...@@ -55181,192 +56537,192 @@ __ai float32_t vmulxs_f32(float32_t __p0, float32_t __p1) {
55181 __ret = (float32_t) __builtin_neon_vmulxs_f32(__p0, __p1);56537 __ret = (float32_t) __builtin_neon_vmulxs_f32(__p0, __p1);
55182 return __ret;56538 return __ret;
55183}56539}
55184#define vmulxd_lane_f64(__p0_584, __p1_584, __p2_584) __extension__ ({ \56540#define vmulxd_lane_f64(__p0_676, __p1_676, __p2_676) __extension__ ({ \
55185 float64_t __s0_584 = __p0_584; \56541 float64_t __s0_676 = __p0_676; \
55186 float64x1_t __s1_584 = __p1_584; \56542 float64x1_t __s1_676 = __p1_676; \
55187 float64_t __ret_584; \56543 float64_t __ret_676; \
55188 __ret_584 = vmulxd_f64(__s0_584, vget_lane_f64(__s1_584, __p2_584)); \56544 __ret_676 = vmulxd_f64(__s0_676, vget_lane_f64(__s1_676, __p2_676)); \
55189 __ret_584; \56545 __ret_676; \
55190})56546})
55191#ifdef __LITTLE_ENDIAN__56547#ifdef __LITTLE_ENDIAN__
55192#define vmulxs_lane_f32(__p0_585, __p1_585, __p2_585) __extension__ ({ \56548#define vmulxs_lane_f32(__p0_677, __p1_677, __p2_677) __extension__ ({ \
55193 float32_t __s0_585 = __p0_585; \56549 float32_t __s0_677 = __p0_677; \
55194 float32x2_t __s1_585 = __p1_585; \56550 float32x2_t __s1_677 = __p1_677; \
55195 float32_t __ret_585; \56551 float32_t __ret_677; \
55196 __ret_585 = vmulxs_f32(__s0_585, vget_lane_f32(__s1_585, __p2_585)); \56552 __ret_677 = vmulxs_f32(__s0_677, vget_lane_f32(__s1_677, __p2_677)); \
55197 __ret_585; \56553 __ret_677; \
55198})56554})
55199#else56555#else
55200#define vmulxs_lane_f32(__p0_586, __p1_586, __p2_586) __extension__ ({ \56556#define vmulxs_lane_f32(__p0_678, __p1_678, __p2_678) __extension__ ({ \
55201 float32_t __s0_586 = __p0_586; \56557 float32_t __s0_678 = __p0_678; \
55202 float32x2_t __s1_586 = __p1_586; \56558 float32x2_t __s1_678 = __p1_678; \
55203 float32x2_t __rev1_586; __rev1_586 = __builtin_shufflevector(__s1_586, __s1_586, 1, 0); \56559 float32x2_t __rev1_678; __rev1_678 = __builtin_shufflevector(__s1_678, __s1_678, 1, 0); \
55204 float32_t __ret_586; \56560 float32_t __ret_678; \
55205 __ret_586 = vmulxs_f32(__s0_586, __noswap_vget_lane_f32(__rev1_586, __p2_586)); \56561 __ret_678 = vmulxs_f32(__s0_678, __noswap_vget_lane_f32(__rev1_678, __p2_678)); \
55206 __ret_586; \56562 __ret_678; \
55207})56563})
55208#endif56564#endif
5520956565
55210#ifdef __LITTLE_ENDIAN__56566#ifdef __LITTLE_ENDIAN__
55211#define vmulxq_lane_f64(__p0_587, __p1_587, __p2_587) __extension__ ({ \56567#define vmulxq_lane_f64(__p0_679, __p1_679, __p2_679) __extension__ ({ \
55212 float64x2_t __s0_587 = __p0_587; \56568 float64x2_t __s0_679 = __p0_679; \
55213 float64x1_t __s1_587 = __p1_587; \56569 float64x1_t __s1_679 = __p1_679; \
55214 float64x2_t __ret_587; \56570 float64x2_t __ret_679; \
55215 __ret_587 = vmulxq_f64(__s0_587, splatq_lane_f64(__s1_587, __p2_587)); \56571 __ret_679 = vmulxq_f64(__s0_679, splatq_lane_f64(__s1_679, __p2_679)); \
55216 __ret_587; \56572 __ret_679; \
55217})56573})
55218#else56574#else
55219#define vmulxq_lane_f64(__p0_588, __p1_588, __p2_588) __extension__ ({ \56575#define vmulxq_lane_f64(__p0_680, __p1_680, __p2_680) __extension__ ({ \
55220 float64x2_t __s0_588 = __p0_588; \56576 float64x2_t __s0_680 = __p0_680; \
55221 float64x1_t __s1_588 = __p1_588; \56577 float64x1_t __s1_680 = __p1_680; \
55222 float64x2_t __rev0_588; __rev0_588 = __builtin_shufflevector(__s0_588, __s0_588, 1, 0); \56578 float64x2_t __rev0_680; __rev0_680 = __builtin_shufflevector(__s0_680, __s0_680, 1, 0); \
55223 float64x2_t __ret_588; \56579 float64x2_t __ret_680; \
55224 __ret_588 = __noswap_vmulxq_f64(__rev0_588, __noswap_splatq_lane_f64(__s1_588, __p2_588)); \56580 __ret_680 = __noswap_vmulxq_f64(__rev0_680, __noswap_splatq_lane_f64(__s1_680, __p2_680)); \
55225 __ret_588 = __builtin_shufflevector(__ret_588, __ret_588, 1, 0); \56581 __ret_680 = __builtin_shufflevector(__ret_680, __ret_680, 1, 0); \
55226 __ret_588; \56582 __ret_680; \
55227})56583})
55228#endif56584#endif
5522956585
55230#ifdef __LITTLE_ENDIAN__56586#ifdef __LITTLE_ENDIAN__
55231#define vmulxq_lane_f32(__p0_589, __p1_589, __p2_589) __extension__ ({ \56587#define vmulxq_lane_f32(__p0_681, __p1_681, __p2_681) __extension__ ({ \
55232 float32x4_t __s0_589 = __p0_589; \56588 float32x4_t __s0_681 = __p0_681; \
55233 float32x2_t __s1_589 = __p1_589; \56589 float32x2_t __s1_681 = __p1_681; \
55234 float32x4_t __ret_589; \56590 float32x4_t __ret_681; \
55235 __ret_589 = vmulxq_f32(__s0_589, splatq_lane_f32(__s1_589, __p2_589)); \56591 __ret_681 = vmulxq_f32(__s0_681, splatq_lane_f32(__s1_681, __p2_681)); \
55236 __ret_589; \56592 __ret_681; \
55237})56593})
55238#else56594#else
55239#define vmulxq_lane_f32(__p0_590, __p1_590, __p2_590) __extension__ ({ \56595#define vmulxq_lane_f32(__p0_682, __p1_682, __p2_682) __extension__ ({ \
55240 float32x4_t __s0_590 = __p0_590; \56596 float32x4_t __s0_682 = __p0_682; \
55241 float32x2_t __s1_590 = __p1_590; \56597 float32x2_t __s1_682 = __p1_682; \
55242 float32x4_t __rev0_590; __rev0_590 = __builtin_shufflevector(__s0_590, __s0_590, 3, 2, 1, 0); \56598 float32x4_t __rev0_682; __rev0_682 = __builtin_shufflevector(__s0_682, __s0_682, 3, 2, 1, 0); \
55243 float32x2_t __rev1_590; __rev1_590 = __builtin_shufflevector(__s1_590, __s1_590, 1, 0); \56599 float32x2_t __rev1_682; __rev1_682 = __builtin_shufflevector(__s1_682, __s1_682, 1, 0); \
55244 float32x4_t __ret_590; \56600 float32x4_t __ret_682; \
55245 __ret_590 = __noswap_vmulxq_f32(__rev0_590, __noswap_splatq_lane_f32(__rev1_590, __p2_590)); \56601 __ret_682 = __noswap_vmulxq_f32(__rev0_682, __noswap_splatq_lane_f32(__rev1_682, __p2_682)); \
55246 __ret_590 = __builtin_shufflevector(__ret_590, __ret_590, 3, 2, 1, 0); \56602 __ret_682 = __builtin_shufflevector(__ret_682, __ret_682, 3, 2, 1, 0); \
55247 __ret_590; \56603 __ret_682; \
55248})56604})
55249#endif56605#endif
5525056606
55251#ifdef __LITTLE_ENDIAN__56607#ifdef __LITTLE_ENDIAN__
55252#define vmulx_lane_f32(__p0_591, __p1_591, __p2_591) __extension__ ({ \56608#define vmulx_lane_f32(__p0_683, __p1_683, __p2_683) __extension__ ({ \
55253 float32x2_t __s0_591 = __p0_591; \56609 float32x2_t __s0_683 = __p0_683; \
55254 float32x2_t __s1_591 = __p1_591; \56610 float32x2_t __s1_683 = __p1_683; \
55255 float32x2_t __ret_591; \56611 float32x2_t __ret_683; \
55256 __ret_591 = vmulx_f32(__s0_591, splat_lane_f32(__s1_591, __p2_591)); \56612 __ret_683 = vmulx_f32(__s0_683, splat_lane_f32(__s1_683, __p2_683)); \
55257 __ret_591; \56613 __ret_683; \
55258})56614})
55259#else56615#else
55260#define vmulx_lane_f32(__p0_592, __p1_592, __p2_592) __extension__ ({ \56616#define vmulx_lane_f32(__p0_684, __p1_684, __p2_684) __extension__ ({ \
55261 float32x2_t __s0_592 = __p0_592; \56617 float32x2_t __s0_684 = __p0_684; \
55262 float32x2_t __s1_592 = __p1_592; \56618 float32x2_t __s1_684 = __p1_684; \
55263 float32x2_t __rev0_592; __rev0_592 = __builtin_shufflevector(__s0_592, __s0_592, 1, 0); \56619 float32x2_t __rev0_684; __rev0_684 = __builtin_shufflevector(__s0_684, __s0_684, 1, 0); \
55264 float32x2_t __rev1_592; __rev1_592 = __builtin_shufflevector(__s1_592, __s1_592, 1, 0); \56620 float32x2_t __rev1_684; __rev1_684 = __builtin_shufflevector(__s1_684, __s1_684, 1, 0); \
55265 float32x2_t __ret_592; \56621 float32x2_t __ret_684; \
55266 __ret_592 = __noswap_vmulx_f32(__rev0_592, __noswap_splat_lane_f32(__rev1_592, __p2_592)); \56622 __ret_684 = __noswap_vmulx_f32(__rev0_684, __noswap_splat_lane_f32(__rev1_684, __p2_684)); \
55267 __ret_592 = __builtin_shufflevector(__ret_592, __ret_592, 1, 0); \56623 __ret_684 = __builtin_shufflevector(__ret_684, __ret_684, 1, 0); \
55268 __ret_592; \56624 __ret_684; \
55269})56625})
55270#endif56626#endif
5527156627
55272#ifdef __LITTLE_ENDIAN__56628#ifdef __LITTLE_ENDIAN__
55273#define vmulxd_laneq_f64(__p0_593, __p1_593, __p2_593) __extension__ ({ \56629#define vmulxd_laneq_f64(__p0_685, __p1_685, __p2_685) __extension__ ({ \
55274 float64_t __s0_593 = __p0_593; \56630 float64_t __s0_685 = __p0_685; \
55275 float64x2_t __s1_593 = __p1_593; \56631 float64x2_t __s1_685 = __p1_685; \
55276 float64_t __ret_593; \56632 float64_t __ret_685; \
55277 __ret_593 = vmulxd_f64(__s0_593, vgetq_lane_f64(__s1_593, __p2_593)); \56633 __ret_685 = vmulxd_f64(__s0_685, vgetq_lane_f64(__s1_685, __p2_685)); \
55278 __ret_593; \56634 __ret_685; \
55279})56635})
55280#else56636#else
55281#define vmulxd_laneq_f64(__p0_594, __p1_594, __p2_594) __extension__ ({ \56637#define vmulxd_laneq_f64(__p0_686, __p1_686, __p2_686) __extension__ ({ \
55282 float64_t __s0_594 = __p0_594; \56638 float64_t __s0_686 = __p0_686; \
55283 float64x2_t __s1_594 = __p1_594; \56639 float64x2_t __s1_686 = __p1_686; \
55284 float64x2_t __rev1_594; __rev1_594 = __builtin_shufflevector(__s1_594, __s1_594, 1, 0); \56640 float64x2_t __rev1_686; __rev1_686 = __builtin_shufflevector(__s1_686, __s1_686, 1, 0); \
55285 float64_t __ret_594; \56641 float64_t __ret_686; \
55286 __ret_594 = vmulxd_f64(__s0_594, __noswap_vgetq_lane_f64(__rev1_594, __p2_594)); \56642 __ret_686 = vmulxd_f64(__s0_686, __noswap_vgetq_lane_f64(__rev1_686, __p2_686)); \
55287 __ret_594; \56643 __ret_686; \
55288})56644})
55289#endif56645#endif
5529056646
55291#ifdef __LITTLE_ENDIAN__56647#ifdef __LITTLE_ENDIAN__
55292#define vmulxs_laneq_f32(__p0_595, __p1_595, __p2_595) __extension__ ({ \56648#define vmulxs_laneq_f32(__p0_687, __p1_687, __p2_687) __extension__ ({ \
55293 float32_t __s0_595 = __p0_595; \56649 float32_t __s0_687 = __p0_687; \
55294 float32x4_t __s1_595 = __p1_595; \56650 float32x4_t __s1_687 = __p1_687; \
55295 float32_t __ret_595; \56651 float32_t __ret_687; \
55296 __ret_595 = vmulxs_f32(__s0_595, vgetq_lane_f32(__s1_595, __p2_595)); \56652 __ret_687 = vmulxs_f32(__s0_687, vgetq_lane_f32(__s1_687, __p2_687)); \
55297 __ret_595; \56653 __ret_687; \
55298})56654})
55299#else56655#else
55300#define vmulxs_laneq_f32(__p0_596, __p1_596, __p2_596) __extension__ ({ \56656#define vmulxs_laneq_f32(__p0_688, __p1_688, __p2_688) __extension__ ({ \
55301 float32_t __s0_596 = __p0_596; \56657 float32_t __s0_688 = __p0_688; \
55302 float32x4_t __s1_596 = __p1_596; \56658 float32x4_t __s1_688 = __p1_688; \
55303 float32x4_t __rev1_596; __rev1_596 = __builtin_shufflevector(__s1_596, __s1_596, 3, 2, 1, 0); \56659 float32x4_t __rev1_688; __rev1_688 = __builtin_shufflevector(__s1_688, __s1_688, 3, 2, 1, 0); \
55304 float32_t __ret_596; \56660 float32_t __ret_688; \
55305 __ret_596 = vmulxs_f32(__s0_596, __noswap_vgetq_lane_f32(__rev1_596, __p2_596)); \56661 __ret_688 = vmulxs_f32(__s0_688, __noswap_vgetq_lane_f32(__rev1_688, __p2_688)); \
55306 __ret_596; \56662 __ret_688; \
55307})56663})
55308#endif56664#endif
5530956665
55310#ifdef __LITTLE_ENDIAN__56666#ifdef __LITTLE_ENDIAN__
55311#define vmulxq_laneq_f64(__p0_597, __p1_597, __p2_597) __extension__ ({ \56667#define vmulxq_laneq_f64(__p0_689, __p1_689, __p2_689) __extension__ ({ \
55312 float64x2_t __s0_597 = __p0_597; \56668 float64x2_t __s0_689 = __p0_689; \
55313 float64x2_t __s1_597 = __p1_597; \56669 float64x2_t __s1_689 = __p1_689; \
55314 float64x2_t __ret_597; \56670 float64x2_t __ret_689; \
55315 __ret_597 = vmulxq_f64(__s0_597, splatq_laneq_f64(__s1_597, __p2_597)); \56671 __ret_689 = vmulxq_f64(__s0_689, splatq_laneq_f64(__s1_689, __p2_689)); \
55316 __ret_597; \56672 __ret_689; \
55317})56673})
55318#else56674#else
55319#define vmulxq_laneq_f64(__p0_598, __p1_598, __p2_598) __extension__ ({ \56675#define vmulxq_laneq_f64(__p0_690, __p1_690, __p2_690) __extension__ ({ \
55320 float64x2_t __s0_598 = __p0_598; \56676 float64x2_t __s0_690 = __p0_690; \
55321 float64x2_t __s1_598 = __p1_598; \56677 float64x2_t __s1_690 = __p1_690; \
55322 float64x2_t __rev0_598; __rev0_598 = __builtin_shufflevector(__s0_598, __s0_598, 1, 0); \56678 float64x2_t __rev0_690; __rev0_690 = __builtin_shufflevector(__s0_690, __s0_690, 1, 0); \
55323 float64x2_t __rev1_598; __rev1_598 = __builtin_shufflevector(__s1_598, __s1_598, 1, 0); \56679 float64x2_t __rev1_690; __rev1_690 = __builtin_shufflevector(__s1_690, __s1_690, 1, 0); \
55324 float64x2_t __ret_598; \56680 float64x2_t __ret_690; \
55325 __ret_598 = __noswap_vmulxq_f64(__rev0_598, __noswap_splatq_laneq_f64(__rev1_598, __p2_598)); \56681 __ret_690 = __noswap_vmulxq_f64(__rev0_690, __noswap_splatq_laneq_f64(__rev1_690, __p2_690)); \
55326 __ret_598 = __builtin_shufflevector(__ret_598, __ret_598, 1, 0); \56682 __ret_690 = __builtin_shufflevector(__ret_690, __ret_690, 1, 0); \
55327 __ret_598; \56683 __ret_690; \
55328})56684})
55329#endif56685#endif
5533056686
55331#ifdef __LITTLE_ENDIAN__56687#ifdef __LITTLE_ENDIAN__
55332#define vmulxq_laneq_f32(__p0_599, __p1_599, __p2_599) __extension__ ({ \56688#define vmulxq_laneq_f32(__p0_691, __p1_691, __p2_691) __extension__ ({ \
55333 float32x4_t __s0_599 = __p0_599; \56689 float32x4_t __s0_691 = __p0_691; \
55334 float32x4_t __s1_599 = __p1_599; \56690 float32x4_t __s1_691 = __p1_691; \
55335 float32x4_t __ret_599; \56691 float32x4_t __ret_691; \
55336 __ret_599 = vmulxq_f32(__s0_599, splatq_laneq_f32(__s1_599, __p2_599)); \56692 __ret_691 = vmulxq_f32(__s0_691, splatq_laneq_f32(__s1_691, __p2_691)); \
55337 __ret_599; \56693 __ret_691; \
55338})56694})
55339#else56695#else
55340#define vmulxq_laneq_f32(__p0_600, __p1_600, __p2_600) __extension__ ({ \56696#define vmulxq_laneq_f32(__p0_692, __p1_692, __p2_692) __extension__ ({ \
55341 float32x4_t __s0_600 = __p0_600; \56697 float32x4_t __s0_692 = __p0_692; \
55342 float32x4_t __s1_600 = __p1_600; \56698 float32x4_t __s1_692 = __p1_692; \
55343 float32x4_t __rev0_600; __rev0_600 = __builtin_shufflevector(__s0_600, __s0_600, 3, 2, 1, 0); \56699 float32x4_t __rev0_692; __rev0_692 = __builtin_shufflevector(__s0_692, __s0_692, 3, 2, 1, 0); \
55344 float32x4_t __rev1_600; __rev1_600 = __builtin_shufflevector(__s1_600, __s1_600, 3, 2, 1, 0); \56700 float32x4_t __rev1_692; __rev1_692 = __builtin_shufflevector(__s1_692, __s1_692, 3, 2, 1, 0); \
55345 float32x4_t __ret_600; \56701 float32x4_t __ret_692; \
55346 __ret_600 = __noswap_vmulxq_f32(__rev0_600, __noswap_splatq_laneq_f32(__rev1_600, __p2_600)); \56702 __ret_692 = __noswap_vmulxq_f32(__rev0_692, __noswap_splatq_laneq_f32(__rev1_692, __p2_692)); \
55347 __ret_600 = __builtin_shufflevector(__ret_600, __ret_600, 3, 2, 1, 0); \56703 __ret_692 = __builtin_shufflevector(__ret_692, __ret_692, 3, 2, 1, 0); \
55348 __ret_600; \56704 __ret_692; \
55349})56705})
55350#endif56706#endif
5535156707
55352#ifdef __LITTLE_ENDIAN__56708#ifdef __LITTLE_ENDIAN__
55353#define vmulx_laneq_f32(__p0_601, __p1_601, __p2_601) __extension__ ({ \56709#define vmulx_laneq_f32(__p0_693, __p1_693, __p2_693) __extension__ ({ \
55354 float32x2_t __s0_601 = __p0_601; \56710 float32x2_t __s0_693 = __p0_693; \
55355 float32x4_t __s1_601 = __p1_601; \56711 float32x4_t __s1_693 = __p1_693; \
55356 float32x2_t __ret_601; \56712 float32x2_t __ret_693; \
55357 __ret_601 = vmulx_f32(__s0_601, splat_laneq_f32(__s1_601, __p2_601)); \56713 __ret_693 = vmulx_f32(__s0_693, splat_laneq_f32(__s1_693, __p2_693)); \
55358 __ret_601; \56714 __ret_693; \
55359})56715})
55360#else56716#else
55361#define vmulx_laneq_f32(__p0_602, __p1_602, __p2_602) __extension__ ({ \56717#define vmulx_laneq_f32(__p0_694, __p1_694, __p2_694) __extension__ ({ \
55362 float32x2_t __s0_602 = __p0_602; \56718 float32x2_t __s0_694 = __p0_694; \
55363 float32x4_t __s1_602 = __p1_602; \56719 float32x4_t __s1_694 = __p1_694; \
55364 float32x2_t __rev0_602; __rev0_602 = __builtin_shufflevector(__s0_602, __s0_602, 1, 0); \56720 float32x2_t __rev0_694; __rev0_694 = __builtin_shufflevector(__s0_694, __s0_694, 1, 0); \
55365 float32x4_t __rev1_602; __rev1_602 = __builtin_shufflevector(__s1_602, __s1_602, 3, 2, 1, 0); \56721 float32x4_t __rev1_694; __rev1_694 = __builtin_shufflevector(__s1_694, __s1_694, 3, 2, 1, 0); \
55366 float32x2_t __ret_602; \56722 float32x2_t __ret_694; \
55367 __ret_602 = __noswap_vmulx_f32(__rev0_602, __noswap_splat_laneq_f32(__rev1_602, __p2_602)); \56723 __ret_694 = __noswap_vmulx_f32(__rev0_694, __noswap_splat_laneq_f32(__rev1_694, __p2_694)); \
55368 __ret_602 = __builtin_shufflevector(__ret_602, __ret_602, 1, 0); \56724 __ret_694 = __builtin_shufflevector(__ret_694, __ret_694, 1, 0); \
55369 __ret_602; \56725 __ret_694; \
55370})56726})
55371#endif56727#endif
5537256728
...@@ -56269,98 +57625,98 @@ __ai int32x4_t vqdmlal_high_s16(int32x4_t __p0, int16x8_t __p1, int16x8_t __p2)...@@ -56269,98 +57625,98 @@ __ai int32x4_t vqdmlal_high_s16(int32x4_t __p0, int16x8_t __p1, int16x8_t __p2)
56269#endif57625#endif
5627057626
56271#ifdef __LITTLE_ENDIAN__57627#ifdef __LITTLE_ENDIAN__
56272#define vqdmlal_high_lane_s32(__p0_603, __p1_603, __p2_603, __p3_603) __extension__ ({ \57628#define vqdmlal_high_lane_s32(__p0_695, __p1_695, __p2_695, __p3_695) __extension__ ({ \
56273 int64x2_t __s0_603 = __p0_603; \57629 int64x2_t __s0_695 = __p0_695; \
56274 int32x4_t __s1_603 = __p1_603; \57630 int32x4_t __s1_695 = __p1_695; \
56275 int32x2_t __s2_603 = __p2_603; \57631 int32x2_t __s2_695 = __p2_695; \
56276 int64x2_t __ret_603; \57632 int64x2_t __ret_695; \
56277 __ret_603 = vqdmlal_s32(__s0_603, vget_high_s32(__s1_603), splat_lane_s32(__s2_603, __p3_603)); \57633 __ret_695 = vqdmlal_s32(__s0_695, vget_high_s32(__s1_695), splat_lane_s32(__s2_695, __p3_695)); \
56278 __ret_603; \57634 __ret_695; \
56279})57635})
56280#else57636#else
56281#define vqdmlal_high_lane_s32(__p0_604, __p1_604, __p2_604, __p3_604) __extension__ ({ \57637#define vqdmlal_high_lane_s32(__p0_696, __p1_696, __p2_696, __p3_696) __extension__ ({ \
56282 int64x2_t __s0_604 = __p0_604; \57638 int64x2_t __s0_696 = __p0_696; \
56283 int32x4_t __s1_604 = __p1_604; \57639 int32x4_t __s1_696 = __p1_696; \
56284 int32x2_t __s2_604 = __p2_604; \57640 int32x2_t __s2_696 = __p2_696; \
56285 int64x2_t __rev0_604; __rev0_604 = __builtin_shufflevector(__s0_604, __s0_604, 1, 0); \57641 int64x2_t __rev0_696; __rev0_696 = __builtin_shufflevector(__s0_696, __s0_696, 1, 0); \
56286 int32x4_t __rev1_604; __rev1_604 = __builtin_shufflevector(__s1_604, __s1_604, 3, 2, 1, 0); \57642 int32x4_t __rev1_696; __rev1_696 = __builtin_shufflevector(__s1_696, __s1_696, 3, 2, 1, 0); \
56287 int32x2_t __rev2_604; __rev2_604 = __builtin_shufflevector(__s2_604, __s2_604, 1, 0); \57643 int32x2_t __rev2_696; __rev2_696 = __builtin_shufflevector(__s2_696, __s2_696, 1, 0); \
56288 int64x2_t __ret_604; \57644 int64x2_t __ret_696; \
56289 __ret_604 = __noswap_vqdmlal_s32(__rev0_604, __noswap_vget_high_s32(__rev1_604), __noswap_splat_lane_s32(__rev2_604, __p3_604)); \57645 __ret_696 = __noswap_vqdmlal_s32(__rev0_696, __noswap_vget_high_s32(__rev1_696), __noswap_splat_lane_s32(__rev2_696, __p3_696)); \
56290 __ret_604 = __builtin_shufflevector(__ret_604, __ret_604, 1, 0); \57646 __ret_696 = __builtin_shufflevector(__ret_696, __ret_696, 1, 0); \
56291 __ret_604; \57647 __ret_696; \
56292})57648})
56293#endif57649#endif
5629457650
56295#ifdef __LITTLE_ENDIAN__57651#ifdef __LITTLE_ENDIAN__
56296#define vqdmlal_high_lane_s16(__p0_605, __p1_605, __p2_605, __p3_605) __extension__ ({ \57652#define vqdmlal_high_lane_s16(__p0_697, __p1_697, __p2_697, __p3_697) __extension__ ({ \
56297 int32x4_t __s0_605 = __p0_605; \57653 int32x4_t __s0_697 = __p0_697; \
56298 int16x8_t __s1_605 = __p1_605; \57654 int16x8_t __s1_697 = __p1_697; \
56299 int16x4_t __s2_605 = __p2_605; \57655 int16x4_t __s2_697 = __p2_697; \
56300 int32x4_t __ret_605; \57656 int32x4_t __ret_697; \
56301 __ret_605 = vqdmlal_s16(__s0_605, vget_high_s16(__s1_605), splat_lane_s16(__s2_605, __p3_605)); \57657 __ret_697 = vqdmlal_s16(__s0_697, vget_high_s16(__s1_697), splat_lane_s16(__s2_697, __p3_697)); \
56302 __ret_605; \57658 __ret_697; \
56303})57659})
56304#else57660#else
56305#define vqdmlal_high_lane_s16(__p0_606, __p1_606, __p2_606, __p3_606) __extension__ ({ \57661#define vqdmlal_high_lane_s16(__p0_698, __p1_698, __p2_698, __p3_698) __extension__ ({ \
56306 int32x4_t __s0_606 = __p0_606; \57662 int32x4_t __s0_698 = __p0_698; \
56307 int16x8_t __s1_606 = __p1_606; \57663 int16x8_t __s1_698 = __p1_698; \
56308 int16x4_t __s2_606 = __p2_606; \57664 int16x4_t __s2_698 = __p2_698; \
56309 int32x4_t __rev0_606; __rev0_606 = __builtin_shufflevector(__s0_606, __s0_606, 3, 2, 1, 0); \57665 int32x4_t __rev0_698; __rev0_698 = __builtin_shufflevector(__s0_698, __s0_698, 3, 2, 1, 0); \
56310 int16x8_t __rev1_606; __rev1_606 = __builtin_shufflevector(__s1_606, __s1_606, 7, 6, 5, 4, 3, 2, 1, 0); \57666 int16x8_t __rev1_698; __rev1_698 = __builtin_shufflevector(__s1_698, __s1_698, 7, 6, 5, 4, 3, 2, 1, 0); \
56311 int16x4_t __rev2_606; __rev2_606 = __builtin_shufflevector(__s2_606, __s2_606, 3, 2, 1, 0); \57667 int16x4_t __rev2_698; __rev2_698 = __builtin_shufflevector(__s2_698, __s2_698, 3, 2, 1, 0); \
56312 int32x4_t __ret_606; \57668 int32x4_t __ret_698; \
56313 __ret_606 = __noswap_vqdmlal_s16(__rev0_606, __noswap_vget_high_s16(__rev1_606), __noswap_splat_lane_s16(__rev2_606, __p3_606)); \57669 __ret_698 = __noswap_vqdmlal_s16(__rev0_698, __noswap_vget_high_s16(__rev1_698), __noswap_splat_lane_s16(__rev2_698, __p3_698)); \
56314 __ret_606 = __builtin_shufflevector(__ret_606, __ret_606, 3, 2, 1, 0); \57670 __ret_698 = __builtin_shufflevector(__ret_698, __ret_698, 3, 2, 1, 0); \
56315 __ret_606; \57671 __ret_698; \
56316})57672})
56317#endif57673#endif
5631857674
56319#ifdef __LITTLE_ENDIAN__57675#ifdef __LITTLE_ENDIAN__
56320#define vqdmlal_high_laneq_s32(__p0_607, __p1_607, __p2_607, __p3_607) __extension__ ({ \57676#define vqdmlal_high_laneq_s32(__p0_699, __p1_699, __p2_699, __p3_699) __extension__ ({ \
56321 int64x2_t __s0_607 = __p0_607; \57677 int64x2_t __s0_699 = __p0_699; \
56322 int32x4_t __s1_607 = __p1_607; \57678 int32x4_t __s1_699 = __p1_699; \
56323 int32x4_t __s2_607 = __p2_607; \57679 int32x4_t __s2_699 = __p2_699; \
56324 int64x2_t __ret_607; \57680 int64x2_t __ret_699; \
56325 __ret_607 = vqdmlal_s32(__s0_607, vget_high_s32(__s1_607), splat_laneq_s32(__s2_607, __p3_607)); \57681 __ret_699 = vqdmlal_s32(__s0_699, vget_high_s32(__s1_699), splat_laneq_s32(__s2_699, __p3_699)); \
56326 __ret_607; \57682 __ret_699; \
56327})57683})
56328#else57684#else
56329#define vqdmlal_high_laneq_s32(__p0_608, __p1_608, __p2_608, __p3_608) __extension__ ({ \57685#define vqdmlal_high_laneq_s32(__p0_700, __p1_700, __p2_700, __p3_700) __extension__ ({ \
56330 int64x2_t __s0_608 = __p0_608; \57686 int64x2_t __s0_700 = __p0_700; \
56331 int32x4_t __s1_608 = __p1_608; \57687 int32x4_t __s1_700 = __p1_700; \
56332 int32x4_t __s2_608 = __p2_608; \57688 int32x4_t __s2_700 = __p2_700; \
56333 int64x2_t __rev0_608; __rev0_608 = __builtin_shufflevector(__s0_608, __s0_608, 1, 0); \57689 int64x2_t __rev0_700; __rev0_700 = __builtin_shufflevector(__s0_700, __s0_700, 1, 0); \
56334 int32x4_t __rev1_608; __rev1_608 = __builtin_shufflevector(__s1_608, __s1_608, 3, 2, 1, 0); \57690 int32x4_t __rev1_700; __rev1_700 = __builtin_shufflevector(__s1_700, __s1_700, 3, 2, 1, 0); \
56335 int32x4_t __rev2_608; __rev2_608 = __builtin_shufflevector(__s2_608, __s2_608, 3, 2, 1, 0); \57691 int32x4_t __rev2_700; __rev2_700 = __builtin_shufflevector(__s2_700, __s2_700, 3, 2, 1, 0); \
56336 int64x2_t __ret_608; \57692 int64x2_t __ret_700; \
56337 __ret_608 = __noswap_vqdmlal_s32(__rev0_608, __noswap_vget_high_s32(__rev1_608), __noswap_splat_laneq_s32(__rev2_608, __p3_608)); \57693 __ret_700 = __noswap_vqdmlal_s32(__rev0_700, __noswap_vget_high_s32(__rev1_700), __noswap_splat_laneq_s32(__rev2_700, __p3_700)); \
56338 __ret_608 = __builtin_shufflevector(__ret_608, __ret_608, 1, 0); \57694 __ret_700 = __builtin_shufflevector(__ret_700, __ret_700, 1, 0); \
56339 __ret_608; \57695 __ret_700; \
56340})57696})
56341#endif57697#endif
5634257698
56343#ifdef __LITTLE_ENDIAN__57699#ifdef __LITTLE_ENDIAN__
56344#define vqdmlal_high_laneq_s16(__p0_609, __p1_609, __p2_609, __p3_609) __extension__ ({ \57700#define vqdmlal_high_laneq_s16(__p0_701, __p1_701, __p2_701, __p3_701) __extension__ ({ \
56345 int32x4_t __s0_609 = __p0_609; \57701 int32x4_t __s0_701 = __p0_701; \
56346 int16x8_t __s1_609 = __p1_609; \57702 int16x8_t __s1_701 = __p1_701; \
56347 int16x8_t __s2_609 = __p2_609; \57703 int16x8_t __s2_701 = __p2_701; \
56348 int32x4_t __ret_609; \57704 int32x4_t __ret_701; \
56349 __ret_609 = vqdmlal_s16(__s0_609, vget_high_s16(__s1_609), splat_laneq_s16(__s2_609, __p3_609)); \57705 __ret_701 = vqdmlal_s16(__s0_701, vget_high_s16(__s1_701), splat_laneq_s16(__s2_701, __p3_701)); \
56350 __ret_609; \57706 __ret_701; \
56351})57707})
56352#else57708#else
56353#define vqdmlal_high_laneq_s16(__p0_610, __p1_610, __p2_610, __p3_610) __extension__ ({ \57709#define vqdmlal_high_laneq_s16(__p0_702, __p1_702, __p2_702, __p3_702) __extension__ ({ \
56354 int32x4_t __s0_610 = __p0_610; \57710 int32x4_t __s0_702 = __p0_702; \
56355 int16x8_t __s1_610 = __p1_610; \57711 int16x8_t __s1_702 = __p1_702; \
56356 int16x8_t __s2_610 = __p2_610; \57712 int16x8_t __s2_702 = __p2_702; \
56357 int32x4_t __rev0_610; __rev0_610 = __builtin_shufflevector(__s0_610, __s0_610, 3, 2, 1, 0); \57713 int32x4_t __rev0_702; __rev0_702 = __builtin_shufflevector(__s0_702, __s0_702, 3, 2, 1, 0); \
56358 int16x8_t __rev1_610; __rev1_610 = __builtin_shufflevector(__s1_610, __s1_610, 7, 6, 5, 4, 3, 2, 1, 0); \57714 int16x8_t __rev1_702; __rev1_702 = __builtin_shufflevector(__s1_702, __s1_702, 7, 6, 5, 4, 3, 2, 1, 0); \
56359 int16x8_t __rev2_610; __rev2_610 = __builtin_shufflevector(__s2_610, __s2_610, 7, 6, 5, 4, 3, 2, 1, 0); \57715 int16x8_t __rev2_702; __rev2_702 = __builtin_shufflevector(__s2_702, __s2_702, 7, 6, 5, 4, 3, 2, 1, 0); \
56360 int32x4_t __ret_610; \57716 int32x4_t __ret_702; \
56361 __ret_610 = __noswap_vqdmlal_s16(__rev0_610, __noswap_vget_high_s16(__rev1_610), __noswap_splat_laneq_s16(__rev2_610, __p3_610)); \57717 __ret_702 = __noswap_vqdmlal_s16(__rev0_702, __noswap_vget_high_s16(__rev1_702), __noswap_splat_laneq_s16(__rev2_702, __p3_702)); \
56362 __ret_610 = __builtin_shufflevector(__ret_610, __ret_610, 3, 2, 1, 0); \57718 __ret_702 = __builtin_shufflevector(__ret_702, __ret_702, 3, 2, 1, 0); \
56363 __ret_610; \57719 __ret_702; \
56364})57720})
56365#endif57721#endif
5636657722
...@@ -56483,50 +57839,50 @@ __ai int32x4_t vqdmlal_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2)...@@ -56483,50 +57839,50 @@ __ai int32x4_t vqdmlal_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2)
56483#endif57839#endif
5648457840
56485#ifdef __LITTLE_ENDIAN__57841#ifdef __LITTLE_ENDIAN__
56486#define vqdmlal_laneq_s32(__p0_611, __p1_611, __p2_611, __p3_611) __extension__ ({ \57842#define vqdmlal_laneq_s32(__p0_703, __p1_703, __p2_703, __p3_703) __extension__ ({ \
56487 int64x2_t __s0_611 = __p0_611; \57843 int64x2_t __s0_703 = __p0_703; \
56488 int32x2_t __s1_611 = __p1_611; \57844 int32x2_t __s1_703 = __p1_703; \
56489 int32x4_t __s2_611 = __p2_611; \57845 int32x4_t __s2_703 = __p2_703; \
56490 int64x2_t __ret_611; \57846 int64x2_t __ret_703; \
56491 __ret_611 = vqdmlal_s32(__s0_611, __s1_611, splat_laneq_s32(__s2_611, __p3_611)); \57847 __ret_703 = vqdmlal_s32(__s0_703, __s1_703, splat_laneq_s32(__s2_703, __p3_703)); \
56492 __ret_611; \57848 __ret_703; \
56493})57849})
56494#else57850#else
56495#define vqdmlal_laneq_s32(__p0_612, __p1_612, __p2_612, __p3_612) __extension__ ({ \57851#define vqdmlal_laneq_s32(__p0_704, __p1_704, __p2_704, __p3_704) __extension__ ({ \
56496 int64x2_t __s0_612 = __p0_612; \57852 int64x2_t __s0_704 = __p0_704; \
56497 int32x2_t __s1_612 = __p1_612; \57853 int32x2_t __s1_704 = __p1_704; \
56498 int32x4_t __s2_612 = __p2_612; \57854 int32x4_t __s2_704 = __p2_704; \
56499 int64x2_t __rev0_612; __rev0_612 = __builtin_shufflevector(__s0_612, __s0_612, 1, 0); \57855 int64x2_t __rev0_704; __rev0_704 = __builtin_shufflevector(__s0_704, __s0_704, 1, 0); \
56500 int32x2_t __rev1_612; __rev1_612 = __builtin_shufflevector(__s1_612, __s1_612, 1, 0); \57856 int32x2_t __rev1_704; __rev1_704 = __builtin_shufflevector(__s1_704, __s1_704, 1, 0); \
56501 int32x4_t __rev2_612; __rev2_612 = __builtin_shufflevector(__s2_612, __s2_612, 3, 2, 1, 0); \57857 int32x4_t __rev2_704; __rev2_704 = __builtin_shufflevector(__s2_704, __s2_704, 3, 2, 1, 0); \
56502 int64x2_t __ret_612; \57858 int64x2_t __ret_704; \
56503 __ret_612 = __noswap_vqdmlal_s32(__rev0_612, __rev1_612, __noswap_splat_laneq_s32(__rev2_612, __p3_612)); \57859 __ret_704 = __noswap_vqdmlal_s32(__rev0_704, __rev1_704, __noswap_splat_laneq_s32(__rev2_704, __p3_704)); \
56504 __ret_612 = __builtin_shufflevector(__ret_612, __ret_612, 1, 0); \57860 __ret_704 = __builtin_shufflevector(__ret_704, __ret_704, 1, 0); \
56505 __ret_612; \57861 __ret_704; \
56506})57862})
56507#endif57863#endif
5650857864
56509#ifdef __LITTLE_ENDIAN__57865#ifdef __LITTLE_ENDIAN__
56510#define vqdmlal_laneq_s16(__p0_613, __p1_613, __p2_613, __p3_613) __extension__ ({ \57866#define vqdmlal_laneq_s16(__p0_705, __p1_705, __p2_705, __p3_705) __extension__ ({ \
56511 int32x4_t __s0_613 = __p0_613; \57867 int32x4_t __s0_705 = __p0_705; \
56512 int16x4_t __s1_613 = __p1_613; \57868 int16x4_t __s1_705 = __p1_705; \
56513 int16x8_t __s2_613 = __p2_613; \57869 int16x8_t __s2_705 = __p2_705; \
56514 int32x4_t __ret_613; \57870 int32x4_t __ret_705; \
56515 __ret_613 = vqdmlal_s16(__s0_613, __s1_613, splat_laneq_s16(__s2_613, __p3_613)); \57871 __ret_705 = vqdmlal_s16(__s0_705, __s1_705, splat_laneq_s16(__s2_705, __p3_705)); \
56516 __ret_613; \57872 __ret_705; \
56517})57873})
56518#else57874#else
56519#define vqdmlal_laneq_s16(__p0_614, __p1_614, __p2_614, __p3_614) __extension__ ({ \57875#define vqdmlal_laneq_s16(__p0_706, __p1_706, __p2_706, __p3_706) __extension__ ({ \
56520 int32x4_t __s0_614 = __p0_614; \57876 int32x4_t __s0_706 = __p0_706; \
56521 int16x4_t __s1_614 = __p1_614; \57877 int16x4_t __s1_706 = __p1_706; \
56522 int16x8_t __s2_614 = __p2_614; \57878 int16x8_t __s2_706 = __p2_706; \
56523 int32x4_t __rev0_614; __rev0_614 = __builtin_shufflevector(__s0_614, __s0_614, 3, 2, 1, 0); \57879 int32x4_t __rev0_706; __rev0_706 = __builtin_shufflevector(__s0_706, __s0_706, 3, 2, 1, 0); \
56524 int16x4_t __rev1_614; __rev1_614 = __builtin_shufflevector(__s1_614, __s1_614, 3, 2, 1, 0); \57880 int16x4_t __rev1_706; __rev1_706 = __builtin_shufflevector(__s1_706, __s1_706, 3, 2, 1, 0); \
56525 int16x8_t __rev2_614; __rev2_614 = __builtin_shufflevector(__s2_614, __s2_614, 7, 6, 5, 4, 3, 2, 1, 0); \57881 int16x8_t __rev2_706; __rev2_706 = __builtin_shufflevector(__s2_706, __s2_706, 7, 6, 5, 4, 3, 2, 1, 0); \
56526 int32x4_t __ret_614; \57882 int32x4_t __ret_706; \
56527 __ret_614 = __noswap_vqdmlal_s16(__rev0_614, __rev1_614, __noswap_splat_laneq_s16(__rev2_614, __p3_614)); \57883 __ret_706 = __noswap_vqdmlal_s16(__rev0_706, __rev1_706, __noswap_splat_laneq_s16(__rev2_706, __p3_706)); \
56528 __ret_614 = __builtin_shufflevector(__ret_614, __ret_614, 3, 2, 1, 0); \57884 __ret_706 = __builtin_shufflevector(__ret_706, __ret_706, 3, 2, 1, 0); \
56529 __ret_614; \57885 __ret_706; \
56530})57886})
56531#endif57887#endif
5653257888
...@@ -56577,98 +57933,98 @@ __ai int32x4_t vqdmlsl_high_s16(int32x4_t __p0, int16x8_t __p1, int16x8_t __p2)...@@ -56577,98 +57933,98 @@ __ai int32x4_t vqdmlsl_high_s16(int32x4_t __p0, int16x8_t __p1, int16x8_t __p2)
56577#endif57933#endif
5657857934
56579#ifdef __LITTLE_ENDIAN__57935#ifdef __LITTLE_ENDIAN__
56580#define vqdmlsl_high_lane_s32(__p0_615, __p1_615, __p2_615, __p3_615) __extension__ ({ \57936#define vqdmlsl_high_lane_s32(__p0_707, __p1_707, __p2_707, __p3_707) __extension__ ({ \
56581 int64x2_t __s0_615 = __p0_615; \57937 int64x2_t __s0_707 = __p0_707; \
56582 int32x4_t __s1_615 = __p1_615; \57938 int32x4_t __s1_707 = __p1_707; \
56583 int32x2_t __s2_615 = __p2_615; \57939 int32x2_t __s2_707 = __p2_707; \
56584 int64x2_t __ret_615; \57940 int64x2_t __ret_707; \
56585 __ret_615 = vqdmlsl_s32(__s0_615, vget_high_s32(__s1_615), splat_lane_s32(__s2_615, __p3_615)); \57941 __ret_707 = vqdmlsl_s32(__s0_707, vget_high_s32(__s1_707), splat_lane_s32(__s2_707, __p3_707)); \
56586 __ret_615; \57942 __ret_707; \
56587})57943})
56588#else57944#else
56589#define vqdmlsl_high_lane_s32(__p0_616, __p1_616, __p2_616, __p3_616) __extension__ ({ \57945#define vqdmlsl_high_lane_s32(__p0_708, __p1_708, __p2_708, __p3_708) __extension__ ({ \
56590 int64x2_t __s0_616 = __p0_616; \57946 int64x2_t __s0_708 = __p0_708; \
56591 int32x4_t __s1_616 = __p1_616; \57947 int32x4_t __s1_708 = __p1_708; \
56592 int32x2_t __s2_616 = __p2_616; \57948 int32x2_t __s2_708 = __p2_708; \
56593 int64x2_t __rev0_616; __rev0_616 = __builtin_shufflevector(__s0_616, __s0_616, 1, 0); \57949 int64x2_t __rev0_708; __rev0_708 = __builtin_shufflevector(__s0_708, __s0_708, 1, 0); \
56594 int32x4_t __rev1_616; __rev1_616 = __builtin_shufflevector(__s1_616, __s1_616, 3, 2, 1, 0); \57950 int32x4_t __rev1_708; __rev1_708 = __builtin_shufflevector(__s1_708, __s1_708, 3, 2, 1, 0); \
56595 int32x2_t __rev2_616; __rev2_616 = __builtin_shufflevector(__s2_616, __s2_616, 1, 0); \57951 int32x2_t __rev2_708; __rev2_708 = __builtin_shufflevector(__s2_708, __s2_708, 1, 0); \
56596 int64x2_t __ret_616; \57952 int64x2_t __ret_708; \
56597 __ret_616 = __noswap_vqdmlsl_s32(__rev0_616, __noswap_vget_high_s32(__rev1_616), __noswap_splat_lane_s32(__rev2_616, __p3_616)); \57953 __ret_708 = __noswap_vqdmlsl_s32(__rev0_708, __noswap_vget_high_s32(__rev1_708), __noswap_splat_lane_s32(__rev2_708, __p3_708)); \
56598 __ret_616 = __builtin_shufflevector(__ret_616, __ret_616, 1, 0); \57954 __ret_708 = __builtin_shufflevector(__ret_708, __ret_708, 1, 0); \
56599 __ret_616; \57955 __ret_708; \
56600})57956})
56601#endif57957#endif
5660257958
56603#ifdef __LITTLE_ENDIAN__57959#ifdef __LITTLE_ENDIAN__
56604#define vqdmlsl_high_lane_s16(__p0_617, __p1_617, __p2_617, __p3_617) __extension__ ({ \57960#define vqdmlsl_high_lane_s16(__p0_709, __p1_709, __p2_709, __p3_709) __extension__ ({ \
56605 int32x4_t __s0_617 = __p0_617; \57961 int32x4_t __s0_709 = __p0_709; \
56606 int16x8_t __s1_617 = __p1_617; \57962 int16x8_t __s1_709 = __p1_709; \
56607 int16x4_t __s2_617 = __p2_617; \57963 int16x4_t __s2_709 = __p2_709; \
56608 int32x4_t __ret_617; \57964 int32x4_t __ret_709; \
56609 __ret_617 = vqdmlsl_s16(__s0_617, vget_high_s16(__s1_617), splat_lane_s16(__s2_617, __p3_617)); \57965 __ret_709 = vqdmlsl_s16(__s0_709, vget_high_s16(__s1_709), splat_lane_s16(__s2_709, __p3_709)); \
56610 __ret_617; \57966 __ret_709; \
56611})57967})
56612#else57968#else
56613#define vqdmlsl_high_lane_s16(__p0_618, __p1_618, __p2_618, __p3_618) __extension__ ({ \57969#define vqdmlsl_high_lane_s16(__p0_710, __p1_710, __p2_710, __p3_710) __extension__ ({ \
56614 int32x4_t __s0_618 = __p0_618; \57970 int32x4_t __s0_710 = __p0_710; \
56615 int16x8_t __s1_618 = __p1_618; \57971 int16x8_t __s1_710 = __p1_710; \
56616 int16x4_t __s2_618 = __p2_618; \57972 int16x4_t __s2_710 = __p2_710; \
56617 int32x4_t __rev0_618; __rev0_618 = __builtin_shufflevector(__s0_618, __s0_618, 3, 2, 1, 0); \57973 int32x4_t __rev0_710; __rev0_710 = __builtin_shufflevector(__s0_710, __s0_710, 3, 2, 1, 0); \
56618 int16x8_t __rev1_618; __rev1_618 = __builtin_shufflevector(__s1_618, __s1_618, 7, 6, 5, 4, 3, 2, 1, 0); \57974 int16x8_t __rev1_710; __rev1_710 = __builtin_shufflevector(__s1_710, __s1_710, 7, 6, 5, 4, 3, 2, 1, 0); \
56619 int16x4_t __rev2_618; __rev2_618 = __builtin_shufflevector(__s2_618, __s2_618, 3, 2, 1, 0); \57975 int16x4_t __rev2_710; __rev2_710 = __builtin_shufflevector(__s2_710, __s2_710, 3, 2, 1, 0); \
56620 int32x4_t __ret_618; \57976 int32x4_t __ret_710; \
56621 __ret_618 = __noswap_vqdmlsl_s16(__rev0_618, __noswap_vget_high_s16(__rev1_618), __noswap_splat_lane_s16(__rev2_618, __p3_618)); \57977 __ret_710 = __noswap_vqdmlsl_s16(__rev0_710, __noswap_vget_high_s16(__rev1_710), __noswap_splat_lane_s16(__rev2_710, __p3_710)); \
56622 __ret_618 = __builtin_shufflevector(__ret_618, __ret_618, 3, 2, 1, 0); \57978 __ret_710 = __builtin_shufflevector(__ret_710, __ret_710, 3, 2, 1, 0); \
56623 __ret_618; \57979 __ret_710; \
56624})57980})
56625#endif57981#endif
5662657982
56627#ifdef __LITTLE_ENDIAN__57983#ifdef __LITTLE_ENDIAN__
56628#define vqdmlsl_high_laneq_s32(__p0_619, __p1_619, __p2_619, __p3_619) __extension__ ({ \57984#define vqdmlsl_high_laneq_s32(__p0_711, __p1_711, __p2_711, __p3_711) __extension__ ({ \
56629 int64x2_t __s0_619 = __p0_619; \57985 int64x2_t __s0_711 = __p0_711; \
56630 int32x4_t __s1_619 = __p1_619; \57986 int32x4_t __s1_711 = __p1_711; \
56631 int32x4_t __s2_619 = __p2_619; \57987 int32x4_t __s2_711 = __p2_711; \
56632 int64x2_t __ret_619; \57988 int64x2_t __ret_711; \
56633 __ret_619 = vqdmlsl_s32(__s0_619, vget_high_s32(__s1_619), splat_laneq_s32(__s2_619, __p3_619)); \57989 __ret_711 = vqdmlsl_s32(__s0_711, vget_high_s32(__s1_711), splat_laneq_s32(__s2_711, __p3_711)); \
56634 __ret_619; \57990 __ret_711; \
56635})57991})
56636#else57992#else
56637#define vqdmlsl_high_laneq_s32(__p0_620, __p1_620, __p2_620, __p3_620) __extension__ ({ \57993#define vqdmlsl_high_laneq_s32(__p0_712, __p1_712, __p2_712, __p3_712) __extension__ ({ \
56638 int64x2_t __s0_620 = __p0_620; \57994 int64x2_t __s0_712 = __p0_712; \
56639 int32x4_t __s1_620 = __p1_620; \57995 int32x4_t __s1_712 = __p1_712; \
56640 int32x4_t __s2_620 = __p2_620; \57996 int32x4_t __s2_712 = __p2_712; \
56641 int64x2_t __rev0_620; __rev0_620 = __builtin_shufflevector(__s0_620, __s0_620, 1, 0); \57997 int64x2_t __rev0_712; __rev0_712 = __builtin_shufflevector(__s0_712, __s0_712, 1, 0); \
56642 int32x4_t __rev1_620; __rev1_620 = __builtin_shufflevector(__s1_620, __s1_620, 3, 2, 1, 0); \57998 int32x4_t __rev1_712; __rev1_712 = __builtin_shufflevector(__s1_712, __s1_712, 3, 2, 1, 0); \
56643 int32x4_t __rev2_620; __rev2_620 = __builtin_shufflevector(__s2_620, __s2_620, 3, 2, 1, 0); \57999 int32x4_t __rev2_712; __rev2_712 = __builtin_shufflevector(__s2_712, __s2_712, 3, 2, 1, 0); \
56644 int64x2_t __ret_620; \58000 int64x2_t __ret_712; \
56645 __ret_620 = __noswap_vqdmlsl_s32(__rev0_620, __noswap_vget_high_s32(__rev1_620), __noswap_splat_laneq_s32(__rev2_620, __p3_620)); \58001 __ret_712 = __noswap_vqdmlsl_s32(__rev0_712, __noswap_vget_high_s32(__rev1_712), __noswap_splat_laneq_s32(__rev2_712, __p3_712)); \
56646 __ret_620 = __builtin_shufflevector(__ret_620, __ret_620, 1, 0); \58002 __ret_712 = __builtin_shufflevector(__ret_712, __ret_712, 1, 0); \
56647 __ret_620; \58003 __ret_712; \
56648})58004})
56649#endif58005#endif
5665058006
56651#ifdef __LITTLE_ENDIAN__58007#ifdef __LITTLE_ENDIAN__
56652#define vqdmlsl_high_laneq_s16(__p0_621, __p1_621, __p2_621, __p3_621) __extension__ ({ \58008#define vqdmlsl_high_laneq_s16(__p0_713, __p1_713, __p2_713, __p3_713) __extension__ ({ \
56653 int32x4_t __s0_621 = __p0_621; \58009 int32x4_t __s0_713 = __p0_713; \
56654 int16x8_t __s1_621 = __p1_621; \58010 int16x8_t __s1_713 = __p1_713; \
56655 int16x8_t __s2_621 = __p2_621; \58011 int16x8_t __s2_713 = __p2_713; \
56656 int32x4_t __ret_621; \58012 int32x4_t __ret_713; \
56657 __ret_621 = vqdmlsl_s16(__s0_621, vget_high_s16(__s1_621), splat_laneq_s16(__s2_621, __p3_621)); \58013 __ret_713 = vqdmlsl_s16(__s0_713, vget_high_s16(__s1_713), splat_laneq_s16(__s2_713, __p3_713)); \
56658 __ret_621; \58014 __ret_713; \
56659})58015})
56660#else58016#else
56661#define vqdmlsl_high_laneq_s16(__p0_622, __p1_622, __p2_622, __p3_622) __extension__ ({ \58017#define vqdmlsl_high_laneq_s16(__p0_714, __p1_714, __p2_714, __p3_714) __extension__ ({ \
56662 int32x4_t __s0_622 = __p0_622; \58018 int32x4_t __s0_714 = __p0_714; \
56663 int16x8_t __s1_622 = __p1_622; \58019 int16x8_t __s1_714 = __p1_714; \
56664 int16x8_t __s2_622 = __p2_622; \58020 int16x8_t __s2_714 = __p2_714; \
56665 int32x4_t __rev0_622; __rev0_622 = __builtin_shufflevector(__s0_622, __s0_622, 3, 2, 1, 0); \58021 int32x4_t __rev0_714; __rev0_714 = __builtin_shufflevector(__s0_714, __s0_714, 3, 2, 1, 0); \
56666 int16x8_t __rev1_622; __rev1_622 = __builtin_shufflevector(__s1_622, __s1_622, 7, 6, 5, 4, 3, 2, 1, 0); \58022 int16x8_t __rev1_714; __rev1_714 = __builtin_shufflevector(__s1_714, __s1_714, 7, 6, 5, 4, 3, 2, 1, 0); \
56667 int16x8_t __rev2_622; __rev2_622 = __builtin_shufflevector(__s2_622, __s2_622, 7, 6, 5, 4, 3, 2, 1, 0); \58023 int16x8_t __rev2_714; __rev2_714 = __builtin_shufflevector(__s2_714, __s2_714, 7, 6, 5, 4, 3, 2, 1, 0); \
56668 int32x4_t __ret_622; \58024 int32x4_t __ret_714; \
56669 __ret_622 = __noswap_vqdmlsl_s16(__rev0_622, __noswap_vget_high_s16(__rev1_622), __noswap_splat_laneq_s16(__rev2_622, __p3_622)); \58025 __ret_714 = __noswap_vqdmlsl_s16(__rev0_714, __noswap_vget_high_s16(__rev1_714), __noswap_splat_laneq_s16(__rev2_714, __p3_714)); \
56670 __ret_622 = __builtin_shufflevector(__ret_622, __ret_622, 3, 2, 1, 0); \58026 __ret_714 = __builtin_shufflevector(__ret_714, __ret_714, 3, 2, 1, 0); \
56671 __ret_622; \58027 __ret_714; \
56672})58028})
56673#endif58029#endif
5667458030
...@@ -56791,50 +58147,50 @@ __ai int32x4_t vqdmlsl_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2)...@@ -56791,50 +58147,50 @@ __ai int32x4_t vqdmlsl_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2)
56791#endif58147#endif
5679258148
56793#ifdef __LITTLE_ENDIAN__58149#ifdef __LITTLE_ENDIAN__
56794#define vqdmlsl_laneq_s32(__p0_623, __p1_623, __p2_623, __p3_623) __extension__ ({ \58150#define vqdmlsl_laneq_s32(__p0_715, __p1_715, __p2_715, __p3_715) __extension__ ({ \
56795 int64x2_t __s0_623 = __p0_623; \58151 int64x2_t __s0_715 = __p0_715; \
56796 int32x2_t __s1_623 = __p1_623; \58152 int32x2_t __s1_715 = __p1_715; \
56797 int32x4_t __s2_623 = __p2_623; \58153 int32x4_t __s2_715 = __p2_715; \
56798 int64x2_t __ret_623; \58154 int64x2_t __ret_715; \
56799 __ret_623 = vqdmlsl_s32(__s0_623, __s1_623, splat_laneq_s32(__s2_623, __p3_623)); \58155 __ret_715 = vqdmlsl_s32(__s0_715, __s1_715, splat_laneq_s32(__s2_715, __p3_715)); \
56800 __ret_623; \58156 __ret_715; \
56801})58157})
56802#else58158#else
56803#define vqdmlsl_laneq_s32(__p0_624, __p1_624, __p2_624, __p3_624) __extension__ ({ \58159#define vqdmlsl_laneq_s32(__p0_716, __p1_716, __p2_716, __p3_716) __extension__ ({ \
56804 int64x2_t __s0_624 = __p0_624; \58160 int64x2_t __s0_716 = __p0_716; \
56805 int32x2_t __s1_624 = __p1_624; \58161 int32x2_t __s1_716 = __p1_716; \
56806 int32x4_t __s2_624 = __p2_624; \58162 int32x4_t __s2_716 = __p2_716; \
56807 int64x2_t __rev0_624; __rev0_624 = __builtin_shufflevector(__s0_624, __s0_624, 1, 0); \58163 int64x2_t __rev0_716; __rev0_716 = __builtin_shufflevector(__s0_716, __s0_716, 1, 0); \
56808 int32x2_t __rev1_624; __rev1_624 = __builtin_shufflevector(__s1_624, __s1_624, 1, 0); \58164 int32x2_t __rev1_716; __rev1_716 = __builtin_shufflevector(__s1_716, __s1_716, 1, 0); \
56809 int32x4_t __rev2_624; __rev2_624 = __builtin_shufflevector(__s2_624, __s2_624, 3, 2, 1, 0); \58165 int32x4_t __rev2_716; __rev2_716 = __builtin_shufflevector(__s2_716, __s2_716, 3, 2, 1, 0); \
56810 int64x2_t __ret_624; \58166 int64x2_t __ret_716; \
56811 __ret_624 = __noswap_vqdmlsl_s32(__rev0_624, __rev1_624, __noswap_splat_laneq_s32(__rev2_624, __p3_624)); \58167 __ret_716 = __noswap_vqdmlsl_s32(__rev0_716, __rev1_716, __noswap_splat_laneq_s32(__rev2_716, __p3_716)); \
56812 __ret_624 = __builtin_shufflevector(__ret_624, __ret_624, 1, 0); \58168 __ret_716 = __builtin_shufflevector(__ret_716, __ret_716, 1, 0); \
56813 __ret_624; \58169 __ret_716; \
56814})58170})
56815#endif58171#endif
5681658172
56817#ifdef __LITTLE_ENDIAN__58173#ifdef __LITTLE_ENDIAN__
56818#define vqdmlsl_laneq_s16(__p0_625, __p1_625, __p2_625, __p3_625) __extension__ ({ \58174#define vqdmlsl_laneq_s16(__p0_717, __p1_717, __p2_717, __p3_717) __extension__ ({ \
56819 int32x4_t __s0_625 = __p0_625; \58175 int32x4_t __s0_717 = __p0_717; \
56820 int16x4_t __s1_625 = __p1_625; \58176 int16x4_t __s1_717 = __p1_717; \
56821 int16x8_t __s2_625 = __p2_625; \58177 int16x8_t __s2_717 = __p2_717; \
56822 int32x4_t __ret_625; \58178 int32x4_t __ret_717; \
56823 __ret_625 = vqdmlsl_s16(__s0_625, __s1_625, splat_laneq_s16(__s2_625, __p3_625)); \58179 __ret_717 = vqdmlsl_s16(__s0_717, __s1_717, splat_laneq_s16(__s2_717, __p3_717)); \
56824 __ret_625; \58180 __ret_717; \
56825})58181})
56826#else58182#else
56827#define vqdmlsl_laneq_s16(__p0_626, __p1_626, __p2_626, __p3_626) __extension__ ({ \58183#define vqdmlsl_laneq_s16(__p0_718, __p1_718, __p2_718, __p3_718) __extension__ ({ \
56828 int32x4_t __s0_626 = __p0_626; \58184 int32x4_t __s0_718 = __p0_718; \
56829 int16x4_t __s1_626 = __p1_626; \58185 int16x4_t __s1_718 = __p1_718; \
56830 int16x8_t __s2_626 = __p2_626; \58186 int16x8_t __s2_718 = __p2_718; \
56831 int32x4_t __rev0_626; __rev0_626 = __builtin_shufflevector(__s0_626, __s0_626, 3, 2, 1, 0); \58187 int32x4_t __rev0_718; __rev0_718 = __builtin_shufflevector(__s0_718, __s0_718, 3, 2, 1, 0); \
56832 int16x4_t __rev1_626; __rev1_626 = __builtin_shufflevector(__s1_626, __s1_626, 3, 2, 1, 0); \58188 int16x4_t __rev1_718; __rev1_718 = __builtin_shufflevector(__s1_718, __s1_718, 3, 2, 1, 0); \
56833 int16x8_t __rev2_626; __rev2_626 = __builtin_shufflevector(__s2_626, __s2_626, 7, 6, 5, 4, 3, 2, 1, 0); \58189 int16x8_t __rev2_718; __rev2_718 = __builtin_shufflevector(__s2_718, __s2_718, 7, 6, 5, 4, 3, 2, 1, 0); \
56834 int32x4_t __ret_626; \58190 int32x4_t __ret_718; \
56835 __ret_626 = __noswap_vqdmlsl_s16(__rev0_626, __rev1_626, __noswap_splat_laneq_s16(__rev2_626, __p3_626)); \58191 __ret_718 = __noswap_vqdmlsl_s16(__rev0_718, __rev1_718, __noswap_splat_laneq_s16(__rev2_718, __p3_718)); \
56836 __ret_626 = __builtin_shufflevector(__ret_626, __ret_626, 3, 2, 1, 0); \58192 __ret_718 = __builtin_shufflevector(__ret_718, __ret_718, 3, 2, 1, 0); \
56837 __ret_626; \58193 __ret_718; \
56838})58194})
56839#endif58195#endif
5684058196
...@@ -56933,78 +58289,78 @@ __ai int16_t vqdmulhh_s16(int16_t __p0, int16_t __p1) {...@@ -56933,78 +58289,78 @@ __ai int16_t vqdmulhh_s16(int16_t __p0, int16_t __p1) {
56933#endif58289#endif
5693458290
56935#ifdef __LITTLE_ENDIAN__58291#ifdef __LITTLE_ENDIAN__
56936#define vqdmulhs_lane_s32(__p0_627, __p1_627, __p2_627) __extension__ ({ \58292#define vqdmulhs_lane_s32(__p0_719, __p1_719, __p2_719) __extension__ ({ \
56937 int32_t __s0_627 = __p0_627; \58293 int32_t __s0_719 = __p0_719; \
56938 int32x2_t __s1_627 = __p1_627; \58294 int32x2_t __s1_719 = __p1_719; \
56939 int32_t __ret_627; \58295 int32_t __ret_719; \
56940 __ret_627 = vqdmulhs_s32(__s0_627, vget_lane_s32(__s1_627, __p2_627)); \58296 __ret_719 = vqdmulhs_s32(__s0_719, vget_lane_s32(__s1_719, __p2_719)); \
56941 __ret_627; \58297 __ret_719; \
56942})58298})
56943#else58299#else
56944#define vqdmulhs_lane_s32(__p0_628, __p1_628, __p2_628) __extension__ ({ \58300#define vqdmulhs_lane_s32(__p0_720, __p1_720, __p2_720) __extension__ ({ \
56945 int32_t __s0_628 = __p0_628; \58301 int32_t __s0_720 = __p0_720; \
56946 int32x2_t __s1_628 = __p1_628; \58302 int32x2_t __s1_720 = __p1_720; \
56947 int32x2_t __rev1_628; __rev1_628 = __builtin_shufflevector(__s1_628, __s1_628, 1, 0); \58303 int32x2_t __rev1_720; __rev1_720 = __builtin_shufflevector(__s1_720, __s1_720, 1, 0); \
56948 int32_t __ret_628; \58304 int32_t __ret_720; \
56949 __ret_628 = vqdmulhs_s32(__s0_628, __noswap_vget_lane_s32(__rev1_628, __p2_628)); \58305 __ret_720 = vqdmulhs_s32(__s0_720, __noswap_vget_lane_s32(__rev1_720, __p2_720)); \
56950 __ret_628; \58306 __ret_720; \
56951})58307})
56952#endif58308#endif
5695358309
56954#ifdef __LITTLE_ENDIAN__58310#ifdef __LITTLE_ENDIAN__
56955#define vqdmulhh_lane_s16(__p0_629, __p1_629, __p2_629) __extension__ ({ \58311#define vqdmulhh_lane_s16(__p0_721, __p1_721, __p2_721) __extension__ ({ \
56956 int16_t __s0_629 = __p0_629; \58312 int16_t __s0_721 = __p0_721; \
56957 int16x4_t __s1_629 = __p1_629; \58313 int16x4_t __s1_721 = __p1_721; \
56958 int16_t __ret_629; \58314 int16_t __ret_721; \
56959 __ret_629 = vqdmulhh_s16(__s0_629, vget_lane_s16(__s1_629, __p2_629)); \58315 __ret_721 = vqdmulhh_s16(__s0_721, vget_lane_s16(__s1_721, __p2_721)); \
56960 __ret_629; \58316 __ret_721; \
56961})58317})
56962#else58318#else
56963#define vqdmulhh_lane_s16(__p0_630, __p1_630, __p2_630) __extension__ ({ \58319#define vqdmulhh_lane_s16(__p0_722, __p1_722, __p2_722) __extension__ ({ \
56964 int16_t __s0_630 = __p0_630; \58320 int16_t __s0_722 = __p0_722; \
56965 int16x4_t __s1_630 = __p1_630; \58321 int16x4_t __s1_722 = __p1_722; \
56966 int16x4_t __rev1_630; __rev1_630 = __builtin_shufflevector(__s1_630, __s1_630, 3, 2, 1, 0); \58322 int16x4_t __rev1_722; __rev1_722 = __builtin_shufflevector(__s1_722, __s1_722, 3, 2, 1, 0); \
56967 int16_t __ret_630; \58323 int16_t __ret_722; \
56968 __ret_630 = vqdmulhh_s16(__s0_630, __noswap_vget_lane_s16(__rev1_630, __p2_630)); \58324 __ret_722 = vqdmulhh_s16(__s0_722, __noswap_vget_lane_s16(__rev1_722, __p2_722)); \
56969 __ret_630; \58325 __ret_722; \
56970})58326})
56971#endif58327#endif
5697258328
56973#ifdef __LITTLE_ENDIAN__58329#ifdef __LITTLE_ENDIAN__
56974#define vqdmulhs_laneq_s32(__p0_631, __p1_631, __p2_631) __extension__ ({ \58330#define vqdmulhs_laneq_s32(__p0_723, __p1_723, __p2_723) __extension__ ({ \
56975 int32_t __s0_631 = __p0_631; \58331 int32_t __s0_723 = __p0_723; \
56976 int32x4_t __s1_631 = __p1_631; \58332 int32x4_t __s1_723 = __p1_723; \
56977 int32_t __ret_631; \58333 int32_t __ret_723; \
56978 __ret_631 = vqdmulhs_s32(__s0_631, vgetq_lane_s32(__s1_631, __p2_631)); \58334 __ret_723 = vqdmulhs_s32(__s0_723, vgetq_lane_s32(__s1_723, __p2_723)); \
56979 __ret_631; \58335 __ret_723; \
56980})58336})
56981#else58337#else
56982#define vqdmulhs_laneq_s32(__p0_632, __p1_632, __p2_632) __extension__ ({ \58338#define vqdmulhs_laneq_s32(__p0_724, __p1_724, __p2_724) __extension__ ({ \
56983 int32_t __s0_632 = __p0_632; \58339 int32_t __s0_724 = __p0_724; \
56984 int32x4_t __s1_632 = __p1_632; \58340 int32x4_t __s1_724 = __p1_724; \
56985 int32x4_t __rev1_632; __rev1_632 = __builtin_shufflevector(__s1_632, __s1_632, 3, 2, 1, 0); \58341 int32x4_t __rev1_724; __rev1_724 = __builtin_shufflevector(__s1_724, __s1_724, 3, 2, 1, 0); \
56986 int32_t __ret_632; \58342 int32_t __ret_724; \
56987 __ret_632 = vqdmulhs_s32(__s0_632, __noswap_vgetq_lane_s32(__rev1_632, __p2_632)); \58343 __ret_724 = vqdmulhs_s32(__s0_724, __noswap_vgetq_lane_s32(__rev1_724, __p2_724)); \
56988 __ret_632; \58344 __ret_724; \
56989})58345})
56990#endif58346#endif
5699158347
56992#ifdef __LITTLE_ENDIAN__58348#ifdef __LITTLE_ENDIAN__
56993#define vqdmulhh_laneq_s16(__p0_633, __p1_633, __p2_633) __extension__ ({ \58349#define vqdmulhh_laneq_s16(__p0_725, __p1_725, __p2_725) __extension__ ({ \
56994 int16_t __s0_633 = __p0_633; \58350 int16_t __s0_725 = __p0_725; \
56995 int16x8_t __s1_633 = __p1_633; \58351 int16x8_t __s1_725 = __p1_725; \
56996 int16_t __ret_633; \58352 int16_t __ret_725; \
56997 __ret_633 = vqdmulhh_s16(__s0_633, vgetq_lane_s16(__s1_633, __p2_633)); \58353 __ret_725 = vqdmulhh_s16(__s0_725, vgetq_lane_s16(__s1_725, __p2_725)); \
56998 __ret_633; \58354 __ret_725; \
56999})58355})
57000#else58356#else
57001#define vqdmulhh_laneq_s16(__p0_634, __p1_634, __p2_634) __extension__ ({ \58357#define vqdmulhh_laneq_s16(__p0_726, __p1_726, __p2_726) __extension__ ({ \
57002 int16_t __s0_634 = __p0_634; \58358 int16_t __s0_726 = __p0_726; \
57003 int16x8_t __s1_634 = __p1_634; \58359 int16x8_t __s1_726 = __p1_726; \
57004 int16x8_t __rev1_634; __rev1_634 = __builtin_shufflevector(__s1_634, __s1_634, 7, 6, 5, 4, 3, 2, 1, 0); \58360 int16x8_t __rev1_726; __rev1_726 = __builtin_shufflevector(__s1_726, __s1_726, 7, 6, 5, 4, 3, 2, 1, 0); \
57005 int16_t __ret_634; \58361 int16_t __ret_726; \
57006 __ret_634 = vqdmulhh_s16(__s0_634, __noswap_vgetq_lane_s16(__rev1_634, __p2_634)); \58362 __ret_726 = vqdmulhh_s16(__s0_726, __noswap_vgetq_lane_s16(__rev1_726, __p2_726)); \
57007 __ret_634; \58363 __ret_726; \
57008})58364})
57009#endif58365#endif
5701058366
...@@ -57137,86 +58493,86 @@ __ai int32x4_t vqdmull_high_s16(int16x8_t __p0, int16x8_t __p1) {...@@ -57137,86 +58493,86 @@ __ai int32x4_t vqdmull_high_s16(int16x8_t __p0, int16x8_t __p1) {
57137#endif58493#endif
5713858494
57139#ifdef __LITTLE_ENDIAN__58495#ifdef __LITTLE_ENDIAN__
57140#define vqdmull_high_lane_s32(__p0_635, __p1_635, __p2_635) __extension__ ({ \58496#define vqdmull_high_lane_s32(__p0_727, __p1_727, __p2_727) __extension__ ({ \
57141 int32x4_t __s0_635 = __p0_635; \58497 int32x4_t __s0_727 = __p0_727; \
57142 int32x2_t __s1_635 = __p1_635; \58498 int32x2_t __s1_727 = __p1_727; \
57143 int64x2_t __ret_635; \58499 int64x2_t __ret_727; \
57144 __ret_635 = vqdmull_s32(vget_high_s32(__s0_635), splat_lane_s32(__s1_635, __p2_635)); \58500 __ret_727 = vqdmull_s32(vget_high_s32(__s0_727), splat_lane_s32(__s1_727, __p2_727)); \
57145 __ret_635; \58501 __ret_727; \
57146})58502})
57147#else58503#else
57148#define vqdmull_high_lane_s32(__p0_636, __p1_636, __p2_636) __extension__ ({ \58504#define vqdmull_high_lane_s32(__p0_728, __p1_728, __p2_728) __extension__ ({ \
57149 int32x4_t __s0_636 = __p0_636; \58505 int32x4_t __s0_728 = __p0_728; \
57150 int32x2_t __s1_636 = __p1_636; \58506 int32x2_t __s1_728 = __p1_728; \
57151 int32x4_t __rev0_636; __rev0_636 = __builtin_shufflevector(__s0_636, __s0_636, 3, 2, 1, 0); \58507 int32x4_t __rev0_728; __rev0_728 = __builtin_shufflevector(__s0_728, __s0_728, 3, 2, 1, 0); \
57152 int32x2_t __rev1_636; __rev1_636 = __builtin_shufflevector(__s1_636, __s1_636, 1, 0); \58508 int32x2_t __rev1_728; __rev1_728 = __builtin_shufflevector(__s1_728, __s1_728, 1, 0); \
57153 int64x2_t __ret_636; \58509 int64x2_t __ret_728; \
57154 __ret_636 = __noswap_vqdmull_s32(__noswap_vget_high_s32(__rev0_636), __noswap_splat_lane_s32(__rev1_636, __p2_636)); \58510 __ret_728 = __noswap_vqdmull_s32(__noswap_vget_high_s32(__rev0_728), __noswap_splat_lane_s32(__rev1_728, __p2_728)); \
57155 __ret_636 = __builtin_shufflevector(__ret_636, __ret_636, 1, 0); \58511 __ret_728 = __builtin_shufflevector(__ret_728, __ret_728, 1, 0); \
57156 __ret_636; \58512 __ret_728; \
57157})58513})
57158#endif58514#endif
5715958515
57160#ifdef __LITTLE_ENDIAN__58516#ifdef __LITTLE_ENDIAN__
57161#define vqdmull_high_lane_s16(__p0_637, __p1_637, __p2_637) __extension__ ({ \58517#define vqdmull_high_lane_s16(__p0_729, __p1_729, __p2_729) __extension__ ({ \
57162 int16x8_t __s0_637 = __p0_637; \58518 int16x8_t __s0_729 = __p0_729; \
57163 int16x4_t __s1_637 = __p1_637; \58519 int16x4_t __s1_729 = __p1_729; \
57164 int32x4_t __ret_637; \58520 int32x4_t __ret_729; \
57165 __ret_637 = vqdmull_s16(vget_high_s16(__s0_637), splat_lane_s16(__s1_637, __p2_637)); \58521 __ret_729 = vqdmull_s16(vget_high_s16(__s0_729), splat_lane_s16(__s1_729, __p2_729)); \
57166 __ret_637; \58522 __ret_729; \
57167})58523})
57168#else58524#else
57169#define vqdmull_high_lane_s16(__p0_638, __p1_638, __p2_638) __extension__ ({ \58525#define vqdmull_high_lane_s16(__p0_730, __p1_730, __p2_730) __extension__ ({ \
57170 int16x8_t __s0_638 = __p0_638; \58526 int16x8_t __s0_730 = __p0_730; \
57171 int16x4_t __s1_638 = __p1_638; \58527 int16x4_t __s1_730 = __p1_730; \
57172 int16x8_t __rev0_638; __rev0_638 = __builtin_shufflevector(__s0_638, __s0_638, 7, 6, 5, 4, 3, 2, 1, 0); \58528 int16x8_t __rev0_730; __rev0_730 = __builtin_shufflevector(__s0_730, __s0_730, 7, 6, 5, 4, 3, 2, 1, 0); \
57173 int16x4_t __rev1_638; __rev1_638 = __builtin_shufflevector(__s1_638, __s1_638, 3, 2, 1, 0); \58529 int16x4_t __rev1_730; __rev1_730 = __builtin_shufflevector(__s1_730, __s1_730, 3, 2, 1, 0); \
57174 int32x4_t __ret_638; \58530 int32x4_t __ret_730; \
57175 __ret_638 = __noswap_vqdmull_s16(__noswap_vget_high_s16(__rev0_638), __noswap_splat_lane_s16(__rev1_638, __p2_638)); \58531 __ret_730 = __noswap_vqdmull_s16(__noswap_vget_high_s16(__rev0_730), __noswap_splat_lane_s16(__rev1_730, __p2_730)); \
57176 __ret_638 = __builtin_shufflevector(__ret_638, __ret_638, 3, 2, 1, 0); \58532 __ret_730 = __builtin_shufflevector(__ret_730, __ret_730, 3, 2, 1, 0); \
57177 __ret_638; \58533 __ret_730; \
57178})58534})
57179#endif58535#endif
5718058536
57181#ifdef __LITTLE_ENDIAN__58537#ifdef __LITTLE_ENDIAN__
57182#define vqdmull_high_laneq_s32(__p0_639, __p1_639, __p2_639) __extension__ ({ \58538#define vqdmull_high_laneq_s32(__p0_731, __p1_731, __p2_731) __extension__ ({ \
57183 int32x4_t __s0_639 = __p0_639; \58539 int32x4_t __s0_731 = __p0_731; \
57184 int32x4_t __s1_639 = __p1_639; \58540 int32x4_t __s1_731 = __p1_731; \
57185 int64x2_t __ret_639; \58541 int64x2_t __ret_731; \
57186 __ret_639 = vqdmull_s32(vget_high_s32(__s0_639), splat_laneq_s32(__s1_639, __p2_639)); \58542 __ret_731 = vqdmull_s32(vget_high_s32(__s0_731), splat_laneq_s32(__s1_731, __p2_731)); \
57187 __ret_639; \58543 __ret_731; \
57188})58544})
57189#else58545#else
57190#define vqdmull_high_laneq_s32(__p0_640, __p1_640, __p2_640) __extension__ ({ \58546#define vqdmull_high_laneq_s32(__p0_732, __p1_732, __p2_732) __extension__ ({ \
57191 int32x4_t __s0_640 = __p0_640; \58547 int32x4_t __s0_732 = __p0_732; \
57192 int32x4_t __s1_640 = __p1_640; \58548 int32x4_t __s1_732 = __p1_732; \
57193 int32x4_t __rev0_640; __rev0_640 = __builtin_shufflevector(__s0_640, __s0_640, 3, 2, 1, 0); \58549 int32x4_t __rev0_732; __rev0_732 = __builtin_shufflevector(__s0_732, __s0_732, 3, 2, 1, 0); \
57194 int32x4_t __rev1_640; __rev1_640 = __builtin_shufflevector(__s1_640, __s1_640, 3, 2, 1, 0); \58550 int32x4_t __rev1_732; __rev1_732 = __builtin_shufflevector(__s1_732, __s1_732, 3, 2, 1, 0); \
57195 int64x2_t __ret_640; \58551 int64x2_t __ret_732; \
57196 __ret_640 = __noswap_vqdmull_s32(__noswap_vget_high_s32(__rev0_640), __noswap_splat_laneq_s32(__rev1_640, __p2_640)); \58552 __ret_732 = __noswap_vqdmull_s32(__noswap_vget_high_s32(__rev0_732), __noswap_splat_laneq_s32(__rev1_732, __p2_732)); \
57197 __ret_640 = __builtin_shufflevector(__ret_640, __ret_640, 1, 0); \58553 __ret_732 = __builtin_shufflevector(__ret_732, __ret_732, 1, 0); \
57198 __ret_640; \58554 __ret_732; \
57199})58555})
57200#endif58556#endif
5720158557
57202#ifdef __LITTLE_ENDIAN__58558#ifdef __LITTLE_ENDIAN__
57203#define vqdmull_high_laneq_s16(__p0_641, __p1_641, __p2_641) __extension__ ({ \58559#define vqdmull_high_laneq_s16(__p0_733, __p1_733, __p2_733) __extension__ ({ \
57204 int16x8_t __s0_641 = __p0_641; \58560 int16x8_t __s0_733 = __p0_733; \
57205 int16x8_t __s1_641 = __p1_641; \58561 int16x8_t __s1_733 = __p1_733; \
57206 int32x4_t __ret_641; \58562 int32x4_t __ret_733; \
57207 __ret_641 = vqdmull_s16(vget_high_s16(__s0_641), splat_laneq_s16(__s1_641, __p2_641)); \58563 __ret_733 = vqdmull_s16(vget_high_s16(__s0_733), splat_laneq_s16(__s1_733, __p2_733)); \
57208 __ret_641; \58564 __ret_733; \
57209})58565})
57210#else58566#else
57211#define vqdmull_high_laneq_s16(__p0_642, __p1_642, __p2_642) __extension__ ({ \58567#define vqdmull_high_laneq_s16(__p0_734, __p1_734, __p2_734) __extension__ ({ \
57212 int16x8_t __s0_642 = __p0_642; \58568 int16x8_t __s0_734 = __p0_734; \
57213 int16x8_t __s1_642 = __p1_642; \58569 int16x8_t __s1_734 = __p1_734; \
57214 int16x8_t __rev0_642; __rev0_642 = __builtin_shufflevector(__s0_642, __s0_642, 7, 6, 5, 4, 3, 2, 1, 0); \58570 int16x8_t __rev0_734; __rev0_734 = __builtin_shufflevector(__s0_734, __s0_734, 7, 6, 5, 4, 3, 2, 1, 0); \
57215 int16x8_t __rev1_642; __rev1_642 = __builtin_shufflevector(__s1_642, __s1_642, 7, 6, 5, 4, 3, 2, 1, 0); \58571 int16x8_t __rev1_734; __rev1_734 = __builtin_shufflevector(__s1_734, __s1_734, 7, 6, 5, 4, 3, 2, 1, 0); \
57216 int32x4_t __ret_642; \58572 int32x4_t __ret_734; \
57217 __ret_642 = __noswap_vqdmull_s16(__noswap_vget_high_s16(__rev0_642), __noswap_splat_laneq_s16(__rev1_642, __p2_642)); \58573 __ret_734 = __noswap_vqdmull_s16(__noswap_vget_high_s16(__rev0_734), __noswap_splat_laneq_s16(__rev1_734, __p2_734)); \
57218 __ret_642 = __builtin_shufflevector(__ret_642, __ret_642, 3, 2, 1, 0); \58574 __ret_734 = __builtin_shufflevector(__ret_734, __ret_734, 3, 2, 1, 0); \
57219 __ret_642; \58575 __ret_734; \
57220})58576})
57221#endif58577#endif
5722258578
...@@ -57253,120 +58609,120 @@ __ai int32x4_t vqdmull_high_n_s16(int16x8_t __p0, int16_t __p1) {...@@ -57253,120 +58609,120 @@ __ai int32x4_t vqdmull_high_n_s16(int16x8_t __p0, int16_t __p1) {
57253#endif58609#endif
5725458610
57255#ifdef __LITTLE_ENDIAN__58611#ifdef __LITTLE_ENDIAN__
57256#define vqdmulls_lane_s32(__p0_643, __p1_643, __p2_643) __extension__ ({ \58612#define vqdmulls_lane_s32(__p0_735, __p1_735, __p2_735) __extension__ ({ \
57257 int32_t __s0_643 = __p0_643; \58613 int32_t __s0_735 = __p0_735; \
57258 int32x2_t __s1_643 = __p1_643; \58614 int32x2_t __s1_735 = __p1_735; \
57259 int64_t __ret_643; \58615 int64_t __ret_735; \
57260 __ret_643 = vqdmulls_s32(__s0_643, vget_lane_s32(__s1_643, __p2_643)); \58616 __ret_735 = vqdmulls_s32(__s0_735, vget_lane_s32(__s1_735, __p2_735)); \
57261 __ret_643; \58617 __ret_735; \
57262})58618})
57263#else58619#else
57264#define vqdmulls_lane_s32(__p0_644, __p1_644, __p2_644) __extension__ ({ \58620#define vqdmulls_lane_s32(__p0_736, __p1_736, __p2_736) __extension__ ({ \
57265 int32_t __s0_644 = __p0_644; \58621 int32_t __s0_736 = __p0_736; \
57266 int32x2_t __s1_644 = __p1_644; \58622 int32x2_t __s1_736 = __p1_736; \
57267 int32x2_t __rev1_644; __rev1_644 = __builtin_shufflevector(__s1_644, __s1_644, 1, 0); \58623 int32x2_t __rev1_736; __rev1_736 = __builtin_shufflevector(__s1_736, __s1_736, 1, 0); \
57268 int64_t __ret_644; \58624 int64_t __ret_736; \
57269 __ret_644 = vqdmulls_s32(__s0_644, __noswap_vget_lane_s32(__rev1_644, __p2_644)); \58625 __ret_736 = vqdmulls_s32(__s0_736, __noswap_vget_lane_s32(__rev1_736, __p2_736)); \
57270 __ret_644; \58626 __ret_736; \
57271})58627})
57272#endif58628#endif
5727358629
57274#ifdef __LITTLE_ENDIAN__58630#ifdef __LITTLE_ENDIAN__
57275#define vqdmullh_lane_s16(__p0_645, __p1_645, __p2_645) __extension__ ({ \58631#define vqdmullh_lane_s16(__p0_737, __p1_737, __p2_737) __extension__ ({ \
57276 int16_t __s0_645 = __p0_645; \58632 int16_t __s0_737 = __p0_737; \
57277 int16x4_t __s1_645 = __p1_645; \58633 int16x4_t __s1_737 = __p1_737; \
57278 int32_t __ret_645; \58634 int32_t __ret_737; \
57279 __ret_645 = vqdmullh_s16(__s0_645, vget_lane_s16(__s1_645, __p2_645)); \58635 __ret_737 = vqdmullh_s16(__s0_737, vget_lane_s16(__s1_737, __p2_737)); \
57280 __ret_645; \58636 __ret_737; \
57281})58637})
57282#else58638#else
57283#define vqdmullh_lane_s16(__p0_646, __p1_646, __p2_646) __extension__ ({ \58639#define vqdmullh_lane_s16(__p0_738, __p1_738, __p2_738) __extension__ ({ \
57284 int16_t __s0_646 = __p0_646; \58640 int16_t __s0_738 = __p0_738; \
57285 int16x4_t __s1_646 = __p1_646; \58641 int16x4_t __s1_738 = __p1_738; \
57286 int16x4_t __rev1_646; __rev1_646 = __builtin_shufflevector(__s1_646, __s1_646, 3, 2, 1, 0); \58642 int16x4_t __rev1_738; __rev1_738 = __builtin_shufflevector(__s1_738, __s1_738, 3, 2, 1, 0); \
57287 int32_t __ret_646; \58643 int32_t __ret_738; \
57288 __ret_646 = vqdmullh_s16(__s0_646, __noswap_vget_lane_s16(__rev1_646, __p2_646)); \58644 __ret_738 = vqdmullh_s16(__s0_738, __noswap_vget_lane_s16(__rev1_738, __p2_738)); \
57289 __ret_646; \58645 __ret_738; \
57290})58646})
57291#endif58647#endif
5729258648
57293#ifdef __LITTLE_ENDIAN__58649#ifdef __LITTLE_ENDIAN__
57294#define vqdmulls_laneq_s32(__p0_647, __p1_647, __p2_647) __extension__ ({ \58650#define vqdmulls_laneq_s32(__p0_739, __p1_739, __p2_739) __extension__ ({ \
57295 int32_t __s0_647 = __p0_647; \58651 int32_t __s0_739 = __p0_739; \
57296 int32x4_t __s1_647 = __p1_647; \58652 int32x4_t __s1_739 = __p1_739; \
57297 int64_t __ret_647; \58653 int64_t __ret_739; \
57298 __ret_647 = vqdmulls_s32(__s0_647, vgetq_lane_s32(__s1_647, __p2_647)); \58654 __ret_739 = vqdmulls_s32(__s0_739, vgetq_lane_s32(__s1_739, __p2_739)); \
57299 __ret_647; \58655 __ret_739; \
57300})58656})
57301#else58657#else
57302#define vqdmulls_laneq_s32(__p0_648, __p1_648, __p2_648) __extension__ ({ \58658#define vqdmulls_laneq_s32(__p0_740, __p1_740, __p2_740) __extension__ ({ \
57303 int32_t __s0_648 = __p0_648; \58659 int32_t __s0_740 = __p0_740; \
57304 int32x4_t __s1_648 = __p1_648; \58660 int32x4_t __s1_740 = __p1_740; \
57305 int32x4_t __rev1_648; __rev1_648 = __builtin_shufflevector(__s1_648, __s1_648, 3, 2, 1, 0); \58661 int32x4_t __rev1_740; __rev1_740 = __builtin_shufflevector(__s1_740, __s1_740, 3, 2, 1, 0); \
57306 int64_t __ret_648; \58662 int64_t __ret_740; \
57307 __ret_648 = vqdmulls_s32(__s0_648, __noswap_vgetq_lane_s32(__rev1_648, __p2_648)); \58663 __ret_740 = vqdmulls_s32(__s0_740, __noswap_vgetq_lane_s32(__rev1_740, __p2_740)); \
57308 __ret_648; \58664 __ret_740; \
57309})58665})
57310#endif58666#endif
5731158667
57312#ifdef __LITTLE_ENDIAN__58668#ifdef __LITTLE_ENDIAN__
57313#define vqdmullh_laneq_s16(__p0_649, __p1_649, __p2_649) __extension__ ({ \58669#define vqdmullh_laneq_s16(__p0_741, __p1_741, __p2_741) __extension__ ({ \
57314 int16_t __s0_649 = __p0_649; \58670 int16_t __s0_741 = __p0_741; \
57315 int16x8_t __s1_649 = __p1_649; \58671 int16x8_t __s1_741 = __p1_741; \
57316 int32_t __ret_649; \58672 int32_t __ret_741; \
57317 __ret_649 = vqdmullh_s16(__s0_649, vgetq_lane_s16(__s1_649, __p2_649)); \58673 __ret_741 = vqdmullh_s16(__s0_741, vgetq_lane_s16(__s1_741, __p2_741)); \
57318 __ret_649; \58674 __ret_741; \
57319})58675})
57320#else58676#else
57321#define vqdmullh_laneq_s16(__p0_650, __p1_650, __p2_650) __extension__ ({ \58677#define vqdmullh_laneq_s16(__p0_742, __p1_742, __p2_742) __extension__ ({ \
57322 int16_t __s0_650 = __p0_650; \58678 int16_t __s0_742 = __p0_742; \
57323 int16x8_t __s1_650 = __p1_650; \58679 int16x8_t __s1_742 = __p1_742; \
57324 int16x8_t __rev1_650; __rev1_650 = __builtin_shufflevector(__s1_650, __s1_650, 7, 6, 5, 4, 3, 2, 1, 0); \58680 int16x8_t __rev1_742; __rev1_742 = __builtin_shufflevector(__s1_742, __s1_742, 7, 6, 5, 4, 3, 2, 1, 0); \
57325 int32_t __ret_650; \58681 int32_t __ret_742; \
57326 __ret_650 = vqdmullh_s16(__s0_650, __noswap_vgetq_lane_s16(__rev1_650, __p2_650)); \58682 __ret_742 = vqdmullh_s16(__s0_742, __noswap_vgetq_lane_s16(__rev1_742, __p2_742)); \
57327 __ret_650; \58683 __ret_742; \
57328})58684})
57329#endif58685#endif
5733058686
57331#ifdef __LITTLE_ENDIAN__58687#ifdef __LITTLE_ENDIAN__
57332#define vqdmull_laneq_s32(__p0_651, __p1_651, __p2_651) __extension__ ({ \58688#define vqdmull_laneq_s32(__p0_743, __p1_743, __p2_743) __extension__ ({ \
57333 int32x2_t __s0_651 = __p0_651; \58689 int32x2_t __s0_743 = __p0_743; \
57334 int32x4_t __s1_651 = __p1_651; \58690 int32x4_t __s1_743 = __p1_743; \
57335 int64x2_t __ret_651; \58691 int64x2_t __ret_743; \
57336 __ret_651 = vqdmull_s32(__s0_651, splat_laneq_s32(__s1_651, __p2_651)); \58692 __ret_743 = vqdmull_s32(__s0_743, splat_laneq_s32(__s1_743, __p2_743)); \
57337 __ret_651; \58693 __ret_743; \
57338})58694})
57339#else58695#else
57340#define vqdmull_laneq_s32(__p0_652, __p1_652, __p2_652) __extension__ ({ \58696#define vqdmull_laneq_s32(__p0_744, __p1_744, __p2_744) __extension__ ({ \
57341 int32x2_t __s0_652 = __p0_652; \58697 int32x2_t __s0_744 = __p0_744; \
57342 int32x4_t __s1_652 = __p1_652; \58698 int32x4_t __s1_744 = __p1_744; \
57343 int32x2_t __rev0_652; __rev0_652 = __builtin_shufflevector(__s0_652, __s0_652, 1, 0); \58699 int32x2_t __rev0_744; __rev0_744 = __builtin_shufflevector(__s0_744, __s0_744, 1, 0); \
57344 int32x4_t __rev1_652; __rev1_652 = __builtin_shufflevector(__s1_652, __s1_652, 3, 2, 1, 0); \58700 int32x4_t __rev1_744; __rev1_744 = __builtin_shufflevector(__s1_744, __s1_744, 3, 2, 1, 0); \
57345 int64x2_t __ret_652; \58701 int64x2_t __ret_744; \
57346 __ret_652 = __noswap_vqdmull_s32(__rev0_652, __noswap_splat_laneq_s32(__rev1_652, __p2_652)); \58702 __ret_744 = __noswap_vqdmull_s32(__rev0_744, __noswap_splat_laneq_s32(__rev1_744, __p2_744)); \
57347 __ret_652 = __builtin_shufflevector(__ret_652, __ret_652, 1, 0); \58703 __ret_744 = __builtin_shufflevector(__ret_744, __ret_744, 1, 0); \
57348 __ret_652; \58704 __ret_744; \
57349})58705})
57350#endif58706#endif
5735158707
57352#ifdef __LITTLE_ENDIAN__58708#ifdef __LITTLE_ENDIAN__
57353#define vqdmull_laneq_s16(__p0_653, __p1_653, __p2_653) __extension__ ({ \58709#define vqdmull_laneq_s16(__p0_745, __p1_745, __p2_745) __extension__ ({ \
57354 int16x4_t __s0_653 = __p0_653; \58710 int16x4_t __s0_745 = __p0_745; \
57355 int16x8_t __s1_653 = __p1_653; \58711 int16x8_t __s1_745 = __p1_745; \
57356 int32x4_t __ret_653; \58712 int32x4_t __ret_745; \
57357 __ret_653 = vqdmull_s16(__s0_653, splat_laneq_s16(__s1_653, __p2_653)); \58713 __ret_745 = vqdmull_s16(__s0_745, splat_laneq_s16(__s1_745, __p2_745)); \
57358 __ret_653; \58714 __ret_745; \
57359})58715})
57360#else58716#else
57361#define vqdmull_laneq_s16(__p0_654, __p1_654, __p2_654) __extension__ ({ \58717#define vqdmull_laneq_s16(__p0_746, __p1_746, __p2_746) __extension__ ({ \
57362 int16x4_t __s0_654 = __p0_654; \58718 int16x4_t __s0_746 = __p0_746; \
57363 int16x8_t __s1_654 = __p1_654; \58719 int16x8_t __s1_746 = __p1_746; \
57364 int16x4_t __rev0_654; __rev0_654 = __builtin_shufflevector(__s0_654, __s0_654, 3, 2, 1, 0); \58720 int16x4_t __rev0_746; __rev0_746 = __builtin_shufflevector(__s0_746, __s0_746, 3, 2, 1, 0); \
57365 int16x8_t __rev1_654; __rev1_654 = __builtin_shufflevector(__s1_654, __s1_654, 7, 6, 5, 4, 3, 2, 1, 0); \58721 int16x8_t __rev1_746; __rev1_746 = __builtin_shufflevector(__s1_746, __s1_746, 7, 6, 5, 4, 3, 2, 1, 0); \
57366 int32x4_t __ret_654; \58722 int32x4_t __ret_746; \
57367 __ret_654 = __noswap_vqdmull_s16(__rev0_654, __noswap_splat_laneq_s16(__rev1_654, __p2_654)); \58723 __ret_746 = __noswap_vqdmull_s16(__rev0_746, __noswap_splat_laneq_s16(__rev1_746, __p2_746)); \
57368 __ret_654 = __builtin_shufflevector(__ret_654, __ret_654, 3, 2, 1, 0); \58724 __ret_746 = __builtin_shufflevector(__ret_746, __ret_746, 3, 2, 1, 0); \
57369 __ret_654; \58725 __ret_746; \
57370})58726})
57371#endif58727#endif
5737258728
...@@ -57704,78 +59060,78 @@ __ai int16_t vqrdmulhh_s16(int16_t __p0, int16_t __p1) {...@@ -57704,78 +59060,78 @@ __ai int16_t vqrdmulhh_s16(int16_t __p0, int16_t __p1) {
57704#endif59060#endif
5770559061
57706#ifdef __LITTLE_ENDIAN__59062#ifdef __LITTLE_ENDIAN__
57707#define vqrdmulhs_lane_s32(__p0_655, __p1_655, __p2_655) __extension__ ({ \59063#define vqrdmulhs_lane_s32(__p0_747, __p1_747, __p2_747) __extension__ ({ \
57708 int32_t __s0_655 = __p0_655; \59064 int32_t __s0_747 = __p0_747; \
57709 int32x2_t __s1_655 = __p1_655; \59065 int32x2_t __s1_747 = __p1_747; \
57710 int32_t __ret_655; \59066 int32_t __ret_747; \
57711 __ret_655 = vqrdmulhs_s32(__s0_655, vget_lane_s32(__s1_655, __p2_655)); \59067 __ret_747 = vqrdmulhs_s32(__s0_747, vget_lane_s32(__s1_747, __p2_747)); \
57712 __ret_655; \59068 __ret_747; \
57713})59069})
57714#else59070#else
57715#define vqrdmulhs_lane_s32(__p0_656, __p1_656, __p2_656) __extension__ ({ \59071#define vqrdmulhs_lane_s32(__p0_748, __p1_748, __p2_748) __extension__ ({ \
57716 int32_t __s0_656 = __p0_656; \59072 int32_t __s0_748 = __p0_748; \
57717 int32x2_t __s1_656 = __p1_656; \59073 int32x2_t __s1_748 = __p1_748; \
57718 int32x2_t __rev1_656; __rev1_656 = __builtin_shufflevector(__s1_656, __s1_656, 1, 0); \59074 int32x2_t __rev1_748; __rev1_748 = __builtin_shufflevector(__s1_748, __s1_748, 1, 0); \
57719 int32_t __ret_656; \59075 int32_t __ret_748; \
57720 __ret_656 = vqrdmulhs_s32(__s0_656, __noswap_vget_lane_s32(__rev1_656, __p2_656)); \59076 __ret_748 = vqrdmulhs_s32(__s0_748, __noswap_vget_lane_s32(__rev1_748, __p2_748)); \
57721 __ret_656; \59077 __ret_748; \
57722})59078})
57723#endif59079#endif
5772459080
57725#ifdef __LITTLE_ENDIAN__59081#ifdef __LITTLE_ENDIAN__
57726#define vqrdmulhh_lane_s16(__p0_657, __p1_657, __p2_657) __extension__ ({ \59082#define vqrdmulhh_lane_s16(__p0_749, __p1_749, __p2_749) __extension__ ({ \
57727 int16_t __s0_657 = __p0_657; \59083 int16_t __s0_749 = __p0_749; \
57728 int16x4_t __s1_657 = __p1_657; \59084 int16x4_t __s1_749 = __p1_749; \
57729 int16_t __ret_657; \59085 int16_t __ret_749; \
57730 __ret_657 = vqrdmulhh_s16(__s0_657, vget_lane_s16(__s1_657, __p2_657)); \59086 __ret_749 = vqrdmulhh_s16(__s0_749, vget_lane_s16(__s1_749, __p2_749)); \
57731 __ret_657; \59087 __ret_749; \
57732})59088})
57733#else59089#else
57734#define vqrdmulhh_lane_s16(__p0_658, __p1_658, __p2_658) __extension__ ({ \59090#define vqrdmulhh_lane_s16(__p0_750, __p1_750, __p2_750) __extension__ ({ \
57735 int16_t __s0_658 = __p0_658; \59091 int16_t __s0_750 = __p0_750; \
57736 int16x4_t __s1_658 = __p1_658; \59092 int16x4_t __s1_750 = __p1_750; \
57737 int16x4_t __rev1_658; __rev1_658 = __builtin_shufflevector(__s1_658, __s1_658, 3, 2, 1, 0); \59093 int16x4_t __rev1_750; __rev1_750 = __builtin_shufflevector(__s1_750, __s1_750, 3, 2, 1, 0); \
57738 int16_t __ret_658; \59094 int16_t __ret_750; \
57739 __ret_658 = vqrdmulhh_s16(__s0_658, __noswap_vget_lane_s16(__rev1_658, __p2_658)); \59095 __ret_750 = vqrdmulhh_s16(__s0_750, __noswap_vget_lane_s16(__rev1_750, __p2_750)); \
57740 __ret_658; \59096 __ret_750; \
57741})59097})
57742#endif59098#endif
5774359099
57744#ifdef __LITTLE_ENDIAN__59100#ifdef __LITTLE_ENDIAN__
57745#define vqrdmulhs_laneq_s32(__p0_659, __p1_659, __p2_659) __extension__ ({ \59101#define vqrdmulhs_laneq_s32(__p0_751, __p1_751, __p2_751) __extension__ ({ \
57746 int32_t __s0_659 = __p0_659; \59102 int32_t __s0_751 = __p0_751; \
57747 int32x4_t __s1_659 = __p1_659; \59103 int32x4_t __s1_751 = __p1_751; \
57748 int32_t __ret_659; \59104 int32_t __ret_751; \
57749 __ret_659 = vqrdmulhs_s32(__s0_659, vgetq_lane_s32(__s1_659, __p2_659)); \59105 __ret_751 = vqrdmulhs_s32(__s0_751, vgetq_lane_s32(__s1_751, __p2_751)); \
57750 __ret_659; \59106 __ret_751; \
57751})59107})
57752#else59108#else
57753#define vqrdmulhs_laneq_s32(__p0_660, __p1_660, __p2_660) __extension__ ({ \59109#define vqrdmulhs_laneq_s32(__p0_752, __p1_752, __p2_752) __extension__ ({ \
57754 int32_t __s0_660 = __p0_660; \59110 int32_t __s0_752 = __p0_752; \
57755 int32x4_t __s1_660 = __p1_660; \59111 int32x4_t __s1_752 = __p1_752; \
57756 int32x4_t __rev1_660; __rev1_660 = __builtin_shufflevector(__s1_660, __s1_660, 3, 2, 1, 0); \59112 int32x4_t __rev1_752; __rev1_752 = __builtin_shufflevector(__s1_752, __s1_752, 3, 2, 1, 0); \
57757 int32_t __ret_660; \59113 int32_t __ret_752; \
57758 __ret_660 = vqrdmulhs_s32(__s0_660, __noswap_vgetq_lane_s32(__rev1_660, __p2_660)); \59114 __ret_752 = vqrdmulhs_s32(__s0_752, __noswap_vgetq_lane_s32(__rev1_752, __p2_752)); \
57759 __ret_660; \59115 __ret_752; \
57760})59116})
57761#endif59117#endif
5776259118
57763#ifdef __LITTLE_ENDIAN__59119#ifdef __LITTLE_ENDIAN__
57764#define vqrdmulhh_laneq_s16(__p0_661, __p1_661, __p2_661) __extension__ ({ \59120#define vqrdmulhh_laneq_s16(__p0_753, __p1_753, __p2_753) __extension__ ({ \
57765 int16_t __s0_661 = __p0_661; \59121 int16_t __s0_753 = __p0_753; \
57766 int16x8_t __s1_661 = __p1_661; \59122 int16x8_t __s1_753 = __p1_753; \
57767 int16_t __ret_661; \59123 int16_t __ret_753; \
57768 __ret_661 = vqrdmulhh_s16(__s0_661, vgetq_lane_s16(__s1_661, __p2_661)); \59124 __ret_753 = vqrdmulhh_s16(__s0_753, vgetq_lane_s16(__s1_753, __p2_753)); \
57769 __ret_661; \59125 __ret_753; \
57770})59126})
57771#else59127#else
57772#define vqrdmulhh_laneq_s16(__p0_662, __p1_662, __p2_662) __extension__ ({ \59128#define vqrdmulhh_laneq_s16(__p0_754, __p1_754, __p2_754) __extension__ ({ \
57773 int16_t __s0_662 = __p0_662; \59129 int16_t __s0_754 = __p0_754; \
57774 int16x8_t __s1_662 = __p1_662; \59130 int16x8_t __s1_754 = __p1_754; \
57775 int16x8_t __rev1_662; __rev1_662 = __builtin_shufflevector(__s1_662, __s1_662, 7, 6, 5, 4, 3, 2, 1, 0); \59131 int16x8_t __rev1_754; __rev1_754 = __builtin_shufflevector(__s1_754, __s1_754, 7, 6, 5, 4, 3, 2, 1, 0); \
57776 int16_t __ret_662; \59132 int16_t __ret_754; \
57777 __ret_662 = vqrdmulhh_s16(__s0_662, __noswap_vgetq_lane_s16(__rev1_662, __p2_662)); \59133 __ret_754 = vqrdmulhh_s16(__s0_754, __noswap_vgetq_lane_s16(__rev1_754, __p2_754)); \
57778 __ret_662; \59134 __ret_754; \
57779})59135})
57780#endif59136#endif
5778159137
...@@ -57904,128 +59260,128 @@ __ai int16_t vqrshlh_s16(int16_t __p0, int16_t __p1) {...@@ -57904,128 +59260,128 @@ __ai int16_t vqrshlh_s16(int16_t __p0, int16_t __p1) {
57904 return __ret;59260 return __ret;
57905}59261}
57906#ifdef __LITTLE_ENDIAN__59262#ifdef __LITTLE_ENDIAN__
57907#define vqrshrn_high_n_u32(__p0_663, __p1_663, __p2_663) __extension__ ({ \59263#define vqrshrn_high_n_u32(__p0_755, __p1_755, __p2_755) __extension__ ({ \
57908 uint16x4_t __s0_663 = __p0_663; \59264 uint16x4_t __s0_755 = __p0_755; \
57909 uint32x4_t __s1_663 = __p1_663; \59265 uint32x4_t __s1_755 = __p1_755; \
57910 uint16x8_t __ret_663; \59266 uint16x8_t __ret_755; \
57911 __ret_663 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_663), (uint16x4_t)(vqrshrn_n_u32(__s1_663, __p2_663)))); \59267 __ret_755 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_755), (uint16x4_t)(vqrshrn_n_u32(__s1_755, __p2_755)))); \
57912 __ret_663; \59268 __ret_755; \
57913})59269})
57914#else59270#else
57915#define vqrshrn_high_n_u32(__p0_664, __p1_664, __p2_664) __extension__ ({ \59271#define vqrshrn_high_n_u32(__p0_756, __p1_756, __p2_756) __extension__ ({ \
57916 uint16x4_t __s0_664 = __p0_664; \59272 uint16x4_t __s0_756 = __p0_756; \
57917 uint32x4_t __s1_664 = __p1_664; \59273 uint32x4_t __s1_756 = __p1_756; \
57918 uint16x4_t __rev0_664; __rev0_664 = __builtin_shufflevector(__s0_664, __s0_664, 3, 2, 1, 0); \59274 uint16x4_t __rev0_756; __rev0_756 = __builtin_shufflevector(__s0_756, __s0_756, 3, 2, 1, 0); \
57919 uint32x4_t __rev1_664; __rev1_664 = __builtin_shufflevector(__s1_664, __s1_664, 3, 2, 1, 0); \59275 uint32x4_t __rev1_756; __rev1_756 = __builtin_shufflevector(__s1_756, __s1_756, 3, 2, 1, 0); \
57920 uint16x8_t __ret_664; \59276 uint16x8_t __ret_756; \
57921 __ret_664 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_664), (uint16x4_t)(__noswap_vqrshrn_n_u32(__rev1_664, __p2_664)))); \59277 __ret_756 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_756), (uint16x4_t)(__noswap_vqrshrn_n_u32(__rev1_756, __p2_756)))); \
57922 __ret_664 = __builtin_shufflevector(__ret_664, __ret_664, 7, 6, 5, 4, 3, 2, 1, 0); \59278 __ret_756 = __builtin_shufflevector(__ret_756, __ret_756, 7, 6, 5, 4, 3, 2, 1, 0); \
57923 __ret_664; \59279 __ret_756; \
57924})59280})
57925#endif59281#endif
5792659282
57927#ifdef __LITTLE_ENDIAN__59283#ifdef __LITTLE_ENDIAN__
57928#define vqrshrn_high_n_u64(__p0_665, __p1_665, __p2_665) __extension__ ({ \59284#define vqrshrn_high_n_u64(__p0_757, __p1_757, __p2_757) __extension__ ({ \
57929 uint32x2_t __s0_665 = __p0_665; \59285 uint32x2_t __s0_757 = __p0_757; \
57930 uint64x2_t __s1_665 = __p1_665; \59286 uint64x2_t __s1_757 = __p1_757; \
57931 uint32x4_t __ret_665; \59287 uint32x4_t __ret_757; \
57932 __ret_665 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_665), (uint32x2_t)(vqrshrn_n_u64(__s1_665, __p2_665)))); \59288 __ret_757 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_757), (uint32x2_t)(vqrshrn_n_u64(__s1_757, __p2_757)))); \
57933 __ret_665; \59289 __ret_757; \
57934})59290})
57935#else59291#else
57936#define vqrshrn_high_n_u64(__p0_666, __p1_666, __p2_666) __extension__ ({ \59292#define vqrshrn_high_n_u64(__p0_758, __p1_758, __p2_758) __extension__ ({ \
57937 uint32x2_t __s0_666 = __p0_666; \59293 uint32x2_t __s0_758 = __p0_758; \
57938 uint64x2_t __s1_666 = __p1_666; \59294 uint64x2_t __s1_758 = __p1_758; \
57939 uint32x2_t __rev0_666; __rev0_666 = __builtin_shufflevector(__s0_666, __s0_666, 1, 0); \59295 uint32x2_t __rev0_758; __rev0_758 = __builtin_shufflevector(__s0_758, __s0_758, 1, 0); \
57940 uint64x2_t __rev1_666; __rev1_666 = __builtin_shufflevector(__s1_666, __s1_666, 1, 0); \59296 uint64x2_t __rev1_758; __rev1_758 = __builtin_shufflevector(__s1_758, __s1_758, 1, 0); \
57941 uint32x4_t __ret_666; \59297 uint32x4_t __ret_758; \
57942 __ret_666 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_666), (uint32x2_t)(__noswap_vqrshrn_n_u64(__rev1_666, __p2_666)))); \59298 __ret_758 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_758), (uint32x2_t)(__noswap_vqrshrn_n_u64(__rev1_758, __p2_758)))); \
57943 __ret_666 = __builtin_shufflevector(__ret_666, __ret_666, 3, 2, 1, 0); \59299 __ret_758 = __builtin_shufflevector(__ret_758, __ret_758, 3, 2, 1, 0); \
57944 __ret_666; \59300 __ret_758; \
57945})59301})
57946#endif59302#endif
5794759303
57948#ifdef __LITTLE_ENDIAN__59304#ifdef __LITTLE_ENDIAN__
57949#define vqrshrn_high_n_u16(__p0_667, __p1_667, __p2_667) __extension__ ({ \59305#define vqrshrn_high_n_u16(__p0_759, __p1_759, __p2_759) __extension__ ({ \
57950 uint8x8_t __s0_667 = __p0_667; \59306 uint8x8_t __s0_759 = __p0_759; \
57951 uint16x8_t __s1_667 = __p1_667; \59307 uint16x8_t __s1_759 = __p1_759; \
57952 uint8x16_t __ret_667; \59308 uint8x16_t __ret_759; \
57953 __ret_667 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_667), (uint8x8_t)(vqrshrn_n_u16(__s1_667, __p2_667)))); \59309 __ret_759 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_759), (uint8x8_t)(vqrshrn_n_u16(__s1_759, __p2_759)))); \
57954 __ret_667; \59310 __ret_759; \
57955})59311})
57956#else59312#else
57957#define vqrshrn_high_n_u16(__p0_668, __p1_668, __p2_668) __extension__ ({ \59313#define vqrshrn_high_n_u16(__p0_760, __p1_760, __p2_760) __extension__ ({ \
57958 uint8x8_t __s0_668 = __p0_668; \59314 uint8x8_t __s0_760 = __p0_760; \
57959 uint16x8_t __s1_668 = __p1_668; \59315 uint16x8_t __s1_760 = __p1_760; \
57960 uint8x8_t __rev0_668; __rev0_668 = __builtin_shufflevector(__s0_668, __s0_668, 7, 6, 5, 4, 3, 2, 1, 0); \59316 uint8x8_t __rev0_760; __rev0_760 = __builtin_shufflevector(__s0_760, __s0_760, 7, 6, 5, 4, 3, 2, 1, 0); \
57961 uint16x8_t __rev1_668; __rev1_668 = __builtin_shufflevector(__s1_668, __s1_668, 7, 6, 5, 4, 3, 2, 1, 0); \59317 uint16x8_t __rev1_760; __rev1_760 = __builtin_shufflevector(__s1_760, __s1_760, 7, 6, 5, 4, 3, 2, 1, 0); \
57962 uint8x16_t __ret_668; \59318 uint8x16_t __ret_760; \
57963 __ret_668 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_668), (uint8x8_t)(__noswap_vqrshrn_n_u16(__rev1_668, __p2_668)))); \59319 __ret_760 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_760), (uint8x8_t)(__noswap_vqrshrn_n_u16(__rev1_760, __p2_760)))); \
57964 __ret_668 = __builtin_shufflevector(__ret_668, __ret_668, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59320 __ret_760 = __builtin_shufflevector(__ret_760, __ret_760, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
57965 __ret_668; \59321 __ret_760; \
57966})59322})
57967#endif59323#endif
5796859324
57969#ifdef __LITTLE_ENDIAN__59325#ifdef __LITTLE_ENDIAN__
57970#define vqrshrn_high_n_s32(__p0_669, __p1_669, __p2_669) __extension__ ({ \59326#define vqrshrn_high_n_s32(__p0_761, __p1_761, __p2_761) __extension__ ({ \
57971 int16x4_t __s0_669 = __p0_669; \59327 int16x4_t __s0_761 = __p0_761; \
57972 int32x4_t __s1_669 = __p1_669; \59328 int32x4_t __s1_761 = __p1_761; \
57973 int16x8_t __ret_669; \59329 int16x8_t __ret_761; \
57974 __ret_669 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_669), (int16x4_t)(vqrshrn_n_s32(__s1_669, __p2_669)))); \59330 __ret_761 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_761), (int16x4_t)(vqrshrn_n_s32(__s1_761, __p2_761)))); \
57975 __ret_669; \59331 __ret_761; \
57976})59332})
57977#else59333#else
57978#define vqrshrn_high_n_s32(__p0_670, __p1_670, __p2_670) __extension__ ({ \59334#define vqrshrn_high_n_s32(__p0_762, __p1_762, __p2_762) __extension__ ({ \
57979 int16x4_t __s0_670 = __p0_670; \59335 int16x4_t __s0_762 = __p0_762; \
57980 int32x4_t __s1_670 = __p1_670; \59336 int32x4_t __s1_762 = __p1_762; \
57981 int16x4_t __rev0_670; __rev0_670 = __builtin_shufflevector(__s0_670, __s0_670, 3, 2, 1, 0); \59337 int16x4_t __rev0_762; __rev0_762 = __builtin_shufflevector(__s0_762, __s0_762, 3, 2, 1, 0); \
57982 int32x4_t __rev1_670; __rev1_670 = __builtin_shufflevector(__s1_670, __s1_670, 3, 2, 1, 0); \59338 int32x4_t __rev1_762; __rev1_762 = __builtin_shufflevector(__s1_762, __s1_762, 3, 2, 1, 0); \
57983 int16x8_t __ret_670; \59339 int16x8_t __ret_762; \
57984 __ret_670 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_670), (int16x4_t)(__noswap_vqrshrn_n_s32(__rev1_670, __p2_670)))); \59340 __ret_762 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_762), (int16x4_t)(__noswap_vqrshrn_n_s32(__rev1_762, __p2_762)))); \
57985 __ret_670 = __builtin_shufflevector(__ret_670, __ret_670, 7, 6, 5, 4, 3, 2, 1, 0); \59341 __ret_762 = __builtin_shufflevector(__ret_762, __ret_762, 7, 6, 5, 4, 3, 2, 1, 0); \
57986 __ret_670; \59342 __ret_762; \
57987})59343})
57988#endif59344#endif
5798959345
57990#ifdef __LITTLE_ENDIAN__59346#ifdef __LITTLE_ENDIAN__
57991#define vqrshrn_high_n_s64(__p0_671, __p1_671, __p2_671) __extension__ ({ \59347#define vqrshrn_high_n_s64(__p0_763, __p1_763, __p2_763) __extension__ ({ \
57992 int32x2_t __s0_671 = __p0_671; \59348 int32x2_t __s0_763 = __p0_763; \
57993 int64x2_t __s1_671 = __p1_671; \59349 int64x2_t __s1_763 = __p1_763; \
57994 int32x4_t __ret_671; \59350 int32x4_t __ret_763; \
57995 __ret_671 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_671), (int32x2_t)(vqrshrn_n_s64(__s1_671, __p2_671)))); \59351 __ret_763 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_763), (int32x2_t)(vqrshrn_n_s64(__s1_763, __p2_763)))); \
57996 __ret_671; \59352 __ret_763; \
57997})59353})
57998#else59354#else
57999#define vqrshrn_high_n_s64(__p0_672, __p1_672, __p2_672) __extension__ ({ \59355#define vqrshrn_high_n_s64(__p0_764, __p1_764, __p2_764) __extension__ ({ \
58000 int32x2_t __s0_672 = __p0_672; \59356 int32x2_t __s0_764 = __p0_764; \
58001 int64x2_t __s1_672 = __p1_672; \59357 int64x2_t __s1_764 = __p1_764; \
58002 int32x2_t __rev0_672; __rev0_672 = __builtin_shufflevector(__s0_672, __s0_672, 1, 0); \59358 int32x2_t __rev0_764; __rev0_764 = __builtin_shufflevector(__s0_764, __s0_764, 1, 0); \
58003 int64x2_t __rev1_672; __rev1_672 = __builtin_shufflevector(__s1_672, __s1_672, 1, 0); \59359 int64x2_t __rev1_764; __rev1_764 = __builtin_shufflevector(__s1_764, __s1_764, 1, 0); \
58004 int32x4_t __ret_672; \59360 int32x4_t __ret_764; \
58005 __ret_672 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_672), (int32x2_t)(__noswap_vqrshrn_n_s64(__rev1_672, __p2_672)))); \59361 __ret_764 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_764), (int32x2_t)(__noswap_vqrshrn_n_s64(__rev1_764, __p2_764)))); \
58006 __ret_672 = __builtin_shufflevector(__ret_672, __ret_672, 3, 2, 1, 0); \59362 __ret_764 = __builtin_shufflevector(__ret_764, __ret_764, 3, 2, 1, 0); \
58007 __ret_672; \59363 __ret_764; \
58008})59364})
58009#endif59365#endif
5801059366
58011#ifdef __LITTLE_ENDIAN__59367#ifdef __LITTLE_ENDIAN__
58012#define vqrshrn_high_n_s16(__p0_673, __p1_673, __p2_673) __extension__ ({ \59368#define vqrshrn_high_n_s16(__p0_765, __p1_765, __p2_765) __extension__ ({ \
58013 int8x8_t __s0_673 = __p0_673; \59369 int8x8_t __s0_765 = __p0_765; \
58014 int16x8_t __s1_673 = __p1_673; \59370 int16x8_t __s1_765 = __p1_765; \
58015 int8x16_t __ret_673; \59371 int8x16_t __ret_765; \
58016 __ret_673 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_673), (int8x8_t)(vqrshrn_n_s16(__s1_673, __p2_673)))); \59372 __ret_765 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_765), (int8x8_t)(vqrshrn_n_s16(__s1_765, __p2_765)))); \
58017 __ret_673; \59373 __ret_765; \
58018})59374})
58019#else59375#else
58020#define vqrshrn_high_n_s16(__p0_674, __p1_674, __p2_674) __extension__ ({ \59376#define vqrshrn_high_n_s16(__p0_766, __p1_766, __p2_766) __extension__ ({ \
58021 int8x8_t __s0_674 = __p0_674; \59377 int8x8_t __s0_766 = __p0_766; \
58022 int16x8_t __s1_674 = __p1_674; \59378 int16x8_t __s1_766 = __p1_766; \
58023 int8x8_t __rev0_674; __rev0_674 = __builtin_shufflevector(__s0_674, __s0_674, 7, 6, 5, 4, 3, 2, 1, 0); \59379 int8x8_t __rev0_766; __rev0_766 = __builtin_shufflevector(__s0_766, __s0_766, 7, 6, 5, 4, 3, 2, 1, 0); \
58024 int16x8_t __rev1_674; __rev1_674 = __builtin_shufflevector(__s1_674, __s1_674, 7, 6, 5, 4, 3, 2, 1, 0); \59380 int16x8_t __rev1_766; __rev1_766 = __builtin_shufflevector(__s1_766, __s1_766, 7, 6, 5, 4, 3, 2, 1, 0); \
58025 int8x16_t __ret_674; \59381 int8x16_t __ret_766; \
58026 __ret_674 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_674), (int8x8_t)(__noswap_vqrshrn_n_s16(__rev1_674, __p2_674)))); \59382 __ret_766 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_766), (int8x8_t)(__noswap_vqrshrn_n_s16(__rev1_766, __p2_766)))); \
58027 __ret_674 = __builtin_shufflevector(__ret_674, __ret_674, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59383 __ret_766 = __builtin_shufflevector(__ret_766, __ret_766, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
58028 __ret_674; \59384 __ret_766; \
58029})59385})
58030#endif59386#endif
5803159387
...@@ -58066,65 +59422,65 @@ __ai int16_t vqrshlh_s16(int16_t __p0, int16_t __p1) {...@@ -58066,65 +59422,65 @@ __ai int16_t vqrshlh_s16(int16_t __p0, int16_t __p1) {
58066 __ret; \59422 __ret; \
58067})59423})
58068#ifdef __LITTLE_ENDIAN__59424#ifdef __LITTLE_ENDIAN__
58069#define vqrshrun_high_n_s32(__p0_675, __p1_675, __p2_675) __extension__ ({ \59425#define vqrshrun_high_n_s32(__p0_767, __p1_767, __p2_767) __extension__ ({ \
58070 int16x4_t __s0_675 = __p0_675; \59426 int16x4_t __s0_767 = __p0_767; \
58071 int32x4_t __s1_675 = __p1_675; \59427 int32x4_t __s1_767 = __p1_767; \
58072 int16x8_t __ret_675; \59428 int16x8_t __ret_767; \
58073 __ret_675 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_675), (int16x4_t)(vqrshrun_n_s32(__s1_675, __p2_675)))); \59429 __ret_767 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_767), (int16x4_t)(vqrshrun_n_s32(__s1_767, __p2_767)))); \
58074 __ret_675; \59430 __ret_767; \
58075})59431})
58076#else59432#else
58077#define vqrshrun_high_n_s32(__p0_676, __p1_676, __p2_676) __extension__ ({ \59433#define vqrshrun_high_n_s32(__p0_768, __p1_768, __p2_768) __extension__ ({ \
58078 int16x4_t __s0_676 = __p0_676; \59434 int16x4_t __s0_768 = __p0_768; \
58079 int32x4_t __s1_676 = __p1_676; \59435 int32x4_t __s1_768 = __p1_768; \
58080 int16x4_t __rev0_676; __rev0_676 = __builtin_shufflevector(__s0_676, __s0_676, 3, 2, 1, 0); \59436 int16x4_t __rev0_768; __rev0_768 = __builtin_shufflevector(__s0_768, __s0_768, 3, 2, 1, 0); \
58081 int32x4_t __rev1_676; __rev1_676 = __builtin_shufflevector(__s1_676, __s1_676, 3, 2, 1, 0); \59437 int32x4_t __rev1_768; __rev1_768 = __builtin_shufflevector(__s1_768, __s1_768, 3, 2, 1, 0); \
58082 int16x8_t __ret_676; \59438 int16x8_t __ret_768; \
58083 __ret_676 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_676), (int16x4_t)(__noswap_vqrshrun_n_s32(__rev1_676, __p2_676)))); \59439 __ret_768 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_768), (int16x4_t)(__noswap_vqrshrun_n_s32(__rev1_768, __p2_768)))); \
58084 __ret_676 = __builtin_shufflevector(__ret_676, __ret_676, 7, 6, 5, 4, 3, 2, 1, 0); \59440 __ret_768 = __builtin_shufflevector(__ret_768, __ret_768, 7, 6, 5, 4, 3, 2, 1, 0); \
58085 __ret_676; \59441 __ret_768; \
58086})59442})
58087#endif59443#endif
5808859444
58089#ifdef __LITTLE_ENDIAN__59445#ifdef __LITTLE_ENDIAN__
58090#define vqrshrun_high_n_s64(__p0_677, __p1_677, __p2_677) __extension__ ({ \59446#define vqrshrun_high_n_s64(__p0_769, __p1_769, __p2_769) __extension__ ({ \
58091 int32x2_t __s0_677 = __p0_677; \59447 int32x2_t __s0_769 = __p0_769; \
58092 int64x2_t __s1_677 = __p1_677; \59448 int64x2_t __s1_769 = __p1_769; \
58093 int32x4_t __ret_677; \59449 int32x4_t __ret_769; \
58094 __ret_677 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_677), (int32x2_t)(vqrshrun_n_s64(__s1_677, __p2_677)))); \59450 __ret_769 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_769), (int32x2_t)(vqrshrun_n_s64(__s1_769, __p2_769)))); \
58095 __ret_677; \59451 __ret_769; \
58096})59452})
58097#else59453#else
58098#define vqrshrun_high_n_s64(__p0_678, __p1_678, __p2_678) __extension__ ({ \59454#define vqrshrun_high_n_s64(__p0_770, __p1_770, __p2_770) __extension__ ({ \
58099 int32x2_t __s0_678 = __p0_678; \59455 int32x2_t __s0_770 = __p0_770; \
58100 int64x2_t __s1_678 = __p1_678; \59456 int64x2_t __s1_770 = __p1_770; \
58101 int32x2_t __rev0_678; __rev0_678 = __builtin_shufflevector(__s0_678, __s0_678, 1, 0); \59457 int32x2_t __rev0_770; __rev0_770 = __builtin_shufflevector(__s0_770, __s0_770, 1, 0); \
58102 int64x2_t __rev1_678; __rev1_678 = __builtin_shufflevector(__s1_678, __s1_678, 1, 0); \59458 int64x2_t __rev1_770; __rev1_770 = __builtin_shufflevector(__s1_770, __s1_770, 1, 0); \
58103 int32x4_t __ret_678; \59459 int32x4_t __ret_770; \
58104 __ret_678 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_678), (int32x2_t)(__noswap_vqrshrun_n_s64(__rev1_678, __p2_678)))); \59460 __ret_770 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_770), (int32x2_t)(__noswap_vqrshrun_n_s64(__rev1_770, __p2_770)))); \
58105 __ret_678 = __builtin_shufflevector(__ret_678, __ret_678, 3, 2, 1, 0); \59461 __ret_770 = __builtin_shufflevector(__ret_770, __ret_770, 3, 2, 1, 0); \
58106 __ret_678; \59462 __ret_770; \
58107})59463})
58108#endif59464#endif
5810959465
58110#ifdef __LITTLE_ENDIAN__59466#ifdef __LITTLE_ENDIAN__
58111#define vqrshrun_high_n_s16(__p0_679, __p1_679, __p2_679) __extension__ ({ \59467#define vqrshrun_high_n_s16(__p0_771, __p1_771, __p2_771) __extension__ ({ \
58112 int8x8_t __s0_679 = __p0_679; \59468 int8x8_t __s0_771 = __p0_771; \
58113 int16x8_t __s1_679 = __p1_679; \59469 int16x8_t __s1_771 = __p1_771; \
58114 int8x16_t __ret_679; \59470 int8x16_t __ret_771; \
58115 __ret_679 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_679), (int8x8_t)(vqrshrun_n_s16(__s1_679, __p2_679)))); \59471 __ret_771 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_771), (int8x8_t)(vqrshrun_n_s16(__s1_771, __p2_771)))); \
58116 __ret_679; \59472 __ret_771; \
58117})59473})
58118#else59474#else
58119#define vqrshrun_high_n_s16(__p0_680, __p1_680, __p2_680) __extension__ ({ \59475#define vqrshrun_high_n_s16(__p0_772, __p1_772, __p2_772) __extension__ ({ \
58120 int8x8_t __s0_680 = __p0_680; \59476 int8x8_t __s0_772 = __p0_772; \
58121 int16x8_t __s1_680 = __p1_680; \59477 int16x8_t __s1_772 = __p1_772; \
58122 int8x8_t __rev0_680; __rev0_680 = __builtin_shufflevector(__s0_680, __s0_680, 7, 6, 5, 4, 3, 2, 1, 0); \59478 int8x8_t __rev0_772; __rev0_772 = __builtin_shufflevector(__s0_772, __s0_772, 7, 6, 5, 4, 3, 2, 1, 0); \
58123 int16x8_t __rev1_680; __rev1_680 = __builtin_shufflevector(__s1_680, __s1_680, 7, 6, 5, 4, 3, 2, 1, 0); \59479 int16x8_t __rev1_772; __rev1_772 = __builtin_shufflevector(__s1_772, __s1_772, 7, 6, 5, 4, 3, 2, 1, 0); \
58124 int8x16_t __ret_680; \59480 int8x16_t __ret_772; \
58125 __ret_680 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_680), (int8x8_t)(__noswap_vqrshrun_n_s16(__rev1_680, __p2_680)))); \59481 __ret_772 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_772), (int8x8_t)(__noswap_vqrshrun_n_s16(__rev1_772, __p2_772)))); \
58126 __ret_680 = __builtin_shufflevector(__ret_680, __ret_680, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59482 __ret_772 = __builtin_shufflevector(__ret_772, __ret_772, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
58127 __ret_680; \59483 __ret_772; \
58128})59484})
58129#endif59485#endif
5813059486
...@@ -58259,128 +59615,128 @@ __ai int16_t vqshlh_s16(int16_t __p0, int16_t __p1) {...@@ -58259,128 +59615,128 @@ __ai int16_t vqshlh_s16(int16_t __p0, int16_t __p1) {
58259 __ret; \59615 __ret; \
58260})59616})
58261#ifdef __LITTLE_ENDIAN__59617#ifdef __LITTLE_ENDIAN__
58262#define vqshrn_high_n_u32(__p0_681, __p1_681, __p2_681) __extension__ ({ \59618#define vqshrn_high_n_u32(__p0_773, __p1_773, __p2_773) __extension__ ({ \
58263 uint16x4_t __s0_681 = __p0_681; \59619 uint16x4_t __s0_773 = __p0_773; \
58264 uint32x4_t __s1_681 = __p1_681; \59620 uint32x4_t __s1_773 = __p1_773; \
58265 uint16x8_t __ret_681; \59621 uint16x8_t __ret_773; \
58266 __ret_681 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_681), (uint16x4_t)(vqshrn_n_u32(__s1_681, __p2_681)))); \59622 __ret_773 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_773), (uint16x4_t)(vqshrn_n_u32(__s1_773, __p2_773)))); \
58267 __ret_681; \59623 __ret_773; \
58268})59624})
58269#else59625#else
58270#define vqshrn_high_n_u32(__p0_682, __p1_682, __p2_682) __extension__ ({ \59626#define vqshrn_high_n_u32(__p0_774, __p1_774, __p2_774) __extension__ ({ \
58271 uint16x4_t __s0_682 = __p0_682; \59627 uint16x4_t __s0_774 = __p0_774; \
58272 uint32x4_t __s1_682 = __p1_682; \59628 uint32x4_t __s1_774 = __p1_774; \
58273 uint16x4_t __rev0_682; __rev0_682 = __builtin_shufflevector(__s0_682, __s0_682, 3, 2, 1, 0); \59629 uint16x4_t __rev0_774; __rev0_774 = __builtin_shufflevector(__s0_774, __s0_774, 3, 2, 1, 0); \
58274 uint32x4_t __rev1_682; __rev1_682 = __builtin_shufflevector(__s1_682, __s1_682, 3, 2, 1, 0); \59630 uint32x4_t __rev1_774; __rev1_774 = __builtin_shufflevector(__s1_774, __s1_774, 3, 2, 1, 0); \
58275 uint16x8_t __ret_682; \59631 uint16x8_t __ret_774; \
58276 __ret_682 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_682), (uint16x4_t)(__noswap_vqshrn_n_u32(__rev1_682, __p2_682)))); \59632 __ret_774 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_774), (uint16x4_t)(__noswap_vqshrn_n_u32(__rev1_774, __p2_774)))); \
58277 __ret_682 = __builtin_shufflevector(__ret_682, __ret_682, 7, 6, 5, 4, 3, 2, 1, 0); \59633 __ret_774 = __builtin_shufflevector(__ret_774, __ret_774, 7, 6, 5, 4, 3, 2, 1, 0); \
58278 __ret_682; \59634 __ret_774; \
58279})59635})
58280#endif59636#endif
5828159637
58282#ifdef __LITTLE_ENDIAN__59638#ifdef __LITTLE_ENDIAN__
58283#define vqshrn_high_n_u64(__p0_683, __p1_683, __p2_683) __extension__ ({ \59639#define vqshrn_high_n_u64(__p0_775, __p1_775, __p2_775) __extension__ ({ \
58284 uint32x2_t __s0_683 = __p0_683; \59640 uint32x2_t __s0_775 = __p0_775; \
58285 uint64x2_t __s1_683 = __p1_683; \59641 uint64x2_t __s1_775 = __p1_775; \
58286 uint32x4_t __ret_683; \59642 uint32x4_t __ret_775; \
58287 __ret_683 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_683), (uint32x2_t)(vqshrn_n_u64(__s1_683, __p2_683)))); \59643 __ret_775 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_775), (uint32x2_t)(vqshrn_n_u64(__s1_775, __p2_775)))); \
58288 __ret_683; \59644 __ret_775; \
58289})59645})
58290#else59646#else
58291#define vqshrn_high_n_u64(__p0_684, __p1_684, __p2_684) __extension__ ({ \59647#define vqshrn_high_n_u64(__p0_776, __p1_776, __p2_776) __extension__ ({ \
58292 uint32x2_t __s0_684 = __p0_684; \59648 uint32x2_t __s0_776 = __p0_776; \
58293 uint64x2_t __s1_684 = __p1_684; \59649 uint64x2_t __s1_776 = __p1_776; \
58294 uint32x2_t __rev0_684; __rev0_684 = __builtin_shufflevector(__s0_684, __s0_684, 1, 0); \59650 uint32x2_t __rev0_776; __rev0_776 = __builtin_shufflevector(__s0_776, __s0_776, 1, 0); \
58295 uint64x2_t __rev1_684; __rev1_684 = __builtin_shufflevector(__s1_684, __s1_684, 1, 0); \59651 uint64x2_t __rev1_776; __rev1_776 = __builtin_shufflevector(__s1_776, __s1_776, 1, 0); \
58296 uint32x4_t __ret_684; \59652 uint32x4_t __ret_776; \
58297 __ret_684 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_684), (uint32x2_t)(__noswap_vqshrn_n_u64(__rev1_684, __p2_684)))); \59653 __ret_776 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_776), (uint32x2_t)(__noswap_vqshrn_n_u64(__rev1_776, __p2_776)))); \
58298 __ret_684 = __builtin_shufflevector(__ret_684, __ret_684, 3, 2, 1, 0); \59654 __ret_776 = __builtin_shufflevector(__ret_776, __ret_776, 3, 2, 1, 0); \
58299 __ret_684; \59655 __ret_776; \
58300})59656})
58301#endif59657#endif
5830259658
58303#ifdef __LITTLE_ENDIAN__59659#ifdef __LITTLE_ENDIAN__
58304#define vqshrn_high_n_u16(__p0_685, __p1_685, __p2_685) __extension__ ({ \59660#define vqshrn_high_n_u16(__p0_777, __p1_777, __p2_777) __extension__ ({ \
58305 uint8x8_t __s0_685 = __p0_685; \59661 uint8x8_t __s0_777 = __p0_777; \
58306 uint16x8_t __s1_685 = __p1_685; \59662 uint16x8_t __s1_777 = __p1_777; \
58307 uint8x16_t __ret_685; \59663 uint8x16_t __ret_777; \
58308 __ret_685 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_685), (uint8x8_t)(vqshrn_n_u16(__s1_685, __p2_685)))); \59664 __ret_777 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_777), (uint8x8_t)(vqshrn_n_u16(__s1_777, __p2_777)))); \
58309 __ret_685; \59665 __ret_777; \
58310})59666})
58311#else59667#else
58312#define vqshrn_high_n_u16(__p0_686, __p1_686, __p2_686) __extension__ ({ \59668#define vqshrn_high_n_u16(__p0_778, __p1_778, __p2_778) __extension__ ({ \
58313 uint8x8_t __s0_686 = __p0_686; \59669 uint8x8_t __s0_778 = __p0_778; \
58314 uint16x8_t __s1_686 = __p1_686; \59670 uint16x8_t __s1_778 = __p1_778; \
58315 uint8x8_t __rev0_686; __rev0_686 = __builtin_shufflevector(__s0_686, __s0_686, 7, 6, 5, 4, 3, 2, 1, 0); \59671 uint8x8_t __rev0_778; __rev0_778 = __builtin_shufflevector(__s0_778, __s0_778, 7, 6, 5, 4, 3, 2, 1, 0); \
58316 uint16x8_t __rev1_686; __rev1_686 = __builtin_shufflevector(__s1_686, __s1_686, 7, 6, 5, 4, 3, 2, 1, 0); \59672 uint16x8_t __rev1_778; __rev1_778 = __builtin_shufflevector(__s1_778, __s1_778, 7, 6, 5, 4, 3, 2, 1, 0); \
58317 uint8x16_t __ret_686; \59673 uint8x16_t __ret_778; \
58318 __ret_686 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_686), (uint8x8_t)(__noswap_vqshrn_n_u16(__rev1_686, __p2_686)))); \59674 __ret_778 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_778), (uint8x8_t)(__noswap_vqshrn_n_u16(__rev1_778, __p2_778)))); \
58319 __ret_686 = __builtin_shufflevector(__ret_686, __ret_686, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59675 __ret_778 = __builtin_shufflevector(__ret_778, __ret_778, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
58320 __ret_686; \59676 __ret_778; \
58321})59677})
58322#endif59678#endif
5832359679
58324#ifdef __LITTLE_ENDIAN__59680#ifdef __LITTLE_ENDIAN__
58325#define vqshrn_high_n_s32(__p0_687, __p1_687, __p2_687) __extension__ ({ \59681#define vqshrn_high_n_s32(__p0_779, __p1_779, __p2_779) __extension__ ({ \
58326 int16x4_t __s0_687 = __p0_687; \59682 int16x4_t __s0_779 = __p0_779; \
58327 int32x4_t __s1_687 = __p1_687; \59683 int32x4_t __s1_779 = __p1_779; \
58328 int16x8_t __ret_687; \59684 int16x8_t __ret_779; \
58329 __ret_687 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_687), (int16x4_t)(vqshrn_n_s32(__s1_687, __p2_687)))); \59685 __ret_779 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_779), (int16x4_t)(vqshrn_n_s32(__s1_779, __p2_779)))); \
58330 __ret_687; \59686 __ret_779; \
58331})59687})
58332#else59688#else
58333#define vqshrn_high_n_s32(__p0_688, __p1_688, __p2_688) __extension__ ({ \59689#define vqshrn_high_n_s32(__p0_780, __p1_780, __p2_780) __extension__ ({ \
58334 int16x4_t __s0_688 = __p0_688; \59690 int16x4_t __s0_780 = __p0_780; \
58335 int32x4_t __s1_688 = __p1_688; \59691 int32x4_t __s1_780 = __p1_780; \
58336 int16x4_t __rev0_688; __rev0_688 = __builtin_shufflevector(__s0_688, __s0_688, 3, 2, 1, 0); \59692 int16x4_t __rev0_780; __rev0_780 = __builtin_shufflevector(__s0_780, __s0_780, 3, 2, 1, 0); \
58337 int32x4_t __rev1_688; __rev1_688 = __builtin_shufflevector(__s1_688, __s1_688, 3, 2, 1, 0); \59693 int32x4_t __rev1_780; __rev1_780 = __builtin_shufflevector(__s1_780, __s1_780, 3, 2, 1, 0); \
58338 int16x8_t __ret_688; \59694 int16x8_t __ret_780; \
58339 __ret_688 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_688), (int16x4_t)(__noswap_vqshrn_n_s32(__rev1_688, __p2_688)))); \59695 __ret_780 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_780), (int16x4_t)(__noswap_vqshrn_n_s32(__rev1_780, __p2_780)))); \
58340 __ret_688 = __builtin_shufflevector(__ret_688, __ret_688, 7, 6, 5, 4, 3, 2, 1, 0); \59696 __ret_780 = __builtin_shufflevector(__ret_780, __ret_780, 7, 6, 5, 4, 3, 2, 1, 0); \
58341 __ret_688; \59697 __ret_780; \
58342})59698})
58343#endif59699#endif
5834459700
58345#ifdef __LITTLE_ENDIAN__59701#ifdef __LITTLE_ENDIAN__
58346#define vqshrn_high_n_s64(__p0_689, __p1_689, __p2_689) __extension__ ({ \59702#define vqshrn_high_n_s64(__p0_781, __p1_781, __p2_781) __extension__ ({ \
58347 int32x2_t __s0_689 = __p0_689; \59703 int32x2_t __s0_781 = __p0_781; \
58348 int64x2_t __s1_689 = __p1_689; \59704 int64x2_t __s1_781 = __p1_781; \
58349 int32x4_t __ret_689; \59705 int32x4_t __ret_781; \
58350 __ret_689 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_689), (int32x2_t)(vqshrn_n_s64(__s1_689, __p2_689)))); \59706 __ret_781 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_781), (int32x2_t)(vqshrn_n_s64(__s1_781, __p2_781)))); \
58351 __ret_689; \59707 __ret_781; \
58352})59708})
58353#else59709#else
58354#define vqshrn_high_n_s64(__p0_690, __p1_690, __p2_690) __extension__ ({ \59710#define vqshrn_high_n_s64(__p0_782, __p1_782, __p2_782) __extension__ ({ \
58355 int32x2_t __s0_690 = __p0_690; \59711 int32x2_t __s0_782 = __p0_782; \
58356 int64x2_t __s1_690 = __p1_690; \59712 int64x2_t __s1_782 = __p1_782; \
58357 int32x2_t __rev0_690; __rev0_690 = __builtin_shufflevector(__s0_690, __s0_690, 1, 0); \59713 int32x2_t __rev0_782; __rev0_782 = __builtin_shufflevector(__s0_782, __s0_782, 1, 0); \
58358 int64x2_t __rev1_690; __rev1_690 = __builtin_shufflevector(__s1_690, __s1_690, 1, 0); \59714 int64x2_t __rev1_782; __rev1_782 = __builtin_shufflevector(__s1_782, __s1_782, 1, 0); \
58359 int32x4_t __ret_690; \59715 int32x4_t __ret_782; \
58360 __ret_690 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_690), (int32x2_t)(__noswap_vqshrn_n_s64(__rev1_690, __p2_690)))); \59716 __ret_782 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_782), (int32x2_t)(__noswap_vqshrn_n_s64(__rev1_782, __p2_782)))); \
58361 __ret_690 = __builtin_shufflevector(__ret_690, __ret_690, 3, 2, 1, 0); \59717 __ret_782 = __builtin_shufflevector(__ret_782, __ret_782, 3, 2, 1, 0); \
58362 __ret_690; \59718 __ret_782; \
58363})59719})
58364#endif59720#endif
5836559721
58366#ifdef __LITTLE_ENDIAN__59722#ifdef __LITTLE_ENDIAN__
58367#define vqshrn_high_n_s16(__p0_691, __p1_691, __p2_691) __extension__ ({ \59723#define vqshrn_high_n_s16(__p0_783, __p1_783, __p2_783) __extension__ ({ \
58368 int8x8_t __s0_691 = __p0_691; \59724 int8x8_t __s0_783 = __p0_783; \
58369 int16x8_t __s1_691 = __p1_691; \59725 int16x8_t __s1_783 = __p1_783; \
58370 int8x16_t __ret_691; \59726 int8x16_t __ret_783; \
58371 __ret_691 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_691), (int8x8_t)(vqshrn_n_s16(__s1_691, __p2_691)))); \59727 __ret_783 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_783), (int8x8_t)(vqshrn_n_s16(__s1_783, __p2_783)))); \
58372 __ret_691; \59728 __ret_783; \
58373})59729})
58374#else59730#else
58375#define vqshrn_high_n_s16(__p0_692, __p1_692, __p2_692) __extension__ ({ \59731#define vqshrn_high_n_s16(__p0_784, __p1_784, __p2_784) __extension__ ({ \
58376 int8x8_t __s0_692 = __p0_692; \59732 int8x8_t __s0_784 = __p0_784; \
58377 int16x8_t __s1_692 = __p1_692; \59733 int16x8_t __s1_784 = __p1_784; \
58378 int8x8_t __rev0_692; __rev0_692 = __builtin_shufflevector(__s0_692, __s0_692, 7, 6, 5, 4, 3, 2, 1, 0); \59734 int8x8_t __rev0_784; __rev0_784 = __builtin_shufflevector(__s0_784, __s0_784, 7, 6, 5, 4, 3, 2, 1, 0); \
58379 int16x8_t __rev1_692; __rev1_692 = __builtin_shufflevector(__s1_692, __s1_692, 7, 6, 5, 4, 3, 2, 1, 0); \59735 int16x8_t __rev1_784; __rev1_784 = __builtin_shufflevector(__s1_784, __s1_784, 7, 6, 5, 4, 3, 2, 1, 0); \
58380 int8x16_t __ret_692; \59736 int8x16_t __ret_784; \
58381 __ret_692 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_692), (int8x8_t)(__noswap_vqshrn_n_s16(__rev1_692, __p2_692)))); \59737 __ret_784 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_784), (int8x8_t)(__noswap_vqshrn_n_s16(__rev1_784, __p2_784)))); \
58382 __ret_692 = __builtin_shufflevector(__ret_692, __ret_692, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59738 __ret_784 = __builtin_shufflevector(__ret_784, __ret_784, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
58383 __ret_692; \59739 __ret_784; \
58384})59740})
58385#endif59741#endif
5838659742
...@@ -58421,65 +59777,65 @@ __ai int16_t vqshlh_s16(int16_t __p0, int16_t __p1) {...@@ -58421,65 +59777,65 @@ __ai int16_t vqshlh_s16(int16_t __p0, int16_t __p1) {
58421 __ret; \59777 __ret; \
58422})59778})
58423#ifdef __LITTLE_ENDIAN__59779#ifdef __LITTLE_ENDIAN__
58424#define vqshrun_high_n_s32(__p0_693, __p1_693, __p2_693) __extension__ ({ \59780#define vqshrun_high_n_s32(__p0_785, __p1_785, __p2_785) __extension__ ({ \
58425 int16x4_t __s0_693 = __p0_693; \59781 int16x4_t __s0_785 = __p0_785; \
58426 int32x4_t __s1_693 = __p1_693; \59782 int32x4_t __s1_785 = __p1_785; \
58427 int16x8_t __ret_693; \59783 int16x8_t __ret_785; \
58428 __ret_693 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_693), (int16x4_t)(vqshrun_n_s32(__s1_693, __p2_693)))); \59784 __ret_785 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_785), (int16x4_t)(vqshrun_n_s32(__s1_785, __p2_785)))); \
58429 __ret_693; \59785 __ret_785; \
58430})59786})
58431#else59787#else
58432#define vqshrun_high_n_s32(__p0_694, __p1_694, __p2_694) __extension__ ({ \59788#define vqshrun_high_n_s32(__p0_786, __p1_786, __p2_786) __extension__ ({ \
58433 int16x4_t __s0_694 = __p0_694; \59789 int16x4_t __s0_786 = __p0_786; \
58434 int32x4_t __s1_694 = __p1_694; \59790 int32x4_t __s1_786 = __p1_786; \
58435 int16x4_t __rev0_694; __rev0_694 = __builtin_shufflevector(__s0_694, __s0_694, 3, 2, 1, 0); \59791 int16x4_t __rev0_786; __rev0_786 = __builtin_shufflevector(__s0_786, __s0_786, 3, 2, 1, 0); \
58436 int32x4_t __rev1_694; __rev1_694 = __builtin_shufflevector(__s1_694, __s1_694, 3, 2, 1, 0); \59792 int32x4_t __rev1_786; __rev1_786 = __builtin_shufflevector(__s1_786, __s1_786, 3, 2, 1, 0); \
58437 int16x8_t __ret_694; \59793 int16x8_t __ret_786; \
58438 __ret_694 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_694), (int16x4_t)(__noswap_vqshrun_n_s32(__rev1_694, __p2_694)))); \59794 __ret_786 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_786), (int16x4_t)(__noswap_vqshrun_n_s32(__rev1_786, __p2_786)))); \
58439 __ret_694 = __builtin_shufflevector(__ret_694, __ret_694, 7, 6, 5, 4, 3, 2, 1, 0); \59795 __ret_786 = __builtin_shufflevector(__ret_786, __ret_786, 7, 6, 5, 4, 3, 2, 1, 0); \
58440 __ret_694; \59796 __ret_786; \
58441})59797})
58442#endif59798#endif
5844359799
58444#ifdef __LITTLE_ENDIAN__59800#ifdef __LITTLE_ENDIAN__
58445#define vqshrun_high_n_s64(__p0_695, __p1_695, __p2_695) __extension__ ({ \59801#define vqshrun_high_n_s64(__p0_787, __p1_787, __p2_787) __extension__ ({ \
58446 int32x2_t __s0_695 = __p0_695; \59802 int32x2_t __s0_787 = __p0_787; \
58447 int64x2_t __s1_695 = __p1_695; \59803 int64x2_t __s1_787 = __p1_787; \
58448 int32x4_t __ret_695; \59804 int32x4_t __ret_787; \
58449 __ret_695 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_695), (int32x2_t)(vqshrun_n_s64(__s1_695, __p2_695)))); \59805 __ret_787 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_787), (int32x2_t)(vqshrun_n_s64(__s1_787, __p2_787)))); \
58450 __ret_695; \59806 __ret_787; \
58451})59807})
58452#else59808#else
58453#define vqshrun_high_n_s64(__p0_696, __p1_696, __p2_696) __extension__ ({ \59809#define vqshrun_high_n_s64(__p0_788, __p1_788, __p2_788) __extension__ ({ \
58454 int32x2_t __s0_696 = __p0_696; \59810 int32x2_t __s0_788 = __p0_788; \
58455 int64x2_t __s1_696 = __p1_696; \59811 int64x2_t __s1_788 = __p1_788; \
58456 int32x2_t __rev0_696; __rev0_696 = __builtin_shufflevector(__s0_696, __s0_696, 1, 0); \59812 int32x2_t __rev0_788; __rev0_788 = __builtin_shufflevector(__s0_788, __s0_788, 1, 0); \
58457 int64x2_t __rev1_696; __rev1_696 = __builtin_shufflevector(__s1_696, __s1_696, 1, 0); \59813 int64x2_t __rev1_788; __rev1_788 = __builtin_shufflevector(__s1_788, __s1_788, 1, 0); \
58458 int32x4_t __ret_696; \59814 int32x4_t __ret_788; \
58459 __ret_696 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_696), (int32x2_t)(__noswap_vqshrun_n_s64(__rev1_696, __p2_696)))); \59815 __ret_788 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_788), (int32x2_t)(__noswap_vqshrun_n_s64(__rev1_788, __p2_788)))); \
58460 __ret_696 = __builtin_shufflevector(__ret_696, __ret_696, 3, 2, 1, 0); \59816 __ret_788 = __builtin_shufflevector(__ret_788, __ret_788, 3, 2, 1, 0); \
58461 __ret_696; \59817 __ret_788; \
58462})59818})
58463#endif59819#endif
5846459820
58465#ifdef __LITTLE_ENDIAN__59821#ifdef __LITTLE_ENDIAN__
58466#define vqshrun_high_n_s16(__p0_697, __p1_697, __p2_697) __extension__ ({ \59822#define vqshrun_high_n_s16(__p0_789, __p1_789, __p2_789) __extension__ ({ \
58467 int8x8_t __s0_697 = __p0_697; \59823 int8x8_t __s0_789 = __p0_789; \
58468 int16x8_t __s1_697 = __p1_697; \59824 int16x8_t __s1_789 = __p1_789; \
58469 int8x16_t __ret_697; \59825 int8x16_t __ret_789; \
58470 __ret_697 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_697), (int8x8_t)(vqshrun_n_s16(__s1_697, __p2_697)))); \59826 __ret_789 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_789), (int8x8_t)(vqshrun_n_s16(__s1_789, __p2_789)))); \
58471 __ret_697; \59827 __ret_789; \
58472})59828})
58473#else59829#else
58474#define vqshrun_high_n_s16(__p0_698, __p1_698, __p2_698) __extension__ ({ \59830#define vqshrun_high_n_s16(__p0_790, __p1_790, __p2_790) __extension__ ({ \
58475 int8x8_t __s0_698 = __p0_698; \59831 int8x8_t __s0_790 = __p0_790; \
58476 int16x8_t __s1_698 = __p1_698; \59832 int16x8_t __s1_790 = __p1_790; \
58477 int8x8_t __rev0_698; __rev0_698 = __builtin_shufflevector(__s0_698, __s0_698, 7, 6, 5, 4, 3, 2, 1, 0); \59833 int8x8_t __rev0_790; __rev0_790 = __builtin_shufflevector(__s0_790, __s0_790, 7, 6, 5, 4, 3, 2, 1, 0); \
58478 int16x8_t __rev1_698; __rev1_698 = __builtin_shufflevector(__s1_698, __s1_698, 7, 6, 5, 4, 3, 2, 1, 0); \59834 int16x8_t __rev1_790; __rev1_790 = __builtin_shufflevector(__s1_790, __s1_790, 7, 6, 5, 4, 3, 2, 1, 0); \
58479 int8x16_t __ret_698; \59835 int8x16_t __ret_790; \
58480 __ret_698 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_698), (int8x8_t)(__noswap_vqshrun_n_s16(__rev1_698, __p2_698)))); \59836 __ret_790 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_790), (int8x8_t)(__noswap_vqshrun_n_s16(__rev1_790, __p2_790)))); \
58481 __ret_698 = __builtin_shufflevector(__ret_698, __ret_698, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \59837 __ret_790 = __builtin_shufflevector(__ret_790, __ret_790, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
58482 __ret_698; \59838 __ret_790; \
58483})59839})
58484#endif59840#endif
5848559841
...@@ -59789,128 +61145,128 @@ __ai int64_t vrshld_s64(int64_t __p0, int64_t __p1) {...@@ -59789,128 +61145,128 @@ __ai int64_t vrshld_s64(int64_t __p0, int64_t __p1) {
59789 __ret; \61145 __ret; \
59790})61146})
59791#ifdef __LITTLE_ENDIAN__61147#ifdef __LITTLE_ENDIAN__
59792#define vrshrn_high_n_u32(__p0_699, __p1_699, __p2_699) __extension__ ({ \61148#define vrshrn_high_n_u32(__p0_791, __p1_791, __p2_791) __extension__ ({ \
59793 uint16x4_t __s0_699 = __p0_699; \61149 uint16x4_t __s0_791 = __p0_791; \
59794 uint32x4_t __s1_699 = __p1_699; \61150 uint32x4_t __s1_791 = __p1_791; \
59795 uint16x8_t __ret_699; \61151 uint16x8_t __ret_791; \
59796 __ret_699 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_699), (uint16x4_t)(vrshrn_n_u32(__s1_699, __p2_699)))); \61152 __ret_791 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_791), (uint16x4_t)(vrshrn_n_u32(__s1_791, __p2_791)))); \
59797 __ret_699; \61153 __ret_791; \
59798})61154})
59799#else61155#else
59800#define vrshrn_high_n_u32(__p0_700, __p1_700, __p2_700) __extension__ ({ \61156#define vrshrn_high_n_u32(__p0_792, __p1_792, __p2_792) __extension__ ({ \
59801 uint16x4_t __s0_700 = __p0_700; \61157 uint16x4_t __s0_792 = __p0_792; \
59802 uint32x4_t __s1_700 = __p1_700; \61158 uint32x4_t __s1_792 = __p1_792; \
59803 uint16x4_t __rev0_700; __rev0_700 = __builtin_shufflevector(__s0_700, __s0_700, 3, 2, 1, 0); \61159 uint16x4_t __rev0_792; __rev0_792 = __builtin_shufflevector(__s0_792, __s0_792, 3, 2, 1, 0); \
59804 uint32x4_t __rev1_700; __rev1_700 = __builtin_shufflevector(__s1_700, __s1_700, 3, 2, 1, 0); \61160 uint32x4_t __rev1_792; __rev1_792 = __builtin_shufflevector(__s1_792, __s1_792, 3, 2, 1, 0); \
59805 uint16x8_t __ret_700; \61161 uint16x8_t __ret_792; \
59806 __ret_700 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_700), (uint16x4_t)(__noswap_vrshrn_n_u32(__rev1_700, __p2_700)))); \61162 __ret_792 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_792), (uint16x4_t)(__noswap_vrshrn_n_u32(__rev1_792, __p2_792)))); \
59807 __ret_700 = __builtin_shufflevector(__ret_700, __ret_700, 7, 6, 5, 4, 3, 2, 1, 0); \61163 __ret_792 = __builtin_shufflevector(__ret_792, __ret_792, 7, 6, 5, 4, 3, 2, 1, 0); \
59808 __ret_700; \61164 __ret_792; \
59809})61165})
59810#endif61166#endif
5981161167
59812#ifdef __LITTLE_ENDIAN__61168#ifdef __LITTLE_ENDIAN__
59813#define vrshrn_high_n_u64(__p0_701, __p1_701, __p2_701) __extension__ ({ \61169#define vrshrn_high_n_u64(__p0_793, __p1_793, __p2_793) __extension__ ({ \
59814 uint32x2_t __s0_701 = __p0_701; \61170 uint32x2_t __s0_793 = __p0_793; \
59815 uint64x2_t __s1_701 = __p1_701; \61171 uint64x2_t __s1_793 = __p1_793; \
59816 uint32x4_t __ret_701; \61172 uint32x4_t __ret_793; \
59817 __ret_701 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_701), (uint32x2_t)(vrshrn_n_u64(__s1_701, __p2_701)))); \61173 __ret_793 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_793), (uint32x2_t)(vrshrn_n_u64(__s1_793, __p2_793)))); \
59818 __ret_701; \61174 __ret_793; \
59819})61175})
59820#else61176#else
59821#define vrshrn_high_n_u64(__p0_702, __p1_702, __p2_702) __extension__ ({ \61177#define vrshrn_high_n_u64(__p0_794, __p1_794, __p2_794) __extension__ ({ \
59822 uint32x2_t __s0_702 = __p0_702; \61178 uint32x2_t __s0_794 = __p0_794; \
59823 uint64x2_t __s1_702 = __p1_702; \61179 uint64x2_t __s1_794 = __p1_794; \
59824 uint32x2_t __rev0_702; __rev0_702 = __builtin_shufflevector(__s0_702, __s0_702, 1, 0); \61180 uint32x2_t __rev0_794; __rev0_794 = __builtin_shufflevector(__s0_794, __s0_794, 1, 0); \
59825 uint64x2_t __rev1_702; __rev1_702 = __builtin_shufflevector(__s1_702, __s1_702, 1, 0); \61181 uint64x2_t __rev1_794; __rev1_794 = __builtin_shufflevector(__s1_794, __s1_794, 1, 0); \
59826 uint32x4_t __ret_702; \61182 uint32x4_t __ret_794; \
59827 __ret_702 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_702), (uint32x2_t)(__noswap_vrshrn_n_u64(__rev1_702, __p2_702)))); \61183 __ret_794 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_794), (uint32x2_t)(__noswap_vrshrn_n_u64(__rev1_794, __p2_794)))); \
59828 __ret_702 = __builtin_shufflevector(__ret_702, __ret_702, 3, 2, 1, 0); \61184 __ret_794 = __builtin_shufflevector(__ret_794, __ret_794, 3, 2, 1, 0); \
59829 __ret_702; \61185 __ret_794; \
59830})61186})
59831#endif61187#endif
5983261188
59833#ifdef __LITTLE_ENDIAN__61189#ifdef __LITTLE_ENDIAN__
59834#define vrshrn_high_n_u16(__p0_703, __p1_703, __p2_703) __extension__ ({ \61190#define vrshrn_high_n_u16(__p0_795, __p1_795, __p2_795) __extension__ ({ \
59835 uint8x8_t __s0_703 = __p0_703; \61191 uint8x8_t __s0_795 = __p0_795; \
59836 uint16x8_t __s1_703 = __p1_703; \61192 uint16x8_t __s1_795 = __p1_795; \
59837 uint8x16_t __ret_703; \61193 uint8x16_t __ret_795; \
59838 __ret_703 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_703), (uint8x8_t)(vrshrn_n_u16(__s1_703, __p2_703)))); \61194 __ret_795 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_795), (uint8x8_t)(vrshrn_n_u16(__s1_795, __p2_795)))); \
59839 __ret_703; \61195 __ret_795; \
59840})61196})
59841#else61197#else
59842#define vrshrn_high_n_u16(__p0_704, __p1_704, __p2_704) __extension__ ({ \61198#define vrshrn_high_n_u16(__p0_796, __p1_796, __p2_796) __extension__ ({ \
59843 uint8x8_t __s0_704 = __p0_704; \61199 uint8x8_t __s0_796 = __p0_796; \
59844 uint16x8_t __s1_704 = __p1_704; \61200 uint16x8_t __s1_796 = __p1_796; \
59845 uint8x8_t __rev0_704; __rev0_704 = __builtin_shufflevector(__s0_704, __s0_704, 7, 6, 5, 4, 3, 2, 1, 0); \61201 uint8x8_t __rev0_796; __rev0_796 = __builtin_shufflevector(__s0_796, __s0_796, 7, 6, 5, 4, 3, 2, 1, 0); \
59846 uint16x8_t __rev1_704; __rev1_704 = __builtin_shufflevector(__s1_704, __s1_704, 7, 6, 5, 4, 3, 2, 1, 0); \61202 uint16x8_t __rev1_796; __rev1_796 = __builtin_shufflevector(__s1_796, __s1_796, 7, 6, 5, 4, 3, 2, 1, 0); \
59847 uint8x16_t __ret_704; \61203 uint8x16_t __ret_796; \
59848 __ret_704 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_704), (uint8x8_t)(__noswap_vrshrn_n_u16(__rev1_704, __p2_704)))); \61204 __ret_796 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_796), (uint8x8_t)(__noswap_vrshrn_n_u16(__rev1_796, __p2_796)))); \
59849 __ret_704 = __builtin_shufflevector(__ret_704, __ret_704, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61205 __ret_796 = __builtin_shufflevector(__ret_796, __ret_796, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
59850 __ret_704; \61206 __ret_796; \
59851})61207})
59852#endif61208#endif
5985361209
59854#ifdef __LITTLE_ENDIAN__61210#ifdef __LITTLE_ENDIAN__
59855#define vrshrn_high_n_s32(__p0_705, __p1_705, __p2_705) __extension__ ({ \61211#define vrshrn_high_n_s32(__p0_797, __p1_797, __p2_797) __extension__ ({ \
59856 int16x4_t __s0_705 = __p0_705; \61212 int16x4_t __s0_797 = __p0_797; \
59857 int32x4_t __s1_705 = __p1_705; \61213 int32x4_t __s1_797 = __p1_797; \
59858 int16x8_t __ret_705; \61214 int16x8_t __ret_797; \
59859 __ret_705 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_705), (int16x4_t)(vrshrn_n_s32(__s1_705, __p2_705)))); \61215 __ret_797 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_797), (int16x4_t)(vrshrn_n_s32(__s1_797, __p2_797)))); \
59860 __ret_705; \61216 __ret_797; \
59861})61217})
59862#else61218#else
59863#define vrshrn_high_n_s32(__p0_706, __p1_706, __p2_706) __extension__ ({ \61219#define vrshrn_high_n_s32(__p0_798, __p1_798, __p2_798) __extension__ ({ \
59864 int16x4_t __s0_706 = __p0_706; \61220 int16x4_t __s0_798 = __p0_798; \
59865 int32x4_t __s1_706 = __p1_706; \61221 int32x4_t __s1_798 = __p1_798; \
59866 int16x4_t __rev0_706; __rev0_706 = __builtin_shufflevector(__s0_706, __s0_706, 3, 2, 1, 0); \61222 int16x4_t __rev0_798; __rev0_798 = __builtin_shufflevector(__s0_798, __s0_798, 3, 2, 1, 0); \
59867 int32x4_t __rev1_706; __rev1_706 = __builtin_shufflevector(__s1_706, __s1_706, 3, 2, 1, 0); \61223 int32x4_t __rev1_798; __rev1_798 = __builtin_shufflevector(__s1_798, __s1_798, 3, 2, 1, 0); \
59868 int16x8_t __ret_706; \61224 int16x8_t __ret_798; \
59869 __ret_706 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_706), (int16x4_t)(__noswap_vrshrn_n_s32(__rev1_706, __p2_706)))); \61225 __ret_798 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_798), (int16x4_t)(__noswap_vrshrn_n_s32(__rev1_798, __p2_798)))); \
59870 __ret_706 = __builtin_shufflevector(__ret_706, __ret_706, 7, 6, 5, 4, 3, 2, 1, 0); \61226 __ret_798 = __builtin_shufflevector(__ret_798, __ret_798, 7, 6, 5, 4, 3, 2, 1, 0); \
59871 __ret_706; \61227 __ret_798; \
59872})61228})
59873#endif61229#endif
5987461230
59875#ifdef __LITTLE_ENDIAN__61231#ifdef __LITTLE_ENDIAN__
59876#define vrshrn_high_n_s64(__p0_707, __p1_707, __p2_707) __extension__ ({ \61232#define vrshrn_high_n_s64(__p0_799, __p1_799, __p2_799) __extension__ ({ \
59877 int32x2_t __s0_707 = __p0_707; \61233 int32x2_t __s0_799 = __p0_799; \
59878 int64x2_t __s1_707 = __p1_707; \61234 int64x2_t __s1_799 = __p1_799; \
59879 int32x4_t __ret_707; \61235 int32x4_t __ret_799; \
59880 __ret_707 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_707), (int32x2_t)(vrshrn_n_s64(__s1_707, __p2_707)))); \61236 __ret_799 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_799), (int32x2_t)(vrshrn_n_s64(__s1_799, __p2_799)))); \
59881 __ret_707; \61237 __ret_799; \
59882})61238})
59883#else61239#else
59884#define vrshrn_high_n_s64(__p0_708, __p1_708, __p2_708) __extension__ ({ \61240#define vrshrn_high_n_s64(__p0_800, __p1_800, __p2_800) __extension__ ({ \
59885 int32x2_t __s0_708 = __p0_708; \61241 int32x2_t __s0_800 = __p0_800; \
59886 int64x2_t __s1_708 = __p1_708; \61242 int64x2_t __s1_800 = __p1_800; \
59887 int32x2_t __rev0_708; __rev0_708 = __builtin_shufflevector(__s0_708, __s0_708, 1, 0); \61243 int32x2_t __rev0_800; __rev0_800 = __builtin_shufflevector(__s0_800, __s0_800, 1, 0); \
59888 int64x2_t __rev1_708; __rev1_708 = __builtin_shufflevector(__s1_708, __s1_708, 1, 0); \61244 int64x2_t __rev1_800; __rev1_800 = __builtin_shufflevector(__s1_800, __s1_800, 1, 0); \
59889 int32x4_t __ret_708; \61245 int32x4_t __ret_800; \
59890 __ret_708 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_708), (int32x2_t)(__noswap_vrshrn_n_s64(__rev1_708, __p2_708)))); \61246 __ret_800 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_800), (int32x2_t)(__noswap_vrshrn_n_s64(__rev1_800, __p2_800)))); \
59891 __ret_708 = __builtin_shufflevector(__ret_708, __ret_708, 3, 2, 1, 0); \61247 __ret_800 = __builtin_shufflevector(__ret_800, __ret_800, 3, 2, 1, 0); \
59892 __ret_708; \61248 __ret_800; \
59893})61249})
59894#endif61250#endif
5989561251
59896#ifdef __LITTLE_ENDIAN__61252#ifdef __LITTLE_ENDIAN__
59897#define vrshrn_high_n_s16(__p0_709, __p1_709, __p2_709) __extension__ ({ \61253#define vrshrn_high_n_s16(__p0_801, __p1_801, __p2_801) __extension__ ({ \
59898 int8x8_t __s0_709 = __p0_709; \61254 int8x8_t __s0_801 = __p0_801; \
59899 int16x8_t __s1_709 = __p1_709; \61255 int16x8_t __s1_801 = __p1_801; \
59900 int8x16_t __ret_709; \61256 int8x16_t __ret_801; \
59901 __ret_709 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_709), (int8x8_t)(vrshrn_n_s16(__s1_709, __p2_709)))); \61257 __ret_801 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_801), (int8x8_t)(vrshrn_n_s16(__s1_801, __p2_801)))); \
59902 __ret_709; \61258 __ret_801; \
59903})61259})
59904#else61260#else
59905#define vrshrn_high_n_s16(__p0_710, __p1_710, __p2_710) __extension__ ({ \61261#define vrshrn_high_n_s16(__p0_802, __p1_802, __p2_802) __extension__ ({ \
59906 int8x8_t __s0_710 = __p0_710; \61262 int8x8_t __s0_802 = __p0_802; \
59907 int16x8_t __s1_710 = __p1_710; \61263 int16x8_t __s1_802 = __p1_802; \
59908 int8x8_t __rev0_710; __rev0_710 = __builtin_shufflevector(__s0_710, __s0_710, 7, 6, 5, 4, 3, 2, 1, 0); \61264 int8x8_t __rev0_802; __rev0_802 = __builtin_shufflevector(__s0_802, __s0_802, 7, 6, 5, 4, 3, 2, 1, 0); \
59909 int16x8_t __rev1_710; __rev1_710 = __builtin_shufflevector(__s1_710, __s1_710, 7, 6, 5, 4, 3, 2, 1, 0); \61265 int16x8_t __rev1_802; __rev1_802 = __builtin_shufflevector(__s1_802, __s1_802, 7, 6, 5, 4, 3, 2, 1, 0); \
59910 int8x16_t __ret_710; \61266 int8x16_t __ret_802; \
59911 __ret_710 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_710), (int8x8_t)(__noswap_vrshrn_n_s16(__rev1_710, __p2_710)))); \61267 __ret_802 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_802), (int8x8_t)(__noswap_vrshrn_n_s16(__rev1_802, __p2_802)))); \
59912 __ret_710 = __builtin_shufflevector(__ret_710, __ret_710, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61268 __ret_802 = __builtin_shufflevector(__ret_802, __ret_802, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
59913 __ret_710; \61269 __ret_802; \
59914})61270})
59915#endif61271#endif
5991661272
...@@ -60190,110 +61546,110 @@ __ai int64_t vshld_s64(int64_t __p0, int64_t __p1) {...@@ -60190,110 +61546,110 @@ __ai int64_t vshld_s64(int64_t __p0, int64_t __p1) {
60190 __ret; \61546 __ret; \
60191})61547})
60192#ifdef __LITTLE_ENDIAN__61548#ifdef __LITTLE_ENDIAN__
60193#define vshll_high_n_u8(__p0_711, __p1_711) __extension__ ({ \61549#define vshll_high_n_u8(__p0_803, __p1_803) __extension__ ({ \
60194 uint8x16_t __s0_711 = __p0_711; \61550 uint8x16_t __s0_803 = __p0_803; \
60195 uint16x8_t __ret_711; \61551 uint16x8_t __ret_803; \
60196 __ret_711 = (uint16x8_t)(vshll_n_u8(vget_high_u8(__s0_711), __p1_711)); \61552 __ret_803 = (uint16x8_t)(vshll_n_u8(vget_high_u8(__s0_803), __p1_803)); \
60197 __ret_711; \61553 __ret_803; \
60198})61554})
60199#else61555#else
60200#define vshll_high_n_u8(__p0_712, __p1_712) __extension__ ({ \61556#define vshll_high_n_u8(__p0_804, __p1_804) __extension__ ({ \
60201 uint8x16_t __s0_712 = __p0_712; \61557 uint8x16_t __s0_804 = __p0_804; \
60202 uint8x16_t __rev0_712; __rev0_712 = __builtin_shufflevector(__s0_712, __s0_712, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61558 uint8x16_t __rev0_804; __rev0_804 = __builtin_shufflevector(__s0_804, __s0_804, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
60203 uint16x8_t __ret_712; \61559 uint16x8_t __ret_804; \
60204 __ret_712 = (uint16x8_t)(__noswap_vshll_n_u8(__noswap_vget_high_u8(__rev0_712), __p1_712)); \61560 __ret_804 = (uint16x8_t)(__noswap_vshll_n_u8(__noswap_vget_high_u8(__rev0_804), __p1_804)); \
60205 __ret_712 = __builtin_shufflevector(__ret_712, __ret_712, 7, 6, 5, 4, 3, 2, 1, 0); \61561 __ret_804 = __builtin_shufflevector(__ret_804, __ret_804, 7, 6, 5, 4, 3, 2, 1, 0); \
60206 __ret_712; \61562 __ret_804; \
60207})61563})
60208#endif61564#endif
6020961565
60210#ifdef __LITTLE_ENDIAN__61566#ifdef __LITTLE_ENDIAN__
60211#define vshll_high_n_u32(__p0_713, __p1_713) __extension__ ({ \61567#define vshll_high_n_u32(__p0_805, __p1_805) __extension__ ({ \
60212 uint32x4_t __s0_713 = __p0_713; \61568 uint32x4_t __s0_805 = __p0_805; \
60213 uint64x2_t __ret_713; \61569 uint64x2_t __ret_805; \
60214 __ret_713 = (uint64x2_t)(vshll_n_u32(vget_high_u32(__s0_713), __p1_713)); \61570 __ret_805 = (uint64x2_t)(vshll_n_u32(vget_high_u32(__s0_805), __p1_805)); \
60215 __ret_713; \61571 __ret_805; \
60216})61572})
60217#else61573#else
60218#define vshll_high_n_u32(__p0_714, __p1_714) __extension__ ({ \61574#define vshll_high_n_u32(__p0_806, __p1_806) __extension__ ({ \
60219 uint32x4_t __s0_714 = __p0_714; \61575 uint32x4_t __s0_806 = __p0_806; \
60220 uint32x4_t __rev0_714; __rev0_714 = __builtin_shufflevector(__s0_714, __s0_714, 3, 2, 1, 0); \61576 uint32x4_t __rev0_806; __rev0_806 = __builtin_shufflevector(__s0_806, __s0_806, 3, 2, 1, 0); \
60221 uint64x2_t __ret_714; \61577 uint64x2_t __ret_806; \
60222 __ret_714 = (uint64x2_t)(__noswap_vshll_n_u32(__noswap_vget_high_u32(__rev0_714), __p1_714)); \61578 __ret_806 = (uint64x2_t)(__noswap_vshll_n_u32(__noswap_vget_high_u32(__rev0_806), __p1_806)); \
60223 __ret_714 = __builtin_shufflevector(__ret_714, __ret_714, 1, 0); \61579 __ret_806 = __builtin_shufflevector(__ret_806, __ret_806, 1, 0); \
60224 __ret_714; \61580 __ret_806; \
60225})61581})
60226#endif61582#endif
6022761583
60228#ifdef __LITTLE_ENDIAN__61584#ifdef __LITTLE_ENDIAN__
60229#define vshll_high_n_u16(__p0_715, __p1_715) __extension__ ({ \61585#define vshll_high_n_u16(__p0_807, __p1_807) __extension__ ({ \
60230 uint16x8_t __s0_715 = __p0_715; \61586 uint16x8_t __s0_807 = __p0_807; \
60231 uint32x4_t __ret_715; \61587 uint32x4_t __ret_807; \
60232 __ret_715 = (uint32x4_t)(vshll_n_u16(vget_high_u16(__s0_715), __p1_715)); \61588 __ret_807 = (uint32x4_t)(vshll_n_u16(vget_high_u16(__s0_807), __p1_807)); \
60233 __ret_715; \61589 __ret_807; \
60234})61590})
60235#else61591#else
60236#define vshll_high_n_u16(__p0_716, __p1_716) __extension__ ({ \61592#define vshll_high_n_u16(__p0_808, __p1_808) __extension__ ({ \
60237 uint16x8_t __s0_716 = __p0_716; \61593 uint16x8_t __s0_808 = __p0_808; \
60238 uint16x8_t __rev0_716; __rev0_716 = __builtin_shufflevector(__s0_716, __s0_716, 7, 6, 5, 4, 3, 2, 1, 0); \61594 uint16x8_t __rev0_808; __rev0_808 = __builtin_shufflevector(__s0_808, __s0_808, 7, 6, 5, 4, 3, 2, 1, 0); \
60239 uint32x4_t __ret_716; \61595 uint32x4_t __ret_808; \
60240 __ret_716 = (uint32x4_t)(__noswap_vshll_n_u16(__noswap_vget_high_u16(__rev0_716), __p1_716)); \61596 __ret_808 = (uint32x4_t)(__noswap_vshll_n_u16(__noswap_vget_high_u16(__rev0_808), __p1_808)); \
60241 __ret_716 = __builtin_shufflevector(__ret_716, __ret_716, 3, 2, 1, 0); \61597 __ret_808 = __builtin_shufflevector(__ret_808, __ret_808, 3, 2, 1, 0); \
60242 __ret_716; \61598 __ret_808; \
60243})61599})
60244#endif61600#endif
6024561601
60246#ifdef __LITTLE_ENDIAN__61602#ifdef __LITTLE_ENDIAN__
60247#define vshll_high_n_s8(__p0_717, __p1_717) __extension__ ({ \61603#define vshll_high_n_s8(__p0_809, __p1_809) __extension__ ({ \
60248 int8x16_t __s0_717 = __p0_717; \61604 int8x16_t __s0_809 = __p0_809; \
60249 int16x8_t __ret_717; \61605 int16x8_t __ret_809; \
60250 __ret_717 = (int16x8_t)(vshll_n_s8(vget_high_s8(__s0_717), __p1_717)); \61606 __ret_809 = (int16x8_t)(vshll_n_s8(vget_high_s8(__s0_809), __p1_809)); \
60251 __ret_717; \61607 __ret_809; \
60252})61608})
60253#else61609#else
60254#define vshll_high_n_s8(__p0_718, __p1_718) __extension__ ({ \61610#define vshll_high_n_s8(__p0_810, __p1_810) __extension__ ({ \
60255 int8x16_t __s0_718 = __p0_718; \61611 int8x16_t __s0_810 = __p0_810; \
60256 int8x16_t __rev0_718; __rev0_718 = __builtin_shufflevector(__s0_718, __s0_718, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61612 int8x16_t __rev0_810; __rev0_810 = __builtin_shufflevector(__s0_810, __s0_810, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
60257 int16x8_t __ret_718; \61613 int16x8_t __ret_810; \
60258 __ret_718 = (int16x8_t)(__noswap_vshll_n_s8(__noswap_vget_high_s8(__rev0_718), __p1_718)); \61614 __ret_810 = (int16x8_t)(__noswap_vshll_n_s8(__noswap_vget_high_s8(__rev0_810), __p1_810)); \
60259 __ret_718 = __builtin_shufflevector(__ret_718, __ret_718, 7, 6, 5, 4, 3, 2, 1, 0); \61615 __ret_810 = __builtin_shufflevector(__ret_810, __ret_810, 7, 6, 5, 4, 3, 2, 1, 0); \
60260 __ret_718; \61616 __ret_810; \
60261})61617})
60262#endif61618#endif
6026361619
60264#ifdef __LITTLE_ENDIAN__61620#ifdef __LITTLE_ENDIAN__
60265#define vshll_high_n_s32(__p0_719, __p1_719) __extension__ ({ \61621#define vshll_high_n_s32(__p0_811, __p1_811) __extension__ ({ \
60266 int32x4_t __s0_719 = __p0_719; \61622 int32x4_t __s0_811 = __p0_811; \
60267 int64x2_t __ret_719; \61623 int64x2_t __ret_811; \
60268 __ret_719 = (int64x2_t)(vshll_n_s32(vget_high_s32(__s0_719), __p1_719)); \61624 __ret_811 = (int64x2_t)(vshll_n_s32(vget_high_s32(__s0_811), __p1_811)); \
60269 __ret_719; \61625 __ret_811; \
60270})61626})
60271#else61627#else
60272#define vshll_high_n_s32(__p0_720, __p1_720) __extension__ ({ \61628#define vshll_high_n_s32(__p0_812, __p1_812) __extension__ ({ \
60273 int32x4_t __s0_720 = __p0_720; \61629 int32x4_t __s0_812 = __p0_812; \
60274 int32x4_t __rev0_720; __rev0_720 = __builtin_shufflevector(__s0_720, __s0_720, 3, 2, 1, 0); \61630 int32x4_t __rev0_812; __rev0_812 = __builtin_shufflevector(__s0_812, __s0_812, 3, 2, 1, 0); \
60275 int64x2_t __ret_720; \61631 int64x2_t __ret_812; \
60276 __ret_720 = (int64x2_t)(__noswap_vshll_n_s32(__noswap_vget_high_s32(__rev0_720), __p1_720)); \61632 __ret_812 = (int64x2_t)(__noswap_vshll_n_s32(__noswap_vget_high_s32(__rev0_812), __p1_812)); \
60277 __ret_720 = __builtin_shufflevector(__ret_720, __ret_720, 1, 0); \61633 __ret_812 = __builtin_shufflevector(__ret_812, __ret_812, 1, 0); \
60278 __ret_720; \61634 __ret_812; \
60279})61635})
60280#endif61636#endif
6028161637
60282#ifdef __LITTLE_ENDIAN__61638#ifdef __LITTLE_ENDIAN__
60283#define vshll_high_n_s16(__p0_721, __p1_721) __extension__ ({ \61639#define vshll_high_n_s16(__p0_813, __p1_813) __extension__ ({ \
60284 int16x8_t __s0_721 = __p0_721; \61640 int16x8_t __s0_813 = __p0_813; \
60285 int32x4_t __ret_721; \61641 int32x4_t __ret_813; \
60286 __ret_721 = (int32x4_t)(vshll_n_s16(vget_high_s16(__s0_721), __p1_721)); \61642 __ret_813 = (int32x4_t)(vshll_n_s16(vget_high_s16(__s0_813), __p1_813)); \
60287 __ret_721; \61643 __ret_813; \
60288})61644})
60289#else61645#else
60290#define vshll_high_n_s16(__p0_722, __p1_722) __extension__ ({ \61646#define vshll_high_n_s16(__p0_814, __p1_814) __extension__ ({ \
60291 int16x8_t __s0_722 = __p0_722; \61647 int16x8_t __s0_814 = __p0_814; \
60292 int16x8_t __rev0_722; __rev0_722 = __builtin_shufflevector(__s0_722, __s0_722, 7, 6, 5, 4, 3, 2, 1, 0); \61648 int16x8_t __rev0_814; __rev0_814 = __builtin_shufflevector(__s0_814, __s0_814, 7, 6, 5, 4, 3, 2, 1, 0); \
60293 int32x4_t __ret_722; \61649 int32x4_t __ret_814; \
60294 __ret_722 = (int32x4_t)(__noswap_vshll_n_s16(__noswap_vget_high_s16(__rev0_722), __p1_722)); \61650 __ret_814 = (int32x4_t)(__noswap_vshll_n_s16(__noswap_vget_high_s16(__rev0_814), __p1_814)); \
60295 __ret_722 = __builtin_shufflevector(__ret_722, __ret_722, 3, 2, 1, 0); \61651 __ret_814 = __builtin_shufflevector(__ret_814, __ret_814, 3, 2, 1, 0); \
60296 __ret_722; \61652 __ret_814; \
60297})61653})
60298#endif61654#endif
6029961655
...@@ -60310,128 +61666,128 @@ __ai int64_t vshld_s64(int64_t __p0, int64_t __p1) {...@@ -60310,128 +61666,128 @@ __ai int64_t vshld_s64(int64_t __p0, int64_t __p1) {
60310 __ret; \61666 __ret; \
60311})61667})
60312#ifdef __LITTLE_ENDIAN__61668#ifdef __LITTLE_ENDIAN__
60313#define vshrn_high_n_u32(__p0_723, __p1_723, __p2_723) __extension__ ({ \61669#define vshrn_high_n_u32(__p0_815, __p1_815, __p2_815) __extension__ ({ \
60314 uint16x4_t __s0_723 = __p0_723; \61670 uint16x4_t __s0_815 = __p0_815; \
60315 uint32x4_t __s1_723 = __p1_723; \61671 uint32x4_t __s1_815 = __p1_815; \
60316 uint16x8_t __ret_723; \61672 uint16x8_t __ret_815; \
60317 __ret_723 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_723), (uint16x4_t)(vshrn_n_u32(__s1_723, __p2_723)))); \61673 __ret_815 = (uint16x8_t)(vcombine_u16((uint16x4_t)(__s0_815), (uint16x4_t)(vshrn_n_u32(__s1_815, __p2_815)))); \
60318 __ret_723; \61674 __ret_815; \
60319})61675})
60320#else61676#else
60321#define vshrn_high_n_u32(__p0_724, __p1_724, __p2_724) __extension__ ({ \61677#define vshrn_high_n_u32(__p0_816, __p1_816, __p2_816) __extension__ ({ \
60322 uint16x4_t __s0_724 = __p0_724; \61678 uint16x4_t __s0_816 = __p0_816; \
60323 uint32x4_t __s1_724 = __p1_724; \61679 uint32x4_t __s1_816 = __p1_816; \
60324 uint16x4_t __rev0_724; __rev0_724 = __builtin_shufflevector(__s0_724, __s0_724, 3, 2, 1, 0); \61680 uint16x4_t __rev0_816; __rev0_816 = __builtin_shufflevector(__s0_816, __s0_816, 3, 2, 1, 0); \
60325 uint32x4_t __rev1_724; __rev1_724 = __builtin_shufflevector(__s1_724, __s1_724, 3, 2, 1, 0); \61681 uint32x4_t __rev1_816; __rev1_816 = __builtin_shufflevector(__s1_816, __s1_816, 3, 2, 1, 0); \
60326 uint16x8_t __ret_724; \61682 uint16x8_t __ret_816; \
60327 __ret_724 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_724), (uint16x4_t)(__noswap_vshrn_n_u32(__rev1_724, __p2_724)))); \61683 __ret_816 = (uint16x8_t)(__noswap_vcombine_u16((uint16x4_t)(__rev0_816), (uint16x4_t)(__noswap_vshrn_n_u32(__rev1_816, __p2_816)))); \
60328 __ret_724 = __builtin_shufflevector(__ret_724, __ret_724, 7, 6, 5, 4, 3, 2, 1, 0); \61684 __ret_816 = __builtin_shufflevector(__ret_816, __ret_816, 7, 6, 5, 4, 3, 2, 1, 0); \
60329 __ret_724; \61685 __ret_816; \
60330})61686})
60331#endif61687#endif
6033261688
60333#ifdef __LITTLE_ENDIAN__61689#ifdef __LITTLE_ENDIAN__
60334#define vshrn_high_n_u64(__p0_725, __p1_725, __p2_725) __extension__ ({ \61690#define vshrn_high_n_u64(__p0_817, __p1_817, __p2_817) __extension__ ({ \
60335 uint32x2_t __s0_725 = __p0_725; \61691 uint32x2_t __s0_817 = __p0_817; \
60336 uint64x2_t __s1_725 = __p1_725; \61692 uint64x2_t __s1_817 = __p1_817; \
60337 uint32x4_t __ret_725; \61693 uint32x4_t __ret_817; \
60338 __ret_725 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_725), (uint32x2_t)(vshrn_n_u64(__s1_725, __p2_725)))); \61694 __ret_817 = (uint32x4_t)(vcombine_u32((uint32x2_t)(__s0_817), (uint32x2_t)(vshrn_n_u64(__s1_817, __p2_817)))); \
60339 __ret_725; \61695 __ret_817; \
60340})61696})
60341#else61697#else
60342#define vshrn_high_n_u64(__p0_726, __p1_726, __p2_726) __extension__ ({ \61698#define vshrn_high_n_u64(__p0_818, __p1_818, __p2_818) __extension__ ({ \
60343 uint32x2_t __s0_726 = __p0_726; \61699 uint32x2_t __s0_818 = __p0_818; \
60344 uint64x2_t __s1_726 = __p1_726; \61700 uint64x2_t __s1_818 = __p1_818; \
60345 uint32x2_t __rev0_726; __rev0_726 = __builtin_shufflevector(__s0_726, __s0_726, 1, 0); \61701 uint32x2_t __rev0_818; __rev0_818 = __builtin_shufflevector(__s0_818, __s0_818, 1, 0); \
60346 uint64x2_t __rev1_726; __rev1_726 = __builtin_shufflevector(__s1_726, __s1_726, 1, 0); \61702 uint64x2_t __rev1_818; __rev1_818 = __builtin_shufflevector(__s1_818, __s1_818, 1, 0); \
60347 uint32x4_t __ret_726; \61703 uint32x4_t __ret_818; \
60348 __ret_726 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_726), (uint32x2_t)(__noswap_vshrn_n_u64(__rev1_726, __p2_726)))); \61704 __ret_818 = (uint32x4_t)(__noswap_vcombine_u32((uint32x2_t)(__rev0_818), (uint32x2_t)(__noswap_vshrn_n_u64(__rev1_818, __p2_818)))); \
60349 __ret_726 = __builtin_shufflevector(__ret_726, __ret_726, 3, 2, 1, 0); \61705 __ret_818 = __builtin_shufflevector(__ret_818, __ret_818, 3, 2, 1, 0); \
60350 __ret_726; \61706 __ret_818; \
60351})61707})
60352#endif61708#endif
6035361709
60354#ifdef __LITTLE_ENDIAN__61710#ifdef __LITTLE_ENDIAN__
60355#define vshrn_high_n_u16(__p0_727, __p1_727, __p2_727) __extension__ ({ \61711#define vshrn_high_n_u16(__p0_819, __p1_819, __p2_819) __extension__ ({ \
60356 uint8x8_t __s0_727 = __p0_727; \61712 uint8x8_t __s0_819 = __p0_819; \
60357 uint16x8_t __s1_727 = __p1_727; \61713 uint16x8_t __s1_819 = __p1_819; \
60358 uint8x16_t __ret_727; \61714 uint8x16_t __ret_819; \
60359 __ret_727 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_727), (uint8x8_t)(vshrn_n_u16(__s1_727, __p2_727)))); \61715 __ret_819 = (uint8x16_t)(vcombine_u8((uint8x8_t)(__s0_819), (uint8x8_t)(vshrn_n_u16(__s1_819, __p2_819)))); \
60360 __ret_727; \61716 __ret_819; \
60361})61717})
60362#else61718#else
60363#define vshrn_high_n_u16(__p0_728, __p1_728, __p2_728) __extension__ ({ \61719#define vshrn_high_n_u16(__p0_820, __p1_820, __p2_820) __extension__ ({ \
60364 uint8x8_t __s0_728 = __p0_728; \61720 uint8x8_t __s0_820 = __p0_820; \
60365 uint16x8_t __s1_728 = __p1_728; \61721 uint16x8_t __s1_820 = __p1_820; \
60366 uint8x8_t __rev0_728; __rev0_728 = __builtin_shufflevector(__s0_728, __s0_728, 7, 6, 5, 4, 3, 2, 1, 0); \61722 uint8x8_t __rev0_820; __rev0_820 = __builtin_shufflevector(__s0_820, __s0_820, 7, 6, 5, 4, 3, 2, 1, 0); \
60367 uint16x8_t __rev1_728; __rev1_728 = __builtin_shufflevector(__s1_728, __s1_728, 7, 6, 5, 4, 3, 2, 1, 0); \61723 uint16x8_t __rev1_820; __rev1_820 = __builtin_shufflevector(__s1_820, __s1_820, 7, 6, 5, 4, 3, 2, 1, 0); \
60368 uint8x16_t __ret_728; \61724 uint8x16_t __ret_820; \
60369 __ret_728 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_728), (uint8x8_t)(__noswap_vshrn_n_u16(__rev1_728, __p2_728)))); \61725 __ret_820 = (uint8x16_t)(__noswap_vcombine_u8((uint8x8_t)(__rev0_820), (uint8x8_t)(__noswap_vshrn_n_u16(__rev1_820, __p2_820)))); \
60370 __ret_728 = __builtin_shufflevector(__ret_728, __ret_728, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61726 __ret_820 = __builtin_shufflevector(__ret_820, __ret_820, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
60371 __ret_728; \61727 __ret_820; \
60372})61728})
60373#endif61729#endif
6037461730
60375#ifdef __LITTLE_ENDIAN__61731#ifdef __LITTLE_ENDIAN__
60376#define vshrn_high_n_s32(__p0_729, __p1_729, __p2_729) __extension__ ({ \61732#define vshrn_high_n_s32(__p0_821, __p1_821, __p2_821) __extension__ ({ \
60377 int16x4_t __s0_729 = __p0_729; \61733 int16x4_t __s0_821 = __p0_821; \
60378 int32x4_t __s1_729 = __p1_729; \61734 int32x4_t __s1_821 = __p1_821; \
60379 int16x8_t __ret_729; \61735 int16x8_t __ret_821; \
60380 __ret_729 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_729), (int16x4_t)(vshrn_n_s32(__s1_729, __p2_729)))); \61736 __ret_821 = (int16x8_t)(vcombine_s16((int16x4_t)(__s0_821), (int16x4_t)(vshrn_n_s32(__s1_821, __p2_821)))); \
60381 __ret_729; \61737 __ret_821; \
60382})61738})
60383#else61739#else
60384#define vshrn_high_n_s32(__p0_730, __p1_730, __p2_730) __extension__ ({ \61740#define vshrn_high_n_s32(__p0_822, __p1_822, __p2_822) __extension__ ({ \
60385 int16x4_t __s0_730 = __p0_730; \61741 int16x4_t __s0_822 = __p0_822; \
60386 int32x4_t __s1_730 = __p1_730; \61742 int32x4_t __s1_822 = __p1_822; \
60387 int16x4_t __rev0_730; __rev0_730 = __builtin_shufflevector(__s0_730, __s0_730, 3, 2, 1, 0); \61743 int16x4_t __rev0_822; __rev0_822 = __builtin_shufflevector(__s0_822, __s0_822, 3, 2, 1, 0); \
60388 int32x4_t __rev1_730; __rev1_730 = __builtin_shufflevector(__s1_730, __s1_730, 3, 2, 1, 0); \61744 int32x4_t __rev1_822; __rev1_822 = __builtin_shufflevector(__s1_822, __s1_822, 3, 2, 1, 0); \
60389 int16x8_t __ret_730; \61745 int16x8_t __ret_822; \
60390 __ret_730 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_730), (int16x4_t)(__noswap_vshrn_n_s32(__rev1_730, __p2_730)))); \61746 __ret_822 = (int16x8_t)(__noswap_vcombine_s16((int16x4_t)(__rev0_822), (int16x4_t)(__noswap_vshrn_n_s32(__rev1_822, __p2_822)))); \
60391 __ret_730 = __builtin_shufflevector(__ret_730, __ret_730, 7, 6, 5, 4, 3, 2, 1, 0); \61747 __ret_822 = __builtin_shufflevector(__ret_822, __ret_822, 7, 6, 5, 4, 3, 2, 1, 0); \
60392 __ret_730; \61748 __ret_822; \
60393})61749})
60394#endif61750#endif
6039561751
60396#ifdef __LITTLE_ENDIAN__61752#ifdef __LITTLE_ENDIAN__
60397#define vshrn_high_n_s64(__p0_731, __p1_731, __p2_731) __extension__ ({ \61753#define vshrn_high_n_s64(__p0_823, __p1_823, __p2_823) __extension__ ({ \
60398 int32x2_t __s0_731 = __p0_731; \61754 int32x2_t __s0_823 = __p0_823; \
60399 int64x2_t __s1_731 = __p1_731; \61755 int64x2_t __s1_823 = __p1_823; \
60400 int32x4_t __ret_731; \61756 int32x4_t __ret_823; \
60401 __ret_731 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_731), (int32x2_t)(vshrn_n_s64(__s1_731, __p2_731)))); \61757 __ret_823 = (int32x4_t)(vcombine_s32((int32x2_t)(__s0_823), (int32x2_t)(vshrn_n_s64(__s1_823, __p2_823)))); \
60402 __ret_731; \61758 __ret_823; \
60403})61759})
60404#else61760#else
60405#define vshrn_high_n_s64(__p0_732, __p1_732, __p2_732) __extension__ ({ \61761#define vshrn_high_n_s64(__p0_824, __p1_824, __p2_824) __extension__ ({ \
60406 int32x2_t __s0_732 = __p0_732; \61762 int32x2_t __s0_824 = __p0_824; \
60407 int64x2_t __s1_732 = __p1_732; \61763 int64x2_t __s1_824 = __p1_824; \
60408 int32x2_t __rev0_732; __rev0_732 = __builtin_shufflevector(__s0_732, __s0_732, 1, 0); \61764 int32x2_t __rev0_824; __rev0_824 = __builtin_shufflevector(__s0_824, __s0_824, 1, 0); \
60409 int64x2_t __rev1_732; __rev1_732 = __builtin_shufflevector(__s1_732, __s1_732, 1, 0); \61765 int64x2_t __rev1_824; __rev1_824 = __builtin_shufflevector(__s1_824, __s1_824, 1, 0); \
60410 int32x4_t __ret_732; \61766 int32x4_t __ret_824; \
60411 __ret_732 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_732), (int32x2_t)(__noswap_vshrn_n_s64(__rev1_732, __p2_732)))); \61767 __ret_824 = (int32x4_t)(__noswap_vcombine_s32((int32x2_t)(__rev0_824), (int32x2_t)(__noswap_vshrn_n_s64(__rev1_824, __p2_824)))); \
60412 __ret_732 = __builtin_shufflevector(__ret_732, __ret_732, 3, 2, 1, 0); \61768 __ret_824 = __builtin_shufflevector(__ret_824, __ret_824, 3, 2, 1, 0); \
60413 __ret_732; \61769 __ret_824; \
60414})61770})
60415#endif61771#endif
6041661772
60417#ifdef __LITTLE_ENDIAN__61773#ifdef __LITTLE_ENDIAN__
60418#define vshrn_high_n_s16(__p0_733, __p1_733, __p2_733) __extension__ ({ \61774#define vshrn_high_n_s16(__p0_825, __p1_825, __p2_825) __extension__ ({ \
60419 int8x8_t __s0_733 = __p0_733; \61775 int8x8_t __s0_825 = __p0_825; \
60420 int16x8_t __s1_733 = __p1_733; \61776 int16x8_t __s1_825 = __p1_825; \
60421 int8x16_t __ret_733; \61777 int8x16_t __ret_825; \
60422 __ret_733 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_733), (int8x8_t)(vshrn_n_s16(__s1_733, __p2_733)))); \61778 __ret_825 = (int8x16_t)(vcombine_s8((int8x8_t)(__s0_825), (int8x8_t)(vshrn_n_s16(__s1_825, __p2_825)))); \
60423 __ret_733; \61779 __ret_825; \
60424})61780})
60425#else61781#else
60426#define vshrn_high_n_s16(__p0_734, __p1_734, __p2_734) __extension__ ({ \61782#define vshrn_high_n_s16(__p0_826, __p1_826, __p2_826) __extension__ ({ \
60427 int8x8_t __s0_734 = __p0_734; \61783 int8x8_t __s0_826 = __p0_826; \
60428 int16x8_t __s1_734 = __p1_734; \61784 int16x8_t __s1_826 = __p1_826; \
60429 int8x8_t __rev0_734; __rev0_734 = __builtin_shufflevector(__s0_734, __s0_734, 7, 6, 5, 4, 3, 2, 1, 0); \61785 int8x8_t __rev0_826; __rev0_826 = __builtin_shufflevector(__s0_826, __s0_826, 7, 6, 5, 4, 3, 2, 1, 0); \
60430 int16x8_t __rev1_734; __rev1_734 = __builtin_shufflevector(__s1_734, __s1_734, 7, 6, 5, 4, 3, 2, 1, 0); \61786 int16x8_t __rev1_826; __rev1_826 = __builtin_shufflevector(__s1_826, __s1_826, 7, 6, 5, 4, 3, 2, 1, 0); \
60431 int8x16_t __ret_734; \61787 int8x16_t __ret_826; \
60432 __ret_734 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_734), (int8x8_t)(__noswap_vshrn_n_s16(__rev1_734, __p2_734)))); \61788 __ret_826 = (int8x16_t)(__noswap_vcombine_s8((int8x8_t)(__rev0_826), (int8x8_t)(__noswap_vshrn_n_s16(__rev1_826, __p2_826)))); \
60433 __ret_734 = __builtin_shufflevector(__ret_734, __ret_734, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \61789 __ret_826 = __builtin_shufflevector(__ret_826, __ret_826, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
60434 __ret_734; \61790 __ret_826; \
60435})61791})
60436#endif61792#endif
6043761793
...@@ -61867,54 +63223,54 @@ __ai int32x4_t vsubw_high_s16(int32x4_t __p0, int16x8_t __p1) {...@@ -61867,54 +63223,54 @@ __ai int32x4_t vsubw_high_s16(int32x4_t __p0, int16x8_t __p1) {
61867#endif63223#endif
6186863224
61869#ifdef __LITTLE_ENDIAN__63225#ifdef __LITTLE_ENDIAN__
61870#define vsudotq_laneq_s32(__p0_735, __p1_735, __p2_735, __p3_735) __extension__ ({ \63226#define vsudotq_laneq_s32(__p0_827, __p1_827, __p2_827, __p3_827) __extension__ ({ \
61871 int32x4_t __s0_735 = __p0_735; \63227 int32x4_t __s0_827 = __p0_827; \
61872 int8x16_t __s1_735 = __p1_735; \63228 int8x16_t __s1_827 = __p1_827; \
61873 uint8x16_t __s2_735 = __p2_735; \63229 uint8x16_t __s2_827 = __p2_827; \
61874 int32x4_t __ret_735; \63230 int32x4_t __ret_827; \
61875uint8x16_t __reint_735 = __s2_735; \63231uint8x16_t __reint_827 = __s2_827; \
61876 __ret_735 = vusdotq_s32(__s0_735, (uint8x16_t)(splatq_laneq_s32(*(int32x4_t *) &__reint_735, __p3_735)), __s1_735); \63232 __ret_827 = vusdotq_s32(__s0_827, (uint8x16_t)(splatq_laneq_s32(*(int32x4_t *) &__reint_827, __p3_827)), __s1_827); \
61877 __ret_735; \63233 __ret_827; \
61878})63234})
61879#else63235#else
61880#define vsudotq_laneq_s32(__p0_736, __p1_736, __p2_736, __p3_736) __extension__ ({ \63236#define vsudotq_laneq_s32(__p0_828, __p1_828, __p2_828, __p3_828) __extension__ ({ \
61881 int32x4_t __s0_736 = __p0_736; \63237 int32x4_t __s0_828 = __p0_828; \
61882 int8x16_t __s1_736 = __p1_736; \63238 int8x16_t __s1_828 = __p1_828; \
61883 uint8x16_t __s2_736 = __p2_736; \63239 uint8x16_t __s2_828 = __p2_828; \
61884 int32x4_t __rev0_736; __rev0_736 = __builtin_shufflevector(__s0_736, __s0_736, 3, 2, 1, 0); \63240 int32x4_t __rev0_828; __rev0_828 = __builtin_shufflevector(__s0_828, __s0_828, 3, 2, 1, 0); \
61885 int8x16_t __rev1_736; __rev1_736 = __builtin_shufflevector(__s1_736, __s1_736, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \63241 int8x16_t __rev1_828; __rev1_828 = __builtin_shufflevector(__s1_828, __s1_828, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
61886 uint8x16_t __rev2_736; __rev2_736 = __builtin_shufflevector(__s2_736, __s2_736, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \63242 uint8x16_t __rev2_828; __rev2_828 = __builtin_shufflevector(__s2_828, __s2_828, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
61887 int32x4_t __ret_736; \63243 int32x4_t __ret_828; \
61888uint8x16_t __reint_736 = __rev2_736; \63244uint8x16_t __reint_828 = __rev2_828; \
61889 __ret_736 = __noswap_vusdotq_s32(__rev0_736, (uint8x16_t)(__noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_736, __p3_736)), __rev1_736); \63245 __ret_828 = __noswap_vusdotq_s32(__rev0_828, (uint8x16_t)(__noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_828, __p3_828)), __rev1_828); \
61890 __ret_736 = __builtin_shufflevector(__ret_736, __ret_736, 3, 2, 1, 0); \63246 __ret_828 = __builtin_shufflevector(__ret_828, __ret_828, 3, 2, 1, 0); \
61891 __ret_736; \63247 __ret_828; \
61892})63248})
61893#endif63249#endif
6189463250
61895#ifdef __LITTLE_ENDIAN__63251#ifdef __LITTLE_ENDIAN__
61896#define vsudot_laneq_s32(__p0_737, __p1_737, __p2_737, __p3_737) __extension__ ({ \63252#define vsudot_laneq_s32(__p0_829, __p1_829, __p2_829, __p3_829) __extension__ ({ \
61897 int32x2_t __s0_737 = __p0_737; \63253 int32x2_t __s0_829 = __p0_829; \
61898 int8x8_t __s1_737 = __p1_737; \63254 int8x8_t __s1_829 = __p1_829; \
61899 uint8x16_t __s2_737 = __p2_737; \63255 uint8x16_t __s2_829 = __p2_829; \
61900 int32x2_t __ret_737; \63256 int32x2_t __ret_829; \
61901uint8x16_t __reint_737 = __s2_737; \63257uint8x16_t __reint_829 = __s2_829; \
61902 __ret_737 = vusdot_s32(__s0_737, (uint8x8_t)(splat_laneq_s32(*(int32x4_t *) &__reint_737, __p3_737)), __s1_737); \63258 __ret_829 = vusdot_s32(__s0_829, (uint8x8_t)(splat_laneq_s32(*(int32x4_t *) &__reint_829, __p3_829)), __s1_829); \
61903 __ret_737; \63259 __ret_829; \
61904})63260})
61905#else63261#else
61906#define vsudot_laneq_s32(__p0_738, __p1_738, __p2_738, __p3_738) __extension__ ({ \63262#define vsudot_laneq_s32(__p0_830, __p1_830, __p2_830, __p3_830) __extension__ ({ \
61907 int32x2_t __s0_738 = __p0_738; \63263 int32x2_t __s0_830 = __p0_830; \
61908 int8x8_t __s1_738 = __p1_738; \63264 int8x8_t __s1_830 = __p1_830; \
61909 uint8x16_t __s2_738 = __p2_738; \63265 uint8x16_t __s2_830 = __p2_830; \
61910 int32x2_t __rev0_738; __rev0_738 = __builtin_shufflevector(__s0_738, __s0_738, 1, 0); \63266 int32x2_t __rev0_830; __rev0_830 = __builtin_shufflevector(__s0_830, __s0_830, 1, 0); \
61911 int8x8_t __rev1_738; __rev1_738 = __builtin_shufflevector(__s1_738, __s1_738, 7, 6, 5, 4, 3, 2, 1, 0); \63267 int8x8_t __rev1_830; __rev1_830 = __builtin_shufflevector(__s1_830, __s1_830, 7, 6, 5, 4, 3, 2, 1, 0); \
61912 uint8x16_t __rev2_738; __rev2_738 = __builtin_shufflevector(__s2_738, __s2_738, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \63268 uint8x16_t __rev2_830; __rev2_830 = __builtin_shufflevector(__s2_830, __s2_830, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
61913 int32x2_t __ret_738; \63269 int32x2_t __ret_830; \
61914uint8x16_t __reint_738 = __rev2_738; \63270uint8x16_t __reint_830 = __rev2_830; \
61915 __ret_738 = __noswap_vusdot_s32(__rev0_738, (uint8x8_t)(__noswap_splat_laneq_s32(*(int32x4_t *) &__reint_738, __p3_738)), __rev1_738); \63271 __ret_830 = __noswap_vusdot_s32(__rev0_830, (uint8x8_t)(__noswap_splat_laneq_s32(*(int32x4_t *) &__reint_830, __p3_830)), __rev1_830); \
61916 __ret_738 = __builtin_shufflevector(__ret_738, __ret_738, 1, 0); \63272 __ret_830 = __builtin_shufflevector(__ret_830, __ret_830, 1, 0); \
61917 __ret_738; \63273 __ret_830; \
61918})63274})
61919#endif63275#endif
6192063276
...@@ -62887,54 +64243,54 @@ __ai int16x4_t vuqadd_s16(int16x4_t __p0, uint16x4_t __p1) {...@@ -62887,54 +64243,54 @@ __ai int16x4_t vuqadd_s16(int16x4_t __p0, uint16x4_t __p1) {
62887#endif64243#endif
6288864244
62889#ifdef __LITTLE_ENDIAN__64245#ifdef __LITTLE_ENDIAN__
62890#define vusdotq_laneq_s32(__p0_739, __p1_739, __p2_739, __p3_739) __extension__ ({ \64246#define vusdotq_laneq_s32(__p0_831, __p1_831, __p2_831, __p3_831) __extension__ ({ \
62891 int32x4_t __s0_739 = __p0_739; \64247 int32x4_t __s0_831 = __p0_831; \
62892 uint8x16_t __s1_739 = __p1_739; \64248 uint8x16_t __s1_831 = __p1_831; \
62893 int8x16_t __s2_739 = __p2_739; \64249 int8x16_t __s2_831 = __p2_831; \
62894 int32x4_t __ret_739; \64250 int32x4_t __ret_831; \
62895int8x16_t __reint_739 = __s2_739; \64251int8x16_t __reint_831 = __s2_831; \
62896 __ret_739 = vusdotq_s32(__s0_739, __s1_739, (int8x16_t)(splatq_laneq_s32(*(int32x4_t *) &__reint_739, __p3_739))); \64252 __ret_831 = vusdotq_s32(__s0_831, __s1_831, (int8x16_t)(splatq_laneq_s32(*(int32x4_t *) &__reint_831, __p3_831))); \
62897 __ret_739; \64253 __ret_831; \
62898})64254})
62899#else64255#else
62900#define vusdotq_laneq_s32(__p0_740, __p1_740, __p2_740, __p3_740) __extension__ ({ \64256#define vusdotq_laneq_s32(__p0_832, __p1_832, __p2_832, __p3_832) __extension__ ({ \
62901 int32x4_t __s0_740 = __p0_740; \64257 int32x4_t __s0_832 = __p0_832; \
62902 uint8x16_t __s1_740 = __p1_740; \64258 uint8x16_t __s1_832 = __p1_832; \
62903 int8x16_t __s2_740 = __p2_740; \64259 int8x16_t __s2_832 = __p2_832; \
62904 int32x4_t __rev0_740; __rev0_740 = __builtin_shufflevector(__s0_740, __s0_740, 3, 2, 1, 0); \64260 int32x4_t __rev0_832; __rev0_832 = __builtin_shufflevector(__s0_832, __s0_832, 3, 2, 1, 0); \
62905 uint8x16_t __rev1_740; __rev1_740 = __builtin_shufflevector(__s1_740, __s1_740, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \64261 uint8x16_t __rev1_832; __rev1_832 = __builtin_shufflevector(__s1_832, __s1_832, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
62906 int8x16_t __rev2_740; __rev2_740 = __builtin_shufflevector(__s2_740, __s2_740, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \64262 int8x16_t __rev2_832; __rev2_832 = __builtin_shufflevector(__s2_832, __s2_832, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
62907 int32x4_t __ret_740; \64263 int32x4_t __ret_832; \
62908int8x16_t __reint_740 = __rev2_740; \64264int8x16_t __reint_832 = __rev2_832; \
62909 __ret_740 = __noswap_vusdotq_s32(__rev0_740, __rev1_740, (int8x16_t)(__noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_740, __p3_740))); \64265 __ret_832 = __noswap_vusdotq_s32(__rev0_832, __rev1_832, (int8x16_t)(__noswap_splatq_laneq_s32(*(int32x4_t *) &__reint_832, __p3_832))); \
62910 __ret_740 = __builtin_shufflevector(__ret_740, __ret_740, 3, 2, 1, 0); \64266 __ret_832 = __builtin_shufflevector(__ret_832, __ret_832, 3, 2, 1, 0); \
62911 __ret_740; \64267 __ret_832; \
62912})64268})
62913#endif64269#endif
6291464270
62915#ifdef __LITTLE_ENDIAN__64271#ifdef __LITTLE_ENDIAN__
62916#define vusdot_laneq_s32(__p0_741, __p1_741, __p2_741, __p3_741) __extension__ ({ \64272#define vusdot_laneq_s32(__p0_833, __p1_833, __p2_833, __p3_833) __extension__ ({ \
62917 int32x2_t __s0_741 = __p0_741; \64273 int32x2_t __s0_833 = __p0_833; \
62918 uint8x8_t __s1_741 = __p1_741; \64274 uint8x8_t __s1_833 = __p1_833; \
62919 int8x16_t __s2_741 = __p2_741; \64275 int8x16_t __s2_833 = __p2_833; \
62920 int32x2_t __ret_741; \64276 int32x2_t __ret_833; \
62921int8x16_t __reint_741 = __s2_741; \64277int8x16_t __reint_833 = __s2_833; \
62922 __ret_741 = vusdot_s32(__s0_741, __s1_741, (int8x8_t)(splat_laneq_s32(*(int32x4_t *) &__reint_741, __p3_741))); \64278 __ret_833 = vusdot_s32(__s0_833, __s1_833, (int8x8_t)(splat_laneq_s32(*(int32x4_t *) &__reint_833, __p3_833))); \
62923 __ret_741; \64279 __ret_833; \
62924})64280})
62925#else64281#else
62926#define vusdot_laneq_s32(__p0_742, __p1_742, __p2_742, __p3_742) __extension__ ({ \64282#define vusdot_laneq_s32(__p0_834, __p1_834, __p2_834, __p3_834) __extension__ ({ \
62927 int32x2_t __s0_742 = __p0_742; \64283 int32x2_t __s0_834 = __p0_834; \
62928 uint8x8_t __s1_742 = __p1_742; \64284 uint8x8_t __s1_834 = __p1_834; \
62929 int8x16_t __s2_742 = __p2_742; \64285 int8x16_t __s2_834 = __p2_834; \
62930 int32x2_t __rev0_742; __rev0_742 = __builtin_shufflevector(__s0_742, __s0_742, 1, 0); \64286 int32x2_t __rev0_834; __rev0_834 = __builtin_shufflevector(__s0_834, __s0_834, 1, 0); \
62931 uint8x8_t __rev1_742; __rev1_742 = __builtin_shufflevector(__s1_742, __s1_742, 7, 6, 5, 4, 3, 2, 1, 0); \64287 uint8x8_t __rev1_834; __rev1_834 = __builtin_shufflevector(__s1_834, __s1_834, 7, 6, 5, 4, 3, 2, 1, 0); \
62932 int8x16_t __rev2_742; __rev2_742 = __builtin_shufflevector(__s2_742, __s2_742, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \64288 int8x16_t __rev2_834; __rev2_834 = __builtin_shufflevector(__s2_834, __s2_834, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
62933 int32x2_t __ret_742; \64289 int32x2_t __ret_834; \
62934int8x16_t __reint_742 = __rev2_742; \64290int8x16_t __reint_834 = __rev2_834; \
62935 __ret_742 = __noswap_vusdot_s32(__rev0_742, __rev1_742, (int8x8_t)(__noswap_splat_laneq_s32(*(int32x4_t *) &__reint_742, __p3_742))); \64291 __ret_834 = __noswap_vusdot_s32(__rev0_834, __rev1_834, (int8x8_t)(__noswap_splat_laneq_s32(*(int32x4_t *) &__reint_834, __p3_834))); \
62936 __ret_742 = __builtin_shufflevector(__ret_742, __ret_742, 1, 0); \64292 __ret_834 = __builtin_shufflevector(__ret_834, __ret_834, 1, 0); \
62937 __ret_742; \64293 __ret_834; \
62938})64294})
62939#endif64295#endif
6294064296
...@@ -64988,60 +66344,60 @@ __ai int32x4_t vaddw_s16(int32x4_t __p0, int16x4_t __p1) {...@@ -64988,60 +66344,60 @@ __ai int32x4_t vaddw_s16(int32x4_t __p0, int16x4_t __p1) {
64988#endif66344#endif
6498966345
64990#ifdef __LITTLE_ENDIAN__66346#ifdef __LITTLE_ENDIAN__
64991#define vget_lane_f16(__p0_743, __p1_743) __extension__ ({ \66347#define vget_lane_f16(__p0_835, __p1_835) __extension__ ({ \
64992 float16x4_t __s0_743 = __p0_743; \66348 float16x4_t __s0_835 = __p0_835; \
64993 float16_t __ret_743; \66349 float16_t __ret_835; \
64994float16x4_t __reint_743 = __s0_743; \66350float16x4_t __reint_835 = __s0_835; \
64995int16_t __reint1_743 = vget_lane_s16(*(int16x4_t *) &__reint_743, __p1_743); \66351int16_t __reint1_835 = vget_lane_s16(*(int16x4_t *) &__reint_835, __p1_835); \
64996 __ret_743 = *(float16_t *) &__reint1_743; \66352 __ret_835 = *(float16_t *) &__reint1_835; \
64997 __ret_743; \66353 __ret_835; \
64998})66354})
64999#else66355#else
65000#define vget_lane_f16(__p0_744, __p1_744) __extension__ ({ \66356#define vget_lane_f16(__p0_836, __p1_836) __extension__ ({ \
65001 float16x4_t __s0_744 = __p0_744; \66357 float16x4_t __s0_836 = __p0_836; \
65002 float16x4_t __rev0_744; __rev0_744 = __builtin_shufflevector(__s0_744, __s0_744, 3, 2, 1, 0); \66358 float16x4_t __rev0_836; __rev0_836 = __builtin_shufflevector(__s0_836, __s0_836, 3, 2, 1, 0); \
65003 float16_t __ret_744; \66359 float16_t __ret_836; \
65004float16x4_t __reint_744 = __rev0_744; \66360float16x4_t __reint_836 = __rev0_836; \
65005int16_t __reint1_744 = __noswap_vget_lane_s16(*(int16x4_t *) &__reint_744, __p1_744); \66361int16_t __reint1_836 = __noswap_vget_lane_s16(*(int16x4_t *) &__reint_836, __p1_836); \
65006 __ret_744 = *(float16_t *) &__reint1_744; \66362 __ret_836 = *(float16_t *) &__reint1_836; \
65007 __ret_744; \66363 __ret_836; \
65008})66364})
65009#define __noswap_vget_lane_f16(__p0_745, __p1_745) __extension__ ({ \66365#define __noswap_vget_lane_f16(__p0_837, __p1_837) __extension__ ({ \
65010 float16x4_t __s0_745 = __p0_745; \66366 float16x4_t __s0_837 = __p0_837; \
65011 float16_t __ret_745; \66367 float16_t __ret_837; \
65012float16x4_t __reint_745 = __s0_745; \66368float16x4_t __reint_837 = __s0_837; \
65013int16_t __reint1_745 = __noswap_vget_lane_s16(*(int16x4_t *) &__reint_745, __p1_745); \66369int16_t __reint1_837 = __noswap_vget_lane_s16(*(int16x4_t *) &__reint_837, __p1_837); \
65014 __ret_745 = *(float16_t *) &__reint1_745; \66370 __ret_837 = *(float16_t *) &__reint1_837; \
65015 __ret_745; \66371 __ret_837; \
65016})66372})
65017#endif66373#endif
6501866374
65019#ifdef __LITTLE_ENDIAN__66375#ifdef __LITTLE_ENDIAN__
65020#define vgetq_lane_f16(__p0_746, __p1_746) __extension__ ({ \66376#define vgetq_lane_f16(__p0_838, __p1_838) __extension__ ({ \
65021 float16x8_t __s0_746 = __p0_746; \66377 float16x8_t __s0_838 = __p0_838; \
65022 float16_t __ret_746; \66378 float16_t __ret_838; \
65023float16x8_t __reint_746 = __s0_746; \66379float16x8_t __reint_838 = __s0_838; \
65024int16_t __reint1_746 = vgetq_lane_s16(*(int16x8_t *) &__reint_746, __p1_746); \66380int16_t __reint1_838 = vgetq_lane_s16(*(int16x8_t *) &__reint_838, __p1_838); \
65025 __ret_746 = *(float16_t *) &__reint1_746; \66381 __ret_838 = *(float16_t *) &__reint1_838; \
65026 __ret_746; \66382 __ret_838; \
65027})66383})
65028#else66384#else
65029#define vgetq_lane_f16(__p0_747, __p1_747) __extension__ ({ \66385#define vgetq_lane_f16(__p0_839, __p1_839) __extension__ ({ \
65030 float16x8_t __s0_747 = __p0_747; \66386 float16x8_t __s0_839 = __p0_839; \
65031 float16x8_t __rev0_747; __rev0_747 = __builtin_shufflevector(__s0_747, __s0_747, 7, 6, 5, 4, 3, 2, 1, 0); \66387 float16x8_t __rev0_839; __rev0_839 = __builtin_shufflevector(__s0_839, __s0_839, 7, 6, 5, 4, 3, 2, 1, 0); \
65032 float16_t __ret_747; \66388 float16_t __ret_839; \
65033float16x8_t __reint_747 = __rev0_747; \66389float16x8_t __reint_839 = __rev0_839; \
65034int16_t __reint1_747 = __noswap_vgetq_lane_s16(*(int16x8_t *) &__reint_747, __p1_747); \66390int16_t __reint1_839 = __noswap_vgetq_lane_s16(*(int16x8_t *) &__reint_839, __p1_839); \
65035 __ret_747 = *(float16_t *) &__reint1_747; \66391 __ret_839 = *(float16_t *) &__reint1_839; \
65036 __ret_747; \66392 __ret_839; \
65037})66393})
65038#define __noswap_vgetq_lane_f16(__p0_748, __p1_748) __extension__ ({ \66394#define __noswap_vgetq_lane_f16(__p0_840, __p1_840) __extension__ ({ \
65039 float16x8_t __s0_748 = __p0_748; \66395 float16x8_t __s0_840 = __p0_840; \
65040 float16_t __ret_748; \66396 float16_t __ret_840; \
65041float16x8_t __reint_748 = __s0_748; \66397float16x8_t __reint_840 = __s0_840; \
65042int16_t __reint1_748 = __noswap_vgetq_lane_s16(*(int16x8_t *) &__reint_748, __p1_748); \66398int16_t __reint1_840 = __noswap_vgetq_lane_s16(*(int16x8_t *) &__reint_840, __p1_840); \
65043 __ret_748 = *(float16_t *) &__reint1_748; \66399 __ret_840 = *(float16_t *) &__reint1_840; \
65044 __ret_748; \66400 __ret_840; \
65045})66401})
65046#endif66402#endif
6504766403
...@@ -65184,98 +66540,98 @@ __ai int32x4_t __noswap_vmlal_s16(int32x4_t __p0, int16x4_t __p1, int16x4_t __p2...@@ -65184,98 +66540,98 @@ __ai int32x4_t __noswap_vmlal_s16(int32x4_t __p0, int16x4_t __p1, int16x4_t __p2
65184#endif66540#endif
6518566541
65186#ifdef __LITTLE_ENDIAN__66542#ifdef __LITTLE_ENDIAN__
65187#define vmlal_lane_u32(__p0_749, __p1_749, __p2_749, __p3_749) __extension__ ({ \66543#define vmlal_lane_u32(__p0_841, __p1_841, __p2_841, __p3_841) __extension__ ({ \
65188 uint64x2_t __s0_749 = __p0_749; \66544 uint64x2_t __s0_841 = __p0_841; \
65189 uint32x2_t __s1_749 = __p1_749; \66545 uint32x2_t __s1_841 = __p1_841; \
65190 uint32x2_t __s2_749 = __p2_749; \66546 uint32x2_t __s2_841 = __p2_841; \
65191 uint64x2_t __ret_749; \66547 uint64x2_t __ret_841; \
65192 __ret_749 = __s0_749 + vmull_u32(__s1_749, splat_lane_u32(__s2_749, __p3_749)); \66548 __ret_841 = __s0_841 + vmull_u32(__s1_841, splat_lane_u32(__s2_841, __p3_841)); \
65193 __ret_749; \66549 __ret_841; \
65194})66550})
65195#else66551#else
65196#define vmlal_lane_u32(__p0_750, __p1_750, __p2_750, __p3_750) __extension__ ({ \66552#define vmlal_lane_u32(__p0_842, __p1_842, __p2_842, __p3_842) __extension__ ({ \
65197 uint64x2_t __s0_750 = __p0_750; \66553 uint64x2_t __s0_842 = __p0_842; \
65198 uint32x2_t __s1_750 = __p1_750; \66554 uint32x2_t __s1_842 = __p1_842; \
65199 uint32x2_t __s2_750 = __p2_750; \66555 uint32x2_t __s2_842 = __p2_842; \
65200 uint64x2_t __rev0_750; __rev0_750 = __builtin_shufflevector(__s0_750, __s0_750, 1, 0); \66556 uint64x2_t __rev0_842; __rev0_842 = __builtin_shufflevector(__s0_842, __s0_842, 1, 0); \
65201 uint32x2_t __rev1_750; __rev1_750 = __builtin_shufflevector(__s1_750, __s1_750, 1, 0); \66557 uint32x2_t __rev1_842; __rev1_842 = __builtin_shufflevector(__s1_842, __s1_842, 1, 0); \
65202 uint32x2_t __rev2_750; __rev2_750 = __builtin_shufflevector(__s2_750, __s2_750, 1, 0); \66558 uint32x2_t __rev2_842; __rev2_842 = __builtin_shufflevector(__s2_842, __s2_842, 1, 0); \
65203 uint64x2_t __ret_750; \66559 uint64x2_t __ret_842; \
65204 __ret_750 = __rev0_750 + __noswap_vmull_u32(__rev1_750, __noswap_splat_lane_u32(__rev2_750, __p3_750)); \66560 __ret_842 = __rev0_842 + __noswap_vmull_u32(__rev1_842, __noswap_splat_lane_u32(__rev2_842, __p3_842)); \
65205 __ret_750 = __builtin_shufflevector(__ret_750, __ret_750, 1, 0); \66561 __ret_842 = __builtin_shufflevector(__ret_842, __ret_842, 1, 0); \
65206 __ret_750; \66562 __ret_842; \
65207})66563})
65208#endif66564#endif
6520966565
65210#ifdef __LITTLE_ENDIAN__66566#ifdef __LITTLE_ENDIAN__
65211#define vmlal_lane_u16(__p0_751, __p1_751, __p2_751, __p3_751) __extension__ ({ \66567#define vmlal_lane_u16(__p0_843, __p1_843, __p2_843, __p3_843) __extension__ ({ \
65212 uint32x4_t __s0_751 = __p0_751; \66568 uint32x4_t __s0_843 = __p0_843; \
65213 uint16x4_t __s1_751 = __p1_751; \66569 uint16x4_t __s1_843 = __p1_843; \
65214 uint16x4_t __s2_751 = __p2_751; \66570 uint16x4_t __s2_843 = __p2_843; \
65215 uint32x4_t __ret_751; \66571 uint32x4_t __ret_843; \
65216 __ret_751 = __s0_751 + vmull_u16(__s1_751, splat_lane_u16(__s2_751, __p3_751)); \66572 __ret_843 = __s0_843 + vmull_u16(__s1_843, splat_lane_u16(__s2_843, __p3_843)); \
65217 __ret_751; \66573 __ret_843; \
65218})66574})
65219#else66575#else
65220#define vmlal_lane_u16(__p0_752, __p1_752, __p2_752, __p3_752) __extension__ ({ \66576#define vmlal_lane_u16(__p0_844, __p1_844, __p2_844, __p3_844) __extension__ ({ \
65221 uint32x4_t __s0_752 = __p0_752; \66577 uint32x4_t __s0_844 = __p0_844; \
65222 uint16x4_t __s1_752 = __p1_752; \66578 uint16x4_t __s1_844 = __p1_844; \
65223 uint16x4_t __s2_752 = __p2_752; \66579 uint16x4_t __s2_844 = __p2_844; \
65224 uint32x4_t __rev0_752; __rev0_752 = __builtin_shufflevector(__s0_752, __s0_752, 3, 2, 1, 0); \66580 uint32x4_t __rev0_844; __rev0_844 = __builtin_shufflevector(__s0_844, __s0_844, 3, 2, 1, 0); \
65225 uint16x4_t __rev1_752; __rev1_752 = __builtin_shufflevector(__s1_752, __s1_752, 3, 2, 1, 0); \66581 uint16x4_t __rev1_844; __rev1_844 = __builtin_shufflevector(__s1_844, __s1_844, 3, 2, 1, 0); \
65226 uint16x4_t __rev2_752; __rev2_752 = __builtin_shufflevector(__s2_752, __s2_752, 3, 2, 1, 0); \66582 uint16x4_t __rev2_844; __rev2_844 = __builtin_shufflevector(__s2_844, __s2_844, 3, 2, 1, 0); \
65227 uint32x4_t __ret_752; \66583 uint32x4_t __ret_844; \
65228 __ret_752 = __rev0_752 + __noswap_vmull_u16(__rev1_752, __noswap_splat_lane_u16(__rev2_752, __p3_752)); \66584 __ret_844 = __rev0_844 + __noswap_vmull_u16(__rev1_844, __noswap_splat_lane_u16(__rev2_844, __p3_844)); \
65229 __ret_752 = __builtin_shufflevector(__ret_752, __ret_752, 3, 2, 1, 0); \66585 __ret_844 = __builtin_shufflevector(__ret_844, __ret_844, 3, 2, 1, 0); \
65230 __ret_752; \66586 __ret_844; \
65231})66587})
65232#endif66588#endif
6523366589
65234#ifdef __LITTLE_ENDIAN__66590#ifdef __LITTLE_ENDIAN__
65235#define vmlal_lane_s32(__p0_753, __p1_753, __p2_753, __p3_753) __extension__ ({ \66591#define vmlal_lane_s32(__p0_845, __p1_845, __p2_845, __p3_845) __extension__ ({ \
65236 int64x2_t __s0_753 = __p0_753; \66592 int64x2_t __s0_845 = __p0_845; \
65237 int32x2_t __s1_753 = __p1_753; \66593 int32x2_t __s1_845 = __p1_845; \
65238 int32x2_t __s2_753 = __p2_753; \66594 int32x2_t __s2_845 = __p2_845; \
65239 int64x2_t __ret_753; \66595 int64x2_t __ret_845; \
65240 __ret_753 = __s0_753 + vmull_s32(__s1_753, splat_lane_s32(__s2_753, __p3_753)); \66596 __ret_845 = __s0_845 + vmull_s32(__s1_845, splat_lane_s32(__s2_845, __p3_845)); \
65241 __ret_753; \66597 __ret_845; \
65242})66598})
65243#else66599#else
65244#define vmlal_lane_s32(__p0_754, __p1_754, __p2_754, __p3_754) __extension__ ({ \66600#define vmlal_lane_s32(__p0_846, __p1_846, __p2_846, __p3_846) __extension__ ({ \
65245 int64x2_t __s0_754 = __p0_754; \66601 int64x2_t __s0_846 = __p0_846; \
65246 int32x2_t __s1_754 = __p1_754; \66602 int32x2_t __s1_846 = __p1_846; \
65247 int32x2_t __s2_754 = __p2_754; \66603 int32x2_t __s2_846 = __p2_846; \
65248 int64x2_t __rev0_754; __rev0_754 = __builtin_shufflevector(__s0_754, __s0_754, 1, 0); \66604 int64x2_t __rev0_846; __rev0_846 = __builtin_shufflevector(__s0_846, __s0_846, 1, 0); \
65249 int32x2_t __rev1_754; __rev1_754 = __builtin_shufflevector(__s1_754, __s1_754, 1, 0); \66605 int32x2_t __rev1_846; __rev1_846 = __builtin_shufflevector(__s1_846, __s1_846, 1, 0); \
65250 int32x2_t __rev2_754; __rev2_754 = __builtin_shufflevector(__s2_754, __s2_754, 1, 0); \66606 int32x2_t __rev2_846; __rev2_846 = __builtin_shufflevector(__s2_846, __s2_846, 1, 0); \
65251 int64x2_t __ret_754; \66607 int64x2_t __ret_846; \
65252 __ret_754 = __rev0_754 + __noswap_vmull_s32(__rev1_754, __noswap_splat_lane_s32(__rev2_754, __p3_754)); \66608 __ret_846 = __rev0_846 + __noswap_vmull_s32(__rev1_846, __noswap_splat_lane_s32(__rev2_846, __p3_846)); \
65253 __ret_754 = __builtin_shufflevector(__ret_754, __ret_754, 1, 0); \66609 __ret_846 = __builtin_shufflevector(__ret_846, __ret_846, 1, 0); \
65254 __ret_754; \66610 __ret_846; \
65255})66611})
65256#endif66612#endif
6525766613
65258#ifdef __LITTLE_ENDIAN__66614#ifdef __LITTLE_ENDIAN__
65259#define vmlal_lane_s16(__p0_755, __p1_755, __p2_755, __p3_755) __extension__ ({ \66615#define vmlal_lane_s16(__p0_847, __p1_847, __p2_847, __p3_847) __extension__ ({ \
65260 int32x4_t __s0_755 = __p0_755; \66616 int32x4_t __s0_847 = __p0_847; \
65261 int16x4_t __s1_755 = __p1_755; \66617 int16x4_t __s1_847 = __p1_847; \
65262 int16x4_t __s2_755 = __p2_755; \66618 int16x4_t __s2_847 = __p2_847; \
65263 int32x4_t __ret_755; \66619 int32x4_t __ret_847; \
65264 __ret_755 = __s0_755 + vmull_s16(__s1_755, splat_lane_s16(__s2_755, __p3_755)); \66620 __ret_847 = __s0_847 + vmull_s16(__s1_847, splat_lane_s16(__s2_847, __p3_847)); \
65265 __ret_755; \66621 __ret_847; \
65266})66622})
65267#else66623#else
65268#define vmlal_lane_s16(__p0_756, __p1_756, __p2_756, __p3_756) __extension__ ({ \66624#define vmlal_lane_s16(__p0_848, __p1_848, __p2_848, __p3_848) __extension__ ({ \
65269 int32x4_t __s0_756 = __p0_756; \66625 int32x4_t __s0_848 = __p0_848; \
65270 int16x4_t __s1_756 = __p1_756; \66626 int16x4_t __s1_848 = __p1_848; \
65271 int16x4_t __s2_756 = __p2_756; \66627 int16x4_t __s2_848 = __p2_848; \
65272 int32x4_t __rev0_756; __rev0_756 = __builtin_shufflevector(__s0_756, __s0_756, 3, 2, 1, 0); \66628 int32x4_t __rev0_848; __rev0_848 = __builtin_shufflevector(__s0_848, __s0_848, 3, 2, 1, 0); \
65273 int16x4_t __rev1_756; __rev1_756 = __builtin_shufflevector(__s1_756, __s1_756, 3, 2, 1, 0); \66629 int16x4_t __rev1_848; __rev1_848 = __builtin_shufflevector(__s1_848, __s1_848, 3, 2, 1, 0); \
65274 int16x4_t __rev2_756; __rev2_756 = __builtin_shufflevector(__s2_756, __s2_756, 3, 2, 1, 0); \66630 int16x4_t __rev2_848; __rev2_848 = __builtin_shufflevector(__s2_848, __s2_848, 3, 2, 1, 0); \
65275 int32x4_t __ret_756; \66631 int32x4_t __ret_848; \
65276 __ret_756 = __rev0_756 + __noswap_vmull_s16(__rev1_756, __noswap_splat_lane_s16(__rev2_756, __p3_756)); \66632 __ret_848 = __rev0_848 + __noswap_vmull_s16(__rev1_848, __noswap_splat_lane_s16(__rev2_848, __p3_848)); \
65277 __ret_756 = __builtin_shufflevector(__ret_756, __ret_756, 3, 2, 1, 0); \66633 __ret_848 = __builtin_shufflevector(__ret_848, __ret_848, 3, 2, 1, 0); \
65278 __ret_756; \66634 __ret_848; \
65279})66635})
65280#endif66636#endif
6528166637
...@@ -65506,98 +66862,98 @@ __ai int32x4_t __noswap_vmlsl_s16(int32x4_t __p0, int16x4_t __p1, int16x4_t __p2...@@ -65506,98 +66862,98 @@ __ai int32x4_t __noswap_vmlsl_s16(int32x4_t __p0, int16x4_t __p1, int16x4_t __p2
65506#endif66862#endif
6550766863
65508#ifdef __LITTLE_ENDIAN__66864#ifdef __LITTLE_ENDIAN__
65509#define vmlsl_lane_u32(__p0_757, __p1_757, __p2_757, __p3_757) __extension__ ({ \66865#define vmlsl_lane_u32(__p0_849, __p1_849, __p2_849, __p3_849) __extension__ ({ \
65510 uint64x2_t __s0_757 = __p0_757; \66866 uint64x2_t __s0_849 = __p0_849; \
65511 uint32x2_t __s1_757 = __p1_757; \66867 uint32x2_t __s1_849 = __p1_849; \
65512 uint32x2_t __s2_757 = __p2_757; \66868 uint32x2_t __s2_849 = __p2_849; \
65513 uint64x2_t __ret_757; \66869 uint64x2_t __ret_849; \
65514 __ret_757 = __s0_757 - vmull_u32(__s1_757, splat_lane_u32(__s2_757, __p3_757)); \66870 __ret_849 = __s0_849 - vmull_u32(__s1_849, splat_lane_u32(__s2_849, __p3_849)); \
65515 __ret_757; \66871 __ret_849; \
65516})66872})
65517#else66873#else
65518#define vmlsl_lane_u32(__p0_758, __p1_758, __p2_758, __p3_758) __extension__ ({ \66874#define vmlsl_lane_u32(__p0_850, __p1_850, __p2_850, __p3_850) __extension__ ({ \
65519 uint64x2_t __s0_758 = __p0_758; \66875 uint64x2_t __s0_850 = __p0_850; \
65520 uint32x2_t __s1_758 = __p1_758; \66876 uint32x2_t __s1_850 = __p1_850; \
65521 uint32x2_t __s2_758 = __p2_758; \66877 uint32x2_t __s2_850 = __p2_850; \
65522 uint64x2_t __rev0_758; __rev0_758 = __builtin_shufflevector(__s0_758, __s0_758, 1, 0); \66878 uint64x2_t __rev0_850; __rev0_850 = __builtin_shufflevector(__s0_850, __s0_850, 1, 0); \
65523 uint32x2_t __rev1_758; __rev1_758 = __builtin_shufflevector(__s1_758, __s1_758, 1, 0); \66879 uint32x2_t __rev1_850; __rev1_850 = __builtin_shufflevector(__s1_850, __s1_850, 1, 0); \
65524 uint32x2_t __rev2_758; __rev2_758 = __builtin_shufflevector(__s2_758, __s2_758, 1, 0); \66880 uint32x2_t __rev2_850; __rev2_850 = __builtin_shufflevector(__s2_850, __s2_850, 1, 0); \
65525 uint64x2_t __ret_758; \66881 uint64x2_t __ret_850; \
65526 __ret_758 = __rev0_758 - __noswap_vmull_u32(__rev1_758, __noswap_splat_lane_u32(__rev2_758, __p3_758)); \66882 __ret_850 = __rev0_850 - __noswap_vmull_u32(__rev1_850, __noswap_splat_lane_u32(__rev2_850, __p3_850)); \
65527 __ret_758 = __builtin_shufflevector(__ret_758, __ret_758, 1, 0); \66883 __ret_850 = __builtin_shufflevector(__ret_850, __ret_850, 1, 0); \
65528 __ret_758; \66884 __ret_850; \
65529})66885})
65530#endif66886#endif
6553166887
65532#ifdef __LITTLE_ENDIAN__66888#ifdef __LITTLE_ENDIAN__
65533#define vmlsl_lane_u16(__p0_759, __p1_759, __p2_759, __p3_759) __extension__ ({ \66889#define vmlsl_lane_u16(__p0_851, __p1_851, __p2_851, __p3_851) __extension__ ({ \
65534 uint32x4_t __s0_759 = __p0_759; \66890 uint32x4_t __s0_851 = __p0_851; \
65535 uint16x4_t __s1_759 = __p1_759; \66891 uint16x4_t __s1_851 = __p1_851; \
65536 uint16x4_t __s2_759 = __p2_759; \66892 uint16x4_t __s2_851 = __p2_851; \
65537 uint32x4_t __ret_759; \66893 uint32x4_t __ret_851; \
65538 __ret_759 = __s0_759 - vmull_u16(__s1_759, splat_lane_u16(__s2_759, __p3_759)); \66894 __ret_851 = __s0_851 - vmull_u16(__s1_851, splat_lane_u16(__s2_851, __p3_851)); \
65539 __ret_759; \66895 __ret_851; \
65540})66896})
65541#else66897#else
65542#define vmlsl_lane_u16(__p0_760, __p1_760, __p2_760, __p3_760) __extension__ ({ \66898#define vmlsl_lane_u16(__p0_852, __p1_852, __p2_852, __p3_852) __extension__ ({ \
65543 uint32x4_t __s0_760 = __p0_760; \66899 uint32x4_t __s0_852 = __p0_852; \
65544 uint16x4_t __s1_760 = __p1_760; \66900 uint16x4_t __s1_852 = __p1_852; \
65545 uint16x4_t __s2_760 = __p2_760; \66901 uint16x4_t __s2_852 = __p2_852; \
65546 uint32x4_t __rev0_760; __rev0_760 = __builtin_shufflevector(__s0_760, __s0_760, 3, 2, 1, 0); \66902 uint32x4_t __rev0_852; __rev0_852 = __builtin_shufflevector(__s0_852, __s0_852, 3, 2, 1, 0); \
65547 uint16x4_t __rev1_760; __rev1_760 = __builtin_shufflevector(__s1_760, __s1_760, 3, 2, 1, 0); \66903 uint16x4_t __rev1_852; __rev1_852 = __builtin_shufflevector(__s1_852, __s1_852, 3, 2, 1, 0); \
65548 uint16x4_t __rev2_760; __rev2_760 = __builtin_shufflevector(__s2_760, __s2_760, 3, 2, 1, 0); \66904 uint16x4_t __rev2_852; __rev2_852 = __builtin_shufflevector(__s2_852, __s2_852, 3, 2, 1, 0); \
65549 uint32x4_t __ret_760; \66905 uint32x4_t __ret_852; \
65550 __ret_760 = __rev0_760 - __noswap_vmull_u16(__rev1_760, __noswap_splat_lane_u16(__rev2_760, __p3_760)); \66906 __ret_852 = __rev0_852 - __noswap_vmull_u16(__rev1_852, __noswap_splat_lane_u16(__rev2_852, __p3_852)); \
65551 __ret_760 = __builtin_shufflevector(__ret_760, __ret_760, 3, 2, 1, 0); \66907 __ret_852 = __builtin_shufflevector(__ret_852, __ret_852, 3, 2, 1, 0); \
65552 __ret_760; \66908 __ret_852; \
65553})66909})
65554#endif66910#endif
6555566911
65556#ifdef __LITTLE_ENDIAN__66912#ifdef __LITTLE_ENDIAN__
65557#define vmlsl_lane_s32(__p0_761, __p1_761, __p2_761, __p3_761) __extension__ ({ \66913#define vmlsl_lane_s32(__p0_853, __p1_853, __p2_853, __p3_853) __extension__ ({ \
65558 int64x2_t __s0_761 = __p0_761; \66914 int64x2_t __s0_853 = __p0_853; \
65559 int32x2_t __s1_761 = __p1_761; \66915 int32x2_t __s1_853 = __p1_853; \
65560 int32x2_t __s2_761 = __p2_761; \66916 int32x2_t __s2_853 = __p2_853; \
65561 int64x2_t __ret_761; \66917 int64x2_t __ret_853; \
65562 __ret_761 = __s0_761 - vmull_s32(__s1_761, splat_lane_s32(__s2_761, __p3_761)); \66918 __ret_853 = __s0_853 - vmull_s32(__s1_853, splat_lane_s32(__s2_853, __p3_853)); \
65563 __ret_761; \66919 __ret_853; \
65564})66920})
65565#else66921#else
65566#define vmlsl_lane_s32(__p0_762, __p1_762, __p2_762, __p3_762) __extension__ ({ \66922#define vmlsl_lane_s32(__p0_854, __p1_854, __p2_854, __p3_854) __extension__ ({ \
65567 int64x2_t __s0_762 = __p0_762; \66923 int64x2_t __s0_854 = __p0_854; \
65568 int32x2_t __s1_762 = __p1_762; \66924 int32x2_t __s1_854 = __p1_854; \
65569 int32x2_t __s2_762 = __p2_762; \66925 int32x2_t __s2_854 = __p2_854; \
65570 int64x2_t __rev0_762; __rev0_762 = __builtin_shufflevector(__s0_762, __s0_762, 1, 0); \66926 int64x2_t __rev0_854; __rev0_854 = __builtin_shufflevector(__s0_854, __s0_854, 1, 0); \
65571 int32x2_t __rev1_762; __rev1_762 = __builtin_shufflevector(__s1_762, __s1_762, 1, 0); \66927 int32x2_t __rev1_854; __rev1_854 = __builtin_shufflevector(__s1_854, __s1_854, 1, 0); \
65572 int32x2_t __rev2_762; __rev2_762 = __builtin_shufflevector(__s2_762, __s2_762, 1, 0); \66928 int32x2_t __rev2_854; __rev2_854 = __builtin_shufflevector(__s2_854, __s2_854, 1, 0); \
65573 int64x2_t __ret_762; \66929 int64x2_t __ret_854; \
65574 __ret_762 = __rev0_762 - __noswap_vmull_s32(__rev1_762, __noswap_splat_lane_s32(__rev2_762, __p3_762)); \66930 __ret_854 = __rev0_854 - __noswap_vmull_s32(__rev1_854, __noswap_splat_lane_s32(__rev2_854, __p3_854)); \
65575 __ret_762 = __builtin_shufflevector(__ret_762, __ret_762, 1, 0); \66931 __ret_854 = __builtin_shufflevector(__ret_854, __ret_854, 1, 0); \
65576 __ret_762; \66932 __ret_854; \
65577})66933})
65578#endif66934#endif
6557966935
65580#ifdef __LITTLE_ENDIAN__66936#ifdef __LITTLE_ENDIAN__
65581#define vmlsl_lane_s16(__p0_763, __p1_763, __p2_763, __p3_763) __extension__ ({ \66937#define vmlsl_lane_s16(__p0_855, __p1_855, __p2_855, __p3_855) __extension__ ({ \
65582 int32x4_t __s0_763 = __p0_763; \66938 int32x4_t __s0_855 = __p0_855; \
65583 int16x4_t __s1_763 = __p1_763; \66939 int16x4_t __s1_855 = __p1_855; \
65584 int16x4_t __s2_763 = __p2_763; \66940 int16x4_t __s2_855 = __p2_855; \
65585 int32x4_t __ret_763; \66941 int32x4_t __ret_855; \
65586 __ret_763 = __s0_763 - vmull_s16(__s1_763, splat_lane_s16(__s2_763, __p3_763)); \66942 __ret_855 = __s0_855 - vmull_s16(__s1_855, splat_lane_s16(__s2_855, __p3_855)); \
65587 __ret_763; \66943 __ret_855; \
65588})66944})
65589#else66945#else
65590#define vmlsl_lane_s16(__p0_764, __p1_764, __p2_764, __p3_764) __extension__ ({ \66946#define vmlsl_lane_s16(__p0_856, __p1_856, __p2_856, __p3_856) __extension__ ({ \
65591 int32x4_t __s0_764 = __p0_764; \66947 int32x4_t __s0_856 = __p0_856; \
65592 int16x4_t __s1_764 = __p1_764; \66948 int16x4_t __s1_856 = __p1_856; \
65593 int16x4_t __s2_764 = __p2_764; \66949 int16x4_t __s2_856 = __p2_856; \
65594 int32x4_t __rev0_764; __rev0_764 = __builtin_shufflevector(__s0_764, __s0_764, 3, 2, 1, 0); \66950 int32x4_t __rev0_856; __rev0_856 = __builtin_shufflevector(__s0_856, __s0_856, 3, 2, 1, 0); \
65595 int16x4_t __rev1_764; __rev1_764 = __builtin_shufflevector(__s1_764, __s1_764, 3, 2, 1, 0); \66951 int16x4_t __rev1_856; __rev1_856 = __builtin_shufflevector(__s1_856, __s1_856, 3, 2, 1, 0); \
65596 int16x4_t __rev2_764; __rev2_764 = __builtin_shufflevector(__s2_764, __s2_764, 3, 2, 1, 0); \66952 int16x4_t __rev2_856; __rev2_856 = __builtin_shufflevector(__s2_856, __s2_856, 3, 2, 1, 0); \
65597 int32x4_t __ret_764; \66953 int32x4_t __ret_856; \
65598 __ret_764 = __rev0_764 - __noswap_vmull_s16(__rev1_764, __noswap_splat_lane_s16(__rev2_764, __p3_764)); \66954 __ret_856 = __rev0_856 - __noswap_vmull_s16(__rev1_856, __noswap_splat_lane_s16(__rev2_856, __p3_856)); \
65599 __ret_764 = __builtin_shufflevector(__ret_764, __ret_764, 3, 2, 1, 0); \66955 __ret_856 = __builtin_shufflevector(__ret_856, __ret_856, 3, 2, 1, 0); \
65600 __ret_764; \66956 __ret_856; \
65601})66957})
65602#endif66958#endif
6560366959
...@@ -65690,151 +67046,151 @@ __ai int32x4_t __noswap_vmlsl_n_s16(int32x4_t __p0, int16x4_t __p1, int16_t __p2...@@ -65690,151 +67046,151 @@ __ai int32x4_t __noswap_vmlsl_n_s16(int32x4_t __p0, int16x4_t __p1, int16_t __p2
65690#endif67046#endif
6569167047
65692#ifdef __LITTLE_ENDIAN__67048#ifdef __LITTLE_ENDIAN__
65693#define vset_lane_f16(__p0_765, __p1_765, __p2_765) __extension__ ({ \67049#define vset_lane_f16(__p0_857, __p1_857, __p2_857) __extension__ ({ \
65694 float16_t __s0_765 = __p0_765; \67050 float16_t __s0_857 = __p0_857; \
65695 float16x4_t __s1_765 = __p1_765; \67051 float16x4_t __s1_857 = __p1_857; \
65696 float16x4_t __ret_765; \67052 float16x4_t __ret_857; \
65697float16_t __reint_765 = __s0_765; \67053float16_t __reint_857 = __s0_857; \
65698float16x4_t __reint1_765 = __s1_765; \67054float16x4_t __reint1_857 = __s1_857; \
65699int16x4_t __reint2_765 = vset_lane_s16(*(int16_t *) &__reint_765, *(int16x4_t *) &__reint1_765, __p2_765); \67055int16x4_t __reint2_857 = vset_lane_s16(*(int16_t *) &__reint_857, *(int16x4_t *) &__reint1_857, __p2_857); \
65700 __ret_765 = *(float16x4_t *) &__reint2_765; \67056 __ret_857 = *(float16x4_t *) &__reint2_857; \
65701 __ret_765; \67057 __ret_857; \
65702})67058})
65703#else67059#else
65704#define vset_lane_f16(__p0_766, __p1_766, __p2_766) __extension__ ({ \67060#define vset_lane_f16(__p0_858, __p1_858, __p2_858) __extension__ ({ \
65705 float16_t __s0_766 = __p0_766; \67061 float16_t __s0_858 = __p0_858; \
65706 float16x4_t __s1_766 = __p1_766; \67062 float16x4_t __s1_858 = __p1_858; \
65707 float16x4_t __rev1_766; __rev1_766 = __builtin_shufflevector(__s1_766, __s1_766, 3, 2, 1, 0); \67063 float16x4_t __rev1_858; __rev1_858 = __builtin_shufflevector(__s1_858, __s1_858, 3, 2, 1, 0); \
65708 float16x4_t __ret_766; \67064 float16x4_t __ret_858; \
65709float16_t __reint_766 = __s0_766; \67065float16_t __reint_858 = __s0_858; \
65710float16x4_t __reint1_766 = __rev1_766; \67066float16x4_t __reint1_858 = __rev1_858; \
65711int16x4_t __reint2_766 = __noswap_vset_lane_s16(*(int16_t *) &__reint_766, *(int16x4_t *) &__reint1_766, __p2_766); \67067int16x4_t __reint2_858 = __noswap_vset_lane_s16(*(int16_t *) &__reint_858, *(int16x4_t *) &__reint1_858, __p2_858); \
65712 __ret_766 = *(float16x4_t *) &__reint2_766; \67068 __ret_858 = *(float16x4_t *) &__reint2_858; \
65713 __ret_766 = __builtin_shufflevector(__ret_766, __ret_766, 3, 2, 1, 0); \67069 __ret_858 = __builtin_shufflevector(__ret_858, __ret_858, 3, 2, 1, 0); \
65714 __ret_766; \67070 __ret_858; \
65715})67071})
65716#endif67072#endif
6571767073
65718#ifdef __LITTLE_ENDIAN__67074#ifdef __LITTLE_ENDIAN__
65719#define vsetq_lane_f16(__p0_767, __p1_767, __p2_767) __extension__ ({ \67075#define vsetq_lane_f16(__p0_859, __p1_859, __p2_859) __extension__ ({ \
65720 float16_t __s0_767 = __p0_767; \67076 float16_t __s0_859 = __p0_859; \
65721 float16x8_t __s1_767 = __p1_767; \67077 float16x8_t __s1_859 = __p1_859; \
65722 float16x8_t __ret_767; \67078 float16x8_t __ret_859; \
65723float16_t __reint_767 = __s0_767; \67079float16_t __reint_859 = __s0_859; \
65724float16x8_t __reint1_767 = __s1_767; \67080float16x8_t __reint1_859 = __s1_859; \
65725int16x8_t __reint2_767 = vsetq_lane_s16(*(int16_t *) &__reint_767, *(int16x8_t *) &__reint1_767, __p2_767); \67081int16x8_t __reint2_859 = vsetq_lane_s16(*(int16_t *) &__reint_859, *(int16x8_t *) &__reint1_859, __p2_859); \
65726 __ret_767 = *(float16x8_t *) &__reint2_767; \67082 __ret_859 = *(float16x8_t *) &__reint2_859; \
65727 __ret_767; \67083 __ret_859; \
65728})67084})
65729#else67085#else
65730#define vsetq_lane_f16(__p0_768, __p1_768, __p2_768) __extension__ ({ \67086#define vsetq_lane_f16(__p0_860, __p1_860, __p2_860) __extension__ ({ \
65731 float16_t __s0_768 = __p0_768; \67087 float16_t __s0_860 = __p0_860; \
65732 float16x8_t __s1_768 = __p1_768; \67088 float16x8_t __s1_860 = __p1_860; \
65733 float16x8_t __rev1_768; __rev1_768 = __builtin_shufflevector(__s1_768, __s1_768, 7, 6, 5, 4, 3, 2, 1, 0); \67089 float16x8_t __rev1_860; __rev1_860 = __builtin_shufflevector(__s1_860, __s1_860, 7, 6, 5, 4, 3, 2, 1, 0); \
65734 float16x8_t __ret_768; \67090 float16x8_t __ret_860; \
65735float16_t __reint_768 = __s0_768; \67091float16_t __reint_860 = __s0_860; \
65736float16x8_t __reint1_768 = __rev1_768; \67092float16x8_t __reint1_860 = __rev1_860; \
65737int16x8_t __reint2_768 = __noswap_vsetq_lane_s16(*(int16_t *) &__reint_768, *(int16x8_t *) &__reint1_768, __p2_768); \67093int16x8_t __reint2_860 = __noswap_vsetq_lane_s16(*(int16_t *) &__reint_860, *(int16x8_t *) &__reint1_860, __p2_860); \
65738 __ret_768 = *(float16x8_t *) &__reint2_768; \67094 __ret_860 = *(float16x8_t *) &__reint2_860; \
65739 __ret_768 = __builtin_shufflevector(__ret_768, __ret_768, 7, 6, 5, 4, 3, 2, 1, 0); \67095 __ret_860 = __builtin_shufflevector(__ret_860, __ret_860, 7, 6, 5, 4, 3, 2, 1, 0); \
65740 __ret_768; \67096 __ret_860; \
65741})67097})
65742#endif67098#endif
6574367099
65744#if defined(__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)67100#if defined(__ARM_FEATURE_BF16_VECTOR_ARITHMETIC)
65745#ifdef __LITTLE_ENDIAN__67101#ifdef __LITTLE_ENDIAN__
65746#define vbfmlalbq_lane_f32(__p0_769, __p1_769, __p2_769, __p3_769) __extension__ ({ \67102#define vbfmlalbq_lane_f32(__p0_861, __p1_861, __p2_861, __p3_861) __extension__ ({ \
65747 float32x4_t __s0_769 = __p0_769; \67103 float32x4_t __s0_861 = __p0_861; \
65748 bfloat16x8_t __s1_769 = __p1_769; \67104 bfloat16x8_t __s1_861 = __p1_861; \
65749 bfloat16x4_t __s2_769 = __p2_769; \67105 bfloat16x4_t __s2_861 = __p2_861; \
65750 float32x4_t __ret_769; \67106 float32x4_t __ret_861; \
65751 __ret_769 = vbfmlalbq_f32(__s0_769, __s1_769, (bfloat16x8_t) {vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769), vget_lane_bf16(__s2_769, __p3_769)}); \67107 __ret_861 = vbfmlalbq_f32(__s0_861, __s1_861, (bfloat16x8_t) {vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861), vget_lane_bf16(__s2_861, __p3_861)}); \
65752 __ret_769; \67108 __ret_861; \
65753})67109})
65754#else67110#else
65755#define vbfmlalbq_lane_f32(__p0_770, __p1_770, __p2_770, __p3_770) __extension__ ({ \67111#define vbfmlalbq_lane_f32(__p0_862, __p1_862, __p2_862, __p3_862) __extension__ ({ \
65756 float32x4_t __s0_770 = __p0_770; \67112 float32x4_t __s0_862 = __p0_862; \
65757 bfloat16x8_t __s1_770 = __p1_770; \67113 bfloat16x8_t __s1_862 = __p1_862; \
65758 bfloat16x4_t __s2_770 = __p2_770; \67114 bfloat16x4_t __s2_862 = __p2_862; \
65759 float32x4_t __rev0_770; __rev0_770 = __builtin_shufflevector(__s0_770, __s0_770, 3, 2, 1, 0); \67115 float32x4_t __rev0_862; __rev0_862 = __builtin_shufflevector(__s0_862, __s0_862, 3, 2, 1, 0); \
65760 bfloat16x8_t __rev1_770; __rev1_770 = __builtin_shufflevector(__s1_770, __s1_770, 7, 6, 5, 4, 3, 2, 1, 0); \67116 bfloat16x8_t __rev1_862; __rev1_862 = __builtin_shufflevector(__s1_862, __s1_862, 7, 6, 5, 4, 3, 2, 1, 0); \
65761 bfloat16x4_t __rev2_770; __rev2_770 = __builtin_shufflevector(__s2_770, __s2_770, 3, 2, 1, 0); \67117 bfloat16x4_t __rev2_862; __rev2_862 = __builtin_shufflevector(__s2_862, __s2_862, 3, 2, 1, 0); \
65762 float32x4_t __ret_770; \67118 float32x4_t __ret_862; \
65763 __ret_770 = __noswap_vbfmlalbq_f32(__rev0_770, __rev1_770, (bfloat16x8_t) {__noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770), __noswap_vget_lane_bf16(__rev2_770, __p3_770)}); \67119 __ret_862 = __noswap_vbfmlalbq_f32(__rev0_862, __rev1_862, (bfloat16x8_t) {__noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862), __noswap_vget_lane_bf16(__rev2_862, __p3_862)}); \
65764 __ret_770 = __builtin_shufflevector(__ret_770, __ret_770, 3, 2, 1, 0); \67120 __ret_862 = __builtin_shufflevector(__ret_862, __ret_862, 3, 2, 1, 0); \
65765 __ret_770; \67121 __ret_862; \
65766})67122})
65767#endif67123#endif
6576867124
65769#ifdef __LITTLE_ENDIAN__67125#ifdef __LITTLE_ENDIAN__
65770#define vbfmlalbq_laneq_f32(__p0_771, __p1_771, __p2_771, __p3_771) __extension__ ({ \67126#define vbfmlalbq_laneq_f32(__p0_863, __p1_863, __p2_863, __p3_863) __extension__ ({ \
65771 float32x4_t __s0_771 = __p0_771; \67127 float32x4_t __s0_863 = __p0_863; \
65772 bfloat16x8_t __s1_771 = __p1_771; \67128 bfloat16x8_t __s1_863 = __p1_863; \
65773 bfloat16x8_t __s2_771 = __p2_771; \67129 bfloat16x8_t __s2_863 = __p2_863; \
65774 float32x4_t __ret_771; \67130 float32x4_t __ret_863; \
65775 __ret_771 = vbfmlalbq_f32(__s0_771, __s1_771, (bfloat16x8_t) {vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771), vgetq_lane_bf16(__s2_771, __p3_771)}); \67131 __ret_863 = vbfmlalbq_f32(__s0_863, __s1_863, (bfloat16x8_t) {vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863), vgetq_lane_bf16(__s2_863, __p3_863)}); \
65776 __ret_771; \67132 __ret_863; \
65777})67133})
65778#else67134#else
65779#define vbfmlalbq_laneq_f32(__p0_772, __p1_772, __p2_772, __p3_772) __extension__ ({ \67135#define vbfmlalbq_laneq_f32(__p0_864, __p1_864, __p2_864, __p3_864) __extension__ ({ \
65780 float32x4_t __s0_772 = __p0_772; \67136 float32x4_t __s0_864 = __p0_864; \
65781 bfloat16x8_t __s1_772 = __p1_772; \67137 bfloat16x8_t __s1_864 = __p1_864; \
65782 bfloat16x8_t __s2_772 = __p2_772; \67138 bfloat16x8_t __s2_864 = __p2_864; \
65783 float32x4_t __rev0_772; __rev0_772 = __builtin_shufflevector(__s0_772, __s0_772, 3, 2, 1, 0); \67139 float32x4_t __rev0_864; __rev0_864 = __builtin_shufflevector(__s0_864, __s0_864, 3, 2, 1, 0); \
65784 bfloat16x8_t __rev1_772; __rev1_772 = __builtin_shufflevector(__s1_772, __s1_772, 7, 6, 5, 4, 3, 2, 1, 0); \67140 bfloat16x8_t __rev1_864; __rev1_864 = __builtin_shufflevector(__s1_864, __s1_864, 7, 6, 5, 4, 3, 2, 1, 0); \
65785 bfloat16x8_t __rev2_772; __rev2_772 = __builtin_shufflevector(__s2_772, __s2_772, 7, 6, 5, 4, 3, 2, 1, 0); \67141 bfloat16x8_t __rev2_864; __rev2_864 = __builtin_shufflevector(__s2_864, __s2_864, 7, 6, 5, 4, 3, 2, 1, 0); \
65786 float32x4_t __ret_772; \67142 float32x4_t __ret_864; \
65787 __ret_772 = __noswap_vbfmlalbq_f32(__rev0_772, __rev1_772, (bfloat16x8_t) {__noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772), __noswap_vgetq_lane_bf16(__rev2_772, __p3_772)}); \67143 __ret_864 = __noswap_vbfmlalbq_f32(__rev0_864, __rev1_864, (bfloat16x8_t) {__noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864), __noswap_vgetq_lane_bf16(__rev2_864, __p3_864)}); \
65788 __ret_772 = __builtin_shufflevector(__ret_772, __ret_772, 3, 2, 1, 0); \67144 __ret_864 = __builtin_shufflevector(__ret_864, __ret_864, 3, 2, 1, 0); \
65789 __ret_772; \67145 __ret_864; \
65790})67146})
65791#endif67147#endif
6579267148
65793#ifdef __LITTLE_ENDIAN__67149#ifdef __LITTLE_ENDIAN__
65794#define vbfmlaltq_lane_f32(__p0_773, __p1_773, __p2_773, __p3_773) __extension__ ({ \67150#define vbfmlaltq_lane_f32(__p0_865, __p1_865, __p2_865, __p3_865) __extension__ ({ \
65795 float32x4_t __s0_773 = __p0_773; \67151 float32x4_t __s0_865 = __p0_865; \
65796 bfloat16x8_t __s1_773 = __p1_773; \67152 bfloat16x8_t __s1_865 = __p1_865; \
65797 bfloat16x4_t __s2_773 = __p2_773; \67153 bfloat16x4_t __s2_865 = __p2_865; \
65798 float32x4_t __ret_773; \67154 float32x4_t __ret_865; \
65799 __ret_773 = vbfmlaltq_f32(__s0_773, __s1_773, (bfloat16x8_t) {vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773), vget_lane_bf16(__s2_773, __p3_773)}); \67155 __ret_865 = vbfmlaltq_f32(__s0_865, __s1_865, (bfloat16x8_t) {vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865), vget_lane_bf16(__s2_865, __p3_865)}); \
65800 __ret_773; \67156 __ret_865; \
65801})67157})
65802#else67158#else
65803#define vbfmlaltq_lane_f32(__p0_774, __p1_774, __p2_774, __p3_774) __extension__ ({ \67159#define vbfmlaltq_lane_f32(__p0_866, __p1_866, __p2_866, __p3_866) __extension__ ({ \
65804 float32x4_t __s0_774 = __p0_774; \67160 float32x4_t __s0_866 = __p0_866; \
65805 bfloat16x8_t __s1_774 = __p1_774; \67161 bfloat16x8_t __s1_866 = __p1_866; \
65806 bfloat16x4_t __s2_774 = __p2_774; \67162 bfloat16x4_t __s2_866 = __p2_866; \
65807 float32x4_t __rev0_774; __rev0_774 = __builtin_shufflevector(__s0_774, __s0_774, 3, 2, 1, 0); \67163 float32x4_t __rev0_866; __rev0_866 = __builtin_shufflevector(__s0_866, __s0_866, 3, 2, 1, 0); \
65808 bfloat16x8_t __rev1_774; __rev1_774 = __builtin_shufflevector(__s1_774, __s1_774, 7, 6, 5, 4, 3, 2, 1, 0); \67164 bfloat16x8_t __rev1_866; __rev1_866 = __builtin_shufflevector(__s1_866, __s1_866, 7, 6, 5, 4, 3, 2, 1, 0); \
65809 bfloat16x4_t __rev2_774; __rev2_774 = __builtin_shufflevector(__s2_774, __s2_774, 3, 2, 1, 0); \67165 bfloat16x4_t __rev2_866; __rev2_866 = __builtin_shufflevector(__s2_866, __s2_866, 3, 2, 1, 0); \
65810 float32x4_t __ret_774; \67166 float32x4_t __ret_866; \
65811 __ret_774 = __noswap_vbfmlaltq_f32(__rev0_774, __rev1_774, (bfloat16x8_t) {__noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774), __noswap_vget_lane_bf16(__rev2_774, __p3_774)}); \67167 __ret_866 = __noswap_vbfmlaltq_f32(__rev0_866, __rev1_866, (bfloat16x8_t) {__noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866), __noswap_vget_lane_bf16(__rev2_866, __p3_866)}); \
65812 __ret_774 = __builtin_shufflevector(__ret_774, __ret_774, 3, 2, 1, 0); \67168 __ret_866 = __builtin_shufflevector(__ret_866, __ret_866, 3, 2, 1, 0); \
65813 __ret_774; \67169 __ret_866; \
65814})67170})
65815#endif67171#endif
6581667172
65817#ifdef __LITTLE_ENDIAN__67173#ifdef __LITTLE_ENDIAN__
65818#define vbfmlaltq_laneq_f32(__p0_775, __p1_775, __p2_775, __p3_775) __extension__ ({ \67174#define vbfmlaltq_laneq_f32(__p0_867, __p1_867, __p2_867, __p3_867) __extension__ ({ \
65819 float32x4_t __s0_775 = __p0_775; \67175 float32x4_t __s0_867 = __p0_867; \
65820 bfloat16x8_t __s1_775 = __p1_775; \67176 bfloat16x8_t __s1_867 = __p1_867; \
65821 bfloat16x8_t __s2_775 = __p2_775; \67177 bfloat16x8_t __s2_867 = __p2_867; \
65822 float32x4_t __ret_775; \67178 float32x4_t __ret_867; \
65823 __ret_775 = vbfmlaltq_f32(__s0_775, __s1_775, (bfloat16x8_t) {vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775), vgetq_lane_bf16(__s2_775, __p3_775)}); \67179 __ret_867 = vbfmlaltq_f32(__s0_867, __s1_867, (bfloat16x8_t) {vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867), vgetq_lane_bf16(__s2_867, __p3_867)}); \
65824 __ret_775; \67180 __ret_867; \
65825})67181})
65826#else67182#else
65827#define vbfmlaltq_laneq_f32(__p0_776, __p1_776, __p2_776, __p3_776) __extension__ ({ \67183#define vbfmlaltq_laneq_f32(__p0_868, __p1_868, __p2_868, __p3_868) __extension__ ({ \
65828 float32x4_t __s0_776 = __p0_776; \67184 float32x4_t __s0_868 = __p0_868; \
65829 bfloat16x8_t __s1_776 = __p1_776; \67185 bfloat16x8_t __s1_868 = __p1_868; \
65830 bfloat16x8_t __s2_776 = __p2_776; \67186 bfloat16x8_t __s2_868 = __p2_868; \
65831 float32x4_t __rev0_776; __rev0_776 = __builtin_shufflevector(__s0_776, __s0_776, 3, 2, 1, 0); \67187 float32x4_t __rev0_868; __rev0_868 = __builtin_shufflevector(__s0_868, __s0_868, 3, 2, 1, 0); \
65832 bfloat16x8_t __rev1_776; __rev1_776 = __builtin_shufflevector(__s1_776, __s1_776, 7, 6, 5, 4, 3, 2, 1, 0); \67188 bfloat16x8_t __rev1_868; __rev1_868 = __builtin_shufflevector(__s1_868, __s1_868, 7, 6, 5, 4, 3, 2, 1, 0); \
65833 bfloat16x8_t __rev2_776; __rev2_776 = __builtin_shufflevector(__s2_776, __s2_776, 7, 6, 5, 4, 3, 2, 1, 0); \67189 bfloat16x8_t __rev2_868; __rev2_868 = __builtin_shufflevector(__s2_868, __s2_868, 7, 6, 5, 4, 3, 2, 1, 0); \
65834 float32x4_t __ret_776; \67190 float32x4_t __ret_868; \
65835 __ret_776 = __noswap_vbfmlaltq_f32(__rev0_776, __rev1_776, (bfloat16x8_t) {__noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776), __noswap_vgetq_lane_bf16(__rev2_776, __p3_776)}); \67191 __ret_868 = __noswap_vbfmlaltq_f32(__rev0_868, __rev1_868, (bfloat16x8_t) {__noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868), __noswap_vgetq_lane_bf16(__rev2_868, __p3_868)}); \
65836 __ret_776 = __builtin_shufflevector(__ret_776, __ret_776, 3, 2, 1, 0); \67192 __ret_868 = __builtin_shufflevector(__ret_868, __ret_868, 3, 2, 1, 0); \
65837 __ret_776; \67193 __ret_868; \
65838})67194})
65839#endif67195#endif
6584067196
...@@ -65873,480 +67229,480 @@ __ai float32x4_t vcvtq_low_f32_bf16(bfloat16x8_t __p0) {...@@ -65873,480 +67229,480 @@ __ai float32x4_t vcvtq_low_f32_bf16(bfloat16x8_t __p0) {
65873#endif67229#endif
65874#if defined(__ARM_FEATURE_FP16FML) && defined(__aarch64__)67230#if defined(__ARM_FEATURE_FP16FML) && defined(__aarch64__)
65875#ifdef __LITTLE_ENDIAN__67231#ifdef __LITTLE_ENDIAN__
65876#define vfmlalq_lane_high_f16(__p0_777, __p1_777, __p2_777, __p3_777) __extension__ ({ \67232#define vfmlalq_lane_high_f16(__p0_869, __p1_869, __p2_869, __p3_869) __extension__ ({ \
65877 float32x4_t __s0_777 = __p0_777; \67233 float32x4_t __s0_869 = __p0_869; \
65878 float16x8_t __s1_777 = __p1_777; \67234 float16x8_t __s1_869 = __p1_869; \
65879 float16x4_t __s2_777 = __p2_777; \67235 float16x4_t __s2_869 = __p2_869; \
65880 float32x4_t __ret_777; \67236 float32x4_t __ret_869; \
65881 __ret_777 = vfmlalq_high_f16(__s0_777, __s1_777, (float16x8_t) {vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777), vget_lane_f16(__s2_777, __p3_777)}); \67237 __ret_869 = vfmlalq_high_f16(__s0_869, __s1_869, (float16x8_t) {vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869), vget_lane_f16(__s2_869, __p3_869)}); \
65882 __ret_777; \67238 __ret_869; \
65883})67239})
65884#else67240#else
65885#define vfmlalq_lane_high_f16(__p0_778, __p1_778, __p2_778, __p3_778) __extension__ ({ \67241#define vfmlalq_lane_high_f16(__p0_870, __p1_870, __p2_870, __p3_870) __extension__ ({ \
65886 float32x4_t __s0_778 = __p0_778; \67242 float32x4_t __s0_870 = __p0_870; \
65887 float16x8_t __s1_778 = __p1_778; \67243 float16x8_t __s1_870 = __p1_870; \
65888 float16x4_t __s2_778 = __p2_778; \67244 float16x4_t __s2_870 = __p2_870; \
65889 float32x4_t __rev0_778; __rev0_778 = __builtin_shufflevector(__s0_778, __s0_778, 3, 2, 1, 0); \67245 float32x4_t __rev0_870; __rev0_870 = __builtin_shufflevector(__s0_870, __s0_870, 3, 2, 1, 0); \
65890 float16x8_t __rev1_778; __rev1_778 = __builtin_shufflevector(__s1_778, __s1_778, 7, 6, 5, 4, 3, 2, 1, 0); \67246 float16x8_t __rev1_870; __rev1_870 = __builtin_shufflevector(__s1_870, __s1_870, 7, 6, 5, 4, 3, 2, 1, 0); \
65891 float16x4_t __rev2_778; __rev2_778 = __builtin_shufflevector(__s2_778, __s2_778, 3, 2, 1, 0); \67247 float16x4_t __rev2_870; __rev2_870 = __builtin_shufflevector(__s2_870, __s2_870, 3, 2, 1, 0); \
65892 float32x4_t __ret_778; \67248 float32x4_t __ret_870; \
65893 __ret_778 = __noswap_vfmlalq_high_f16(__rev0_778, __rev1_778, (float16x8_t) {__noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778), __noswap_vget_lane_f16(__rev2_778, __p3_778)}); \67249 __ret_870 = __noswap_vfmlalq_high_f16(__rev0_870, __rev1_870, (float16x8_t) {__noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870), __noswap_vget_lane_f16(__rev2_870, __p3_870)}); \
65894 __ret_778 = __builtin_shufflevector(__ret_778, __ret_778, 3, 2, 1, 0); \67250 __ret_870 = __builtin_shufflevector(__ret_870, __ret_870, 3, 2, 1, 0); \
65895 __ret_778; \67251 __ret_870; \
65896})67252})
65897#endif67253#endif
6589867254
65899#ifdef __LITTLE_ENDIAN__67255#ifdef __LITTLE_ENDIAN__
65900#define vfmlal_lane_high_f16(__p0_779, __p1_779, __p2_779, __p3_779) __extension__ ({ \67256#define vfmlal_lane_high_f16(__p0_871, __p1_871, __p2_871, __p3_871) __extension__ ({ \
65901 float32x2_t __s0_779 = __p0_779; \67257 float32x2_t __s0_871 = __p0_871; \
65902 float16x4_t __s1_779 = __p1_779; \67258 float16x4_t __s1_871 = __p1_871; \
65903 float16x4_t __s2_779 = __p2_779; \67259 float16x4_t __s2_871 = __p2_871; \
65904 float32x2_t __ret_779; \67260 float32x2_t __ret_871; \
65905 __ret_779 = vfmlal_high_f16(__s0_779, __s1_779, (float16x4_t) {vget_lane_f16(__s2_779, __p3_779), vget_lane_f16(__s2_779, __p3_779), vget_lane_f16(__s2_779, __p3_779), vget_lane_f16(__s2_779, __p3_779)}); \67261 __ret_871 = vfmlal_high_f16(__s0_871, __s1_871, (float16x4_t) {vget_lane_f16(__s2_871, __p3_871), vget_lane_f16(__s2_871, __p3_871), vget_lane_f16(__s2_871, __p3_871), vget_lane_f16(__s2_871, __p3_871)}); \
65906 __ret_779; \67262 __ret_871; \
65907})67263})
65908#else67264#else
65909#define vfmlal_lane_high_f16(__p0_780, __p1_780, __p2_780, __p3_780) __extension__ ({ \67265#define vfmlal_lane_high_f16(__p0_872, __p1_872, __p2_872, __p3_872) __extension__ ({ \
65910 float32x2_t __s0_780 = __p0_780; \67266 float32x2_t __s0_872 = __p0_872; \
65911 float16x4_t __s1_780 = __p1_780; \67267 float16x4_t __s1_872 = __p1_872; \
65912 float16x4_t __s2_780 = __p2_780; \67268 float16x4_t __s2_872 = __p2_872; \
65913 float32x2_t __rev0_780; __rev0_780 = __builtin_shufflevector(__s0_780, __s0_780, 1, 0); \67269 float32x2_t __rev0_872; __rev0_872 = __builtin_shufflevector(__s0_872, __s0_872, 1, 0); \
65914 float16x4_t __rev1_780; __rev1_780 = __builtin_shufflevector(__s1_780, __s1_780, 3, 2, 1, 0); \67270 float16x4_t __rev1_872; __rev1_872 = __builtin_shufflevector(__s1_872, __s1_872, 3, 2, 1, 0); \
65915 float16x4_t __rev2_780; __rev2_780 = __builtin_shufflevector(__s2_780, __s2_780, 3, 2, 1, 0); \67271 float16x4_t __rev2_872; __rev2_872 = __builtin_shufflevector(__s2_872, __s2_872, 3, 2, 1, 0); \
65916 float32x2_t __ret_780; \67272 float32x2_t __ret_872; \
65917 __ret_780 = __noswap_vfmlal_high_f16(__rev0_780, __rev1_780, (float16x4_t) {__noswap_vget_lane_f16(__rev2_780, __p3_780), __noswap_vget_lane_f16(__rev2_780, __p3_780), __noswap_vget_lane_f16(__rev2_780, __p3_780), __noswap_vget_lane_f16(__rev2_780, __p3_780)}); \67273 __ret_872 = __noswap_vfmlal_high_f16(__rev0_872, __rev1_872, (float16x4_t) {__noswap_vget_lane_f16(__rev2_872, __p3_872), __noswap_vget_lane_f16(__rev2_872, __p3_872), __noswap_vget_lane_f16(__rev2_872, __p3_872), __noswap_vget_lane_f16(__rev2_872, __p3_872)}); \
65918 __ret_780 = __builtin_shufflevector(__ret_780, __ret_780, 1, 0); \67274 __ret_872 = __builtin_shufflevector(__ret_872, __ret_872, 1, 0); \
65919 __ret_780; \67275 __ret_872; \
65920})67276})
65921#endif67277#endif
6592267278
65923#ifdef __LITTLE_ENDIAN__67279#ifdef __LITTLE_ENDIAN__
65924#define vfmlalq_lane_low_f16(__p0_781, __p1_781, __p2_781, __p3_781) __extension__ ({ \67280#define vfmlalq_lane_low_f16(__p0_873, __p1_873, __p2_873, __p3_873) __extension__ ({ \
65925 float32x4_t __s0_781 = __p0_781; \67281 float32x4_t __s0_873 = __p0_873; \
65926 float16x8_t __s1_781 = __p1_781; \67282 float16x8_t __s1_873 = __p1_873; \
65927 float16x4_t __s2_781 = __p2_781; \67283 float16x4_t __s2_873 = __p2_873; \
65928 float32x4_t __ret_781; \67284 float32x4_t __ret_873; \
65929 __ret_781 = vfmlalq_low_f16(__s0_781, __s1_781, (float16x8_t) {vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781), vget_lane_f16(__s2_781, __p3_781)}); \67285 __ret_873 = vfmlalq_low_f16(__s0_873, __s1_873, (float16x8_t) {vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873), vget_lane_f16(__s2_873, __p3_873)}); \
65930 __ret_781; \67286 __ret_873; \
65931})67287})
65932#else67288#else
65933#define vfmlalq_lane_low_f16(__p0_782, __p1_782, __p2_782, __p3_782) __extension__ ({ \67289#define vfmlalq_lane_low_f16(__p0_874, __p1_874, __p2_874, __p3_874) __extension__ ({ \
65934 float32x4_t __s0_782 = __p0_782; \67290 float32x4_t __s0_874 = __p0_874; \
65935 float16x8_t __s1_782 = __p1_782; \67291 float16x8_t __s1_874 = __p1_874; \
65936 float16x4_t __s2_782 = __p2_782; \67292 float16x4_t __s2_874 = __p2_874; \
65937 float32x4_t __rev0_782; __rev0_782 = __builtin_shufflevector(__s0_782, __s0_782, 3, 2, 1, 0); \67293 float32x4_t __rev0_874; __rev0_874 = __builtin_shufflevector(__s0_874, __s0_874, 3, 2, 1, 0); \
65938 float16x8_t __rev1_782; __rev1_782 = __builtin_shufflevector(__s1_782, __s1_782, 7, 6, 5, 4, 3, 2, 1, 0); \67294 float16x8_t __rev1_874; __rev1_874 = __builtin_shufflevector(__s1_874, __s1_874, 7, 6, 5, 4, 3, 2, 1, 0); \
65939 float16x4_t __rev2_782; __rev2_782 = __builtin_shufflevector(__s2_782, __s2_782, 3, 2, 1, 0); \67295 float16x4_t __rev2_874; __rev2_874 = __builtin_shufflevector(__s2_874, __s2_874, 3, 2, 1, 0); \
65940 float32x4_t __ret_782; \67296 float32x4_t __ret_874; \
65941 __ret_782 = __noswap_vfmlalq_low_f16(__rev0_782, __rev1_782, (float16x8_t) {__noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782), __noswap_vget_lane_f16(__rev2_782, __p3_782)}); \67297 __ret_874 = __noswap_vfmlalq_low_f16(__rev0_874, __rev1_874, (float16x8_t) {__noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874), __noswap_vget_lane_f16(__rev2_874, __p3_874)}); \
65942 __ret_782 = __builtin_shufflevector(__ret_782, __ret_782, 3, 2, 1, 0); \67298 __ret_874 = __builtin_shufflevector(__ret_874, __ret_874, 3, 2, 1, 0); \
65943 __ret_782; \67299 __ret_874; \
65944})67300})
65945#endif67301#endif
6594667302
65947#ifdef __LITTLE_ENDIAN__67303#ifdef __LITTLE_ENDIAN__
65948#define vfmlal_lane_low_f16(__p0_783, __p1_783, __p2_783, __p3_783) __extension__ ({ \67304#define vfmlal_lane_low_f16(__p0_875, __p1_875, __p2_875, __p3_875) __extension__ ({ \
65949 float32x2_t __s0_783 = __p0_783; \67305 float32x2_t __s0_875 = __p0_875; \
65950 float16x4_t __s1_783 = __p1_783; \67306 float16x4_t __s1_875 = __p1_875; \
65951 float16x4_t __s2_783 = __p2_783; \67307 float16x4_t __s2_875 = __p2_875; \
65952 float32x2_t __ret_783; \67308 float32x2_t __ret_875; \
65953 __ret_783 = vfmlal_low_f16(__s0_783, __s1_783, (float16x4_t) {vget_lane_f16(__s2_783, __p3_783), vget_lane_f16(__s2_783, __p3_783), vget_lane_f16(__s2_783, __p3_783), vget_lane_f16(__s2_783, __p3_783)}); \67309 __ret_875 = vfmlal_low_f16(__s0_875, __s1_875, (float16x4_t) {vget_lane_f16(__s2_875, __p3_875), vget_lane_f16(__s2_875, __p3_875), vget_lane_f16(__s2_875, __p3_875), vget_lane_f16(__s2_875, __p3_875)}); \
65954 __ret_783; \67310 __ret_875; \
65955})67311})
65956#else67312#else
65957#define vfmlal_lane_low_f16(__p0_784, __p1_784, __p2_784, __p3_784) __extension__ ({ \67313#define vfmlal_lane_low_f16(__p0_876, __p1_876, __p2_876, __p3_876) __extension__ ({ \
65958 float32x2_t __s0_784 = __p0_784; \67314 float32x2_t __s0_876 = __p0_876; \
65959 float16x4_t __s1_784 = __p1_784; \67315 float16x4_t __s1_876 = __p1_876; \
65960 float16x4_t __s2_784 = __p2_784; \67316 float16x4_t __s2_876 = __p2_876; \
65961 float32x2_t __rev0_784; __rev0_784 = __builtin_shufflevector(__s0_784, __s0_784, 1, 0); \67317 float32x2_t __rev0_876; __rev0_876 = __builtin_shufflevector(__s0_876, __s0_876, 1, 0); \
65962 float16x4_t __rev1_784; __rev1_784 = __builtin_shufflevector(__s1_784, __s1_784, 3, 2, 1, 0); \67318 float16x4_t __rev1_876; __rev1_876 = __builtin_shufflevector(__s1_876, __s1_876, 3, 2, 1, 0); \
65963 float16x4_t __rev2_784; __rev2_784 = __builtin_shufflevector(__s2_784, __s2_784, 3, 2, 1, 0); \67319 float16x4_t __rev2_876; __rev2_876 = __builtin_shufflevector(__s2_876, __s2_876, 3, 2, 1, 0); \
65964 float32x2_t __ret_784; \67320 float32x2_t __ret_876; \
65965 __ret_784 = __noswap_vfmlal_low_f16(__rev0_784, __rev1_784, (float16x4_t) {__noswap_vget_lane_f16(__rev2_784, __p3_784), __noswap_vget_lane_f16(__rev2_784, __p3_784), __noswap_vget_lane_f16(__rev2_784, __p3_784), __noswap_vget_lane_f16(__rev2_784, __p3_784)}); \67321 __ret_876 = __noswap_vfmlal_low_f16(__rev0_876, __rev1_876, (float16x4_t) {__noswap_vget_lane_f16(__rev2_876, __p3_876), __noswap_vget_lane_f16(__rev2_876, __p3_876), __noswap_vget_lane_f16(__rev2_876, __p3_876), __noswap_vget_lane_f16(__rev2_876, __p3_876)}); \
65966 __ret_784 = __builtin_shufflevector(__ret_784, __ret_784, 1, 0); \67322 __ret_876 = __builtin_shufflevector(__ret_876, __ret_876, 1, 0); \
65967 __ret_784; \67323 __ret_876; \
65968})67324})
65969#endif67325#endif
6597067326
65971#ifdef __LITTLE_ENDIAN__67327#ifdef __LITTLE_ENDIAN__
65972#define vfmlalq_laneq_high_f16(__p0_785, __p1_785, __p2_785, __p3_785) __extension__ ({ \67328#define vfmlalq_laneq_high_f16(__p0_877, __p1_877, __p2_877, __p3_877) __extension__ ({ \
65973 float32x4_t __s0_785 = __p0_785; \67329 float32x4_t __s0_877 = __p0_877; \
65974 float16x8_t __s1_785 = __p1_785; \67330 float16x8_t __s1_877 = __p1_877; \
65975 float16x8_t __s2_785 = __p2_785; \67331 float16x8_t __s2_877 = __p2_877; \
65976 float32x4_t __ret_785; \67332 float32x4_t __ret_877; \
65977 __ret_785 = vfmlalq_high_f16(__s0_785, __s1_785, (float16x8_t) {vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785), vgetq_lane_f16(__s2_785, __p3_785)}); \67333 __ret_877 = vfmlalq_high_f16(__s0_877, __s1_877, (float16x8_t) {vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877), vgetq_lane_f16(__s2_877, __p3_877)}); \
65978 __ret_785; \67334 __ret_877; \
65979})67335})
65980#else67336#else
65981#define vfmlalq_laneq_high_f16(__p0_786, __p1_786, __p2_786, __p3_786) __extension__ ({ \67337#define vfmlalq_laneq_high_f16(__p0_878, __p1_878, __p2_878, __p3_878) __extension__ ({ \
65982 float32x4_t __s0_786 = __p0_786; \67338 float32x4_t __s0_878 = __p0_878; \
65983 float16x8_t __s1_786 = __p1_786; \67339 float16x8_t __s1_878 = __p1_878; \
65984 float16x8_t __s2_786 = __p2_786; \67340 float16x8_t __s2_878 = __p2_878; \
65985 float32x4_t __rev0_786; __rev0_786 = __builtin_shufflevector(__s0_786, __s0_786, 3, 2, 1, 0); \67341 float32x4_t __rev0_878; __rev0_878 = __builtin_shufflevector(__s0_878, __s0_878, 3, 2, 1, 0); \
65986 float16x8_t __rev1_786; __rev1_786 = __builtin_shufflevector(__s1_786, __s1_786, 7, 6, 5, 4, 3, 2, 1, 0); \67342 float16x8_t __rev1_878; __rev1_878 = __builtin_shufflevector(__s1_878, __s1_878, 7, 6, 5, 4, 3, 2, 1, 0); \
65987 float16x8_t __rev2_786; __rev2_786 = __builtin_shufflevector(__s2_786, __s2_786, 7, 6, 5, 4, 3, 2, 1, 0); \67343 float16x8_t __rev2_878; __rev2_878 = __builtin_shufflevector(__s2_878, __s2_878, 7, 6, 5, 4, 3, 2, 1, 0); \
65988 float32x4_t __ret_786; \67344 float32x4_t __ret_878; \
65989 __ret_786 = __noswap_vfmlalq_high_f16(__rev0_786, __rev1_786, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786), __noswap_vgetq_lane_f16(__rev2_786, __p3_786)}); \67345 __ret_878 = __noswap_vfmlalq_high_f16(__rev0_878, __rev1_878, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878), __noswap_vgetq_lane_f16(__rev2_878, __p3_878)}); \
65990 __ret_786 = __builtin_shufflevector(__ret_786, __ret_786, 3, 2, 1, 0); \67346 __ret_878 = __builtin_shufflevector(__ret_878, __ret_878, 3, 2, 1, 0); \
65991 __ret_786; \67347 __ret_878; \
65992})67348})
65993#endif67349#endif
6599467350
65995#ifdef __LITTLE_ENDIAN__67351#ifdef __LITTLE_ENDIAN__
65996#define vfmlal_laneq_high_f16(__p0_787, __p1_787, __p2_787, __p3_787) __extension__ ({ \67352#define vfmlal_laneq_high_f16(__p0_879, __p1_879, __p2_879, __p3_879) __extension__ ({ \
65997 float32x2_t __s0_787 = __p0_787; \67353 float32x2_t __s0_879 = __p0_879; \
65998 float16x4_t __s1_787 = __p1_787; \67354 float16x4_t __s1_879 = __p1_879; \
65999 float16x8_t __s2_787 = __p2_787; \67355 float16x8_t __s2_879 = __p2_879; \
66000 float32x2_t __ret_787; \67356 float32x2_t __ret_879; \
66001 __ret_787 = vfmlal_high_f16(__s0_787, __s1_787, (float16x4_t) {vgetq_lane_f16(__s2_787, __p3_787), vgetq_lane_f16(__s2_787, __p3_787), vgetq_lane_f16(__s2_787, __p3_787), vgetq_lane_f16(__s2_787, __p3_787)}); \67357 __ret_879 = vfmlal_high_f16(__s0_879, __s1_879, (float16x4_t) {vgetq_lane_f16(__s2_879, __p3_879), vgetq_lane_f16(__s2_879, __p3_879), vgetq_lane_f16(__s2_879, __p3_879), vgetq_lane_f16(__s2_879, __p3_879)}); \
66002 __ret_787; \67358 __ret_879; \
66003})67359})
66004#else67360#else
66005#define vfmlal_laneq_high_f16(__p0_788, __p1_788, __p2_788, __p3_788) __extension__ ({ \67361#define vfmlal_laneq_high_f16(__p0_880, __p1_880, __p2_880, __p3_880) __extension__ ({ \
66006 float32x2_t __s0_788 = __p0_788; \67362 float32x2_t __s0_880 = __p0_880; \
66007 float16x4_t __s1_788 = __p1_788; \67363 float16x4_t __s1_880 = __p1_880; \
66008 float16x8_t __s2_788 = __p2_788; \67364 float16x8_t __s2_880 = __p2_880; \
66009 float32x2_t __rev0_788; __rev0_788 = __builtin_shufflevector(__s0_788, __s0_788, 1, 0); \67365 float32x2_t __rev0_880; __rev0_880 = __builtin_shufflevector(__s0_880, __s0_880, 1, 0); \
66010 float16x4_t __rev1_788; __rev1_788 = __builtin_shufflevector(__s1_788, __s1_788, 3, 2, 1, 0); \67366 float16x4_t __rev1_880; __rev1_880 = __builtin_shufflevector(__s1_880, __s1_880, 3, 2, 1, 0); \
66011 float16x8_t __rev2_788; __rev2_788 = __builtin_shufflevector(__s2_788, __s2_788, 7, 6, 5, 4, 3, 2, 1, 0); \67367 float16x8_t __rev2_880; __rev2_880 = __builtin_shufflevector(__s2_880, __s2_880, 7, 6, 5, 4, 3, 2, 1, 0); \
66012 float32x2_t __ret_788; \67368 float32x2_t __ret_880; \
66013 __ret_788 = __noswap_vfmlal_high_f16(__rev0_788, __rev1_788, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_788, __p3_788), __noswap_vgetq_lane_f16(__rev2_788, __p3_788), __noswap_vgetq_lane_f16(__rev2_788, __p3_788), __noswap_vgetq_lane_f16(__rev2_788, __p3_788)}); \67369 __ret_880 = __noswap_vfmlal_high_f16(__rev0_880, __rev1_880, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_880, __p3_880), __noswap_vgetq_lane_f16(__rev2_880, __p3_880), __noswap_vgetq_lane_f16(__rev2_880, __p3_880), __noswap_vgetq_lane_f16(__rev2_880, __p3_880)}); \
66014 __ret_788 = __builtin_shufflevector(__ret_788, __ret_788, 1, 0); \67370 __ret_880 = __builtin_shufflevector(__ret_880, __ret_880, 1, 0); \
66015 __ret_788; \67371 __ret_880; \
66016})67372})
66017#endif67373#endif
6601867374
66019#ifdef __LITTLE_ENDIAN__67375#ifdef __LITTLE_ENDIAN__
66020#define vfmlalq_laneq_low_f16(__p0_789, __p1_789, __p2_789, __p3_789) __extension__ ({ \67376#define vfmlalq_laneq_low_f16(__p0_881, __p1_881, __p2_881, __p3_881) __extension__ ({ \
66021 float32x4_t __s0_789 = __p0_789; \67377 float32x4_t __s0_881 = __p0_881; \
66022 float16x8_t __s1_789 = __p1_789; \67378 float16x8_t __s1_881 = __p1_881; \
66023 float16x8_t __s2_789 = __p2_789; \67379 float16x8_t __s2_881 = __p2_881; \
66024 float32x4_t __ret_789; \67380 float32x4_t __ret_881; \
66025 __ret_789 = vfmlalq_low_f16(__s0_789, __s1_789, (float16x8_t) {vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789), vgetq_lane_f16(__s2_789, __p3_789)}); \67381 __ret_881 = vfmlalq_low_f16(__s0_881, __s1_881, (float16x8_t) {vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881), vgetq_lane_f16(__s2_881, __p3_881)}); \
66026 __ret_789; \67382 __ret_881; \
66027})67383})
66028#else67384#else
66029#define vfmlalq_laneq_low_f16(__p0_790, __p1_790, __p2_790, __p3_790) __extension__ ({ \67385#define vfmlalq_laneq_low_f16(__p0_882, __p1_882, __p2_882, __p3_882) __extension__ ({ \
66030 float32x4_t __s0_790 = __p0_790; \67386 float32x4_t __s0_882 = __p0_882; \
66031 float16x8_t __s1_790 = __p1_790; \67387 float16x8_t __s1_882 = __p1_882; \
66032 float16x8_t __s2_790 = __p2_790; \67388 float16x8_t __s2_882 = __p2_882; \
66033 float32x4_t __rev0_790; __rev0_790 = __builtin_shufflevector(__s0_790, __s0_790, 3, 2, 1, 0); \67389 float32x4_t __rev0_882; __rev0_882 = __builtin_shufflevector(__s0_882, __s0_882, 3, 2, 1, 0); \
66034 float16x8_t __rev1_790; __rev1_790 = __builtin_shufflevector(__s1_790, __s1_790, 7, 6, 5, 4, 3, 2, 1, 0); \67390 float16x8_t __rev1_882; __rev1_882 = __builtin_shufflevector(__s1_882, __s1_882, 7, 6, 5, 4, 3, 2, 1, 0); \
66035 float16x8_t __rev2_790; __rev2_790 = __builtin_shufflevector(__s2_790, __s2_790, 7, 6, 5, 4, 3, 2, 1, 0); \67391 float16x8_t __rev2_882; __rev2_882 = __builtin_shufflevector(__s2_882, __s2_882, 7, 6, 5, 4, 3, 2, 1, 0); \
66036 float32x4_t __ret_790; \67392 float32x4_t __ret_882; \
66037 __ret_790 = __noswap_vfmlalq_low_f16(__rev0_790, __rev1_790, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790), __noswap_vgetq_lane_f16(__rev2_790, __p3_790)}); \67393 __ret_882 = __noswap_vfmlalq_low_f16(__rev0_882, __rev1_882, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882), __noswap_vgetq_lane_f16(__rev2_882, __p3_882)}); \
66038 __ret_790 = __builtin_shufflevector(__ret_790, __ret_790, 3, 2, 1, 0); \67394 __ret_882 = __builtin_shufflevector(__ret_882, __ret_882, 3, 2, 1, 0); \
66039 __ret_790; \67395 __ret_882; \
66040})67396})
66041#endif67397#endif
6604267398
66043#ifdef __LITTLE_ENDIAN__67399#ifdef __LITTLE_ENDIAN__
66044#define vfmlal_laneq_low_f16(__p0_791, __p1_791, __p2_791, __p3_791) __extension__ ({ \67400#define vfmlal_laneq_low_f16(__p0_883, __p1_883, __p2_883, __p3_883) __extension__ ({ \
66045 float32x2_t __s0_791 = __p0_791; \67401 float32x2_t __s0_883 = __p0_883; \
66046 float16x4_t __s1_791 = __p1_791; \67402 float16x4_t __s1_883 = __p1_883; \
66047 float16x8_t __s2_791 = __p2_791; \67403 float16x8_t __s2_883 = __p2_883; \
66048 float32x2_t __ret_791; \67404 float32x2_t __ret_883; \
66049 __ret_791 = vfmlal_low_f16(__s0_791, __s1_791, (float16x4_t) {vgetq_lane_f16(__s2_791, __p3_791), vgetq_lane_f16(__s2_791, __p3_791), vgetq_lane_f16(__s2_791, __p3_791), vgetq_lane_f16(__s2_791, __p3_791)}); \67405 __ret_883 = vfmlal_low_f16(__s0_883, __s1_883, (float16x4_t) {vgetq_lane_f16(__s2_883, __p3_883), vgetq_lane_f16(__s2_883, __p3_883), vgetq_lane_f16(__s2_883, __p3_883), vgetq_lane_f16(__s2_883, __p3_883)}); \
66050 __ret_791; \67406 __ret_883; \
66051})67407})
66052#else67408#else
66053#define vfmlal_laneq_low_f16(__p0_792, __p1_792, __p2_792, __p3_792) __extension__ ({ \67409#define vfmlal_laneq_low_f16(__p0_884, __p1_884, __p2_884, __p3_884) __extension__ ({ \
66054 float32x2_t __s0_792 = __p0_792; \67410 float32x2_t __s0_884 = __p0_884; \
66055 float16x4_t __s1_792 = __p1_792; \67411 float16x4_t __s1_884 = __p1_884; \
66056 float16x8_t __s2_792 = __p2_792; \67412 float16x8_t __s2_884 = __p2_884; \
66057 float32x2_t __rev0_792; __rev0_792 = __builtin_shufflevector(__s0_792, __s0_792, 1, 0); \67413 float32x2_t __rev0_884; __rev0_884 = __builtin_shufflevector(__s0_884, __s0_884, 1, 0); \
66058 float16x4_t __rev1_792; __rev1_792 = __builtin_shufflevector(__s1_792, __s1_792, 3, 2, 1, 0); \67414 float16x4_t __rev1_884; __rev1_884 = __builtin_shufflevector(__s1_884, __s1_884, 3, 2, 1, 0); \
66059 float16x8_t __rev2_792; __rev2_792 = __builtin_shufflevector(__s2_792, __s2_792, 7, 6, 5, 4, 3, 2, 1, 0); \67415 float16x8_t __rev2_884; __rev2_884 = __builtin_shufflevector(__s2_884, __s2_884, 7, 6, 5, 4, 3, 2, 1, 0); \
66060 float32x2_t __ret_792; \67416 float32x2_t __ret_884; \
66061 __ret_792 = __noswap_vfmlal_low_f16(__rev0_792, __rev1_792, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_792, __p3_792), __noswap_vgetq_lane_f16(__rev2_792, __p3_792), __noswap_vgetq_lane_f16(__rev2_792, __p3_792), __noswap_vgetq_lane_f16(__rev2_792, __p3_792)}); \67417 __ret_884 = __noswap_vfmlal_low_f16(__rev0_884, __rev1_884, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_884, __p3_884), __noswap_vgetq_lane_f16(__rev2_884, __p3_884), __noswap_vgetq_lane_f16(__rev2_884, __p3_884), __noswap_vgetq_lane_f16(__rev2_884, __p3_884)}); \
66062 __ret_792 = __builtin_shufflevector(__ret_792, __ret_792, 1, 0); \67418 __ret_884 = __builtin_shufflevector(__ret_884, __ret_884, 1, 0); \
66063 __ret_792; \67419 __ret_884; \
66064})67420})
66065#endif67421#endif
6606667422
66067#ifdef __LITTLE_ENDIAN__67423#ifdef __LITTLE_ENDIAN__
66068#define vfmlslq_lane_high_f16(__p0_793, __p1_793, __p2_793, __p3_793) __extension__ ({ \67424#define vfmlslq_lane_high_f16(__p0_885, __p1_885, __p2_885, __p3_885) __extension__ ({ \
66069 float32x4_t __s0_793 = __p0_793; \67425 float32x4_t __s0_885 = __p0_885; \
66070 float16x8_t __s1_793 = __p1_793; \67426 float16x8_t __s1_885 = __p1_885; \
66071 float16x4_t __s2_793 = __p2_793; \67427 float16x4_t __s2_885 = __p2_885; \
66072 float32x4_t __ret_793; \67428 float32x4_t __ret_885; \
66073 __ret_793 = vfmlslq_high_f16(__s0_793, __s1_793, (float16x8_t) {vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793), vget_lane_f16(__s2_793, __p3_793)}); \67429 __ret_885 = vfmlslq_high_f16(__s0_885, __s1_885, (float16x8_t) {vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885), vget_lane_f16(__s2_885, __p3_885)}); \
66074 __ret_793; \67430 __ret_885; \
66075})67431})
66076#else67432#else
66077#define vfmlslq_lane_high_f16(__p0_794, __p1_794, __p2_794, __p3_794) __extension__ ({ \67433#define vfmlslq_lane_high_f16(__p0_886, __p1_886, __p2_886, __p3_886) __extension__ ({ \
66078 float32x4_t __s0_794 = __p0_794; \67434 float32x4_t __s0_886 = __p0_886; \
66079 float16x8_t __s1_794 = __p1_794; \67435 float16x8_t __s1_886 = __p1_886; \
66080 float16x4_t __s2_794 = __p2_794; \67436 float16x4_t __s2_886 = __p2_886; \
66081 float32x4_t __rev0_794; __rev0_794 = __builtin_shufflevector(__s0_794, __s0_794, 3, 2, 1, 0); \67437 float32x4_t __rev0_886; __rev0_886 = __builtin_shufflevector(__s0_886, __s0_886, 3, 2, 1, 0); \
66082 float16x8_t __rev1_794; __rev1_794 = __builtin_shufflevector(__s1_794, __s1_794, 7, 6, 5, 4, 3, 2, 1, 0); \67438 float16x8_t __rev1_886; __rev1_886 = __builtin_shufflevector(__s1_886, __s1_886, 7, 6, 5, 4, 3, 2, 1, 0); \
66083 float16x4_t __rev2_794; __rev2_794 = __builtin_shufflevector(__s2_794, __s2_794, 3, 2, 1, 0); \67439 float16x4_t __rev2_886; __rev2_886 = __builtin_shufflevector(__s2_886, __s2_886, 3, 2, 1, 0); \
66084 float32x4_t __ret_794; \67440 float32x4_t __ret_886; \
66085 __ret_794 = __noswap_vfmlslq_high_f16(__rev0_794, __rev1_794, (float16x8_t) {__noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794), __noswap_vget_lane_f16(__rev2_794, __p3_794)}); \67441 __ret_886 = __noswap_vfmlslq_high_f16(__rev0_886, __rev1_886, (float16x8_t) {__noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886), __noswap_vget_lane_f16(__rev2_886, __p3_886)}); \
66086 __ret_794 = __builtin_shufflevector(__ret_794, __ret_794, 3, 2, 1, 0); \67442 __ret_886 = __builtin_shufflevector(__ret_886, __ret_886, 3, 2, 1, 0); \
66087 __ret_794; \67443 __ret_886; \
66088})67444})
66089#endif67445#endif
6609067446
66091#ifdef __LITTLE_ENDIAN__67447#ifdef __LITTLE_ENDIAN__
66092#define vfmlsl_lane_high_f16(__p0_795, __p1_795, __p2_795, __p3_795) __extension__ ({ \67448#define vfmlsl_lane_high_f16(__p0_887, __p1_887, __p2_887, __p3_887) __extension__ ({ \
66093 float32x2_t __s0_795 = __p0_795; \67449 float32x2_t __s0_887 = __p0_887; \
66094 float16x4_t __s1_795 = __p1_795; \67450 float16x4_t __s1_887 = __p1_887; \
66095 float16x4_t __s2_795 = __p2_795; \67451 float16x4_t __s2_887 = __p2_887; \
66096 float32x2_t __ret_795; \67452 float32x2_t __ret_887; \
66097 __ret_795 = vfmlsl_high_f16(__s0_795, __s1_795, (float16x4_t) {vget_lane_f16(__s2_795, __p3_795), vget_lane_f16(__s2_795, __p3_795), vget_lane_f16(__s2_795, __p3_795), vget_lane_f16(__s2_795, __p3_795)}); \67453 __ret_887 = vfmlsl_high_f16(__s0_887, __s1_887, (float16x4_t) {vget_lane_f16(__s2_887, __p3_887), vget_lane_f16(__s2_887, __p3_887), vget_lane_f16(__s2_887, __p3_887), vget_lane_f16(__s2_887, __p3_887)}); \
66098 __ret_795; \67454 __ret_887; \
66099})67455})
66100#else67456#else
66101#define vfmlsl_lane_high_f16(__p0_796, __p1_796, __p2_796, __p3_796) __extension__ ({ \67457#define vfmlsl_lane_high_f16(__p0_888, __p1_888, __p2_888, __p3_888) __extension__ ({ \
66102 float32x2_t __s0_796 = __p0_796; \67458 float32x2_t __s0_888 = __p0_888; \
66103 float16x4_t __s1_796 = __p1_796; \67459 float16x4_t __s1_888 = __p1_888; \
66104 float16x4_t __s2_796 = __p2_796; \67460 float16x4_t __s2_888 = __p2_888; \
66105 float32x2_t __rev0_796; __rev0_796 = __builtin_shufflevector(__s0_796, __s0_796, 1, 0); \67461 float32x2_t __rev0_888; __rev0_888 = __builtin_shufflevector(__s0_888, __s0_888, 1, 0); \
66106 float16x4_t __rev1_796; __rev1_796 = __builtin_shufflevector(__s1_796, __s1_796, 3, 2, 1, 0); \67462 float16x4_t __rev1_888; __rev1_888 = __builtin_shufflevector(__s1_888, __s1_888, 3, 2, 1, 0); \
66107 float16x4_t __rev2_796; __rev2_796 = __builtin_shufflevector(__s2_796, __s2_796, 3, 2, 1, 0); \67463 float16x4_t __rev2_888; __rev2_888 = __builtin_shufflevector(__s2_888, __s2_888, 3, 2, 1, 0); \
66108 float32x2_t __ret_796; \67464 float32x2_t __ret_888; \
66109 __ret_796 = __noswap_vfmlsl_high_f16(__rev0_796, __rev1_796, (float16x4_t) {__noswap_vget_lane_f16(__rev2_796, __p3_796), __noswap_vget_lane_f16(__rev2_796, __p3_796), __noswap_vget_lane_f16(__rev2_796, __p3_796), __noswap_vget_lane_f16(__rev2_796, __p3_796)}); \67465 __ret_888 = __noswap_vfmlsl_high_f16(__rev0_888, __rev1_888, (float16x4_t) {__noswap_vget_lane_f16(__rev2_888, __p3_888), __noswap_vget_lane_f16(__rev2_888, __p3_888), __noswap_vget_lane_f16(__rev2_888, __p3_888), __noswap_vget_lane_f16(__rev2_888, __p3_888)}); \
66110 __ret_796 = __builtin_shufflevector(__ret_796, __ret_796, 1, 0); \67466 __ret_888 = __builtin_shufflevector(__ret_888, __ret_888, 1, 0); \
66111 __ret_796; \67467 __ret_888; \
66112})67468})
66113#endif67469#endif
6611467470
66115#ifdef __LITTLE_ENDIAN__67471#ifdef __LITTLE_ENDIAN__
66116#define vfmlslq_lane_low_f16(__p0_797, __p1_797, __p2_797, __p3_797) __extension__ ({ \67472#define vfmlslq_lane_low_f16(__p0_889, __p1_889, __p2_889, __p3_889) __extension__ ({ \
66117 float32x4_t __s0_797 = __p0_797; \67473 float32x4_t __s0_889 = __p0_889; \
66118 float16x8_t __s1_797 = __p1_797; \67474 float16x8_t __s1_889 = __p1_889; \
66119 float16x4_t __s2_797 = __p2_797; \67475 float16x4_t __s2_889 = __p2_889; \
66120 float32x4_t __ret_797; \67476 float32x4_t __ret_889; \
66121 __ret_797 = vfmlslq_low_f16(__s0_797, __s1_797, (float16x8_t) {vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797), vget_lane_f16(__s2_797, __p3_797)}); \67477 __ret_889 = vfmlslq_low_f16(__s0_889, __s1_889, (float16x8_t) {vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889), vget_lane_f16(__s2_889, __p3_889)}); \
66122 __ret_797; \67478 __ret_889; \
66123})67479})
66124#else67480#else
66125#define vfmlslq_lane_low_f16(__p0_798, __p1_798, __p2_798, __p3_798) __extension__ ({ \67481#define vfmlslq_lane_low_f16(__p0_890, __p1_890, __p2_890, __p3_890) __extension__ ({ \
66126 float32x4_t __s0_798 = __p0_798; \67482 float32x4_t __s0_890 = __p0_890; \
66127 float16x8_t __s1_798 = __p1_798; \67483 float16x8_t __s1_890 = __p1_890; \
66128 float16x4_t __s2_798 = __p2_798; \67484 float16x4_t __s2_890 = __p2_890; \
66129 float32x4_t __rev0_798; __rev0_798 = __builtin_shufflevector(__s0_798, __s0_798, 3, 2, 1, 0); \67485 float32x4_t __rev0_890; __rev0_890 = __builtin_shufflevector(__s0_890, __s0_890, 3, 2, 1, 0); \
66130 float16x8_t __rev1_798; __rev1_798 = __builtin_shufflevector(__s1_798, __s1_798, 7, 6, 5, 4, 3, 2, 1, 0); \67486 float16x8_t __rev1_890; __rev1_890 = __builtin_shufflevector(__s1_890, __s1_890, 7, 6, 5, 4, 3, 2, 1, 0); \
66131 float16x4_t __rev2_798; __rev2_798 = __builtin_shufflevector(__s2_798, __s2_798, 3, 2, 1, 0); \67487 float16x4_t __rev2_890; __rev2_890 = __builtin_shufflevector(__s2_890, __s2_890, 3, 2, 1, 0); \
66132 float32x4_t __ret_798; \67488 float32x4_t __ret_890; \
66133 __ret_798 = __noswap_vfmlslq_low_f16(__rev0_798, __rev1_798, (float16x8_t) {__noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798), __noswap_vget_lane_f16(__rev2_798, __p3_798)}); \67489 __ret_890 = __noswap_vfmlslq_low_f16(__rev0_890, __rev1_890, (float16x8_t) {__noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890), __noswap_vget_lane_f16(__rev2_890, __p3_890)}); \
66134 __ret_798 = __builtin_shufflevector(__ret_798, __ret_798, 3, 2, 1, 0); \67490 __ret_890 = __builtin_shufflevector(__ret_890, __ret_890, 3, 2, 1, 0); \
66135 __ret_798; \67491 __ret_890; \
66136})67492})
66137#endif67493#endif
6613867494
66139#ifdef __LITTLE_ENDIAN__67495#ifdef __LITTLE_ENDIAN__
66140#define vfmlsl_lane_low_f16(__p0_799, __p1_799, __p2_799, __p3_799) __extension__ ({ \67496#define vfmlsl_lane_low_f16(__p0_891, __p1_891, __p2_891, __p3_891) __extension__ ({ \
66141 float32x2_t __s0_799 = __p0_799; \67497 float32x2_t __s0_891 = __p0_891; \
66142 float16x4_t __s1_799 = __p1_799; \67498 float16x4_t __s1_891 = __p1_891; \
66143 float16x4_t __s2_799 = __p2_799; \67499 float16x4_t __s2_891 = __p2_891; \
66144 float32x2_t __ret_799; \67500 float32x2_t __ret_891; \
66145 __ret_799 = vfmlsl_low_f16(__s0_799, __s1_799, (float16x4_t) {vget_lane_f16(__s2_799, __p3_799), vget_lane_f16(__s2_799, __p3_799), vget_lane_f16(__s2_799, __p3_799), vget_lane_f16(__s2_799, __p3_799)}); \67501 __ret_891 = vfmlsl_low_f16(__s0_891, __s1_891, (float16x4_t) {vget_lane_f16(__s2_891, __p3_891), vget_lane_f16(__s2_891, __p3_891), vget_lane_f16(__s2_891, __p3_891), vget_lane_f16(__s2_891, __p3_891)}); \
66146 __ret_799; \67502 __ret_891; \
66147})67503})
66148#else67504#else
66149#define vfmlsl_lane_low_f16(__p0_800, __p1_800, __p2_800, __p3_800) __extension__ ({ \67505#define vfmlsl_lane_low_f16(__p0_892, __p1_892, __p2_892, __p3_892) __extension__ ({ \
66150 float32x2_t __s0_800 = __p0_800; \67506 float32x2_t __s0_892 = __p0_892; \
66151 float16x4_t __s1_800 = __p1_800; \67507 float16x4_t __s1_892 = __p1_892; \
66152 float16x4_t __s2_800 = __p2_800; \67508 float16x4_t __s2_892 = __p2_892; \
66153 float32x2_t __rev0_800; __rev0_800 = __builtin_shufflevector(__s0_800, __s0_800, 1, 0); \67509 float32x2_t __rev0_892; __rev0_892 = __builtin_shufflevector(__s0_892, __s0_892, 1, 0); \
66154 float16x4_t __rev1_800; __rev1_800 = __builtin_shufflevector(__s1_800, __s1_800, 3, 2, 1, 0); \67510 float16x4_t __rev1_892; __rev1_892 = __builtin_shufflevector(__s1_892, __s1_892, 3, 2, 1, 0); \
66155 float16x4_t __rev2_800; __rev2_800 = __builtin_shufflevector(__s2_800, __s2_800, 3, 2, 1, 0); \67511 float16x4_t __rev2_892; __rev2_892 = __builtin_shufflevector(__s2_892, __s2_892, 3, 2, 1, 0); \
66156 float32x2_t __ret_800; \67512 float32x2_t __ret_892; \
66157 __ret_800 = __noswap_vfmlsl_low_f16(__rev0_800, __rev1_800, (float16x4_t) {__noswap_vget_lane_f16(__rev2_800, __p3_800), __noswap_vget_lane_f16(__rev2_800, __p3_800), __noswap_vget_lane_f16(__rev2_800, __p3_800), __noswap_vget_lane_f16(__rev2_800, __p3_800)}); \67513 __ret_892 = __noswap_vfmlsl_low_f16(__rev0_892, __rev1_892, (float16x4_t) {__noswap_vget_lane_f16(__rev2_892, __p3_892), __noswap_vget_lane_f16(__rev2_892, __p3_892), __noswap_vget_lane_f16(__rev2_892, __p3_892), __noswap_vget_lane_f16(__rev2_892, __p3_892)}); \
66158 __ret_800 = __builtin_shufflevector(__ret_800, __ret_800, 1, 0); \67514 __ret_892 = __builtin_shufflevector(__ret_892, __ret_892, 1, 0); \
66159 __ret_800; \67515 __ret_892; \
66160})67516})
66161#endif67517#endif
6616267518
66163#ifdef __LITTLE_ENDIAN__67519#ifdef __LITTLE_ENDIAN__
66164#define vfmlslq_laneq_high_f16(__p0_801, __p1_801, __p2_801, __p3_801) __extension__ ({ \67520#define vfmlslq_laneq_high_f16(__p0_893, __p1_893, __p2_893, __p3_893) __extension__ ({ \
66165 float32x4_t __s0_801 = __p0_801; \67521 float32x4_t __s0_893 = __p0_893; \
66166 float16x8_t __s1_801 = __p1_801; \67522 float16x8_t __s1_893 = __p1_893; \
66167 float16x8_t __s2_801 = __p2_801; \67523 float16x8_t __s2_893 = __p2_893; \
66168 float32x4_t __ret_801; \67524 float32x4_t __ret_893; \
66169 __ret_801 = vfmlslq_high_f16(__s0_801, __s1_801, (float16x8_t) {vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801), vgetq_lane_f16(__s2_801, __p3_801)}); \67525 __ret_893 = vfmlslq_high_f16(__s0_893, __s1_893, (float16x8_t) {vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893), vgetq_lane_f16(__s2_893, __p3_893)}); \
66170 __ret_801; \67526 __ret_893; \
66171})67527})
66172#else67528#else
66173#define vfmlslq_laneq_high_f16(__p0_802, __p1_802, __p2_802, __p3_802) __extension__ ({ \67529#define vfmlslq_laneq_high_f16(__p0_894, __p1_894, __p2_894, __p3_894) __extension__ ({ \
66174 float32x4_t __s0_802 = __p0_802; \67530 float32x4_t __s0_894 = __p0_894; \
66175 float16x8_t __s1_802 = __p1_802; \67531 float16x8_t __s1_894 = __p1_894; \
66176 float16x8_t __s2_802 = __p2_802; \67532 float16x8_t __s2_894 = __p2_894; \
66177 float32x4_t __rev0_802; __rev0_802 = __builtin_shufflevector(__s0_802, __s0_802, 3, 2, 1, 0); \67533 float32x4_t __rev0_894; __rev0_894 = __builtin_shufflevector(__s0_894, __s0_894, 3, 2, 1, 0); \
66178 float16x8_t __rev1_802; __rev1_802 = __builtin_shufflevector(__s1_802, __s1_802, 7, 6, 5, 4, 3, 2, 1, 0); \67534 float16x8_t __rev1_894; __rev1_894 = __builtin_shufflevector(__s1_894, __s1_894, 7, 6, 5, 4, 3, 2, 1, 0); \
66179 float16x8_t __rev2_802; __rev2_802 = __builtin_shufflevector(__s2_802, __s2_802, 7, 6, 5, 4, 3, 2, 1, 0); \67535 float16x8_t __rev2_894; __rev2_894 = __builtin_shufflevector(__s2_894, __s2_894, 7, 6, 5, 4, 3, 2, 1, 0); \
66180 float32x4_t __ret_802; \67536 float32x4_t __ret_894; \
66181 __ret_802 = __noswap_vfmlslq_high_f16(__rev0_802, __rev1_802, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802), __noswap_vgetq_lane_f16(__rev2_802, __p3_802)}); \67537 __ret_894 = __noswap_vfmlslq_high_f16(__rev0_894, __rev1_894, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894), __noswap_vgetq_lane_f16(__rev2_894, __p3_894)}); \
66182 __ret_802 = __builtin_shufflevector(__ret_802, __ret_802, 3, 2, 1, 0); \67538 __ret_894 = __builtin_shufflevector(__ret_894, __ret_894, 3, 2, 1, 0); \
66183 __ret_802; \67539 __ret_894; \
66184})67540})
66185#endif67541#endif
6618667542
66187#ifdef __LITTLE_ENDIAN__67543#ifdef __LITTLE_ENDIAN__
66188#define vfmlsl_laneq_high_f16(__p0_803, __p1_803, __p2_803, __p3_803) __extension__ ({ \67544#define vfmlsl_laneq_high_f16(__p0_895, __p1_895, __p2_895, __p3_895) __extension__ ({ \
66189 float32x2_t __s0_803 = __p0_803; \67545 float32x2_t __s0_895 = __p0_895; \
66190 float16x4_t __s1_803 = __p1_803; \67546 float16x4_t __s1_895 = __p1_895; \
66191 float16x8_t __s2_803 = __p2_803; \67547 float16x8_t __s2_895 = __p2_895; \
66192 float32x2_t __ret_803; \67548 float32x2_t __ret_895; \
66193 __ret_803 = vfmlsl_high_f16(__s0_803, __s1_803, (float16x4_t) {vgetq_lane_f16(__s2_803, __p3_803), vgetq_lane_f16(__s2_803, __p3_803), vgetq_lane_f16(__s2_803, __p3_803), vgetq_lane_f16(__s2_803, __p3_803)}); \67549 __ret_895 = vfmlsl_high_f16(__s0_895, __s1_895, (float16x4_t) {vgetq_lane_f16(__s2_895, __p3_895), vgetq_lane_f16(__s2_895, __p3_895), vgetq_lane_f16(__s2_895, __p3_895), vgetq_lane_f16(__s2_895, __p3_895)}); \
66194 __ret_803; \67550 __ret_895; \
66195})67551})
66196#else67552#else
66197#define vfmlsl_laneq_high_f16(__p0_804, __p1_804, __p2_804, __p3_804) __extension__ ({ \67553#define vfmlsl_laneq_high_f16(__p0_896, __p1_896, __p2_896, __p3_896) __extension__ ({ \
66198 float32x2_t __s0_804 = __p0_804; \67554 float32x2_t __s0_896 = __p0_896; \
66199 float16x4_t __s1_804 = __p1_804; \67555 float16x4_t __s1_896 = __p1_896; \
66200 float16x8_t __s2_804 = __p2_804; \67556 float16x8_t __s2_896 = __p2_896; \
66201 float32x2_t __rev0_804; __rev0_804 = __builtin_shufflevector(__s0_804, __s0_804, 1, 0); \67557 float32x2_t __rev0_896; __rev0_896 = __builtin_shufflevector(__s0_896, __s0_896, 1, 0); \
66202 float16x4_t __rev1_804; __rev1_804 = __builtin_shufflevector(__s1_804, __s1_804, 3, 2, 1, 0); \67558 float16x4_t __rev1_896; __rev1_896 = __builtin_shufflevector(__s1_896, __s1_896, 3, 2, 1, 0); \
66203 float16x8_t __rev2_804; __rev2_804 = __builtin_shufflevector(__s2_804, __s2_804, 7, 6, 5, 4, 3, 2, 1, 0); \67559 float16x8_t __rev2_896; __rev2_896 = __builtin_shufflevector(__s2_896, __s2_896, 7, 6, 5, 4, 3, 2, 1, 0); \
66204 float32x2_t __ret_804; \67560 float32x2_t __ret_896; \
66205 __ret_804 = __noswap_vfmlsl_high_f16(__rev0_804, __rev1_804, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_804, __p3_804), __noswap_vgetq_lane_f16(__rev2_804, __p3_804), __noswap_vgetq_lane_f16(__rev2_804, __p3_804), __noswap_vgetq_lane_f16(__rev2_804, __p3_804)}); \67561 __ret_896 = __noswap_vfmlsl_high_f16(__rev0_896, __rev1_896, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_896, __p3_896), __noswap_vgetq_lane_f16(__rev2_896, __p3_896), __noswap_vgetq_lane_f16(__rev2_896, __p3_896), __noswap_vgetq_lane_f16(__rev2_896, __p3_896)}); \
66206 __ret_804 = __builtin_shufflevector(__ret_804, __ret_804, 1, 0); \67562 __ret_896 = __builtin_shufflevector(__ret_896, __ret_896, 1, 0); \
66207 __ret_804; \67563 __ret_896; \
66208})67564})
66209#endif67565#endif
6621067566
66211#ifdef __LITTLE_ENDIAN__67567#ifdef __LITTLE_ENDIAN__
66212#define vfmlslq_laneq_low_f16(__p0_805, __p1_805, __p2_805, __p3_805) __extension__ ({ \67568#define vfmlslq_laneq_low_f16(__p0_897, __p1_897, __p2_897, __p3_897) __extension__ ({ \
66213 float32x4_t __s0_805 = __p0_805; \67569 float32x4_t __s0_897 = __p0_897; \
66214 float16x8_t __s1_805 = __p1_805; \67570 float16x8_t __s1_897 = __p1_897; \
66215 float16x8_t __s2_805 = __p2_805; \67571 float16x8_t __s2_897 = __p2_897; \
66216 float32x4_t __ret_805; \67572 float32x4_t __ret_897; \
66217 __ret_805 = vfmlslq_low_f16(__s0_805, __s1_805, (float16x8_t) {vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805), vgetq_lane_f16(__s2_805, __p3_805)}); \67573 __ret_897 = vfmlslq_low_f16(__s0_897, __s1_897, (float16x8_t) {vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897), vgetq_lane_f16(__s2_897, __p3_897)}); \
66218 __ret_805; \67574 __ret_897; \
66219})67575})
66220#else67576#else
66221#define vfmlslq_laneq_low_f16(__p0_806, __p1_806, __p2_806, __p3_806) __extension__ ({ \67577#define vfmlslq_laneq_low_f16(__p0_898, __p1_898, __p2_898, __p3_898) __extension__ ({ \
66222 float32x4_t __s0_806 = __p0_806; \67578 float32x4_t __s0_898 = __p0_898; \
66223 float16x8_t __s1_806 = __p1_806; \67579 float16x8_t __s1_898 = __p1_898; \
66224 float16x8_t __s2_806 = __p2_806; \67580 float16x8_t __s2_898 = __p2_898; \
66225 float32x4_t __rev0_806; __rev0_806 = __builtin_shufflevector(__s0_806, __s0_806, 3, 2, 1, 0); \67581 float32x4_t __rev0_898; __rev0_898 = __builtin_shufflevector(__s0_898, __s0_898, 3, 2, 1, 0); \
66226 float16x8_t __rev1_806; __rev1_806 = __builtin_shufflevector(__s1_806, __s1_806, 7, 6, 5, 4, 3, 2, 1, 0); \67582 float16x8_t __rev1_898; __rev1_898 = __builtin_shufflevector(__s1_898, __s1_898, 7, 6, 5, 4, 3, 2, 1, 0); \
66227 float16x8_t __rev2_806; __rev2_806 = __builtin_shufflevector(__s2_806, __s2_806, 7, 6, 5, 4, 3, 2, 1, 0); \67583 float16x8_t __rev2_898; __rev2_898 = __builtin_shufflevector(__s2_898, __s2_898, 7, 6, 5, 4, 3, 2, 1, 0); \
66228 float32x4_t __ret_806; \67584 float32x4_t __ret_898; \
66229 __ret_806 = __noswap_vfmlslq_low_f16(__rev0_806, __rev1_806, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806), __noswap_vgetq_lane_f16(__rev2_806, __p3_806)}); \67585 __ret_898 = __noswap_vfmlslq_low_f16(__rev0_898, __rev1_898, (float16x8_t) {__noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898), __noswap_vgetq_lane_f16(__rev2_898, __p3_898)}); \
66230 __ret_806 = __builtin_shufflevector(__ret_806, __ret_806, 3, 2, 1, 0); \67586 __ret_898 = __builtin_shufflevector(__ret_898, __ret_898, 3, 2, 1, 0); \
66231 __ret_806; \67587 __ret_898; \
66232})67588})
66233#endif67589#endif
6623467590
66235#ifdef __LITTLE_ENDIAN__67591#ifdef __LITTLE_ENDIAN__
66236#define vfmlsl_laneq_low_f16(__p0_807, __p1_807, __p2_807, __p3_807) __extension__ ({ \67592#define vfmlsl_laneq_low_f16(__p0_899, __p1_899, __p2_899, __p3_899) __extension__ ({ \
66237 float32x2_t __s0_807 = __p0_807; \67593 float32x2_t __s0_899 = __p0_899; \
66238 float16x4_t __s1_807 = __p1_807; \67594 float16x4_t __s1_899 = __p1_899; \
66239 float16x8_t __s2_807 = __p2_807; \67595 float16x8_t __s2_899 = __p2_899; \
66240 float32x2_t __ret_807; \67596 float32x2_t __ret_899; \
66241 __ret_807 = vfmlsl_low_f16(__s0_807, __s1_807, (float16x4_t) {vgetq_lane_f16(__s2_807, __p3_807), vgetq_lane_f16(__s2_807, __p3_807), vgetq_lane_f16(__s2_807, __p3_807), vgetq_lane_f16(__s2_807, __p3_807)}); \67597 __ret_899 = vfmlsl_low_f16(__s0_899, __s1_899, (float16x4_t) {vgetq_lane_f16(__s2_899, __p3_899), vgetq_lane_f16(__s2_899, __p3_899), vgetq_lane_f16(__s2_899, __p3_899), vgetq_lane_f16(__s2_899, __p3_899)}); \
66242 __ret_807; \67598 __ret_899; \
66243})67599})
66244#else67600#else
66245#define vfmlsl_laneq_low_f16(__p0_808, __p1_808, __p2_808, __p3_808) __extension__ ({ \67601#define vfmlsl_laneq_low_f16(__p0_900, __p1_900, __p2_900, __p3_900) __extension__ ({ \
66246 float32x2_t __s0_808 = __p0_808; \67602 float32x2_t __s0_900 = __p0_900; \
66247 float16x4_t __s1_808 = __p1_808; \67603 float16x4_t __s1_900 = __p1_900; \
66248 float16x8_t __s2_808 = __p2_808; \67604 float16x8_t __s2_900 = __p2_900; \
66249 float32x2_t __rev0_808; __rev0_808 = __builtin_shufflevector(__s0_808, __s0_808, 1, 0); \67605 float32x2_t __rev0_900; __rev0_900 = __builtin_shufflevector(__s0_900, __s0_900, 1, 0); \
66250 float16x4_t __rev1_808; __rev1_808 = __builtin_shufflevector(__s1_808, __s1_808, 3, 2, 1, 0); \67606 float16x4_t __rev1_900; __rev1_900 = __builtin_shufflevector(__s1_900, __s1_900, 3, 2, 1, 0); \
66251 float16x8_t __rev2_808; __rev2_808 = __builtin_shufflevector(__s2_808, __s2_808, 7, 6, 5, 4, 3, 2, 1, 0); \67607 float16x8_t __rev2_900; __rev2_900 = __builtin_shufflevector(__s2_900, __s2_900, 7, 6, 5, 4, 3, 2, 1, 0); \
66252 float32x2_t __ret_808; \67608 float32x2_t __ret_900; \
66253 __ret_808 = __noswap_vfmlsl_low_f16(__rev0_808, __rev1_808, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_808, __p3_808), __noswap_vgetq_lane_f16(__rev2_808, __p3_808), __noswap_vgetq_lane_f16(__rev2_808, __p3_808), __noswap_vgetq_lane_f16(__rev2_808, __p3_808)}); \67609 __ret_900 = __noswap_vfmlsl_low_f16(__rev0_900, __rev1_900, (float16x4_t) {__noswap_vgetq_lane_f16(__rev2_900, __p3_900), __noswap_vgetq_lane_f16(__rev2_900, __p3_900), __noswap_vgetq_lane_f16(__rev2_900, __p3_900), __noswap_vgetq_lane_f16(__rev2_900, __p3_900)}); \
66254 __ret_808 = __builtin_shufflevector(__ret_808, __ret_808, 1, 0); \67610 __ret_900 = __builtin_shufflevector(__ret_900, __ret_900, 1, 0); \
66255 __ret_808; \67611 __ret_900; \
66256})67612})
66257#endif67613#endif
6625867614
66259#endif67615#endif
66260#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && defined(__aarch64__)67616#if defined(__ARM_FEATURE_FP16_VECTOR_ARITHMETIC) && defined(__aarch64__)
66261#ifdef __LITTLE_ENDIAN__67617#ifdef __LITTLE_ENDIAN__
66262#define vmulh_lane_f16(__p0_809, __p1_809, __p2_809) __extension__ ({ \67618#define vmulh_lane_f16(__p0_901, __p1_901, __p2_901) __extension__ ({ \
66263 float16_t __s0_809 = __p0_809; \67619 float16_t __s0_901 = __p0_901; \
66264 float16x4_t __s1_809 = __p1_809; \67620 float16x4_t __s1_901 = __p1_901; \
66265 float16_t __ret_809; \67621 float16_t __ret_901; \
66266 __ret_809 = __s0_809 * vget_lane_f16(__s1_809, __p2_809); \67622 __ret_901 = __s0_901 * vget_lane_f16(__s1_901, __p2_901); \
66267 __ret_809; \67623 __ret_901; \
66268})67624})
66269#else67625#else
66270#define vmulh_lane_f16(__p0_810, __p1_810, __p2_810) __extension__ ({ \67626#define vmulh_lane_f16(__p0_902, __p1_902, __p2_902) __extension__ ({ \
66271 float16_t __s0_810 = __p0_810; \67627 float16_t __s0_902 = __p0_902; \
66272 float16x4_t __s1_810 = __p1_810; \67628 float16x4_t __s1_902 = __p1_902; \
66273 float16x4_t __rev1_810; __rev1_810 = __builtin_shufflevector(__s1_810, __s1_810, 3, 2, 1, 0); \67629 float16x4_t __rev1_902; __rev1_902 = __builtin_shufflevector(__s1_902, __s1_902, 3, 2, 1, 0); \
66274 float16_t __ret_810; \67630 float16_t __ret_902; \
66275 __ret_810 = __s0_810 * __noswap_vget_lane_f16(__rev1_810, __p2_810); \67631 __ret_902 = __s0_902 * __noswap_vget_lane_f16(__rev1_902, __p2_902); \
66276 __ret_810; \67632 __ret_902; \
66277})67633})
66278#endif67634#endif
6627967635
66280#ifdef __LITTLE_ENDIAN__67636#ifdef __LITTLE_ENDIAN__
66281#define vmulh_laneq_f16(__p0_811, __p1_811, __p2_811) __extension__ ({ \67637#define vmulh_laneq_f16(__p0_903, __p1_903, __p2_903) __extension__ ({ \
66282 float16_t __s0_811 = __p0_811; \67638 float16_t __s0_903 = __p0_903; \
66283 float16x8_t __s1_811 = __p1_811; \67639 float16x8_t __s1_903 = __p1_903; \
66284 float16_t __ret_811; \67640 float16_t __ret_903; \
66285 __ret_811 = __s0_811 * vgetq_lane_f16(__s1_811, __p2_811); \67641 __ret_903 = __s0_903 * vgetq_lane_f16(__s1_903, __p2_903); \
66286 __ret_811; \67642 __ret_903; \
66287})67643})
66288#else67644#else
66289#define vmulh_laneq_f16(__p0_812, __p1_812, __p2_812) __extension__ ({ \67645#define vmulh_laneq_f16(__p0_904, __p1_904, __p2_904) __extension__ ({ \
66290 float16_t __s0_812 = __p0_812; \67646 float16_t __s0_904 = __p0_904; \
66291 float16x8_t __s1_812 = __p1_812; \67647 float16x8_t __s1_904 = __p1_904; \
66292 float16x8_t __rev1_812; __rev1_812 = __builtin_shufflevector(__s1_812, __s1_812, 7, 6, 5, 4, 3, 2, 1, 0); \67648 float16x8_t __rev1_904; __rev1_904 = __builtin_shufflevector(__s1_904, __s1_904, 7, 6, 5, 4, 3, 2, 1, 0); \
66293 float16_t __ret_812; \67649 float16_t __ret_904; \
66294 __ret_812 = __s0_812 * __noswap_vgetq_lane_f16(__rev1_812, __p2_812); \67650 __ret_904 = __s0_904 * __noswap_vgetq_lane_f16(__rev1_904, __p2_904); \
66295 __ret_812; \67651 __ret_904; \
66296})67652})
66297#endif67653#endif
6629867654
66299#endif67655#endif
66300#if defined(__ARM_FEATURE_MATMUL_INT8)67656#if defined(__ARM_FEATURE_MATMUL_INT8)
66301#ifdef __LITTLE_ENDIAN__67657#ifdef __LITTLE_ENDIAN__
66302#define vsudotq_lane_s32(__p0_813, __p1_813, __p2_813, __p3_813) __extension__ ({ \67658#define vsudotq_lane_s32(__p0_905, __p1_905, __p2_905, __p3_905) __extension__ ({ \
66303 int32x4_t __s0_813 = __p0_813; \67659 int32x4_t __s0_905 = __p0_905; \
66304 int8x16_t __s1_813 = __p1_813; \67660 int8x16_t __s1_905 = __p1_905; \
66305 uint8x8_t __s2_813 = __p2_813; \67661 uint8x8_t __s2_905 = __p2_905; \
66306 int32x4_t __ret_813; \67662 int32x4_t __ret_905; \
66307uint8x8_t __reint_813 = __s2_813; \67663uint8x8_t __reint_905 = __s2_905; \
66308 __ret_813 = vusdotq_s32(__s0_813, (uint8x16_t)(splatq_lane_s32(*(int32x2_t *) &__reint_813, __p3_813)), __s1_813); \67664 __ret_905 = vusdotq_s32(__s0_905, (uint8x16_t)(splatq_lane_s32(*(int32x2_t *) &__reint_905, __p3_905)), __s1_905); \
66309 __ret_813; \67665 __ret_905; \
66310})67666})
66311#else67667#else
66312#define vsudotq_lane_s32(__p0_814, __p1_814, __p2_814, __p3_814) __extension__ ({ \67668#define vsudotq_lane_s32(__p0_906, __p1_906, __p2_906, __p3_906) __extension__ ({ \
66313 int32x4_t __s0_814 = __p0_814; \67669 int32x4_t __s0_906 = __p0_906; \
66314 int8x16_t __s1_814 = __p1_814; \67670 int8x16_t __s1_906 = __p1_906; \
66315 uint8x8_t __s2_814 = __p2_814; \67671 uint8x8_t __s2_906 = __p2_906; \
66316 int32x4_t __rev0_814; __rev0_814 = __builtin_shufflevector(__s0_814, __s0_814, 3, 2, 1, 0); \67672 int32x4_t __rev0_906; __rev0_906 = __builtin_shufflevector(__s0_906, __s0_906, 3, 2, 1, 0); \
66317 int8x16_t __rev1_814; __rev1_814 = __builtin_shufflevector(__s1_814, __s1_814, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \67673 int8x16_t __rev1_906; __rev1_906 = __builtin_shufflevector(__s1_906, __s1_906, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0); \
66318 uint8x8_t __rev2_814; __rev2_814 = __builtin_shufflevector(__s2_814, __s2_814, 7, 6, 5, 4, 3, 2, 1, 0); \67674 uint8x8_t __rev2_906; __rev2_906 = __builtin_shufflevector(__s2_906, __s2_906, 7, 6, 5, 4, 3, 2, 1, 0); \
66319 int32x4_t __ret_814; \67675 int32x4_t __ret_906; \
66320uint8x8_t __reint_814 = __rev2_814; \67676uint8x8_t __reint_906 = __rev2_906; \
66321 __ret_814 = __noswap_vusdotq_s32(__rev0_814, (uint8x16_t)(__noswap_splatq_lane_s32(*(int32x2_t *) &__reint_814, __p3_814)), __rev1_814); \67677 __ret_906 = __noswap_vusdotq_s32(__rev0_906, (uint8x16_t)(__noswap_splatq_lane_s32(*(int32x2_t *) &__reint_906, __p3_906)), __rev1_906); \
66322 __ret_814 = __builtin_shufflevector(__ret_814, __ret_814, 3, 2, 1, 0); \67678 __ret_906 = __builtin_shufflevector(__ret_906, __ret_906, 3, 2, 1, 0); \
66323 __ret_814; \67679 __ret_906; \
66324})67680})
66325#endif67681#endif
6632667682
66327#ifdef __LITTLE_ENDIAN__67683#ifdef __LITTLE_ENDIAN__
66328#define vsudot_lane_s32(__p0_815, __p1_815, __p2_815, __p3_815) __extension__ ({ \67684#define vsudot_lane_s32(__p0_907, __p1_907, __p2_907, __p3_907) __extension__ ({ \
66329 int32x2_t __s0_815 = __p0_815; \67685 int32x2_t __s0_907 = __p0_907; \
66330 int8x8_t __s1_815 = __p1_815; \67686 int8x8_t __s1_907 = __p1_907; \
66331 uint8x8_t __s2_815 = __p2_815; \67687 uint8x8_t __s2_907 = __p2_907; \
66332 int32x2_t __ret_815; \67688 int32x2_t __ret_907; \
66333uint8x8_t __reint_815 = __s2_815; \67689uint8x8_t __reint_907 = __s2_907; \
66334 __ret_815 = vusdot_s32(__s0_815, (uint8x8_t)(splat_lane_s32(*(int32x2_t *) &__reint_815, __p3_815)), __s1_815); \67690 __ret_907 = vusdot_s32(__s0_907, (uint8x8_t)(splat_lane_s32(*(int32x2_t *) &__reint_907, __p3_907)), __s1_907); \
66335 __ret_815; \67691 __ret_907; \
66336})67692})
66337#else67693#else
66338#define vsudot_lane_s32(__p0_816, __p1_816, __p2_816, __p3_816) __extension__ ({ \67694#define vsudot_lane_s32(__p0_908, __p1_908, __p2_908, __p3_908) __extension__ ({ \
66339 int32x2_t __s0_816 = __p0_816; \67695 int32x2_t __s0_908 = __p0_908; \
66340 int8x8_t __s1_816 = __p1_816; \67696 int8x8_t __s1_908 = __p1_908; \
66341 uint8x8_t __s2_816 = __p2_816; \67697 uint8x8_t __s2_908 = __p2_908; \
66342 int32x2_t __rev0_816; __rev0_816 = __builtin_shufflevector(__s0_816, __s0_816, 1, 0); \67698 int32x2_t __rev0_908; __rev0_908 = __builtin_shufflevector(__s0_908, __s0_908, 1, 0); \
66343 int8x8_t __rev1_816; __rev1_816 = __builtin_shufflevector(__s1_816, __s1_816, 7, 6, 5, 4, 3, 2, 1, 0); \67699 int8x8_t __rev1_908; __rev1_908 = __builtin_shufflevector(__s1_908, __s1_908, 7, 6, 5, 4, 3, 2, 1, 0); \
66344 uint8x8_t __rev2_816; __rev2_816 = __builtin_shufflevector(__s2_816, __s2_816, 7, 6, 5, 4, 3, 2, 1, 0); \67700 uint8x8_t __rev2_908; __rev2_908 = __builtin_shufflevector(__s2_908, __s2_908, 7, 6, 5, 4, 3, 2, 1, 0); \
66345 int32x2_t __ret_816; \67701 int32x2_t __ret_908; \
66346uint8x8_t __reint_816 = __rev2_816; \67702uint8x8_t __reint_908 = __rev2_908; \
66347 __ret_816 = __noswap_vusdot_s32(__rev0_816, (uint8x8_t)(__noswap_splat_lane_s32(*(int32x2_t *) &__reint_816, __p3_816)), __rev1_816); \67703 __ret_908 = __noswap_vusdot_s32(__rev0_908, (uint8x8_t)(__noswap_splat_lane_s32(*(int32x2_t *) &__reint_908, __p3_908)), __rev1_908); \
66348 __ret_816 = __builtin_shufflevector(__ret_816, __ret_816, 1, 0); \67704 __ret_908 = __builtin_shufflevector(__ret_908, __ret_908, 1, 0); \
66349 __ret_816; \67705 __ret_908; \
66350})67706})
66351#endif67707#endif
6635267708
...@@ -66363,86 +67719,86 @@ __ai int16_t vqrdmlahh_s16(int16_t __p0, int16_t __p1, int16_t __p2) {...@@ -66363,86 +67719,86 @@ __ai int16_t vqrdmlahh_s16(int16_t __p0, int16_t __p1, int16_t __p2) {
66363 return __ret;67719 return __ret;
66364}67720}
66365#ifdef __LITTLE_ENDIAN__67721#ifdef __LITTLE_ENDIAN__
66366#define vqrdmlahs_lane_s32(__p0_817, __p1_817, __p2_817, __p3_817) __extension__ ({ \67722#define vqrdmlahs_lane_s32(__p0_909, __p1_909, __p2_909, __p3_909) __extension__ ({ \
66367 int32_t __s0_817 = __p0_817; \67723 int32_t __s0_909 = __p0_909; \
66368 int32_t __s1_817 = __p1_817; \67724 int32_t __s1_909 = __p1_909; \
66369 int32x2_t __s2_817 = __p2_817; \67725 int32x2_t __s2_909 = __p2_909; \
66370 int32_t __ret_817; \67726 int32_t __ret_909; \
66371 __ret_817 = vqadds_s32(__s0_817, vqrdmulhs_s32(__s1_817, vget_lane_s32(__s2_817, __p3_817))); \67727 __ret_909 = vqadds_s32(__s0_909, vqrdmulhs_s32(__s1_909, vget_lane_s32(__s2_909, __p3_909))); \
66372 __ret_817; \67728 __ret_909; \
66373})67729})
66374#else67730#else
66375#define vqrdmlahs_lane_s32(__p0_818, __p1_818, __p2_818, __p3_818) __extension__ ({ \67731#define vqrdmlahs_lane_s32(__p0_910, __p1_910, __p2_910, __p3_910) __extension__ ({ \
66376 int32_t __s0_818 = __p0_818; \67732 int32_t __s0_910 = __p0_910; \
66377 int32_t __s1_818 = __p1_818; \67733 int32_t __s1_910 = __p1_910; \
66378 int32x2_t __s2_818 = __p2_818; \67734 int32x2_t __s2_910 = __p2_910; \
66379 int32x2_t __rev2_818; __rev2_818 = __builtin_shufflevector(__s2_818, __s2_818, 1, 0); \67735 int32x2_t __rev2_910; __rev2_910 = __builtin_shufflevector(__s2_910, __s2_910, 1, 0); \
66380 int32_t __ret_818; \67736 int32_t __ret_910; \
66381 __ret_818 = vqadds_s32(__s0_818, vqrdmulhs_s32(__s1_818, __noswap_vget_lane_s32(__rev2_818, __p3_818))); \67737 __ret_910 = vqadds_s32(__s0_910, vqrdmulhs_s32(__s1_910, __noswap_vget_lane_s32(__rev2_910, __p3_910))); \
66382 __ret_818; \67738 __ret_910; \
66383})67739})
66384#endif67740#endif
6638567741
66386#ifdef __LITTLE_ENDIAN__67742#ifdef __LITTLE_ENDIAN__
66387#define vqrdmlahh_lane_s16(__p0_819, __p1_819, __p2_819, __p3_819) __extension__ ({ \67743#define vqrdmlahh_lane_s16(__p0_911, __p1_911, __p2_911, __p3_911) __extension__ ({ \
66388 int16_t __s0_819 = __p0_819; \67744 int16_t __s0_911 = __p0_911; \
66389 int16_t __s1_819 = __p1_819; \67745 int16_t __s1_911 = __p1_911; \
66390 int16x4_t __s2_819 = __p2_819; \67746 int16x4_t __s2_911 = __p2_911; \
66391 int16_t __ret_819; \67747 int16_t __ret_911; \
66392 __ret_819 = vqaddh_s16(__s0_819, vqrdmulhh_s16(__s1_819, vget_lane_s16(__s2_819, __p3_819))); \67748 __ret_911 = vqaddh_s16(__s0_911, vqrdmulhh_s16(__s1_911, vget_lane_s16(__s2_911, __p3_911))); \
66393 __ret_819; \67749 __ret_911; \
66394})67750})
66395#else67751#else
66396#define vqrdmlahh_lane_s16(__p0_820, __p1_820, __p2_820, __p3_820) __extension__ ({ \67752#define vqrdmlahh_lane_s16(__p0_912, __p1_912, __p2_912, __p3_912) __extension__ ({ \
66397 int16_t __s0_820 = __p0_820; \67753 int16_t __s0_912 = __p0_912; \
66398 int16_t __s1_820 = __p1_820; \67754 int16_t __s1_912 = __p1_912; \
66399 int16x4_t __s2_820 = __p2_820; \67755 int16x4_t __s2_912 = __p2_912; \
66400 int16x4_t __rev2_820; __rev2_820 = __builtin_shufflevector(__s2_820, __s2_820, 3, 2, 1, 0); \67756 int16x4_t __rev2_912; __rev2_912 = __builtin_shufflevector(__s2_912, __s2_912, 3, 2, 1, 0); \
66401 int16_t __ret_820; \67757 int16_t __ret_912; \
66402 __ret_820 = vqaddh_s16(__s0_820, vqrdmulhh_s16(__s1_820, __noswap_vget_lane_s16(__rev2_820, __p3_820))); \67758 __ret_912 = vqaddh_s16(__s0_912, vqrdmulhh_s16(__s1_912, __noswap_vget_lane_s16(__rev2_912, __p3_912))); \
66403 __ret_820; \67759 __ret_912; \
66404})67760})
66405#endif67761#endif
6640667762
66407#ifdef __LITTLE_ENDIAN__67763#ifdef __LITTLE_ENDIAN__
66408#define vqrdmlahs_laneq_s32(__p0_821, __p1_821, __p2_821, __p3_821) __extension__ ({ \67764#define vqrdmlahs_laneq_s32(__p0_913, __p1_913, __p2_913, __p3_913) __extension__ ({ \
66409 int32_t __s0_821 = __p0_821; \67765 int32_t __s0_913 = __p0_913; \
66410 int32_t __s1_821 = __p1_821; \67766 int32_t __s1_913 = __p1_913; \
66411 int32x4_t __s2_821 = __p2_821; \67767 int32x4_t __s2_913 = __p2_913; \
66412 int32_t __ret_821; \67768 int32_t __ret_913; \
66413 __ret_821 = vqadds_s32(__s0_821, vqrdmulhs_s32(__s1_821, vgetq_lane_s32(__s2_821, __p3_821))); \67769 __ret_913 = vqadds_s32(__s0_913, vqrdmulhs_s32(__s1_913, vgetq_lane_s32(__s2_913, __p3_913))); \
66414 __ret_821; \67770 __ret_913; \
66415})67771})
66416#else67772#else
66417#define vqrdmlahs_laneq_s32(__p0_822, __p1_822, __p2_822, __p3_822) __extension__ ({ \67773#define vqrdmlahs_laneq_s32(__p0_914, __p1_914, __p2_914, __p3_914) __extension__ ({ \
66418 int32_t __s0_822 = __p0_822; \67774 int32_t __s0_914 = __p0_914; \
66419 int32_t __s1_822 = __p1_822; \67775 int32_t __s1_914 = __p1_914; \
66420 int32x4_t __s2_822 = __p2_822; \67776 int32x4_t __s2_914 = __p2_914; \
66421 int32x4_t __rev2_822; __rev2_822 = __builtin_shufflevector(__s2_822, __s2_822, 3, 2, 1, 0); \67777 int32x4_t __rev2_914; __rev2_914 = __builtin_shufflevector(__s2_914, __s2_914, 3, 2, 1, 0); \
66422 int32_t __ret_822; \67778 int32_t __ret_914; \
66423 __ret_822 = vqadds_s32(__s0_822, vqrdmulhs_s32(__s1_822, __noswap_vgetq_lane_s32(__rev2_822, __p3_822))); \67779 __ret_914 = vqadds_s32(__s0_914, vqrdmulhs_s32(__s1_914, __noswap_vgetq_lane_s32(__rev2_914, __p3_914))); \
66424 __ret_822; \67780 __ret_914; \
66425})67781})
66426#endif67782#endif
6642767783
66428#ifdef __LITTLE_ENDIAN__67784#ifdef __LITTLE_ENDIAN__
66429#define vqrdmlahh_laneq_s16(__p0_823, __p1_823, __p2_823, __p3_823) __extension__ ({ \67785#define vqrdmlahh_laneq_s16(__p0_915, __p1_915, __p2_915, __p3_915) __extension__ ({ \
66430 int16_t __s0_823 = __p0_823; \67786 int16_t __s0_915 = __p0_915; \
66431 int16_t __s1_823 = __p1_823; \67787 int16_t __s1_915 = __p1_915; \
66432 int16x8_t __s2_823 = __p2_823; \67788 int16x8_t __s2_915 = __p2_915; \
66433 int16_t __ret_823; \67789 int16_t __ret_915; \
66434 __ret_823 = vqaddh_s16(__s0_823, vqrdmulhh_s16(__s1_823, vgetq_lane_s16(__s2_823, __p3_823))); \67790 __ret_915 = vqaddh_s16(__s0_915, vqrdmulhh_s16(__s1_915, vgetq_lane_s16(__s2_915, __p3_915))); \
66435 __ret_823; \67791 __ret_915; \
66436})67792})
66437#else67793#else
66438#define vqrdmlahh_laneq_s16(__p0_824, __p1_824, __p2_824, __p3_824) __extension__ ({ \67794#define vqrdmlahh_laneq_s16(__p0_916, __p1_916, __p2_916, __p3_916) __extension__ ({ \
66439 int16_t __s0_824 = __p0_824; \67795 int16_t __s0_916 = __p0_916; \
66440 int16_t __s1_824 = __p1_824; \67796 int16_t __s1_916 = __p1_916; \
66441 int16x8_t __s2_824 = __p2_824; \67797 int16x8_t __s2_916 = __p2_916; \
66442 int16x8_t __rev2_824; __rev2_824 = __builtin_shufflevector(__s2_824, __s2_824, 7, 6, 5, 4, 3, 2, 1, 0); \67798 int16x8_t __rev2_916; __rev2_916 = __builtin_shufflevector(__s2_916, __s2_916, 7, 6, 5, 4, 3, 2, 1, 0); \
66443 int16_t __ret_824; \67799 int16_t __ret_916; \
66444 __ret_824 = vqaddh_s16(__s0_824, vqrdmulhh_s16(__s1_824, __noswap_vgetq_lane_s16(__rev2_824, __p3_824))); \67800 __ret_916 = vqaddh_s16(__s0_916, vqrdmulhh_s16(__s1_916, __noswap_vgetq_lane_s16(__rev2_916, __p3_916))); \
66445 __ret_824; \67801 __ret_916; \
66446})67802})
66447#endif67803#endif
6644867804
...@@ -66457,86 +67813,86 @@ __ai int16_t vqrdmlshh_s16(int16_t __p0, int16_t __p1, int16_t __p2) {...@@ -66457,86 +67813,86 @@ __ai int16_t vqrdmlshh_s16(int16_t __p0, int16_t __p1, int16_t __p2) {
66457 return __ret;67813 return __ret;
66458}67814}
66459#ifdef __LITTLE_ENDIAN__67815#ifdef __LITTLE_ENDIAN__
66460#define vqrdmlshs_lane_s32(__p0_825, __p1_825, __p2_825, __p3_825) __extension__ ({ \67816#define vqrdmlshs_lane_s32(__p0_917, __p1_917, __p2_917, __p3_917) __extension__ ({ \
66461 int32_t __s0_825 = __p0_825; \67817 int32_t __s0_917 = __p0_917; \
66462 int32_t __s1_825 = __p1_825; \67818 int32_t __s1_917 = __p1_917; \
66463 int32x2_t __s2_825 = __p2_825; \67819 int32x2_t __s2_917 = __p2_917; \
66464 int32_t __ret_825; \67820 int32_t __ret_917; \
66465 __ret_825 = vqsubs_s32(__s0_825, vqrdmulhs_s32(__s1_825, vget_lane_s32(__s2_825, __p3_825))); \67821 __ret_917 = vqsubs_s32(__s0_917, vqrdmulhs_s32(__s1_917, vget_lane_s32(__s2_917, __p3_917))); \
66466 __ret_825; \67822 __ret_917; \
66467})67823})
66468#else67824#else
66469#define vqrdmlshs_lane_s32(__p0_826, __p1_826, __p2_826, __p3_826) __extension__ ({ \67825#define vqrdmlshs_lane_s32(__p0_918, __p1_918, __p2_918, __p3_918) __extension__ ({ \
66470 int32_t __s0_826 = __p0_826; \67826 int32_t __s0_918 = __p0_918; \
66471 int32_t __s1_826 = __p1_826; \67827 int32_t __s1_918 = __p1_918; \
66472 int32x2_t __s2_826 = __p2_826; \67828 int32x2_t __s2_918 = __p2_918; \
66473 int32x2_t __rev2_826; __rev2_826 = __builtin_shufflevector(__s2_826, __s2_826, 1, 0); \67829 int32x2_t __rev2_918; __rev2_918 = __builtin_shufflevector(__s2_918, __s2_918, 1, 0); \
66474 int32_t __ret_826; \67830 int32_t __ret_918; \
66475 __ret_826 = vqsubs_s32(__s0_826, vqrdmulhs_s32(__s1_826, __noswap_vget_lane_s32(__rev2_826, __p3_826))); \67831 __ret_918 = vqsubs_s32(__s0_918, vqrdmulhs_s32(__s1_918, __noswap_vget_lane_s32(__rev2_918, __p3_918))); \
66476 __ret_826; \67832 __ret_918; \
66477})67833})
66478#endif67834#endif
6647967835
66480#ifdef __LITTLE_ENDIAN__67836#ifdef __LITTLE_ENDIAN__
66481#define vqrdmlshh_lane_s16(__p0_827, __p1_827, __p2_827, __p3_827) __extension__ ({ \67837#define vqrdmlshh_lane_s16(__p0_919, __p1_919, __p2_919, __p3_919) __extension__ ({ \
66482 int16_t __s0_827 = __p0_827; \67838 int16_t __s0_919 = __p0_919; \
66483 int16_t __s1_827 = __p1_827; \67839 int16_t __s1_919 = __p1_919; \
66484 int16x4_t __s2_827 = __p2_827; \67840 int16x4_t __s2_919 = __p2_919; \
66485 int16_t __ret_827; \67841 int16_t __ret_919; \
66486 __ret_827 = vqsubh_s16(__s0_827, vqrdmulhh_s16(__s1_827, vget_lane_s16(__s2_827, __p3_827))); \67842 __ret_919 = vqsubh_s16(__s0_919, vqrdmulhh_s16(__s1_919, vget_lane_s16(__s2_919, __p3_919))); \
66487 __ret_827; \67843 __ret_919; \
66488})67844})
66489#else67845#else
66490#define vqrdmlshh_lane_s16(__p0_828, __p1_828, __p2_828, __p3_828) __extension__ ({ \67846#define vqrdmlshh_lane_s16(__p0_920, __p1_920, __p2_920, __p3_920) __extension__ ({ \
66491 int16_t __s0_828 = __p0_828; \67847 int16_t __s0_920 = __p0_920; \
66492 int16_t __s1_828 = __p1_828; \67848 int16_t __s1_920 = __p1_920; \
66493 int16x4_t __s2_828 = __p2_828; \67849 int16x4_t __s2_920 = __p2_920; \
66494 int16x4_t __rev2_828; __rev2_828 = __builtin_shufflevector(__s2_828, __s2_828, 3, 2, 1, 0); \67850 int16x4_t __rev2_920; __rev2_920 = __builtin_shufflevector(__s2_920, __s2_920, 3, 2, 1, 0); \
66495 int16_t __ret_828; \67851 int16_t __ret_920; \
66496 __ret_828 = vqsubh_s16(__s0_828, vqrdmulhh_s16(__s1_828, __noswap_vget_lane_s16(__rev2_828, __p3_828))); \67852 __ret_920 = vqsubh_s16(__s0_920, vqrdmulhh_s16(__s1_920, __noswap_vget_lane_s16(__rev2_920, __p3_920))); \
66497 __ret_828; \67853 __ret_920; \
66498})67854})
66499#endif67855#endif
6650067856
66501#ifdef __LITTLE_ENDIAN__67857#ifdef __LITTLE_ENDIAN__
66502#define vqrdmlshs_laneq_s32(__p0_829, __p1_829, __p2_829, __p3_829) __extension__ ({ \67858#define vqrdmlshs_laneq_s32(__p0_921, __p1_921, __p2_921, __p3_921) __extension__ ({ \
66503 int32_t __s0_829 = __p0_829; \67859 int32_t __s0_921 = __p0_921; \
66504 int32_t __s1_829 = __p1_829; \67860 int32_t __s1_921 = __p1_921; \
66505 int32x4_t __s2_829 = __p2_829; \67861 int32x4_t __s2_921 = __p2_921; \
66506 int32_t __ret_829; \67862 int32_t __ret_921; \
66507 __ret_829 = vqsubs_s32(__s0_829, vqrdmulhs_s32(__s1_829, vgetq_lane_s32(__s2_829, __p3_829))); \67863 __ret_921 = vqsubs_s32(__s0_921, vqrdmulhs_s32(__s1_921, vgetq_lane_s32(__s2_921, __p3_921))); \
66508 __ret_829; \67864 __ret_921; \
66509})67865})
66510#else67866#else
66511#define vqrdmlshs_laneq_s32(__p0_830, __p1_830, __p2_830, __p3_830) __extension__ ({ \67867#define vqrdmlshs_laneq_s32(__p0_922, __p1_922, __p2_922, __p3_922) __extension__ ({ \
66512 int32_t __s0_830 = __p0_830; \67868 int32_t __s0_922 = __p0_922; \
66513 int32_t __s1_830 = __p1_830; \67869 int32_t __s1_922 = __p1_922; \
66514 int32x4_t __s2_830 = __p2_830; \67870 int32x4_t __s2_922 = __p2_922; \
66515 int32x4_t __rev2_830; __rev2_830 = __builtin_shufflevector(__s2_830, __s2_830, 3, 2, 1, 0); \67871 int32x4_t __rev2_922; __rev2_922 = __builtin_shufflevector(__s2_922, __s2_922, 3, 2, 1, 0); \
66516 int32_t __ret_830; \67872 int32_t __ret_922; \
66517 __ret_830 = vqsubs_s32(__s0_830, vqrdmulhs_s32(__s1_830, __noswap_vgetq_lane_s32(__rev2_830, __p3_830))); \67873 __ret_922 = vqsubs_s32(__s0_922, vqrdmulhs_s32(__s1_922, __noswap_vgetq_lane_s32(__rev2_922, __p3_922))); \
66518 __ret_830; \67874 __ret_922; \
66519})67875})
66520#endif67876#endif
6652167877
66522#ifdef __LITTLE_ENDIAN__67878#ifdef __LITTLE_ENDIAN__
66523#define vqrdmlshh_laneq_s16(__p0_831, __p1_831, __p2_831, __p3_831) __extension__ ({ \67879#define vqrdmlshh_laneq_s16(__p0_923, __p1_923, __p2_923, __p3_923) __extension__ ({ \
66524 int16_t __s0_831 = __p0_831; \67880 int16_t __s0_923 = __p0_923; \
66525 int16_t __s1_831 = __p1_831; \67881 int16_t __s1_923 = __p1_923; \
66526 int16x8_t __s2_831 = __p2_831; \67882 int16x8_t __s2_923 = __p2_923; \
66527 int16_t __ret_831; \67883 int16_t __ret_923; \
66528 __ret_831 = vqsubh_s16(__s0_831, vqrdmulhh_s16(__s1_831, vgetq_lane_s16(__s2_831, __p3_831))); \67884 __ret_923 = vqsubh_s16(__s0_923, vqrdmulhh_s16(__s1_923, vgetq_lane_s16(__s2_923, __p3_923))); \
66529 __ret_831; \67885 __ret_923; \
66530})67886})
66531#else67887#else
66532#define vqrdmlshh_laneq_s16(__p0_832, __p1_832, __p2_832, __p3_832) __extension__ ({ \67888#define vqrdmlshh_laneq_s16(__p0_924, __p1_924, __p2_924, __p3_924) __extension__ ({ \
66533 int16_t __s0_832 = __p0_832; \67889 int16_t __s0_924 = __p0_924; \
66534 int16_t __s1_832 = __p1_832; \67890 int16_t __s1_924 = __p1_924; \
66535 int16x8_t __s2_832 = __p2_832; \67891 int16x8_t __s2_924 = __p2_924; \
66536 int16x8_t __rev2_832; __rev2_832 = __builtin_shufflevector(__s2_832, __s2_832, 7, 6, 5, 4, 3, 2, 1, 0); \67892 int16x8_t __rev2_924; __rev2_924 = __builtin_shufflevector(__s2_924, __s2_924, 7, 6, 5, 4, 3, 2, 1, 0); \
66537 int16_t __ret_832; \67893 int16_t __ret_924; \
66538 __ret_832 = vqsubh_s16(__s0_832, vqrdmulhh_s16(__s1_832, __noswap_vgetq_lane_s16(__rev2_832, __p3_832))); \67894 __ret_924 = vqsubh_s16(__s0_924, vqrdmulhh_s16(__s1_924, __noswap_vgetq_lane_s16(__rev2_924, __p3_924))); \
66539 __ret_832; \67895 __ret_924; \
66540})67896})
66541#endif67897#endif
6654267898
...@@ -66849,136 +68205,136 @@ __ai int32x4_t vaddw_high_s16(int32x4_t __p0, int16x8_t __p1) {...@@ -66849,136 +68205,136 @@ __ai int32x4_t vaddw_high_s16(int32x4_t __p0, int16x8_t __p1) {
66849#endif68205#endif
6685068206
66851#ifdef __LITTLE_ENDIAN__68207#ifdef __LITTLE_ENDIAN__
66852#define vcopyq_lane_p64(__p0_833, __p1_833, __p2_833, __p3_833) __extension__ ({ \68208#define vcopyq_lane_p64(__p0_925, __p1_925, __p2_925, __p3_925) __extension__ ({ \
66853 poly64x2_t __s0_833 = __p0_833; \68209 poly64x2_t __s0_925 = __p0_925; \
66854 poly64x1_t __s2_833 = __p2_833; \68210 poly64x1_t __s2_925 = __p2_925; \
66855 poly64x2_t __ret_833; \68211 poly64x2_t __ret_925; \
66856 __ret_833 = vsetq_lane_p64(vget_lane_p64(__s2_833, __p3_833), __s0_833, __p1_833); \68212 __ret_925 = vsetq_lane_p64(vget_lane_p64(__s2_925, __p3_925), __s0_925, __p1_925); \
66857 __ret_833; \68213 __ret_925; \
66858})68214})
66859#else68215#else
66860#define vcopyq_lane_p64(__p0_834, __p1_834, __p2_834, __p3_834) __extension__ ({ \68216#define vcopyq_lane_p64(__p0_926, __p1_926, __p2_926, __p3_926) __extension__ ({ \
66861 poly64x2_t __s0_834 = __p0_834; \68217 poly64x2_t __s0_926 = __p0_926; \
66862 poly64x1_t __s2_834 = __p2_834; \68218 poly64x1_t __s2_926 = __p2_926; \
66863 poly64x2_t __rev0_834; __rev0_834 = __builtin_shufflevector(__s0_834, __s0_834, 1, 0); \68219 poly64x2_t __rev0_926; __rev0_926 = __builtin_shufflevector(__s0_926, __s0_926, 1, 0); \
66864 poly64x2_t __ret_834; \68220 poly64x2_t __ret_926; \
66865 __ret_834 = __noswap_vsetq_lane_p64(vget_lane_p64(__s2_834, __p3_834), __rev0_834, __p1_834); \68221 __ret_926 = __noswap_vsetq_lane_p64(vget_lane_p64(__s2_926, __p3_926), __rev0_926, __p1_926); \
66866 __ret_834 = __builtin_shufflevector(__ret_834, __ret_834, 1, 0); \68222 __ret_926 = __builtin_shufflevector(__ret_926, __ret_926, 1, 0); \
66867 __ret_834; \68223 __ret_926; \
66868})68224})
66869#endif68225#endif
6687068226
66871#ifdef __LITTLE_ENDIAN__68227#ifdef __LITTLE_ENDIAN__
66872#define vcopyq_lane_f64(__p0_835, __p1_835, __p2_835, __p3_835) __extension__ ({ \68228#define vcopyq_lane_f64(__p0_927, __p1_927, __p2_927, __p3_927) __extension__ ({ \
66873 float64x2_t __s0_835 = __p0_835; \68229 float64x2_t __s0_927 = __p0_927; \
66874 float64x1_t __s2_835 = __p2_835; \68230 float64x1_t __s2_927 = __p2_927; \
66875 float64x2_t __ret_835; \68231 float64x2_t __ret_927; \
66876 __ret_835 = vsetq_lane_f64(vget_lane_f64(__s2_835, __p3_835), __s0_835, __p1_835); \68232 __ret_927 = vsetq_lane_f64(vget_lane_f64(__s2_927, __p3_927), __s0_927, __p1_927); \
66877 __ret_835; \68233 __ret_927; \
66878})68234})
66879#else68235#else
66880#define vcopyq_lane_f64(__p0_836, __p1_836, __p2_836, __p3_836) __extension__ ({ \68236#define vcopyq_lane_f64(__p0_928, __p1_928, __p2_928, __p3_928) __extension__ ({ \
66881 float64x2_t __s0_836 = __p0_836; \68237 float64x2_t __s0_928 = __p0_928; \
66882 float64x1_t __s2_836 = __p2_836; \68238 float64x1_t __s2_928 = __p2_928; \
66883 float64x2_t __rev0_836; __rev0_836 = __builtin_shufflevector(__s0_836, __s0_836, 1, 0); \68239 float64x2_t __rev0_928; __rev0_928 = __builtin_shufflevector(__s0_928, __s0_928, 1, 0); \
66884 float64x2_t __ret_836; \68240 float64x2_t __ret_928; \
66885 __ret_836 = __noswap_vsetq_lane_f64(vget_lane_f64(__s2_836, __p3_836), __rev0_836, __p1_836); \68241 __ret_928 = __noswap_vsetq_lane_f64(vget_lane_f64(__s2_928, __p3_928), __rev0_928, __p1_928); \
66886 __ret_836 = __builtin_shufflevector(__ret_836, __ret_836, 1, 0); \68242 __ret_928 = __builtin_shufflevector(__ret_928, __ret_928, 1, 0); \
66887 __ret_836; \68243 __ret_928; \
66888})68244})
66889#endif68245#endif
6689068246
66891#define vcopy_lane_p64(__p0_837, __p1_837, __p2_837, __p3_837) __extension__ ({ \68247#define vcopy_lane_p64(__p0_929, __p1_929, __p2_929, __p3_929) __extension__ ({ \
66892 poly64x1_t __s0_837 = __p0_837; \68248 poly64x1_t __s0_929 = __p0_929; \
66893 poly64x1_t __s2_837 = __p2_837; \68249 poly64x1_t __s2_929 = __p2_929; \
66894 poly64x1_t __ret_837; \68250 poly64x1_t __ret_929; \
66895 __ret_837 = vset_lane_p64(vget_lane_p64(__s2_837, __p3_837), __s0_837, __p1_837); \68251 __ret_929 = vset_lane_p64(vget_lane_p64(__s2_929, __p3_929), __s0_929, __p1_929); \
66896 __ret_837; \68252 __ret_929; \
66897})68253})
66898#define vcopy_lane_f64(__p0_838, __p1_838, __p2_838, __p3_838) __extension__ ({ \68254#define vcopy_lane_f64(__p0_930, __p1_930, __p2_930, __p3_930) __extension__ ({ \
66899 float64x1_t __s0_838 = __p0_838; \68255 float64x1_t __s0_930 = __p0_930; \
66900 float64x1_t __s2_838 = __p2_838; \68256 float64x1_t __s2_930 = __p2_930; \
66901 float64x1_t __ret_838; \68257 float64x1_t __ret_930; \
66902 __ret_838 = vset_lane_f64(vget_lane_f64(__s2_838, __p3_838), __s0_838, __p1_838); \68258 __ret_930 = vset_lane_f64(vget_lane_f64(__s2_930, __p3_930), __s0_930, __p1_930); \
66903 __ret_838; \68259 __ret_930; \
66904})68260})
66905#ifdef __LITTLE_ENDIAN__68261#ifdef __LITTLE_ENDIAN__
66906#define vcopyq_laneq_p64(__p0_839, __p1_839, __p2_839, __p3_839) __extension__ ({ \68262#define vcopyq_laneq_p64(__p0_931, __p1_931, __p2_931, __p3_931) __extension__ ({ \
66907 poly64x2_t __s0_839 = __p0_839; \68263 poly64x2_t __s0_931 = __p0_931; \
66908 poly64x2_t __s2_839 = __p2_839; \68264 poly64x2_t __s2_931 = __p2_931; \
66909 poly64x2_t __ret_839; \68265 poly64x2_t __ret_931; \
66910 __ret_839 = vsetq_lane_p64(vgetq_lane_p64(__s2_839, __p3_839), __s0_839, __p1_839); \68266 __ret_931 = vsetq_lane_p64(vgetq_lane_p64(__s2_931, __p3_931), __s0_931, __p1_931); \
66911 __ret_839; \68267 __ret_931; \
66912})68268})
66913#else68269#else
66914#define vcopyq_laneq_p64(__p0_840, __p1_840, __p2_840, __p3_840) __extension__ ({ \68270#define vcopyq_laneq_p64(__p0_932, __p1_932, __p2_932, __p3_932) __extension__ ({ \
66915 poly64x2_t __s0_840 = __p0_840; \68271 poly64x2_t __s0_932 = __p0_932; \
66916 poly64x2_t __s2_840 = __p2_840; \68272 poly64x2_t __s2_932 = __p2_932; \
66917 poly64x2_t __rev0_840; __rev0_840 = __builtin_shufflevector(__s0_840, __s0_840, 1, 0); \68273 poly64x2_t __rev0_932; __rev0_932 = __builtin_shufflevector(__s0_932, __s0_932, 1, 0); \
66918 poly64x2_t __rev2_840; __rev2_840 = __builtin_shufflevector(__s2_840, __s2_840, 1, 0); \68274 poly64x2_t __rev2_932; __rev2_932 = __builtin_shufflevector(__s2_932, __s2_932, 1, 0); \
66919 poly64x2_t __ret_840; \68275 poly64x2_t __ret_932; \
66920 __ret_840 = __noswap_vsetq_lane_p64(__noswap_vgetq_lane_p64(__rev2_840, __p3_840), __rev0_840, __p1_840); \68276 __ret_932 = __noswap_vsetq_lane_p64(__noswap_vgetq_lane_p64(__rev2_932, __p3_932), __rev0_932, __p1_932); \
66921 __ret_840 = __builtin_shufflevector(__ret_840, __ret_840, 1, 0); \68277 __ret_932 = __builtin_shufflevector(__ret_932, __ret_932, 1, 0); \
66922 __ret_840; \68278 __ret_932; \
66923})68279})
66924#endif68280#endif
6692568281
66926#ifdef __LITTLE_ENDIAN__68282#ifdef __LITTLE_ENDIAN__
66927#define vcopyq_laneq_f64(__p0_841, __p1_841, __p2_841, __p3_841) __extension__ ({ \68283#define vcopyq_laneq_f64(__p0_933, __p1_933, __p2_933, __p3_933) __extension__ ({ \
66928 float64x2_t __s0_841 = __p0_841; \68284 float64x2_t __s0_933 = __p0_933; \
66929 float64x2_t __s2_841 = __p2_841; \68285 float64x2_t __s2_933 = __p2_933; \
66930 float64x2_t __ret_841; \68286 float64x2_t __ret_933; \
66931 __ret_841 = vsetq_lane_f64(vgetq_lane_f64(__s2_841, __p3_841), __s0_841, __p1_841); \68287 __ret_933 = vsetq_lane_f64(vgetq_lane_f64(__s2_933, __p3_933), __s0_933, __p1_933); \
66932 __ret_841; \68288 __ret_933; \
66933})68289})
66934#else68290#else
66935#define vcopyq_laneq_f64(__p0_842, __p1_842, __p2_842, __p3_842) __extension__ ({ \68291#define vcopyq_laneq_f64(__p0_934, __p1_934, __p2_934, __p3_934) __extension__ ({ \
66936 float64x2_t __s0_842 = __p0_842; \68292 float64x2_t __s0_934 = __p0_934; \
66937 float64x2_t __s2_842 = __p2_842; \68293 float64x2_t __s2_934 = __p2_934; \
66938 float64x2_t __rev0_842; __rev0_842 = __builtin_shufflevector(__s0_842, __s0_842, 1, 0); \68294 float64x2_t __rev0_934; __rev0_934 = __builtin_shufflevector(__s0_934, __s0_934, 1, 0); \
66939 float64x2_t __rev2_842; __rev2_842 = __builtin_shufflevector(__s2_842, __s2_842, 1, 0); \68295 float64x2_t __rev2_934; __rev2_934 = __builtin_shufflevector(__s2_934, __s2_934, 1, 0); \
66940 float64x2_t __ret_842; \68296 float64x2_t __ret_934; \
66941 __ret_842 = __noswap_vsetq_lane_f64(__noswap_vgetq_lane_f64(__rev2_842, __p3_842), __rev0_842, __p1_842); \68297 __ret_934 = __noswap_vsetq_lane_f64(__noswap_vgetq_lane_f64(__rev2_934, __p3_934), __rev0_934, __p1_934); \
66942 __ret_842 = __builtin_shufflevector(__ret_842, __ret_842, 1, 0); \68298 __ret_934 = __builtin_shufflevector(__ret_934, __ret_934, 1, 0); \
66943 __ret_842; \68299 __ret_934; \
66944})68300})
66945#endif68301#endif
6694668302
66947#ifdef __LITTLE_ENDIAN__68303#ifdef __LITTLE_ENDIAN__
66948#define vcopy_laneq_p64(__p0_843, __p1_843, __p2_843, __p3_843) __extension__ ({ \68304#define vcopy_laneq_p64(__p0_935, __p1_935, __p2_935, __p3_935) __extension__ ({ \
66949 poly64x1_t __s0_843 = __p0_843; \68305 poly64x1_t __s0_935 = __p0_935; \
66950 poly64x2_t __s2_843 = __p2_843; \68306 poly64x2_t __s2_935 = __p2_935; \
66951 poly64x1_t __ret_843; \68307 poly64x1_t __ret_935; \
66952 __ret_843 = vset_lane_p64(vgetq_lane_p64(__s2_843, __p3_843), __s0_843, __p1_843); \68308 __ret_935 = vset_lane_p64(vgetq_lane_p64(__s2_935, __p3_935), __s0_935, __p1_935); \
66953 __ret_843; \68309 __ret_935; \
66954})68310})
66955#else68311#else
66956#define vcopy_laneq_p64(__p0_844, __p1_844, __p2_844, __p3_844) __extension__ ({ \68312#define vcopy_laneq_p64(__p0_936, __p1_936, __p2_936, __p3_936) __extension__ ({ \
66957 poly64x1_t __s0_844 = __p0_844; \68313 poly64x1_t __s0_936 = __p0_936; \
66958 poly64x2_t __s2_844 = __p2_844; \68314 poly64x2_t __s2_936 = __p2_936; \
66959 poly64x2_t __rev2_844; __rev2_844 = __builtin_shufflevector(__s2_844, __s2_844, 1, 0); \68315 poly64x2_t __rev2_936; __rev2_936 = __builtin_shufflevector(__s2_936, __s2_936, 1, 0); \
66960 poly64x1_t __ret_844; \68316 poly64x1_t __ret_936; \
66961 __ret_844 = vset_lane_p64(__noswap_vgetq_lane_p64(__rev2_844, __p3_844), __s0_844, __p1_844); \68317 __ret_936 = vset_lane_p64(__noswap_vgetq_lane_p64(__rev2_936, __p3_936), __s0_936, __p1_936); \
66962 __ret_844; \68318 __ret_936; \
66963})68319})
66964#endif68320#endif
6696568321
66966#ifdef __LITTLE_ENDIAN__68322#ifdef __LITTLE_ENDIAN__
66967#define vcopy_laneq_f64(__p0_845, __p1_845, __p2_845, __p3_845) __extension__ ({ \68323#define vcopy_laneq_f64(__p0_937, __p1_937, __p2_937, __p3_937) __extension__ ({ \
66968 float64x1_t __s0_845 = __p0_845; \68324 float64x1_t __s0_937 = __p0_937; \
66969 float64x2_t __s2_845 = __p2_845; \68325 float64x2_t __s2_937 = __p2_937; \
66970 float64x1_t __ret_845; \68326 float64x1_t __ret_937; \
66971 __ret_845 = vset_lane_f64(vgetq_lane_f64(__s2_845, __p3_845), __s0_845, __p1_845); \68327 __ret_937 = vset_lane_f64(vgetq_lane_f64(__s2_937, __p3_937), __s0_937, __p1_937); \
66972 __ret_845; \68328 __ret_937; \
66973})68329})
66974#else68330#else
66975#define vcopy_laneq_f64(__p0_846, __p1_846, __p2_846, __p3_846) __extension__ ({ \68331#define vcopy_laneq_f64(__p0_938, __p1_938, __p2_938, __p3_938) __extension__ ({ \
66976 float64x1_t __s0_846 = __p0_846; \68332 float64x1_t __s0_938 = __p0_938; \
66977 float64x2_t __s2_846 = __p2_846; \68333 float64x2_t __s2_938 = __p2_938; \
66978 float64x2_t __rev2_846; __rev2_846 = __builtin_shufflevector(__s2_846, __s2_846, 1, 0); \68334 float64x2_t __rev2_938; __rev2_938 = __builtin_shufflevector(__s2_938, __s2_938, 1, 0); \
66979 float64x1_t __ret_846; \68335 float64x1_t __ret_938; \
66980 __ret_846 = vset_lane_f64(__noswap_vgetq_lane_f64(__rev2_846, __p3_846), __s0_846, __p1_846); \68336 __ret_938 = vset_lane_f64(__noswap_vgetq_lane_f64(__rev2_938, __p3_938), __s0_938, __p1_938); \
66981 __ret_846; \68337 __ret_938; \
66982})68338})
66983#endif68339#endif
6698468340
...@@ -67334,38 +68690,38 @@ __ai int32x4_t vmlsl_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2) {...@@ -67334,38 +68690,38 @@ __ai int32x4_t vmlsl_high_n_s16(int32x4_t __p0, int16x8_t __p1, int16_t __p2) {
67334}68690}
67335#endif68691#endif
6733668692
67337#define vmulx_lane_f64(__p0_847, __p1_847, __p2_847) __extension__ ({ \68693#define vmulx_lane_f64(__p0_939, __p1_939, __p2_939) __extension__ ({ \
67338 float64x1_t __s0_847 = __p0_847; \68694 float64x1_t __s0_939 = __p0_939; \
67339 float64x1_t __s1_847 = __p1_847; \68695 float64x1_t __s1_939 = __p1_939; \
67340 float64x1_t __ret_847; \68696 float64x1_t __ret_939; \
67341 float64_t __x_847 = vget_lane_f64(__s0_847, 0); \68697 float64_t __x_939 = vget_lane_f64(__s0_939, 0); \
67342 float64_t __y_847 = vget_lane_f64(__s1_847, __p2_847); \68698 float64_t __y_939 = vget_lane_f64(__s1_939, __p2_939); \
67343 float64_t __z_847 = vmulxd_f64(__x_847, __y_847); \68699 float64_t __z_939 = vmulxd_f64(__x_939, __y_939); \
67344 __ret_847 = vset_lane_f64(__z_847, __s0_847, __p2_847); \68700 __ret_939 = vset_lane_f64(__z_939, __s0_939, __p2_939); \
67345 __ret_847; \68701 __ret_939; \
67346})68702})
67347#ifdef __LITTLE_ENDIAN__68703#ifdef __LITTLE_ENDIAN__
67348#define vmulx_laneq_f64(__p0_848, __p1_848, __p2_848) __extension__ ({ \68704#define vmulx_laneq_f64(__p0_940, __p1_940, __p2_940) __extension__ ({ \
67349 float64x1_t __s0_848 = __p0_848; \68705 float64x1_t __s0_940 = __p0_940; \
67350 float64x2_t __s1_848 = __p1_848; \68706 float64x2_t __s1_940 = __p1_940; \
67351 float64x1_t __ret_848; \68707 float64x1_t __ret_940; \
67352 float64_t __x_848 = vget_lane_f64(__s0_848, 0); \68708 float64_t __x_940 = vget_lane_f64(__s0_940, 0); \
67353 float64_t __y_848 = vgetq_lane_f64(__s1_848, __p2_848); \68709 float64_t __y_940 = vgetq_lane_f64(__s1_940, __p2_940); \
67354 float64_t __z_848 = vmulxd_f64(__x_848, __y_848); \68710 float64_t __z_940 = vmulxd_f64(__x_940, __y_940); \
67355 __ret_848 = vset_lane_f64(__z_848, __s0_848, 0); \68711 __ret_940 = vset_lane_f64(__z_940, __s0_940, 0); \
67356 __ret_848; \68712 __ret_940; \
67357})68713})
67358#else68714#else
67359#define vmulx_laneq_f64(__p0_849, __p1_849, __p2_849) __extension__ ({ \68715#define vmulx_laneq_f64(__p0_941, __p1_941, __p2_941) __extension__ ({ \
67360 float64x1_t __s0_849 = __p0_849; \68716 float64x1_t __s0_941 = __p0_941; \
67361 float64x2_t __s1_849 = __p1_849; \68717 float64x2_t __s1_941 = __p1_941; \
67362 float64x2_t __rev1_849; __rev1_849 = __builtin_shufflevector(__s1_849, __s1_849, 1, 0); \68718 float64x2_t __rev1_941; __rev1_941 = __builtin_shufflevector(__s1_941, __s1_941, 1, 0); \
67363 float64x1_t __ret_849; \68719 float64x1_t __ret_941; \
67364 float64_t __x_849 = vget_lane_f64(__s0_849, 0); \68720 float64_t __x_941 = vget_lane_f64(__s0_941, 0); \
67365 float64_t __y_849 = __noswap_vgetq_lane_f64(__rev1_849, __p2_849); \68721 float64_t __y_941 = __noswap_vgetq_lane_f64(__rev1_941, __p2_941); \
67366 float64_t __z_849 = vmulxd_f64(__x_849, __y_849); \68722 float64_t __z_941 = vmulxd_f64(__x_941, __y_941); \
67367 __ret_849 = vset_lane_f64(__z_849, __s0_849, 0); \68723 __ret_941 = vset_lane_f64(__z_941, __s0_941, 0); \
67368 __ret_849; \68724 __ret_941; \
67369})68725})
67370#endif68726#endif
6737168727
lib/include/avx512fintrin.h+11-5
...@@ -9297,9 +9297,12 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)...@@ -9297,9 +9297,12 @@ _mm512_mask_abs_pd(__m512d __W, __mmask8 __K, __m512d __A)
92979297
9298/* Vector-reduction arithmetic accepts vectors as inputs and produces scalars as9298/* Vector-reduction arithmetic accepts vectors as inputs and produces scalars as
9299 * outputs. This class of vector operation forms the basis of many scientific9299 * outputs. This class of vector operation forms the basis of many scientific
9300 * computations. In vector-reduction arithmetic, the evaluation off is9300 * computations. In vector-reduction arithmetic, the evaluation order is
9301 * independent of the order of the input elements of V.9301 * independent of the order of the input elements of V.
93029302
9303 * For floating point types, we always assume the elements are reassociable even
9304 * if -fast-math is off.
9305
9303 * Used bisection method. At each step, we partition the vector with previous9306 * Used bisection method. At each step, we partition the vector with previous
9304 * step in half, and the operation is performed on its two halves.9307 * step in half, and the operation is performed on its two halves.
9305 * This takes log2(n) steps where n is the number of elements in the vector.9308 * This takes log2(n) steps where n is the number of elements in the vector.
...@@ -9345,8 +9348,11 @@ _mm512_mask_reduce_or_epi64(__mmask8 __M, __m512i __W) {...@@ -9345,8 +9348,11 @@ _mm512_mask_reduce_or_epi64(__mmask8 __M, __m512i __W) {
9345 return __builtin_ia32_reduce_or_q512(__W);9348 return __builtin_ia32_reduce_or_q512(__W);
9346}9349}
93479350
9351// -0.0 is used to ignore the start value since it is the neutral value of
9352// floating point addition. For more information, please refer to
9353// https://llvm.org/docs/LangRef.html#llvm-vector-reduce-fadd-intrinsic
9348static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_add_pd(__m512d __W) {9354static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_add_pd(__m512d __W) {
9349 return __builtin_ia32_reduce_fadd_pd512(0.0, __W);9355 return __builtin_ia32_reduce_fadd_pd512(-0.0, __W);
9350}9356}
93519357
9352static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_pd(__m512d __W) {9358static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_pd(__m512d __W) {
...@@ -9356,7 +9362,7 @@ static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_pd(__m512d __W)...@@ -9356,7 +9362,7 @@ static __inline__ double __DEFAULT_FN_ATTRS512 _mm512_reduce_mul_pd(__m512d __W)
9356static __inline__ double __DEFAULT_FN_ATTRS5129362static __inline__ double __DEFAULT_FN_ATTRS512
9357_mm512_mask_reduce_add_pd(__mmask8 __M, __m512d __W) {9363_mm512_mask_reduce_add_pd(__mmask8 __M, __m512d __W) {
9358 __W = _mm512_maskz_mov_pd(__M, __W);9364 __W = _mm512_maskz_mov_pd(__M, __W);
9359 return __builtin_ia32_reduce_fadd_pd512(0.0, __W);9365 return __builtin_ia32_reduce_fadd_pd512(-0.0, __W);
9360}9366}
93619367
9362static __inline__ double __DEFAULT_FN_ATTRS5129368static __inline__ double __DEFAULT_FN_ATTRS512
...@@ -9411,7 +9417,7 @@ _mm512_mask_reduce_or_epi32(__mmask16 __M, __m512i __W) {...@@ -9411,7 +9417,7 @@ _mm512_mask_reduce_or_epi32(__mmask16 __M, __m512i __W) {
94119417
9412static __inline__ float __DEFAULT_FN_ATTRS5129418static __inline__ float __DEFAULT_FN_ATTRS512
9413_mm512_reduce_add_ps(__m512 __W) {9419_mm512_reduce_add_ps(__m512 __W) {
9414 return __builtin_ia32_reduce_fadd_ps512(0.0f, __W);9420 return __builtin_ia32_reduce_fadd_ps512(-0.0f, __W);
9415}9421}
94169422
9417static __inline__ float __DEFAULT_FN_ATTRS5129423static __inline__ float __DEFAULT_FN_ATTRS512
...@@ -9422,7 +9428,7 @@ _mm512_reduce_mul_ps(__m512 __W) {...@@ -9422,7 +9428,7 @@ _mm512_reduce_mul_ps(__m512 __W) {
9422static __inline__ float __DEFAULT_FN_ATTRS5129428static __inline__ float __DEFAULT_FN_ATTRS512
9423_mm512_mask_reduce_add_ps(__mmask16 __M, __m512 __W) {9429_mm512_mask_reduce_add_ps(__mmask16 __M, __m512 __W) {
9424 __W = _mm512_maskz_mov_ps(__M, __W);9430 __W = _mm512_maskz_mov_ps(__M, __W);
9425 return __builtin_ia32_reduce_fadd_ps512(0.0f, __W);9431 return __builtin_ia32_reduce_fadd_ps512(-0.0f, __W);
9426}9432}
94279433
9428static __inline__ float __DEFAULT_FN_ATTRS5129434static __inline__ float __DEFAULT_FN_ATTRS512
lib/include/avxintrin.h+3-3
...@@ -2245,7 +2245,7 @@ _mm256_cvttps_epi32(__m256 __a)...@@ -2245,7 +2245,7 @@ _mm256_cvttps_epi32(__m256 __a)
22452245
2246/// Returns the first element of the input vector of [4 x double].2246/// Returns the first element of the input vector of [4 x double].
2247///2247///
2248/// \headerfile <avxintrin.h>2248/// \headerfile <x86intrin.h>
2249///2249///
2250/// This intrinsic is a utility function and does not correspond to a specific2250/// This intrinsic is a utility function and does not correspond to a specific
2251/// instruction.2251/// instruction.
...@@ -2261,7 +2261,7 @@ _mm256_cvtsd_f64(__m256d __a)...@@ -2261,7 +2261,7 @@ _mm256_cvtsd_f64(__m256d __a)
22612261
2262/// Returns the first element of the input vector of [8 x i32].2262/// Returns the first element of the input vector of [8 x i32].
2263///2263///
2264/// \headerfile <avxintrin.h>2264/// \headerfile <x86intrin.h>
2265///2265///
2266/// This intrinsic is a utility function and does not correspond to a specific2266/// This intrinsic is a utility function and does not correspond to a specific
2267/// instruction.2267/// instruction.
...@@ -2278,7 +2278,7 @@ _mm256_cvtsi256_si32(__m256i __a)...@@ -2278,7 +2278,7 @@ _mm256_cvtsi256_si32(__m256i __a)
22782278
2279/// Returns the first element of the input vector of [8 x float].2279/// Returns the first element of the input vector of [8 x float].
2280///2280///
2281/// \headerfile <avxintrin.h>2281/// \headerfile <x86intrin.h>
2282///2282///
2283/// This intrinsic is a utility function and does not correspond to a specific2283/// This intrinsic is a utility function and does not correspond to a specific
2284/// instruction.2284/// instruction.
lib/include/cuda_wrappers/algorithm+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/*===---- complex - CUDA wrapper for <algorithm> ----------------------------===1/*===---- algorithm - CUDA wrapper for <algorithm> -------------------------===
2 *2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to deal4 * of this software and associated documentation files (the "Software"), to deal
lib/include/cuda_wrappers/new+1-1
...@@ -1,4 +1,4 @@...@@ -1,4 +1,4 @@
1/*===---- complex - CUDA wrapper for <new> ------------------------------===1/*===---- new - CUDA wrapper for <new> -------------------------------------===
2 *2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to deal4 * of this software and associated documentation files (the "Software"), to deal
lib/include/emmintrin.h+1-1
...@@ -4025,7 +4025,7 @@ _mm_storeu_si128(__m128i_u *__p, __m128i __b)...@@ -4025,7 +4025,7 @@ _mm_storeu_si128(__m128i_u *__p, __m128i __b)
4025///4025///
4026/// \param __p4026/// \param __p
4027/// A pointer to a 64-bit memory location. The address of the memory4027/// A pointer to a 64-bit memory location. The address of the memory
4028/// location does not have to be algned.4028/// location does not have to be aligned.
4029/// \param __b4029/// \param __b
4030/// A 128-bit integer vector containing the value to be stored.4030/// A 128-bit integer vector containing the value to be stored.
4031static __inline__ void __DEFAULT_FN_ATTRS4031static __inline__ void __DEFAULT_FN_ATTRS
lib/libcxx/include/__bit_reference+15-15
...@@ -11,7 +11,7 @@...@@ -11,7 +11,7 @@
11#define _LIBCPP___BIT_REFERENCE11#define _LIBCPP___BIT_REFERENCE
1212
13#include <__config>13#include <__config>
14#include <bit>14#include <__bits>
15#include <algorithm>15#include <algorithm>
1616
17#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)17#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
...@@ -239,8 +239,8 @@ __bit_iterator<_Cp, _IsConst>...@@ -239,8 +239,8 @@ __bit_iterator<_Cp, _IsConst>
239find(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)239find(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
240{240{
241 if (static_cast<bool>(__value_))241 if (static_cast<bool>(__value_))
242 return __find_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));242 return _VSTD::__find_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
243 return __find_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));243 return _VSTD::__find_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
244}244}
245245
246// count246// count
...@@ -313,8 +313,8 @@ typename __bit_iterator<_Cp, _IsConst>::difference_type...@@ -313,8 +313,8 @@ typename __bit_iterator<_Cp, _IsConst>::difference_type
313count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)313count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
314{314{
315 if (static_cast<bool>(__value_))315 if (static_cast<bool>(__value_))
316 return __count_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));316 return _VSTD::__count_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
317 return __count_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));317 return _VSTD::__count_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
318}318}
319319
320// fill_n320// fill_n
...@@ -387,9 +387,9 @@ fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __v...@@ -387,9 +387,9 @@ fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __v
387 if (__n > 0)387 if (__n > 0)
388 {388 {
389 if (__value_)389 if (__value_)
390 __fill_n_true(__first, __n);390 _VSTD::__fill_n_true(__first, __n);
391 else391 else
392 __fill_n_false(__first, __n);392 _VSTD::__fill_n_false(__first, __n);
393 }393 }
394}394}
395395
...@@ -538,8 +538,8 @@ __bit_iterator<_Cp, false>...@@ -538,8 +538,8 @@ __bit_iterator<_Cp, false>
538copy(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)538copy(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
539{539{
540 if (__first.__ctz_ == __result.__ctz_)540 if (__first.__ctz_ == __result.__ctz_)
541 return __copy_aligned(__first, __last, __result);541 return _VSTD::__copy_aligned(__first, __last, __result);
542 return __copy_unaligned(__first, __last, __result);542 return _VSTD::__copy_unaligned(__first, __last, __result);
543}543}
544544
545// copy_backward545// copy_backward
...@@ -685,8 +685,8 @@ __bit_iterator<_Cp, false>...@@ -685,8 +685,8 @@ __bit_iterator<_Cp, false>
685copy_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)685copy_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
686{686{
687 if (__last.__ctz_ == __result.__ctz_)687 if (__last.__ctz_ == __result.__ctz_)
688 return __copy_backward_aligned(__first, __last, __result);688 return _VSTD::__copy_backward_aligned(__first, __last, __result);
689 return __copy_backward_unaligned(__first, __last, __result);689 return _VSTD::__copy_backward_unaligned(__first, __last, __result);
690}690}
691691
692// move692// move
...@@ -868,8 +868,8 @@ swap_ranges(__bit_iterator<__C1, false> __first1, __bit_iterator<__C1, false> __...@@ -868,8 +868,8 @@ swap_ranges(__bit_iterator<__C1, false> __first1, __bit_iterator<__C1, false> __
868 __bit_iterator<__C2, false> __first2)868 __bit_iterator<__C2, false> __first2)
869{869{
870 if (__first1.__ctz_ == __first2.__ctz_)870 if (__first1.__ctz_ == __first2.__ctz_)
871 return __swap_ranges_aligned(__first1, __last1, __first2);871 return _VSTD::__swap_ranges_aligned(__first1, __last1, __first2);
872 return __swap_ranges_unaligned(__first1, __last1, __first2);872 return _VSTD::__swap_ranges_unaligned(__first1, __last1, __first2);
873}873}
874874
875// rotate875// rotate
...@@ -1083,8 +1083,8 @@ bool...@@ -1083,8 +1083,8 @@ bool
1083equal(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1, __bit_iterator<_Cp, _IC2> __first2)1083equal(__bit_iterator<_Cp, _IC1> __first1, __bit_iterator<_Cp, _IC1> __last1, __bit_iterator<_Cp, _IC2> __first2)
1084{1084{
1085 if (__first1.__ctz_ == __first2.__ctz_)1085 if (__first1.__ctz_ == __first2.__ctz_)
1086 return __equal_aligned(__first1, __last1, __first2);1086 return _VSTD::__equal_aligned(__first1, __last1, __first2);
1087 return __equal_unaligned(__first1, __last1, __first2);1087 return _VSTD::__equal_unaligned(__first1, __last1, __first2);
1088}1088}
10891089
1090template <class _Cp, bool _IsConst,1090template <class _Cp, bool _IsConst,
lib/libcxx/include/__bits created+146
...@@ -0,0 +1,146 @@
1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP___BITS
11#define _LIBCPP___BITS
12
13#include <__config>
14
15#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
16#pragma GCC system_header
17#endif
18
19_LIBCPP_PUSH_MACROS
20#include <__undef_macros>
21
22
23_LIBCPP_BEGIN_NAMESPACE_STD
24
25#ifndef _LIBCPP_COMPILER_MSVC
26
27inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
28int __libcpp_ctz(unsigned __x) _NOEXCEPT { return __builtin_ctz(__x); }
29
30inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
31int __libcpp_ctz(unsigned long __x) _NOEXCEPT { return __builtin_ctzl(__x); }
32
33inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
34int __libcpp_ctz(unsigned long long __x) _NOEXCEPT { return __builtin_ctzll(__x); }
35
36
37inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
38int __libcpp_clz(unsigned __x) _NOEXCEPT { return __builtin_clz(__x); }
39
40inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
41int __libcpp_clz(unsigned long __x) _NOEXCEPT { return __builtin_clzl(__x); }
42
43inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
44int __libcpp_clz(unsigned long long __x) _NOEXCEPT { return __builtin_clzll(__x); }
45
46
47inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
48int __libcpp_popcount(unsigned __x) _NOEXCEPT { return __builtin_popcount(__x); }
49
50inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
51int __libcpp_popcount(unsigned long __x) _NOEXCEPT { return __builtin_popcountl(__x); }
52
53inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
54int __libcpp_popcount(unsigned long long __x) _NOEXCEPT { return __builtin_popcountll(__x); }
55
56#else // _LIBCPP_COMPILER_MSVC
57
58// Precondition: __x != 0
59inline _LIBCPP_INLINE_VISIBILITY
60int __libcpp_ctz(unsigned __x) {
61 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
62 static_assert(sizeof(unsigned long) == 4, "");
63 unsigned long __where;
64 if (_BitScanForward(&__where, __x))
65 return static_cast<int>(__where);
66 return 32;
67}
68
69inline _LIBCPP_INLINE_VISIBILITY
70int __libcpp_ctz(unsigned long __x) {
71 static_assert(sizeof(unsigned long) == sizeof(unsigned), "");
72 return __ctz(static_cast<unsigned>(__x));
73}
74
75inline _LIBCPP_INLINE_VISIBILITY
76int __libcpp_ctz(unsigned long long __x) {
77 unsigned long __where;
78#if defined(_LIBCPP_HAS_BITSCAN64)
79 (defined(_M_AMD64) || defined(__x86_64__))
80 if (_BitScanForward64(&__where, __x))
81 return static_cast<int>(__where);
82#else
83 // Win32 doesn't have _BitScanForward64 so emulate it with two 32 bit calls.
84 if (_BitScanForward(&__where, static_cast<unsigned long>(__x)))
85 return static_cast<int>(__where);
86 if (_BitScanForward(&__where, static_cast<unsigned long>(__x >> 32)))
87 return static_cast<int>(__where + 32);
88#endif
89 return 64;
90}
91
92// Precondition: __x != 0
93inline _LIBCPP_INLINE_VISIBILITY
94int __libcpp_clz(unsigned __x) {
95 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
96 static_assert(sizeof(unsigned long) == 4, "");
97 unsigned long __where;
98 if (_BitScanReverse(&__where, __x))
99 return static_cast<int>(31 - __where);
100 return 32; // Undefined Behavior.
101}
102
103inline _LIBCPP_INLINE_VISIBILITY
104int __libcpp_clz(unsigned long __x) {
105 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
106 return __libcpp_clz(static_cast<unsigned>(__x));
107}
108
109inline _LIBCPP_INLINE_VISIBILITY
110int __libcpp_clz(unsigned long long __x) {
111 unsigned long __where;
112#if defined(_LIBCPP_HAS_BITSCAN64)
113 if (_BitScanReverse64(&__where, __x))
114 return static_cast<int>(63 - __where);
115#else
116 // Win32 doesn't have _BitScanReverse64 so emulate it with two 32 bit calls.
117 if (_BitScanReverse(&__where, static_cast<unsigned long>(__x >> 32)))
118 return static_cast<int>(63 - (__where + 32));
119 if (_BitScanReverse(&__where, static_cast<unsigned long>(__x)))
120 return static_cast<int>(63 - __where);
121#endif
122 return 64; // Undefined Behavior.
123}
124
125inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned __x) {
126 static_assert(sizeof(unsigned) == 4, "");
127 return __popcnt(__x);
128}
129
130inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long __x) {
131 static_assert(sizeof(unsigned long) == 4, "");
132 return __popcnt(__x);
133}
134
135inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long long __x) {
136 static_assert(sizeof(unsigned long long) == 8, "");
137 return __popcnt64(__x);
138}
139
140#endif // _LIBCPP_COMPILER_MSVC
141
142_LIBCPP_END_NAMESPACE_STD
143
144_LIBCPP_POP_MACROS
145
146#endif // _LIBCPP__BITS
lib/libcxx/include/__config+30-11
...@@ -49,8 +49,10 @@...@@ -49,8 +49,10 @@
49# define _LIBCPP_STD_VER 1449# define _LIBCPP_STD_VER 14
50# elif __cplusplus <= 201703L50# elif __cplusplus <= 201703L
51# define _LIBCPP_STD_VER 1751# define _LIBCPP_STD_VER 17
52# elif __cplusplus <= 202002L
53# define _LIBCPP_STD_VER 20
52# else54# else
53# define _LIBCPP_STD_VER 18 // current year, or date of c++2a ratification55# define _LIBCPP_STD_VER 21 // current year, or date of c++2b ratification
54# endif56# endif
55#endif // _LIBCPP_STD_VER57#endif // _LIBCPP_STD_VER
5658
...@@ -262,14 +264,14 @@...@@ -262,14 +264,14 @@
262# endif // __LONG_LONG_SUPPORTED264# endif // __LONG_LONG_SUPPORTED
263#endif // __FreeBSD__265#endif // __FreeBSD__
264266
265#ifdef __NetBSD__267#if defined(__NetBSD__) || defined(__OpenBSD__)
266# include <sys/endian.h>268# include <sys/endian.h>
267# if _BYTE_ORDER == _LITTLE_ENDIAN269# if _BYTE_ORDER == _LITTLE_ENDIAN
268# define _LIBCPP_LITTLE_ENDIAN270# define _LIBCPP_LITTLE_ENDIAN
269# else // _BYTE_ORDER == _LITTLE_ENDIAN271# else // _BYTE_ORDER == _LITTLE_ENDIAN
270# define _LIBCPP_BIG_ENDIAN272# define _LIBCPP_BIG_ENDIAN
271# endif // _BYTE_ORDER == _LITTLE_ENDIAN273# endif // _BYTE_ORDER == _LITTLE_ENDIAN
272#endif // __NetBSD__274#endif // defined(__NetBSD__) || defined(__OpenBSD__)
273275
274#if defined(_WIN32)276#if defined(_WIN32)
275# define _LIBCPP_WIN32API277# define _LIBCPP_WIN32API
...@@ -310,7 +312,7 @@...@@ -310,7 +312,7 @@
310# endif312# endif
311#endif // __sun__313#endif // __sun__
312314
313#if defined(__CloudABI__)315#if defined(__OpenBSD__) || defined(__CloudABI__)
314 // Certain architectures provide arc4random(). Prefer using316 // Certain architectures provide arc4random(). Prefer using
315 // arc4random() over /dev/{u,}random to make it possible to obtain317 // arc4random() over /dev/{u,}random to make it possible to obtain
316 // random data even when using sandboxing mechanisms such as chroots,318 // random data even when using sandboxing mechanisms such as chroots,
...@@ -368,6 +370,9 @@...@@ -368,6 +370,9 @@
368# define _LIBCPP_HAS_ALIGNED_ALLOC370# define _LIBCPP_HAS_ALIGNED_ALLOC
369# define _LIBCPP_HAS_QUICK_EXIT371# define _LIBCPP_HAS_QUICK_EXIT
370# define _LIBCPP_HAS_TIMESPEC_GET372# define _LIBCPP_HAS_TIMESPEC_GET
373# elif defined(__OpenBSD__)
374# define _LIBCPP_HAS_ALIGNED_ALLOC
375# define _LIBCPP_HAS_TIMESPEC_GET
371# elif defined(__linux__)376# elif defined(__linux__)
372# if !defined(_LIBCPP_HAS_MUSL_LIBC)377# if !defined(_LIBCPP_HAS_MUSL_LIBC)
373# if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)378# if _LIBCPP_GLIBC_PREREQ(2, 15) || defined(__BIONIC__)
...@@ -713,7 +718,7 @@ typedef __char32_t char32_t;...@@ -713,7 +718,7 @@ typedef __char32_t char32_t;
713#endif718#endif
714719
715#ifndef _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS720#ifndef _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
716# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)721# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
717# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __attribute__ ((__visibility__("default")))722# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __attribute__ ((__visibility__("default")))
718# else723# else
719# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS724# define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
...@@ -880,18 +885,30 @@ typedef unsigned int char32_t;...@@ -880,18 +885,30 @@ typedef unsigned int char32_t;
880#endif885#endif
881886
882// _LIBCPP_DEBUG_LEVEL is always defined to one of [0, 1, 2] at this point887// _LIBCPP_DEBUG_LEVEL is always defined to one of [0, 1, 2] at this point
883#if _LIBCPP_DEBUG_LEVEL >= 1888#if _LIBCPP_DEBUG_LEVEL >= 1 && !defined(_LIBCPP_DISABLE_EXTERN_TEMPLATE)
884# define _LIBCPP_DISABLE_EXTERN_TEMPLATE889# define _LIBCPP_EXTERN_TEMPLATE(...)
885#endif890#endif
886891
887#ifdef _LIBCPP_DISABLE_EXTERN_TEMPLATE892#ifdef _LIBCPP_DISABLE_EXTERN_TEMPLATE
888#define _LIBCPP_EXTERN_TEMPLATE(...)893# define _LIBCPP_EXTERN_TEMPLATE(...)
894# define _LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(...)
889#endif895#endif
890896
891#ifndef _LIBCPP_EXTERN_TEMPLATE897#ifndef _LIBCPP_EXTERN_TEMPLATE
892#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;898#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;
893#endif899#endif
894900
901// When the Debug mode is enabled, we disable extern declarations because we
902// don't want to use the functions compiled in the library, which might not
903// have had the debug mode enabled when built. However, some extern declarations
904// need to be used, because code correctness depends on it (several instances
905// in the <locale>). Those special declarations are declared with
906// _LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE, which is enabled even
907// when the debug mode is enabled.
908#ifndef _LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE
909# define _LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(...) extern template __VA_ARGS__;
910#endif
911
895#ifndef _LIBCPP_EXTERN_TEMPLATE_DEFINE912#ifndef _LIBCPP_EXTERN_TEMPLATE_DEFINE
896#define _LIBCPP_EXTERN_TEMPLATE_DEFINE(...) template __VA_ARGS__;913#define _LIBCPP_EXTERN_TEMPLATE_DEFINE(...) template __VA_ARGS__;
897#endif914#endif
...@@ -1082,7 +1099,7 @@ typedef unsigned int char32_t;...@@ -1082,7 +1099,7 @@ typedef unsigned int char32_t;
1082#endif1099#endif
10831100
1084#ifndef _LIBCPP_HAS_NO_ASAN1101#ifndef _LIBCPP_HAS_NO_ASAN
1085_LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(1102extern "C" _LIBCPP_FUNC_VIS void __sanitizer_annotate_contiguous_container(
1086 const void *, const void *, const void *, const void *);1103 const void *, const void *, const void *, const void *);
1087#endif1104#endif
10881105
...@@ -1107,6 +1124,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(...@@ -1107,6 +1124,7 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
1107# if defined(__FreeBSD__) || \1124# if defined(__FreeBSD__) || \
1108 defined(__wasi__) || \1125 defined(__wasi__) || \
1109 defined(__NetBSD__) || \1126 defined(__NetBSD__) || \
1127 defined(__OpenBSD__) || \
1110 defined(__NuttX__) || \1128 defined(__NuttX__) || \
1111 defined(__linux__) || \1129 defined(__linux__) || \
1112 defined(__GNU__) || \1130 defined(__GNU__) || \
...@@ -1202,14 +1220,15 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(...@@ -1202,14 +1220,15 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
1202// Some systems do not provide gets() in their C library, for security reasons.1220// Some systems do not provide gets() in their C library, for security reasons.
1203#ifndef _LIBCPP_C_HAS_NO_GETS1221#ifndef _LIBCPP_C_HAS_NO_GETS
1204# if defined(_LIBCPP_MSVCRT) || \1222# if defined(_LIBCPP_MSVCRT) || \
1205 (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043)1223 (defined(__FreeBSD_version) && __FreeBSD_version >= 1300043) || \
1224 defined(__OpenBSD__)
1206# define _LIBCPP_C_HAS_NO_GETS1225# define _LIBCPP_C_HAS_NO_GETS
1207# endif1226# endif
1208#endif1227#endif
12091228
1210#if defined(__BIONIC__) || defined(__CloudABI__) || defined(__NuttX__) || \1229#if defined(__BIONIC__) || defined(__CloudABI__) || defined(__NuttX__) || \
1211 defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) || \1230 defined(__Fuchsia__) || defined(__wasi__) || defined(_LIBCPP_HAS_MUSL_LIBC) || \
1212 defined(__MVS__)1231 defined(__MVS__) || defined(__OpenBSD__)
1213#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE1232#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
1214#endif1233#endif
12151234
lib/libcxx/include/__config_site.in+1
...@@ -30,6 +30,7 @@...@@ -30,6 +30,7 @@
30#cmakedefine _LIBCPP_NO_VCRUNTIME30#cmakedefine _LIBCPP_NO_VCRUNTIME
31#cmakedefine _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION @_LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION@31#cmakedefine _LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION @_LIBCPP_TYPEINFO_COMPARISON_IMPLEMENTATION@
32#cmakedefine _LIBCPP_ABI_NAMESPACE @_LIBCPP_ABI_NAMESPACE@32#cmakedefine _LIBCPP_ABI_NAMESPACE @_LIBCPP_ABI_NAMESPACE@
33#cmakedefine _LIBCPP_HAS_NO_FILESYSTEM_LIBRARY
33#cmakedefine _LIBCPP_HAS_PARALLEL_ALGORITHMS34#cmakedefine _LIBCPP_HAS_PARALLEL_ALGORITHMS
34#cmakedefine _LIBCPP_HAS_NO_RANDOM_DEVICE35#cmakedefine _LIBCPP_HAS_NO_RANDOM_DEVICE
35#cmakedefine _LIBCPP_HAS_NO_LOCALIZATION36#cmakedefine _LIBCPP_HAS_NO_LOCALIZATION
lib/libcxx/include/__functional_base+14-11
...@@ -308,7 +308,7 @@ struct __invoke_return...@@ -308,7 +308,7 @@ struct __invoke_return
308#endif // !defined(_LIBCPP_CXX03_LANG)308#endif // !defined(_LIBCPP_CXX03_LANG)
309309
310310
311template <class _Ret>311template <class _Ret, bool = is_void<_Ret>::value>
312struct __invoke_void_return_wrapper312struct __invoke_void_return_wrapper
313{313{
314#ifndef _LIBCPP_CXX03_LANG314#ifndef _LIBCPP_CXX03_LANG
...@@ -339,8 +339,8 @@ struct __invoke_void_return_wrapper...@@ -339,8 +339,8 @@ struct __invoke_void_return_wrapper
339#endif339#endif
340};340};
341341
342template <>342template <class _Ret>
343struct __invoke_void_return_wrapper<void>343struct __invoke_void_return_wrapper<_Ret, true>
344{344{
345#ifndef _LIBCPP_CXX03_LANG345#ifndef _LIBCPP_CXX03_LANG
346 template <class ..._Args>346 template <class ..._Args>
...@@ -382,20 +382,23 @@ private:...@@ -382,20 +382,23 @@ private:
382382
383public:383public:
384 // construct/copy/destroy384 // construct/copy/destroy
385 _LIBCPP_INLINE_VISIBILITY reference_wrapper(type& __f) _NOEXCEPT385 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
386 reference_wrapper(type& __f) _NOEXCEPT
386 : __f_(_VSTD::addressof(__f)) {}387 : __f_(_VSTD::addressof(__f)) {}
387#ifndef _LIBCPP_CXX03_LANG388#ifndef _LIBCPP_CXX03_LANG
388 private: reference_wrapper(type&&); public: // = delete; // do not bind to temps389 private: reference_wrapper(type&&); public: // = delete; // do not bind to temps
389#endif390#endif
390391
391 // access392 // access
392 _LIBCPP_INLINE_VISIBILITY operator type& () const _NOEXCEPT {return *__f_;}393 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
393 _LIBCPP_INLINE_VISIBILITY type& get() const _NOEXCEPT {return *__f_;}394 operator type&() const _NOEXCEPT {return *__f_;}
395 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
396 type& get() const _NOEXCEPT {return *__f_;}
394397
395#ifndef _LIBCPP_CXX03_LANG398#ifndef _LIBCPP_CXX03_LANG
396 // invoke399 // invoke
397 template <class... _ArgTypes>400 template <class... _ArgTypes>
398 _LIBCPP_INLINE_VISIBILITY401 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
399 typename __invoke_of<type&, _ArgTypes...>::type402 typename __invoke_of<type&, _ArgTypes...>::type
400 operator() (_ArgTypes&&... __args) const {403 operator() (_ArgTypes&&... __args) const {
401 return _VSTD::__invoke(get(), _VSTD::forward<_ArgTypes>(__args)...);404 return _VSTD::__invoke(get(), _VSTD::forward<_ArgTypes>(__args)...);
...@@ -510,7 +513,7 @@ public:...@@ -510,7 +513,7 @@ public:
510513
511514
512template <class _Tp>515template <class _Tp>
513inline _LIBCPP_INLINE_VISIBILITY516inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
514reference_wrapper<_Tp>517reference_wrapper<_Tp>
515ref(_Tp& __t) _NOEXCEPT518ref(_Tp& __t) _NOEXCEPT
516{519{
...@@ -518,7 +521,7 @@ ref(_Tp& __t) _NOEXCEPT...@@ -518,7 +521,7 @@ ref(_Tp& __t) _NOEXCEPT
518}521}
519522
520template <class _Tp>523template <class _Tp>
521inline _LIBCPP_INLINE_VISIBILITY524inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
522reference_wrapper<_Tp>525reference_wrapper<_Tp>
523ref(reference_wrapper<_Tp> __t) _NOEXCEPT526ref(reference_wrapper<_Tp> __t) _NOEXCEPT
524{527{
...@@ -526,7 +529,7 @@ ref(reference_wrapper<_Tp> __t) _NOEXCEPT...@@ -526,7 +529,7 @@ ref(reference_wrapper<_Tp> __t) _NOEXCEPT
526}529}
527530
528template <class _Tp>531template <class _Tp>
529inline _LIBCPP_INLINE_VISIBILITY532inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
530reference_wrapper<const _Tp>533reference_wrapper<const _Tp>
531cref(const _Tp& __t) _NOEXCEPT534cref(const _Tp& __t) _NOEXCEPT
532{535{
...@@ -534,7 +537,7 @@ cref(const _Tp& __t) _NOEXCEPT...@@ -534,7 +537,7 @@ cref(const _Tp& __t) _NOEXCEPT
534}537}
535538
536template <class _Tp>539template <class _Tp>
537inline _LIBCPP_INLINE_VISIBILITY540inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
538reference_wrapper<const _Tp>541reference_wrapper<const _Tp>
539cref(reference_wrapper<_Tp> __t) _NOEXCEPT542cref(reference_wrapper<_Tp> __t) _NOEXCEPT
540{543{
lib/libcxx/include/__locale+21-19
...@@ -21,28 +21,30 @@...@@ -21,28 +21,30 @@
21#include <locale.h>21#include <locale.h>
22#if defined(_LIBCPP_MSVCRT_LIKE)22#if defined(_LIBCPP_MSVCRT_LIKE)
23# include <cstring>23# include <cstring>
24# include <support/win32/locale_win32.h>24# include <__support/win32/locale_win32.h>
25#elif defined(__NuttX__)25#elif defined(__NuttX__)
26# include <support/nuttx/xlocale.h>26# include <__support/nuttx/xlocale.h>
27#elif defined(_AIX) || defined(__MVS__)27#elif defined(_AIX) || defined(__MVS__)
28# include <support/ibm/xlocale.h>28# include <__support/ibm/xlocale.h>
29#elif defined(__ANDROID__)29#elif defined(__ANDROID__)
30# include <support/android/locale_bionic.h>30# include <__support/android/locale_bionic.h>
31#elif defined(__sun__)31#elif defined(__sun__)
32# include <xlocale.h>32# include <xlocale.h>
33# include <support/solaris/xlocale.h>33# include <__support/solaris/xlocale.h>
34#elif defined(_NEWLIB_VERSION)34#elif defined(_NEWLIB_VERSION)
35# include <support/newlib/xlocale.h>35# include <__support/newlib/xlocale.h>
36#elif defined(__OpenBSD__)
37# include <__support/openbsd/xlocale.h>
36#elif (defined(__APPLE__) || defined(__FreeBSD__) \38#elif (defined(__APPLE__) || defined(__FreeBSD__) \
37 || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))39 || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
38# include <xlocale.h>40# include <xlocale.h>
39#elif defined(__Fuchsia__)41#elif defined(__Fuchsia__)
40# include <support/fuchsia/xlocale.h>42# include <__support/fuchsia/xlocale.h>
41#elif defined(__wasi__)43#elif defined(__wasi__)
42// WASI libc uses musl's locales support.44// WASI libc uses musl's locales support.
43# include <support/musl/xlocale.h>45# include <__support/musl/xlocale.h>
44#elif defined(_LIBCPP_HAS_MUSL_LIBC)46#elif defined(_LIBCPP_HAS_MUSL_LIBC)
45# include <support/musl/xlocale.h>47# include <__support/musl/xlocale.h>
46#endif48#endif
4749
48#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)50#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
...@@ -337,8 +339,8 @@ collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const...@@ -337,8 +339,8 @@ collate<_CharT>::do_hash(const char_type* __lo, const char_type* __hi) const
337 return static_cast<long>(__h);339 return static_cast<long>(__h);
338}340}
339341
340_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<char>)342_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<char>)
341_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<wchar_t>)343_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS collate<wchar_t>)
342344
343// template <class CharT> class collate_byname;345// template <class CharT> class collate_byname;
344346
...@@ -1076,7 +1078,7 @@ protected:...@@ -1076,7 +1078,7 @@ protected:
1076// template <> class codecvt<char16_t, char, mbstate_t> // deprecated in C++201078// template <> class codecvt<char16_t, char, mbstate_t> // deprecated in C++20
10771079
1078template <>1080template <>
1079class _LIBCPP_TYPE_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt<char16_t, char, mbstate_t>1081class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_TYPE_VIS codecvt<char16_t, char, mbstate_t>
1080 : public locale::facet,1082 : public locale::facet,
1081 public codecvt_base1083 public codecvt_base
1082{1084{
...@@ -1252,7 +1254,7 @@ protected:...@@ -1252,7 +1254,7 @@ protected:
1252// template <> class codecvt<char32_t, char, mbstate_t> // deprecated in C++201254// template <> class codecvt<char32_t, char, mbstate_t> // deprecated in C++20
12531255
1254template <>1256template <>
1255class _LIBCPP_TYPE_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt<char32_t, char, mbstate_t>1257class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_TYPE_VIS codecvt<char32_t, char, mbstate_t>
1256 : public locale::facet,1258 : public locale::facet,
1257 public codecvt_base1259 public codecvt_base
1258{1260{
...@@ -1449,13 +1451,13 @@ codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()...@@ -1449,13 +1451,13 @@ codecvt_byname<_InternT, _ExternT, _StateT>::~codecvt_byname()
1449}1451}
1450_LIBCPP_SUPPRESS_DEPRECATED_POP1452_LIBCPP_SUPPRESS_DEPRECATED_POP
14511453
1452_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char, char, mbstate_t>)1454_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char, char, mbstate_t>)
1453_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<wchar_t, char, mbstate_t>)1455_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<wchar_t, char, mbstate_t>)
1454_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt_byname<char16_t, char, mbstate_t>) // deprecated in C++201456_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char16_t, char, mbstate_t>) // deprecated in C++20
1455_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt_byname<char32_t, char, mbstate_t>) // deprecated in C++201457_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char32_t, char, mbstate_t>) // deprecated in C++20
1456#ifndef _LIBCPP_NO_HAS_CHAR8_T1458#ifndef _LIBCPP_NO_HAS_CHAR8_T
1457_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char16_t, char8_t, mbstate_t>) // C++201459_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char16_t, char8_t, mbstate_t>) // C++20
1458_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char32_t, char8_t, mbstate_t>) // C++201460_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS codecvt_byname<char32_t, char8_t, mbstate_t>) // C++20
1459#endif1461#endif
14601462
1461template <size_t _Np>1463template <size_t _Np>
lib/libcxx/include/__memory/allocator_traits.h+265-453
...@@ -24,564 +24,376 @@ _LIBCPP_PUSH_MACROS...@@ -24,564 +24,376 @@ _LIBCPP_PUSH_MACROS
2424
25_LIBCPP_BEGIN_NAMESPACE_STD25_LIBCPP_BEGIN_NAMESPACE_STD
2626
27template <class _Tp, class = void>27#define _LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(NAME, PROPERTY) \
28struct __has_pointer_type : false_type {};28 template <class _Tp, class = void> struct NAME : false_type { }; \
2929 template <class _Tp> struct NAME<_Tp, typename __void_t<typename _Tp:: PROPERTY >::type> : true_type { }
30template <class _Tp>30
31struct __has_pointer_type<_Tp,31// __pointer
32 typename __void_t<typename _Tp::pointer>::type> : true_type {};32_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_pointer, pointer);
3333template <class _Tp, class _Alloc,
34namespace __pointer_type_imp34 class _RawAlloc = typename remove_reference<_Alloc>::type,
35{35 bool = __has_pointer<_RawAlloc>::value>
3636struct __pointer {
37template <class _Tp, class _Dp, bool = __has_pointer_type<_Dp>::value>37 using type _LIBCPP_NODEBUG_TYPE = typename _RawAlloc::pointer;
38struct __pointer_type38};
39{39template <class _Tp, class _Alloc, class _RawAlloc>
40 typedef _LIBCPP_NODEBUG_TYPE typename _Dp::pointer type;40struct __pointer<_Tp, _Alloc, _RawAlloc, false> {
41};41 using type _LIBCPP_NODEBUG_TYPE = _Tp*;
4242};
43template <class _Tp, class _Dp>43
44struct __pointer_type<_Tp, _Dp, false>44// __const_pointer
45{45_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_const_pointer, const_pointer);
46 typedef _LIBCPP_NODEBUG_TYPE _Tp* type;46template <class _Tp, class _Ptr, class _Alloc,
47};47 bool = __has_const_pointer<_Alloc>::value>
4848struct __const_pointer {
49} // __pointer_type_imp49 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::const_pointer;
50
51template <class _Tp, class _Dp>
52struct __pointer_type
53{
54 typedef _LIBCPP_NODEBUG_TYPE typename __pointer_type_imp::__pointer_type<_Tp, typename remove_reference<_Dp>::type>::type type;
55};
56
57template <class _Tp, class = void>
58struct __has_const_pointer : false_type {};
59
60template <class _Tp>
61struct __has_const_pointer<_Tp,
62 typename __void_t<typename _Tp::const_pointer>::type> : true_type {};
63
64template <class _Tp, class _Ptr, class _Alloc, bool = __has_const_pointer<_Alloc>::value>
65struct __const_pointer
66{
67 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::const_pointer type;
68};50};
69
70template <class _Tp, class _Ptr, class _Alloc>51template <class _Tp, class _Ptr, class _Alloc>
71struct __const_pointer<_Tp, _Ptr, _Alloc, false>52struct __const_pointer<_Tp, _Ptr, _Alloc, false> {
72{53#ifdef _LIBCPP_CXX03_LANG
73#ifndef _LIBCPP_CXX03_LANG54 using type = typename pointer_traits<_Ptr>::template rebind<const _Tp>::other;
74 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const _Tp> type;
75#else55#else
76 typedef typename pointer_traits<_Ptr>::template rebind<const _Tp>::other type;56 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::template rebind<const _Tp>;
77#endif57#endif
78};58};
7959
80template <class _Tp, class = void>60// __void_pointer
81struct __has_void_pointer : false_type {};61_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_void_pointer, void_pointer);
8262template <class _Ptr, class _Alloc,
83template <class _Tp>63 bool = __has_void_pointer<_Alloc>::value>
84struct __has_void_pointer<_Tp,64struct __void_pointer {
85 typename __void_t<typename _Tp::void_pointer>::type> : true_type {};65 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::void_pointer;
86
87template <class _Ptr, class _Alloc, bool = __has_void_pointer<_Alloc>::value>
88struct __void_pointer
89{
90 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::void_pointer type;
91};66};
92
93template <class _Ptr, class _Alloc>67template <class _Ptr, class _Alloc>
94struct __void_pointer<_Ptr, _Alloc, false>68struct __void_pointer<_Ptr, _Alloc, false> {
95{69#ifdef _LIBCPP_CXX03_LANG
96#ifndef _LIBCPP_CXX03_LANG70 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::template rebind<void>::other;
97 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<void> type;
98#else71#else
99 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<void>::other type;72 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::template rebind<void>;
100#endif73#endif
101};74};
10275
103template <class _Tp, class = void>76// __const_void_pointer
104struct __has_const_void_pointer : false_type {};77_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_const_void_pointer, const_void_pointer);
10578template <class _Ptr, class _Alloc,
106template <class _Tp>79 bool = __has_const_void_pointer<_Alloc>::value>
107struct __has_const_void_pointer<_Tp,80struct __const_void_pointer {
108 typename __void_t<typename _Tp::const_void_pointer>::type> : true_type {};81 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::const_void_pointer;
109
110template <class _Ptr, class _Alloc, bool = __has_const_void_pointer<_Alloc>::value>
111struct __const_void_pointer
112{
113 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::const_void_pointer type;
114};82};
115
116template <class _Ptr, class _Alloc>83template <class _Ptr, class _Alloc>
117struct __const_void_pointer<_Ptr, _Alloc, false>84struct __const_void_pointer<_Ptr, _Alloc, false> {
118{85#ifdef _LIBCPP_CXX03_LANG
119#ifndef _LIBCPP_CXX03_LANG86 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::template rebind<const void>::other;
120 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const void> type;
121#else87#else
122 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::template rebind<const void>::other type;88 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::template rebind<const void>;
123#endif89#endif
124};90};
12591
126template <class _Tp, class = void>92// __size_type
127struct __has_size_type : false_type {};93_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_size_type, size_type);
128
129template <class _Tp>
130struct __has_size_type<_Tp,
131 typename __void_t<typename _Tp::size_type>::type> : true_type {};
132
133template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value>94template <class _Alloc, class _DiffType, bool = __has_size_type<_Alloc>::value>
134struct __size_type95struct __size_type : make_unsigned<_DiffType> { };
135{
136 typedef _LIBCPP_NODEBUG_TYPE typename make_unsigned<_DiffType>::type type;
137};
138
139template <class _Alloc, class _DiffType>96template <class _Alloc, class _DiffType>
140struct __size_type<_Alloc, _DiffType, true>97struct __size_type<_Alloc, _DiffType, true> {
141{98 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::size_type;
142 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::size_type type;
143};99};
144100
145template <class _Tp, class = void>101// __alloc_traits_difference_type
146struct __has_propagate_on_container_copy_assignment : false_type {};102_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_alloc_traits_difference_type, difference_type);
147103template <class _Alloc, class _Ptr, bool = __has_alloc_traits_difference_type<_Alloc>::value>
148template <class _Tp>104struct __alloc_traits_difference_type {
149struct __has_propagate_on_container_copy_assignment<_Tp,105 using type _LIBCPP_NODEBUG_TYPE = typename pointer_traits<_Ptr>::difference_type;
150 typename __void_t<typename _Tp::propagate_on_container_copy_assignment>::type>106};
151 : true_type {};107template <class _Alloc, class _Ptr>
152108struct __alloc_traits_difference_type<_Alloc, _Ptr, true> {
153template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value>109 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::difference_type;
154struct __propagate_on_container_copy_assignment
155{
156 typedef _LIBCPP_NODEBUG_TYPE false_type type;
157};110};
158111
112// __propagate_on_container_copy_assignment
113_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_propagate_on_container_copy_assignment, propagate_on_container_copy_assignment);
114template <class _Alloc, bool = __has_propagate_on_container_copy_assignment<_Alloc>::value>
115struct __propagate_on_container_copy_assignment : false_type { };
159template <class _Alloc>116template <class _Alloc>
160struct __propagate_on_container_copy_assignment<_Alloc, true>117struct __propagate_on_container_copy_assignment<_Alloc, true> {
161{118 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::propagate_on_container_copy_assignment;
162 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_copy_assignment type;
163};119};
164120
165template <class _Tp, class = void>121// __propagate_on_container_move_assignment
166struct __has_propagate_on_container_move_assignment : false_type {};122_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_propagate_on_container_move_assignment, propagate_on_container_move_assignment);
167
168template <class _Tp>
169struct __has_propagate_on_container_move_assignment<_Tp,
170 typename __void_t<typename _Tp::propagate_on_container_move_assignment>::type>
171 : true_type {};
172
173template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value>123template <class _Alloc, bool = __has_propagate_on_container_move_assignment<_Alloc>::value>
174struct __propagate_on_container_move_assignment124struct __propagate_on_container_move_assignment : false_type { };
175{
176 typedef false_type type;
177};
178
179template <class _Alloc>125template <class _Alloc>
180struct __propagate_on_container_move_assignment<_Alloc, true>126struct __propagate_on_container_move_assignment<_Alloc, true> {
181{127 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::propagate_on_container_move_assignment;
182 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_move_assignment type;
183};128};
184129
185template <class _Tp, class = void>130// __propagate_on_container_swap
186struct __has_propagate_on_container_swap : false_type {};131_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_propagate_on_container_swap, propagate_on_container_swap);
187
188template <class _Tp>
189struct __has_propagate_on_container_swap<_Tp,
190 typename __void_t<typename _Tp::propagate_on_container_swap>::type>
191 : true_type {};
192
193template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value>132template <class _Alloc, bool = __has_propagate_on_container_swap<_Alloc>::value>
194struct __propagate_on_container_swap133struct __propagate_on_container_swap : false_type { };
195{
196 typedef false_type type;
197};
198
199template <class _Alloc>134template <class _Alloc>
200struct __propagate_on_container_swap<_Alloc, true>135struct __propagate_on_container_swap<_Alloc, true> {
201{136 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::propagate_on_container_swap;
202 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::propagate_on_container_swap type;
203};137};
204138
205template <class _Tp, class = void>139// __is_always_equal
206struct __has_is_always_equal : false_type {};140_LIBCPP_ALLOCATOR_TRAITS_HAS_XXX(__has_is_always_equal, is_always_equal);
207
208template <class _Tp>
209struct __has_is_always_equal<_Tp,
210 typename __void_t<typename _Tp::is_always_equal>::type>
211 : true_type {};
212
213template <class _Alloc, bool = __has_is_always_equal<_Alloc>::value>141template <class _Alloc, bool = __has_is_always_equal<_Alloc>::value>
214struct __is_always_equal142struct __is_always_equal : is_empty<_Alloc> { };
215{
216 typedef _LIBCPP_NODEBUG_TYPE typename _VSTD::is_empty<_Alloc>::type type;
217};
218
219template <class _Alloc>143template <class _Alloc>
220struct __is_always_equal<_Alloc, true>144struct __is_always_equal<_Alloc, true> {
221{145 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc::is_always_equal;
222 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::is_always_equal type;
223};
224
225template <class _Tp, class _Up, bool = __has_rebind<_Tp, _Up>::value>
226struct __has_rebind_other
227{
228private:
229 struct __two {char __lx; char __lxx;};
230 template <class _Xp> static __two __test(...);
231 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
232 template <class _Xp> static char __test(typename _Xp::template rebind<_Up>::other* = 0);
233 _LIBCPP_SUPPRESS_DEPRECATED_POP
234public:
235 static const bool value = sizeof(__test<_Tp>(0)) == 1;
236};146};
237147
148// __allocator_traits_rebind
149_LIBCPP_SUPPRESS_DEPRECATED_PUSH
150template <class _Tp, class _Up, class = void>
151struct __has_rebind_other : false_type { };
238template <class _Tp, class _Up>152template <class _Tp, class _Up>
239struct __has_rebind_other<_Tp, _Up, false>153struct __has_rebind_other<_Tp, _Up, typename __void_t<
240{154 typename _Tp::template rebind<_Up>::other
241 static const bool value = false;155>::type> : true_type { };
242};
243156
244template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value>157template <class _Tp, class _Up, bool = __has_rebind_other<_Tp, _Up>::value>
245struct __allocator_traits_rebind158struct __allocator_traits_rebind {
246{159 using type _LIBCPP_NODEBUG_TYPE = typename _Tp::template rebind<_Up>::other;
247 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
248 typedef _LIBCPP_NODEBUG_TYPE typename _Tp::template rebind<_Up>::other type;
249 _LIBCPP_SUPPRESS_DEPRECATED_POP
250};160};
251
252template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>161template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
253struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true>162struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, true> {
254{163 using type _LIBCPP_NODEBUG_TYPE = typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other;
255 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
256 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc<_Tp, _Args...>::template rebind<_Up>::other type;
257 _LIBCPP_SUPPRESS_DEPRECATED_POP
258};164};
259
260template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>165template <template <class, class...> class _Alloc, class _Tp, class ..._Args, class _Up>
261struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false>166struct __allocator_traits_rebind<_Alloc<_Tp, _Args...>, _Up, false> {
262{167 using type _LIBCPP_NODEBUG_TYPE = _Alloc<_Up, _Args...>;
263 typedef _LIBCPP_NODEBUG_TYPE _Alloc<_Up, _Args...> type;
264};168};
169_LIBCPP_SUPPRESS_DEPRECATED_POP
265170
266#ifndef _LIBCPP_CXX03_LANG171template<class _Alloc, class _Tp>
172using __allocator_traits_rebind_t = typename __allocator_traits_rebind<_Alloc, _Tp>::type;
267173
268_LIBCPP_SUPPRESS_DEPRECATED_PUSH174_LIBCPP_SUPPRESS_DEPRECATED_PUSH
269template <class _Alloc, class _SizeType, class _ConstVoidPtr>
270auto
271__has_allocate_hint_test(_Alloc&& __a, _SizeType&& __sz, _ConstVoidPtr&& __p)
272 -> decltype((void)__a.allocate(__sz, __p), true_type());
273_LIBCPP_SUPPRESS_DEPRECATED_POP
274175
275template <class _Alloc, class _SizeType, class _ConstVoidPtr>176// __has_allocate_hint
276auto177template <class _Alloc, class _SizeType, class _ConstVoidPtr, class = void>
277__has_allocate_hint_test(const _Alloc& __a, _SizeType&& __sz, _ConstVoidPtr&& __p)178struct __has_allocate_hint : false_type { };
278 -> false_type;
279179
280template <class _Alloc, class _SizeType, class _ConstVoidPtr>180template <class _Alloc, class _SizeType, class _ConstVoidPtr>
281struct __has_allocate_hint181struct __has_allocate_hint<_Alloc, _SizeType, _ConstVoidPtr, decltype(
282 : decltype(_VSTD::__has_allocate_hint_test(declval<_Alloc>(),182 (void)declval<_Alloc>().allocate(declval<_SizeType>(), declval<_ConstVoidPtr>())
283 declval<_SizeType>(),183)> : true_type { };
284 declval<_ConstVoidPtr>()))
285{
286};
287184
288#else // _LIBCPP_CXX03_LANG185// __has_construct
289186template <class, class _Alloc, class ..._Args>
290template <class _Alloc, class _SizeType, class _ConstVoidPtr>187struct __has_construct_impl : false_type { };
291struct __has_allocate_hint
292 : true_type
293{
294};
295
296#endif // _LIBCPP_CXX03_LANG
297
298_LIBCPP_SUPPRESS_DEPRECATED_PUSH
299template <class _Alloc, class ..._Args,
300 class = decltype(_VSTD::declval<_Alloc>().construct(_VSTD::declval<_Args>()...))>
301static true_type __test_has_construct(int);
302_LIBCPP_SUPPRESS_DEPRECATED_POP
303
304template <class _Alloc, class...>
305static false_type __test_has_construct(...);
306188
307template <class _Alloc, class ..._Args>189template <class _Alloc, class ..._Args>
308struct __has_construct : decltype(__test_has_construct<_Alloc, _Args...>(0)) {};190struct __has_construct_impl<decltype(
309191 (void)declval<_Alloc>().construct(declval<_Args>()...)
310#if !defined(_LIBCPP_CXX03_LANG)192), _Alloc, _Args...> : true_type { };
311
312_LIBCPP_SUPPRESS_DEPRECATED_PUSH
313template <class _Alloc, class _Pointer>
314auto
315__has_destroy_test(_Alloc&& __a, _Pointer&& __p)
316 -> decltype(__a.destroy(__p), true_type());
317_LIBCPP_SUPPRESS_DEPRECATED_POP
318
319template <class _Alloc, class _Pointer>
320auto
321__has_destroy_test(const _Alloc& __a, _Pointer&& __p)
322 -> false_type;
323
324template <class _Alloc, class _Pointer>
325struct __has_destroy
326 : decltype(_VSTD::__has_destroy_test(declval<_Alloc>(),
327 declval<_Pointer>()))
328{
329};
330
331_LIBCPP_SUPPRESS_DEPRECATED_PUSH
332template <class _Alloc>
333auto
334__has_max_size_test(_Alloc&& __a)
335 -> decltype(__a.max_size(), true_type());
336_LIBCPP_SUPPRESS_DEPRECATED_POP
337
338template <class _Alloc>
339auto
340__has_max_size_test(const volatile _Alloc& __a)
341 -> false_type;
342193
343template <class _Alloc>194template <class _Alloc, class ..._Args>
344struct __has_max_size195struct __has_construct : __has_construct_impl<void, _Alloc, _Args...> { };
345 : decltype(_VSTD::__has_max_size_test(declval<_Alloc&>()))
346{
347};
348
349template <class _Alloc>
350auto
351__has_select_on_container_copy_construction_test(_Alloc&& __a)
352 -> decltype(__a.select_on_container_copy_construction(), true_type());
353
354template <class _Alloc>
355auto
356__has_select_on_container_copy_construction_test(const volatile _Alloc& __a)
357 -> false_type;
358
359template <class _Alloc>
360struct __has_select_on_container_copy_construction
361 : decltype(_VSTD::__has_select_on_container_copy_construction_test(declval<_Alloc&>()))
362{
363};
364
365#else // _LIBCPP_CXX03_LANG
366196
197// __has_destroy
367template <class _Alloc, class _Pointer, class = void>198template <class _Alloc, class _Pointer, class = void>
368struct __has_destroy : false_type {};199struct __has_destroy : false_type { };
369200
370template <class _Alloc, class _Pointer>201template <class _Alloc, class _Pointer>
371struct __has_destroy<_Alloc, _Pointer, typename __void_t<202struct __has_destroy<_Alloc, _Pointer, decltype(
372 decltype(_VSTD::declval<_Alloc>().destroy(_VSTD::declval<_Pointer>()))203 (void)declval<_Alloc>().destroy(declval<_Pointer>())
373>::type> : true_type {};204)> : true_type { };
374205
375template <class _Alloc>206// __has_max_size
376struct __has_max_size207template <class _Alloc, class = void>
377 : true_type208struct __has_max_size : false_type { };
378{
379};
380209
381template <class _Alloc>210template <class _Alloc>
382struct __has_select_on_container_copy_construction211struct __has_max_size<_Alloc, decltype(
383 : false_type212 (void)declval<_Alloc&>().max_size()
384{213)> : true_type { };
385};
386
387#endif // _LIBCPP_CXX03_LANG
388
389template <class _Alloc, class _Ptr, bool = __has_difference_type<_Alloc>::value>
390struct __alloc_traits_difference_type
391{
392 typedef _LIBCPP_NODEBUG_TYPE typename pointer_traits<_Ptr>::difference_type type;
393};
394
395template <class _Alloc, class _Ptr>
396struct __alloc_traits_difference_type<_Alloc, _Ptr, true>
397{
398 typedef _LIBCPP_NODEBUG_TYPE typename _Alloc::difference_type type;
399};
400
401template <class _Tp>
402struct __is_default_allocator : false_type {};
403
404template <class _Tp>
405struct __is_default_allocator<_VSTD::allocator<_Tp> > : true_type {};
406214
215// __has_select_on_container_copy_construction
216template <class _Alloc, class = void>
217struct __has_select_on_container_copy_construction : false_type { };
407218
408
409template <class _Alloc,
410 bool = __has_construct<_Alloc, typename _Alloc::value_type*, typename _Alloc::value_type&&>::value && !__is_default_allocator<_Alloc>::value
411 >
412struct __is_cpp17_move_insertable;
413template <class _Alloc>
414struct __is_cpp17_move_insertable<_Alloc, true> : true_type {};
415template <class _Alloc>
416struct __is_cpp17_move_insertable<_Alloc, false> : is_move_constructible<typename _Alloc::value_type> {};
417
418template <class _Alloc,
419 bool = __has_construct<_Alloc, typename _Alloc::value_type*, const typename _Alloc::value_type&>::value && !__is_default_allocator<_Alloc>::value
420 >
421struct __is_cpp17_copy_insertable;
422template <class _Alloc>219template <class _Alloc>
423struct __is_cpp17_copy_insertable<_Alloc, true> : __is_cpp17_move_insertable<_Alloc> {};220struct __has_select_on_container_copy_construction<_Alloc, decltype(
424template <class _Alloc>221 (void)declval<_Alloc>().select_on_container_copy_construction()
425struct __is_cpp17_copy_insertable<_Alloc, false> : integral_constant<bool,222)> : true_type { };
426 is_copy_constructible<typename _Alloc::value_type>::value &&
427 __is_cpp17_move_insertable<_Alloc>::value>
428 {};
429
430223
224_LIBCPP_SUPPRESS_DEPRECATED_POP
431225
432template <class _Alloc>226template <class _Alloc>
433struct _LIBCPP_TEMPLATE_VIS allocator_traits227struct _LIBCPP_TEMPLATE_VIS allocator_traits
434{228{
435 typedef _Alloc allocator_type;229 using allocator_type = _Alloc;
436 typedef typename allocator_type::value_type value_type;230 using value_type = typename allocator_type::value_type;
437231 using pointer = typename __pointer<value_type, allocator_type>::type;
438 typedef typename __pointer_type<value_type, allocator_type>::type pointer;232 using const_pointer = typename __const_pointer<value_type, pointer, allocator_type>::type;
439 typedef typename __const_pointer<value_type, pointer, allocator_type>::type const_pointer;233 using void_pointer = typename __void_pointer<pointer, allocator_type>::type;
440 typedef typename __void_pointer<pointer, allocator_type>::type void_pointer;234 using const_void_pointer = typename __const_void_pointer<pointer, allocator_type>::type;
441 typedef typename __const_void_pointer<pointer, allocator_type>::type const_void_pointer;235 using difference_type = typename __alloc_traits_difference_type<allocator_type, pointer>::type;
442236 using size_type = typename __size_type<allocator_type, difference_type>::type;
443 typedef typename __alloc_traits_difference_type<allocator_type, pointer>::type difference_type;237 using propagate_on_container_copy_assignment = typename __propagate_on_container_copy_assignment<allocator_type>::type;
444 typedef typename __size_type<allocator_type, difference_type>::type size_type;238 using propagate_on_container_move_assignment = typename __propagate_on_container_move_assignment<allocator_type>::type;
445239 using propagate_on_container_swap = typename __propagate_on_container_swap<allocator_type>::type;
446 typedef typename __propagate_on_container_copy_assignment<allocator_type>::type240 using is_always_equal = typename __is_always_equal<allocator_type>::type;
447 propagate_on_container_copy_assignment;
448 typedef typename __propagate_on_container_move_assignment<allocator_type>::type
449 propagate_on_container_move_assignment;
450 typedef typename __propagate_on_container_swap<allocator_type>::type
451 propagate_on_container_swap;
452 typedef typename __is_always_equal<allocator_type>::type
453 is_always_equal;
454241
455#ifndef _LIBCPP_CXX03_LANG242#ifndef _LIBCPP_CXX03_LANG
456 template <class _Tp> using rebind_alloc =243 template <class _Tp>
457 typename __allocator_traits_rebind<allocator_type, _Tp>::type;244 using rebind_alloc = __allocator_traits_rebind_t<allocator_type, _Tp>;
458 template <class _Tp> using rebind_traits = allocator_traits<rebind_alloc<_Tp> >;245 template <class _Tp>
246 using rebind_traits = allocator_traits<rebind_alloc<_Tp> >;
459#else // _LIBCPP_CXX03_LANG247#else // _LIBCPP_CXX03_LANG
460 template <class _Tp> struct rebind_alloc248 template <class _Tp>
461 {typedef typename __allocator_traits_rebind<allocator_type, _Tp>::type other;};249 struct rebind_alloc {
462 template <class _Tp> struct rebind_traits250 using other = __allocator_traits_rebind_t<allocator_type, _Tp>;
463 {typedef allocator_traits<typename rebind_alloc<_Tp>::other> other;};251 };
252 template <class _Tp>
253 struct rebind_traits {
254 using other = allocator_traits<typename rebind_alloc<_Tp>::other>;
255 };
464#endif // _LIBCPP_CXX03_LANG256#endif // _LIBCPP_CXX03_LANG
465257
466 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17258 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
467 static pointer allocate(allocator_type& __a, size_type __n)259 static pointer allocate(allocator_type& __a, size_type __n) {
468 {return __a.allocate(__n);}260 return __a.allocate(__n);
469 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17261 }
470 static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
471 {return __allocate(__a, __n, __hint,
472 __has_allocate_hint<allocator_type, size_type, const_void_pointer>());}
473262
474 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17263 template <class _Ap = _Alloc, class =
475 static void deallocate(allocator_type& __a, pointer __p, size_type __n) _NOEXCEPT264 _EnableIf<__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> >
476 {__a.deallocate(__p, __n);}265 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
477266 static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) {
478 template <class _Tp, class... _Args>267 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
479 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17268 return __a.allocate(__n, __hint);
480 static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args)269 _LIBCPP_SUPPRESS_DEPRECATED_POP
481 {__construct(__has_construct<allocator_type, _Tp*, _Args...>(),270 }
482 __a, __p, _VSTD::forward<_Args>(__args)...);}271 template <class _Ap = _Alloc, class = void, class =
483272 _EnableIf<!__has_allocate_hint<_Ap, size_type, const_void_pointer>::value> >
484 template <class _Tp>273 _LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
485 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17274 static pointer allocate(allocator_type& __a, size_type __n, const_void_pointer) {
486 static void destroy(allocator_type& __a, _Tp* __p)275 return __a.allocate(__n);
487 {__destroy(__has_destroy<allocator_type, _Tp*>(), __a, __p);}276 }
488
489 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
490 static size_type max_size(const allocator_type& __a) _NOEXCEPT
491 {return __max_size(__has_max_size<const allocator_type>(), __a);}
492277
493 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17278 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
494 static allocator_type279 static void deallocate(allocator_type& __a, pointer __p, size_type __n) _NOEXCEPT {
495 select_on_container_copy_construction(const allocator_type& __a)280 __a.deallocate(__p, __n);
496 {return __select_on_container_copy_construction(281 }
497 __has_select_on_container_copy_construction<const allocator_type>(),
498 __a);}
499282
500private:283 template <class _Tp, class... _Args, class =
284 _EnableIf<__has_construct<allocator_type, _Tp*, _Args...>::value> >
501 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17285 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
502 static pointer __allocate(allocator_type& __a, size_type __n,286 static void construct(allocator_type& __a, _Tp* __p, _Args&&... __args) {
503 const_void_pointer __hint, true_type)287 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
504 {288 __a.construct(__p, _VSTD::forward<_Args>(__args)...);
505 _LIBCPP_SUPPRESS_DEPRECATED_PUSH289 _LIBCPP_SUPPRESS_DEPRECATED_POP
506 return __a.allocate(__n, __hint);290 }
507 _LIBCPP_SUPPRESS_DEPRECATED_POP291 template <class _Tp, class... _Args, class = void, class =
508 }292 _EnableIf<!__has_construct<allocator_type, _Tp*, _Args...>::value> >
509 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17293 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
510 static pointer __allocate(allocator_type& __a, size_type __n,294 static void construct(allocator_type&, _Tp* __p, _Args&&... __args) {
511 const_void_pointer, false_type)
512 {return __a.allocate(__n);}
513
514 template <class _Tp, class... _Args>
515 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
516 static void __construct(true_type, allocator_type& __a, _Tp* __p, _Args&&... __args)
517 {
518 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
519 __a.construct(__p, _VSTD::forward<_Args>(__args)...);
520 _LIBCPP_SUPPRESS_DEPRECATED_POP
521 }
522
523 template <class _Tp, class... _Args>
524 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
525 static void __construct(false_type, allocator_type&, _Tp* __p, _Args&&... __args)
526 {
527#if _LIBCPP_STD_VER > 17295#if _LIBCPP_STD_VER > 17
528 _VSTD::construct_at(__p, _VSTD::forward<_Args>(__args)...);296 _VSTD::construct_at(__p, _VSTD::forward<_Args>(__args)...);
529#else297#else
530 ::new ((void*)__p) _Tp(_VSTD::forward<_Args>(__args)...);298 ::new ((void*)__p) _Tp(_VSTD::forward<_Args>(__args)...);
531#endif299#endif
532 }300 }
533301
534 template <class _Tp>302 template <class _Tp, class =
535 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17303 _EnableIf<__has_destroy<allocator_type, _Tp*>::value> >
536 static void __destroy(true_type, allocator_type& __a, _Tp* __p)304 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
537 {305 static void destroy(allocator_type& __a, _Tp* __p) {
538 _LIBCPP_SUPPRESS_DEPRECATED_PUSH306 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
539 __a.destroy(__p);307 __a.destroy(__p);
540 _LIBCPP_SUPPRESS_DEPRECATED_POP308 _LIBCPP_SUPPRESS_DEPRECATED_POP
541 }309 }
542 template <class _Tp>310 template <class _Tp, class = void, class =
543 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17311 _EnableIf<!__has_destroy<allocator_type, _Tp*>::value> >
544 static void __destroy(false_type, allocator_type&, _Tp* __p)312 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
545 {313 static void destroy(allocator_type&, _Tp* __p) {
546#if _LIBCPP_STD_VER > 17314#if _LIBCPP_STD_VER > 17
547 _VSTD::destroy_at(__p);315 _VSTD::destroy_at(__p);
548#else316#else
549 __p->~_Tp();317 __p->~_Tp();
550#endif318#endif
551 }319 }
552320
321 template <class _Ap = _Alloc, class =
322 _EnableIf<__has_max_size<const _Ap>::value> >
553 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17323 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
554 static size_type __max_size(true_type, const allocator_type& __a) _NOEXCEPT324 static size_type max_size(const allocator_type& __a) _NOEXCEPT {
555 {325 _LIBCPP_SUPPRESS_DEPRECATED_PUSH
556 _LIBCPP_SUPPRESS_DEPRECATED_PUSH326 return __a.max_size();
557 return __a.max_size();327 _LIBCPP_SUPPRESS_DEPRECATED_POP
558 _LIBCPP_SUPPRESS_DEPRECATED_POP328 }
559 }329 template <class _Ap = _Alloc, class = void, class =
560330 _EnableIf<!__has_max_size<const _Ap>::value> >
561 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17331 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
562 static size_type __max_size(false_type, const allocator_type&) _NOEXCEPT332 static size_type max_size(const allocator_type&) _NOEXCEPT {
563 {return numeric_limits<size_type>::max() / sizeof(value_type);}333 return numeric_limits<size_type>::max() / sizeof(value_type);
334 }
564335
336 template <class _Ap = _Alloc, class =
337 _EnableIf<__has_select_on_container_copy_construction<const _Ap>::value> >
565 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17338 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
566 static allocator_type339 static allocator_type select_on_container_copy_construction(const allocator_type& __a) {
567 __select_on_container_copy_construction(true_type, const allocator_type& __a)340 return __a.select_on_container_copy_construction();
568 {return __a.select_on_container_copy_construction();}341 }
342 template <class _Ap = _Alloc, class = void, class =
343 _EnableIf<!__has_select_on_container_copy_construction<const _Ap>::value> >
569 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17344 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
570 static allocator_type345 static allocator_type select_on_container_copy_construction(const allocator_type& __a) {
571 __select_on_container_copy_construction(false_type, const allocator_type& __a)346 return __a;
572 {return __a;}347 }
573};348};
574349
575template <class _Traits, class _Tp>350template <class _Traits, class _Tp>
576struct __rebind_alloc_helper351struct __rebind_alloc_helper {
577{
578#ifndef _LIBCPP_CXX03_LANG352#ifndef _LIBCPP_CXX03_LANG
579 typedef _LIBCPP_NODEBUG_TYPE typename _Traits::template rebind_alloc<_Tp> type;353 using type _LIBCPP_NODEBUG_TYPE = typename _Traits::template rebind_alloc<_Tp>;
580#else354#else
581 typedef typename _Traits::template rebind_alloc<_Tp>::other type;355 using type = typename _Traits::template rebind_alloc<_Tp>::other;
582#endif356#endif
583};357};
584358
359// __is_default_allocator
360template <class _Tp>
361struct __is_default_allocator : false_type { };
362
363template <class _Tp>
364struct __is_default_allocator<_VSTD::allocator<_Tp> > : true_type { };
365
366// __is_cpp17_move_insertable
367template <class _Alloc, class = void>
368struct __is_cpp17_move_insertable
369 : is_move_constructible<typename _Alloc::value_type>
370{ };
371
372template <class _Alloc>
373struct __is_cpp17_move_insertable<_Alloc, _EnableIf<
374 !__is_default_allocator<_Alloc>::value &&
375 __has_construct<_Alloc, typename _Alloc::value_type*, typename _Alloc::value_type&&>::value
376> > : true_type { };
377
378// __is_cpp17_copy_insertable
379template <class _Alloc, class = void>
380struct __is_cpp17_copy_insertable
381 : integral_constant<bool,
382 is_copy_constructible<typename _Alloc::value_type>::value &&
383 __is_cpp17_move_insertable<_Alloc>::value
384 >
385{ };
386
387template <class _Alloc>
388struct __is_cpp17_copy_insertable<_Alloc, _EnableIf<
389 !__is_default_allocator<_Alloc>::value &&
390 __has_construct<_Alloc, typename _Alloc::value_type*, const typename _Alloc::value_type&>::value
391> >
392 : __is_cpp17_move_insertable<_Alloc>
393{ };
394
395#undef _LIBCPP_ALLOCATOR_TRAITS_HAS_XXX
396
585_LIBCPP_END_NAMESPACE_STD397_LIBCPP_END_NAMESPACE_STD
586398
587_LIBCPP_POP_MACROS399_LIBCPP_POP_MACROS
lib/libcxx/include/__mutex_base+4-4
...@@ -418,7 +418,7 @@ condition_variable::wait_until(unique_lock<mutex>& __lk,...@@ -418,7 +418,7 @@ condition_variable::wait_until(unique_lock<mutex>& __lk,
418 if (__t <= __now)418 if (__t <= __now)
419 return cv_status::timeout;419 return cv_status::timeout;
420420
421 __clock_tp_ns __t_ns = __clock_tp_ns(__safe_nanosecond_cast(__t.time_since_epoch()));421 __clock_tp_ns __t_ns = __clock_tp_ns(_VSTD::__safe_nanosecond_cast(__t.time_since_epoch()));
422422
423 __do_timed_wait(__lk, __t_ns);423 __do_timed_wait(__lk, __t_ns);
424 return _Clock::now() < __t ? cv_status::no_timeout : cv_status::timeout;424 return _Clock::now() < __t ? cv_status::no_timeout : cv_status::timeout;
...@@ -451,13 +451,13 @@ condition_variable::wait_for(unique_lock<mutex>& __lk,...@@ -451,13 +451,13 @@ condition_variable::wait_for(unique_lock<mutex>& __lk,
451451
452#if defined(_LIBCPP_HAS_COND_CLOCKWAIT)452#if defined(_LIBCPP_HAS_COND_CLOCKWAIT)
453 using __clock_tp_ns = time_point<steady_clock, nanoseconds>;453 using __clock_tp_ns = time_point<steady_clock, nanoseconds>;
454 __ns_rep __now_count_ns = __safe_nanosecond_cast(__c_now.time_since_epoch()).count();454 __ns_rep __now_count_ns = _VSTD::__safe_nanosecond_cast(__c_now.time_since_epoch()).count();
455#else455#else
456 using __clock_tp_ns = time_point<system_clock, nanoseconds>;456 using __clock_tp_ns = time_point<system_clock, nanoseconds>;
457 __ns_rep __now_count_ns = __safe_nanosecond_cast(system_clock::now().time_since_epoch()).count();457 __ns_rep __now_count_ns = _VSTD::__safe_nanosecond_cast(system_clock::now().time_since_epoch()).count();
458#endif458#endif
459459
460 __ns_rep __d_ns_count = __safe_nanosecond_cast(__d).count();460 __ns_rep __d_ns_count = _VSTD::__safe_nanosecond_cast(__d).count();
461461
462 if (__now_count_ns > numeric_limits<__ns_rep>::max() - __d_ns_count) {462 if (__now_count_ns > numeric_limits<__ns_rep>::max() - __d_ns_count) {
463 __do_timed_wait(__lk, __clock_tp_ns::max());463 __do_timed_wait(__lk, __clock_tp_ns::max());
lib/libcxx/include/__support/android/locale_bionic.h created+69
...@@ -0,0 +1,69 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
11#define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
12
13#if defined(__BIONIC__)
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include <stdlib.h>
20#include <xlocale.h>
21
22#ifdef __cplusplus
23}
24#endif
25
26#if defined(__ANDROID__)
27
28#include <android/api-level.h>
29#include <android/ndk-version.h>
30#if __ANDROID_API__ < 21
31#include <__support/xlocale/__posix_l_fallback.h>
32#endif
33// In NDK versions later than 16, locale-aware functions are provided by
34// legacy_stdlib_inlines.h
35#if __NDK_MAJOR__ <= 16
36#if __ANDROID_API__ < 21
37#include <__support/xlocale/__strtonum_fallback.h>
38#elif __ANDROID_API__ < 26
39
40#if defined(__cplusplus)
41extern "C" {
42#endif
43
44inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char* __nptr, char** __endptr,
45 locale_t) {
46 return ::strtof(__nptr, __endptr);
47}
48
49inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char* __nptr,
50 char** __endptr, locale_t) {
51 return ::strtod(__nptr, __endptr);
52}
53
54inline _LIBCPP_INLINE_VISIBILITY long strtol_l(const char* __nptr, char** __endptr,
55 int __base, locale_t) {
56 return ::strtol(__nptr, __endptr, __base);
57}
58
59#if defined(__cplusplus)
60}
61#endif
62
63#endif // __ANDROID_API__ < 26
64
65#endif // __NDK_MAJOR__ <= 16
66#endif // defined(__ANDROID__)
67
68#endif // defined(__BIONIC__)
69#endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
lib/libcxx/include/__support/fuchsia/xlocale.h created+22
...@@ -0,0 +1,22 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
11#define _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
12
13#if defined(__Fuchsia__)
14
15#include <cstdlib>
16#include <cwchar>
17#include <__support/xlocale/__posix_l_fallback.h>
18#include <__support/xlocale/__strtonum_fallback.h>
19
20#endif // defined(__Fuchsia__)
21
22#endif // _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
lib/libcxx/include/__support/ibm/limits.h created+98
...@@ -0,0 +1,98 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_LIMITS_H
11#define _LIBCPP_SUPPORT_IBM_LIMITS_H
12
13#if !defined(_AIX) // Linux
14#include <math.h> // for HUGE_VAL, HUGE_VALF, HUGE_VALL, and NAN
15
16static const unsigned int _QNAN_F = 0x7fc00000;
17#define NANF (*((float *)(&_QNAN_F)))
18static const unsigned int _QNAN_LDBL128[4] = {0x7ff80000, 0x0, 0x0, 0x0};
19#define NANL (*((long double *)(&_QNAN_LDBL128)))
20static const unsigned int _SNAN_F= 0x7f855555;
21#define NANSF (*((float *)(&_SNAN_F)))
22static const unsigned int _SNAN_D[2] = {0x7ff55555, 0x55555555};
23#define NANS (*((double *)(&_SNAN_D)))
24static const unsigned int _SNAN_LDBL128[4] = {0x7ff55555, 0x55555555, 0x0, 0x0};
25#define NANSL (*((long double *)(&_SNAN_LDBL128)))
26
27#define __builtin_huge_val() HUGE_VAL
28#define __builtin_huge_valf() HUGE_VALF
29#define __builtin_huge_vall() HUGE_VALL
30#define __builtin_nan(__dummy) NAN
31#define __builtin_nanf(__dummy) NANF
32#define __builtin_nanl(__dummy) NANL
33#define __builtin_nans(__dummy) NANS
34#define __builtin_nansf(__dummy) NANSF
35#define __builtin_nansl(__dummy) NANSL
36
37#else
38
39#include <math.h>
40#include <float.h> // limit constants
41
42#define __builtin_huge_val() HUGE_VAL //0x7ff0000000000000
43#define __builtin_huge_valf() HUGE_VALF //0x7f800000
44#define __builtin_huge_vall() HUGE_VALL //0x7ff0000000000000
45#define __builtin_nan(__dummy) nan(__dummy) //0x7ff8000000000000
46#define __builtin_nanf(__dummy) nanf(__dummy) // 0x7ff80000
47#define __builtin_nanl(__dummy) nanl(__dummy) //0x7ff8000000000000
48#define __builtin_nans(__dummy) DBL_SNAN //0x7ff5555555555555
49#define __builtin_nansf(__dummy) FLT_SNAN //0x7f855555
50#define __builtin_nansl(__dummy) DBL_SNAN //0x7ff5555555555555
51
52#define __FLT_MANT_DIG__ FLT_MANT_DIG
53#define __FLT_DIG__ FLT_DIG
54#define __FLT_RADIX__ FLT_RADIX
55#define __FLT_MIN_EXP__ FLT_MIN_EXP
56#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
57#define __FLT_MAX_EXP__ FLT_MAX_EXP
58#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
59#define __FLT_MIN__ FLT_MIN
60#define __FLT_MAX__ FLT_MAX
61#define __FLT_EPSILON__ FLT_EPSILON
62// predefined by XLC on LoP
63#define __FLT_DENORM_MIN__ 1.40129846e-45F
64
65#define __DBL_MANT_DIG__ DBL_MANT_DIG
66#define __DBL_DIG__ DBL_DIG
67#define __DBL_MIN_EXP__ DBL_MIN_EXP
68#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
69#define __DBL_MAX_EXP__ DBL_MAX_EXP
70#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
71#define __DBL_MIN__ DBL_MIN
72#define __DBL_MAX__ DBL_MAX
73#define __DBL_EPSILON__ DBL_EPSILON
74// predefined by XLC on LoP
75#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
76
77#define __LDBL_MANT_DIG__ LDBL_MANT_DIG
78#define __LDBL_DIG__ LDBL_DIG
79#define __LDBL_MIN_EXP__ LDBL_MIN_EXP
80#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
81#define __LDBL_MAX_EXP__ LDBL_MAX_EXP
82#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
83#define __LDBL_MIN__ LDBL_MIN
84#define __LDBL_MAX__ LDBL_MAX
85#define __LDBL_EPSILON__ LDBL_EPSILON
86// predefined by XLC on LoP
87#if __LONGDOUBLE128
88#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
89#else
90#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
91#endif
92
93// predefined by XLC on LoP
94#define __CHAR_BIT__ 8
95
96#endif // _AIX
97
98#endif // _LIBCPP_SUPPORT_IBM_LIMITS_H
lib/libcxx/include/__support/ibm/locale_mgmt_aix.h created+84
...@@ -0,0 +1,84 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
11#define _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
12
13#if defined(_AIX)
14#include "cstdlib"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#if !defined(_AIX71)
21// AIX 7.1 and higher has these definitions. Definitions and stubs
22// are provied here as a temporary workaround on AIX 6.1.
23
24#define LC_COLLATE_MASK 1
25#define LC_CTYPE_MASK 2
26#define LC_MESSAGES_MASK 4
27#define LC_MONETARY_MASK 8
28#define LC_NUMERIC_MASK 16
29#define LC_TIME_MASK 32
30#define LC_ALL_MASK (LC_COLLATE_MASK | LC_CTYPE_MASK | \
31 LC_MESSAGES_MASK | LC_MONETARY_MASK |\
32 LC_NUMERIC_MASK | LC_TIME_MASK)
33
34typedef void* locale_t;
35
36// The following are stubs. They are not supported on AIX 6.1.
37static inline
38locale_t newlocale(int category_mask, const char *locale, locale_t base)
39{
40 _LC_locale_t *newloc, *loc;
41 if ((loc = (_LC_locale_t *)__xopen_locale(locale)) == NULL)
42 {
43 errno = EINVAL;
44 return (locale_t)0;
45 }
46 if ((newloc = (_LC_locale_t *)calloc(1, sizeof(_LC_locale_t))) == NULL)
47 {
48 errno = ENOMEM;
49 return (locale_t)0;
50 }
51 if (!base)
52 base = (_LC_locale_t *)__xopen_locale("C");
53 memcpy(newloc, base, sizeof (_LC_locale_t));
54 if (category_mask & LC_COLLATE_MASK)
55 newloc->lc_collate = loc->lc_collate;
56 if (category_mask & LC_CTYPE_MASK)
57 newloc->lc_ctype = loc->lc_ctype;
58 //if (category_mask & LC_MESSAGES_MASK)
59 // newloc->lc_messages = loc->lc_messages;
60 if (category_mask & LC_MONETARY_MASK)
61 newloc->lc_monetary = loc->lc_monetary;
62 if (category_mask & LC_TIME_MASK)
63 newloc->lc_time = loc->lc_time;
64 if (category_mask & LC_NUMERIC_MASK)
65 newloc->lc_numeric = loc->lc_numeric;
66 return (locale_t)newloc;
67}
68static inline
69void freelocale(locale_t locobj)
70{
71 free(locobj);
72}
73static inline
74locale_t uselocale(locale_t newloc)
75{
76 return (locale_t)0;
77}
78#endif // !defined(_AIX71)
79
80#ifdef __cplusplus
81}
82#endif
83#endif // defined(_AIX)
84#endif // _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
lib/libcxx/include/__support/ibm/nanosleep.h created+38
...@@ -0,0 +1,38 @@
1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
11#define _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
12
13#include <unistd.h>
14
15inline int nanosleep(const struct timespec* req, struct timespec* rem)
16{
17 // The nanosleep() function is not available on z/OS. Therefore, we will call
18 // sleep() to sleep for whole seconds and usleep() to sleep for any remaining
19 // fraction of a second. Any remaining nanoseconds will round up to the next
20 // microsecond.
21
22 useconds_t __micro_sec = (rem->tv_nsec + 999) / 1000;
23 if (__micro_sec > 999999)
24 {
25 ++rem->tv_sec;
26 __micro_sec -= 1000000;
27 }
28 while (rem->tv_sec)
29 rem->tv_sec = sleep(rem->tv_sec);
30 if (__micro_sec) {
31 rem->tv_nsec = __micro_sec * 1000;
32 return usleep(__micro_sec);
33 }
34 rem->tv_nsec = 0;
35 return 0;
36}
37
38#endif // _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
lib/libcxx/include/__support/ibm/support.h created+53
...@@ -0,0 +1,53 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_SUPPORT_H
11#define _LIBCPP_SUPPORT_IBM_SUPPORT_H
12
13extern "builtin" int __popcnt4(unsigned int);
14extern "builtin" int __popcnt8(unsigned long long);
15extern "builtin" unsigned int __cnttz4(unsigned int);
16extern "builtin" unsigned int __cnttz8(unsigned long long);
17extern "builtin" unsigned int __cntlz4(unsigned int);
18extern "builtin" unsigned int __cntlz8(unsigned long long);
19
20// Builtin functions for counting population
21#define __builtin_popcount(x) __popcnt4(x)
22#define __builtin_popcountll(x) __popcnt8(x)
23#if defined(__64BIT__)
24#define __builtin_popcountl(x) __builtin_popcountll(x)
25#else
26#define __builtin_popcountl(x) __builtin_popcount(x)
27#endif
28
29// Builtin functions for counting trailing zeros
30#define __builtin_ctz(x) __cnttz4(x)
31#define __builtin_ctzll(x) __cnttz8(x)
32#if defined(__64BIT__)
33#define __builtin_ctzl(x) __builtin_ctzll(x)
34#else
35#define __builtin_ctzl(x) __builtin_ctz(x)
36#endif
37
38// Builtin functions for counting leading zeros
39#define __builtin_clz(x) __cntlz4(x)
40#define __builtin_clzll(x) __cntlz8(x)
41#if defined(__64BIT__)
42#define __builtin_clzl(x) __builtin_clzll(x)
43#else
44#define __builtin_clzl(x) __builtin_clz(x)
45#endif
46
47#if defined(__64BIT__)
48#define __SIZE_WIDTH__ 64
49#else
50#define __SIZE_WIDTH__ 32
51#endif
52
53#endif // _LIBCPP_SUPPORT_IBM_SUPPORT_H
lib/libcxx/include/__support/ibm/xlocale.h created+276
...@@ -0,0 +1,276 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_XLOCALE_H
11#define _LIBCPP_SUPPORT_IBM_XLOCALE_H
12
13#include <__support/ibm/locale_mgmt_aix.h>
14
15#include "cstdlib"
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21#if defined(_AIX)
22#if !defined(_AIX71)
23// AIX 7.1 and higher has these definitions. Definitions and stubs
24// are provied here as a temporary workaround on AIX 6.1.
25static inline
26int isalnum_l(int c, locale_t locale)
27{
28 return __xisalnum(locale, c);
29}
30static inline
31int isalpha_l(int c, locale_t locale)
32{
33 return __xisalpha(locale, c);
34}
35static inline
36int isblank_l(int c, locale_t locale)
37{
38 return __xisblank(locale, c);
39}
40static inline
41int iscntrl_l(int c, locale_t locale)
42{
43 return __xiscntrl(locale, c);
44}
45static inline
46int isdigit_l(int c, locale_t locale)
47{
48 return __xisdigit(locale, c);
49}
50static inline
51int isgraph_l(int c, locale_t locale)
52{
53 return __xisgraph(locale, c);
54}
55static inline
56int islower_l(int c, locale_t locale)
57{
58 return __xislower(locale, c);
59}
60static inline
61int isprint_l(int c, locale_t locale)
62{
63 return __xisprint(locale, c);
64}
65
66static inline
67int ispunct_l(int c, locale_t locale)
68{
69 return __xispunct(locale, c);
70}
71static inline
72int isspace_l(int c, locale_t locale)
73{
74 return __xisspace(locale, c);
75}
76static inline
77int isupper_l(int c, locale_t locale)
78{
79 return __xisupper(locale, c);
80}
81
82static inline
83int isxdigit_l(int c, locale_t locale)
84{
85 return __xisxdigit(locale, c);
86}
87
88static inline
89int iswalnum_l(wchar_t wc, locale_t locale)
90{
91 return __xiswalnum(locale, wc);
92}
93
94static inline
95int iswalpha_l(wchar_t wc, locale_t locale)
96{
97 return __xiswalpha(locale, wc);
98}
99
100static inline
101int iswblank_l(wchar_t wc, locale_t locale)
102{
103 return __xiswblank(locale, wc);
104}
105
106static inline
107int iswcntrl_l(wchar_t wc, locale_t locale)
108{
109 return __xiswcntrl(locale, wc);
110}
111
112static inline
113int iswdigit_l(wchar_t wc, locale_t locale)
114{
115 return __xiswdigit(locale, wc);
116}
117
118static inline
119int iswgraph_l(wchar_t wc, locale_t locale)
120{
121 return __xiswgraph(locale, wc);
122}
123
124static inline
125int iswlower_l(wchar_t wc, locale_t locale)
126{
127 return __xiswlower(locale, wc);
128}
129
130static inline
131int iswprint_l(wchar_t wc, locale_t locale)
132{
133 return __xiswprint(locale, wc);
134}
135
136static inline
137int iswpunct_l(wchar_t wc, locale_t locale)
138{
139 return __xiswpunct(locale, wc);
140}
141
142static inline
143int iswspace_l(wchar_t wc, locale_t locale)
144{
145 return __xiswspace(locale, wc);
146}
147
148static inline
149int iswupper_l(wchar_t wc, locale_t locale)
150{
151 return __xiswupper(locale, wc);
152}
153
154static inline
155int iswxdigit_l(wchar_t wc, locale_t locale)
156{
157 return __xiswxdigit(locale, wc);
158}
159
160static inline
161int iswctype_l(wint_t wc, wctype_t desc, locale_t locale)
162{
163 return __xiswctype(locale, wc, desc);
164}
165
166static inline
167int toupper_l(int c, locale_t locale)
168{
169 return __xtoupper(locale, c);
170}
171static inline
172int tolower_l(int c, locale_t locale)
173{
174 return __xtolower(locale, c);
175}
176static inline
177wint_t towupper_l(wint_t wc, locale_t locale)
178{
179 return __xtowupper(locale, wc);
180}
181static inline
182wint_t towlower_l(wint_t wc, locale_t locale)
183{
184 return __xtowlower(locale, wc);
185}
186
187static inline
188int strcoll_l(const char *__s1, const char *__s2, locale_t locale)
189{
190 return __xstrcoll(locale, __s1, __s2);
191}
192static inline
193int wcscoll_l(const wchar_t *__s1, const wchar_t *__s2, locale_t locale)
194{
195 return __xwcscoll(locale, __s1, __s2);
196}
197static inline
198size_t strxfrm_l(char *__s1, const char *__s2, size_t __n, locale_t locale)
199{
200 return __xstrxfrm(locale, __s1, __s2, __n);
201}
202
203static inline
204size_t wcsxfrm_l(wchar_t *__ws1, const wchar_t *__ws2, size_t __n,
205 locale_t locale)
206{
207 return __xwcsxfrm(locale, __ws1, __ws2, __n);
208}
209#endif // !defined(_AIX71)
210
211// strftime_l() is defined by POSIX. However, AIX 7.1 and z/OS do not have it
212// implemented yet. z/OS retrieves it from the POSIX fallbacks.
213static inline
214size_t strftime_l(char *__s, size_t __size, const char *__fmt,
215 const struct tm *__tm, locale_t locale) {
216 return __xstrftime(locale, __s, __size, __fmt, __tm);
217}
218
219#elif defined(__MVS__)
220#include <wctype.h>
221// POSIX routines
222#include <__support/xlocale/__posix_l_fallback.h>
223#endif // defined(__MVS__)
224
225// The following are not POSIX routines. These are quick-and-dirty hacks
226// to make things pretend to work
227static inline
228long long strtoll_l(const char *__nptr, char **__endptr,
229 int __base, locale_t locale) {
230 return strtoll(__nptr, __endptr, __base);
231}
232static inline
233long strtol_l(const char *__nptr, char **__endptr,
234 int __base, locale_t locale) {
235 return strtol(__nptr, __endptr, __base);
236}
237static inline
238long double strtold_l(const char *__nptr, char **__endptr,
239 locale_t locale) {
240 return strtold(__nptr, __endptr);
241}
242static inline
243unsigned long long strtoull_l(const char *__nptr, char **__endptr,
244 int __base, locale_t locale) {
245 return strtoull(__nptr, __endptr, __base);
246}
247static inline
248unsigned long strtoul_l(const char *__nptr, char **__endptr,
249 int __base, locale_t locale) {
250 return strtoul(__nptr, __endptr, __base);
251}
252
253static inline
254int vasprintf(char **strp, const char *fmt, va_list ap)
255{
256 const size_t buff_size = 256;
257 int str_size;
258 if ((*strp = (char *)malloc(buff_size)) == NULL)
259 {
260 return -1;
261 }
262 if ((str_size = vsnprintf(*strp, buff_size, fmt, ap)) >= buff_size)
263 {
264 if ((*strp = (char *)realloc(*strp, str_size + 1)) == NULL)
265 {
266 return -1;
267 }
268 str_size = vsnprintf(*strp, str_size + 1, fmt, ap);
269 }
270 return str_size;
271}
272
273#ifdef __cplusplus
274}
275#endif
276#endif // _LIBCPP_SUPPORT_IBM_XLOCALE_H
lib/libcxx/include/__support/musl/xlocale.h created+57
...@@ -0,0 +1,57 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// This adds support for the extended locale functions that are currently
10// missing from the Musl C library.
11//
12// This only works when the specified locale is "C" or "POSIX", but that's
13// about as good as we can do without implementing full xlocale support
14// in Musl.
15//===----------------------------------------------------------------------===//
16
17#ifndef _LIBCPP_SUPPORT_MUSL_XLOCALE_H
18#define _LIBCPP_SUPPORT_MUSL_XLOCALE_H
19
20#include <cstdlib>
21#include <cwchar>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27static inline long long strtoll_l(const char *nptr, char **endptr, int base,
28 locale_t) {
29 return strtoll(nptr, endptr, base);
30}
31
32static inline unsigned long long strtoull_l(const char *nptr, char **endptr,
33 int base, locale_t) {
34 return strtoull(nptr, endptr, base);
35}
36
37static inline long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr,
38 int base, locale_t) {
39 return wcstoll(nptr, endptr, base);
40}
41
42static inline unsigned long long wcstoull_l(const wchar_t *nptr,
43 wchar_t **endptr, int base,
44 locale_t) {
45 return wcstoull(nptr, endptr, base);
46}
47
48static inline long double wcstold_l(const wchar_t *nptr, wchar_t **endptr,
49 locale_t) {
50 return wcstold(nptr, endptr);
51}
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif // _LIBCPP_SUPPORT_MUSL_XLOCALE_H
lib/libcxx/include/__support/newlib/xlocale.h created+27
...@@ -0,0 +1,27 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
10#define _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
11
12#if defined(_NEWLIB_VERSION)
13
14#include <cstdlib>
15#include <clocale>
16#include <cwctype>
17#include <ctype.h>
18#if !defined(__NEWLIB__) || __NEWLIB__ < 2 || \
19 __NEWLIB__ == 2 && __NEWLIB_MINOR__ < 5
20#include <__support/xlocale/__nop_locale_mgmt.h>
21#include <__support/xlocale/__posix_l_fallback.h>
22#include <__support/xlocale/__strtonum_fallback.h>
23#endif
24
25#endif // _NEWLIB_VERSION
26
27#endif
lib/libcxx/include/__support/nuttx/xlocale.h created+18
...@@ -0,0 +1,18 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_NUTTX_XLOCALE_H
11#define _LIBCPP_SUPPORT_NUTTX_XLOCALE_H
12
13#if defined(__NuttX__)
14#include <__support/xlocale/__posix_l_fallback.h>
15#include <__support/xlocale/__strtonum_fallback.h>
16#endif // __NuttX__
17
18#endif
lib/libcxx/include/__support/openbsd/xlocale.h created+19
...@@ -0,0 +1,19 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_OPENBSD_XLOCALE_H
11#define _LIBCPP_SUPPORT_OPENBSD_XLOCALE_H
12
13#include <cstdlib>
14#include <clocale>
15#include <cwctype>
16#include <ctype.h>
17#include <__support/xlocale/__strtonum_fallback.h>
18
19#endif
lib/libcxx/include/__support/solaris/floatingpoint.h created+13
...@@ -0,0 +1,13 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#define atof sun_atof
10#define strtod sun_strtod
11#include_next "floatingpoint.h"
12#undef atof
13#undef strtod
lib/libcxx/include/__support/solaris/wchar.h created+46
...@@ -0,0 +1,46 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#define iswalpha sun_iswalpha
10#define iswupper sun_iswupper
11#define iswlower sun_iswlower
12#define iswdigit sun_iswdigit
13#define iswxdigit sun_iswxdigit
14#define iswalnum sun_iswalnum
15#define iswspace sun_iswspace
16#define iswpunct sun_iswpunct
17#define iswprint sun_iswprint
18#define iswgraph sun_iswgraph
19#define iswcntrl sun_iswcntrl
20#define iswctype sun_iswctype
21#define towlower sun_towlower
22#define towupper sun_towupper
23#define wcswcs sun_wcswcs
24#define wcswidth sun_wcswidth
25#define wcwidth sun_wcwidth
26#define wctype sun_wctype
27#define _WCHAR_T 1
28#include_next "wchar.h"
29#undef iswalpha
30#undef iswupper
31#undef iswlower
32#undef iswdigit
33#undef iswxdigit
34#undef iswalnum
35#undef iswspace
36#undef iswpunct
37#undef iswprint
38#undef iswgraph
39#undef iswcntrl
40#undef iswctype
41#undef towlower
42#undef towupper
43#undef wcswcs
44#undef wcswidth
45#undef wcwidth
46#undef wctype
lib/libcxx/include/__support/solaris/xlocale.h created+76
...@@ -0,0 +1,76 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9////////////////////////////////////////////////////////////////////////////////
10// Minimal xlocale implementation for Solaris. This implements the subset of
11// the xlocale APIs that libc++ depends on.
12////////////////////////////////////////////////////////////////////////////////
13#ifndef __XLOCALE_H_INCLUDED
14#define __XLOCALE_H_INCLUDED
15
16#include <stdlib.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22
23int snprintf_l(char *__s, size_t __n, locale_t __l, const char *__format, ...);
24int asprintf_l(char **__s, locale_t __l, const char *__format, ...);
25
26int sscanf_l(const char *__s, locale_t __l, const char *__format, ...);
27
28int toupper_l(int __c, locale_t __l);
29int tolower_l(int __c, locale_t __l);
30
31struct lconv *localeconv(void);
32struct lconv *localeconv_l(locale_t __l);
33
34// FIXME: These are quick-and-dirty hacks to make things pretend to work
35static inline
36long long strtoll_l(const char *__nptr, char **__endptr,
37 int __base, locale_t __loc) {
38 return strtoll(__nptr, __endptr, __base);
39}
40static inline
41long strtol_l(const char *__nptr, char **__endptr,
42 int __base, locale_t __loc) {
43 return strtol(__nptr, __endptr, __base);
44}
45static inline
46unsigned long long strtoull_l(const char *__nptr, char **__endptr,
47 int __base, locale_t __loc) {
48 return strtoull(__nptr, __endptr, __base);
49}
50static inline
51unsigned long strtoul_l(const char *__nptr, char **__endptr,
52 int __base, locale_t __loc) {
53 return strtoul(__nptr, __endptr, __base);
54}
55static inline
56float strtof_l(const char *__nptr, char **__endptr,
57 locale_t __loc) {
58 return strtof(__nptr, __endptr);
59}
60static inline
61double strtod_l(const char *__nptr, char **__endptr,
62 locale_t __loc) {
63 return strtod(__nptr, __endptr);
64}
65static inline
66long double strtold_l(const char *__nptr, char **__endptr,
67 locale_t __loc) {
68 return strtold(__nptr, __endptr);
69}
70
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif
lib/libcxx/include/__support/win32/limits_msvc_win32.h created+71
...@@ -0,0 +1,71 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
11#define _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
12
13#if !defined(_LIBCPP_MSVCRT)
14#error "This header complements the Microsoft C Runtime library, and should not be included otherwise."
15#endif
16#if defined(__clang__)
17#error "This header should only be included when using Microsofts C1XX frontend"
18#endif
19
20#include <limits.h> // CHAR_BIT
21#include <float.h> // limit constants
22#include <math.h> // HUGE_VAL
23#include <ymath.h> // internal MSVC header providing the needed functionality
24
25#define __CHAR_BIT__ CHAR_BIT
26
27#define __FLT_MANT_DIG__ FLT_MANT_DIG
28#define __FLT_DIG__ FLT_DIG
29#define __FLT_RADIX__ FLT_RADIX
30#define __FLT_MIN_EXP__ FLT_MIN_EXP
31#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
32#define __FLT_MAX_EXP__ FLT_MAX_EXP
33#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
34#define __FLT_MIN__ FLT_MIN
35#define __FLT_MAX__ FLT_MAX
36#define __FLT_EPSILON__ FLT_EPSILON
37// predefined by MinGW GCC
38#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
39
40#define __DBL_MANT_DIG__ DBL_MANT_DIG
41#define __DBL_DIG__ DBL_DIG
42#define __DBL_RADIX__ DBL_RADIX
43#define __DBL_MIN_EXP__ DBL_MIN_EXP
44#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
45#define __DBL_MAX_EXP__ DBL_MAX_EXP
46#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
47#define __DBL_MIN__ DBL_MIN
48#define __DBL_MAX__ DBL_MAX
49#define __DBL_EPSILON__ DBL_EPSILON
50// predefined by MinGW GCC
51#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L)
52
53#define __LDBL_MANT_DIG__ LDBL_MANT_DIG
54#define __LDBL_DIG__ LDBL_DIG
55#define __LDBL_RADIX__ LDBL_RADIX
56#define __LDBL_MIN_EXP__ LDBL_MIN_EXP
57#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
58#define __LDBL_MAX_EXP__ LDBL_MAX_EXP
59#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
60#define __LDBL_MIN__ LDBL_MIN
61#define __LDBL_MAX__ LDBL_MAX
62#define __LDBL_EPSILON__ LDBL_EPSILON
63// predefined by MinGW GCC
64#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
65
66// __builtin replacements/workarounds
67#define __builtin_huge_vall() _LInf._Long_double
68#define __builtin_nanl(__dummmy) _LNan._Long_double
69#define __builtin_nansl(__dummy) _LSnan._Long_double
70
71#endif // _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
lib/libcxx/include/__support/win32/locale_win32.h created+264
...@@ -0,0 +1,264 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
11#define _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
12
13#include <__config>
14#include <stdio.h>
15#include <xlocinfo.h> // _locale_t
16#include <__nullptr>
17
18#define LC_COLLATE_MASK _M_COLLATE
19#define LC_CTYPE_MASK _M_CTYPE
20#define LC_MONETARY_MASK _M_MONETARY
21#define LC_NUMERIC_MASK _M_NUMERIC
22#define LC_TIME_MASK _M_TIME
23#define LC_MESSAGES_MASK _M_MESSAGES
24#define LC_ALL_MASK ( LC_COLLATE_MASK \
25 | LC_CTYPE_MASK \
26 | LC_MESSAGES_MASK \
27 | LC_MONETARY_MASK \
28 | LC_NUMERIC_MASK \
29 | LC_TIME_MASK )
30
31class __lconv_storage {
32public:
33 __lconv_storage(const lconv *__lc_input) {
34 __lc = *__lc_input;
35
36 __decimal_point = __lc_input->decimal_point;
37 __thousands_sep = __lc_input->thousands_sep;
38 __grouping = __lc_input->grouping;
39 __int_curr_symbol = __lc_input->int_curr_symbol;
40 __currency_symbol = __lc_input->currency_symbol;
41 __mon_decimal_point = __lc_input->mon_decimal_point;
42 __mon_thousands_sep = __lc_input->mon_thousands_sep;
43 __mon_grouping = __lc_input->mon_grouping;
44 __positive_sign = __lc_input->positive_sign;
45 __negative_sign = __lc_input->negative_sign;
46
47 __lc.decimal_point = const_cast<char *>(__decimal_point.c_str());
48 __lc.thousands_sep = const_cast<char *>(__thousands_sep.c_str());
49 __lc.grouping = const_cast<char *>(__grouping.c_str());
50 __lc.int_curr_symbol = const_cast<char *>(__int_curr_symbol.c_str());
51 __lc.currency_symbol = const_cast<char *>(__currency_symbol.c_str());
52 __lc.mon_decimal_point = const_cast<char *>(__mon_decimal_point.c_str());
53 __lc.mon_thousands_sep = const_cast<char *>(__mon_thousands_sep.c_str());
54 __lc.mon_grouping = const_cast<char *>(__mon_grouping.c_str());
55 __lc.positive_sign = const_cast<char *>(__positive_sign.c_str());
56 __lc.negative_sign = const_cast<char *>(__negative_sign.c_str());
57 }
58
59 lconv *__get() {
60 return &__lc;
61 }
62private:
63 lconv __lc;
64 std::string __decimal_point;
65 std::string __thousands_sep;
66 std::string __grouping;
67 std::string __int_curr_symbol;
68 std::string __currency_symbol;
69 std::string __mon_decimal_point;
70 std::string __mon_thousands_sep;
71 std::string __mon_grouping;
72 std::string __positive_sign;
73 std::string __negative_sign;
74};
75
76class locale_t {
77public:
78 locale_t()
79 : __locale(nullptr), __locale_str(nullptr), __lc(nullptr) {}
80 locale_t(std::nullptr_t)
81 : __locale(nullptr), __locale_str(nullptr), __lc(nullptr) {}
82 locale_t(_locale_t __xlocale, const char* __xlocale_str)
83 : __locale(__xlocale), __locale_str(__xlocale_str), __lc(nullptr) {}
84 locale_t(const locale_t &__l)
85 : __locale(__l.__locale), __locale_str(__l.__locale_str), __lc(nullptr) {}
86
87 ~locale_t() {
88 delete __lc;
89 }
90
91 locale_t &operator =(const locale_t &__l) {
92 __locale = __l.__locale;
93 __locale_str = __l.__locale_str;
94 // __lc not copied
95 return *this;
96 }
97
98 friend bool operator==(const locale_t& __left, const locale_t& __right) {
99 return __left.__locale == __right.__locale;
100 }
101
102 friend bool operator==(const locale_t& __left, int __right) {
103 return __left.__locale == nullptr && __right == 0;
104 }
105
106 friend bool operator==(const locale_t& __left, long long __right) {
107 return __left.__locale == nullptr && __right == 0;
108 }
109
110 friend bool operator==(const locale_t& __left, std::nullptr_t) {
111 return __left.__locale == nullptr;
112 }
113
114 friend bool operator==(int __left, const locale_t& __right) {
115 return __left == 0 && nullptr == __right.__locale;
116 }
117
118 friend bool operator==(std::nullptr_t, const locale_t& __right) {
119 return nullptr == __right.__locale;
120 }
121
122 friend bool operator!=(const locale_t& __left, const locale_t& __right) {
123 return !(__left == __right);
124 }
125
126 friend bool operator!=(const locale_t& __left, int __right) {
127 return !(__left == __right);
128 }
129
130 friend bool operator!=(const locale_t& __left, long long __right) {
131 return !(__left == __right);
132 }
133
134 friend bool operator!=(const locale_t& __left, std::nullptr_t __right) {
135 return !(__left == __right);
136 }
137
138 friend bool operator!=(int __left, const locale_t& __right) {
139 return !(__left == __right);
140 }
141
142 friend bool operator!=(std::nullptr_t __left, const locale_t& __right) {
143 return !(__left == __right);
144 }
145
146 operator bool() const {
147 return __locale != nullptr;
148 }
149
150 const char* __get_locale() const { return __locale_str; }
151
152 operator _locale_t() const {
153 return __locale;
154 }
155
156 lconv *__store_lconv(const lconv *__input_lc) {
157 delete __lc;
158 __lc = new __lconv_storage(__input_lc);
159 return __lc->__get();
160 }
161private:
162 _locale_t __locale;
163 const char* __locale_str;
164 __lconv_storage *__lc = nullptr;
165};
166
167// Locale management functions
168#define freelocale _free_locale
169// FIXME: base currently unused. Needs manual work to construct the new locale
170locale_t newlocale( int mask, const char * locale, locale_t base );
171// uselocale can't be implemented on Windows because Windows allows partial modification
172// of thread-local locale and so _get_current_locale() returns a copy while uselocale does
173// not create any copies.
174// We can still implement raii even without uselocale though.
175
176
177lconv *localeconv_l( locale_t &loc );
178size_t mbrlen_l( const char *__restrict s, size_t n,
179 mbstate_t *__restrict ps, locale_t loc);
180size_t mbsrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
181 size_t len, mbstate_t *__restrict ps, locale_t loc );
182size_t wcrtomb_l( char *__restrict s, wchar_t wc, mbstate_t *__restrict ps,
183 locale_t loc);
184size_t mbrtowc_l( wchar_t *__restrict pwc, const char *__restrict s,
185 size_t n, mbstate_t *__restrict ps, locale_t loc);
186size_t mbsnrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
187 size_t nms, size_t len, mbstate_t *__restrict ps, locale_t loc);
188size_t wcsnrtombs_l( char *__restrict dst, const wchar_t **__restrict src,
189 size_t nwc, size_t len, mbstate_t *__restrict ps, locale_t loc);
190wint_t btowc_l( int c, locale_t loc );
191int wctob_l( wint_t c, locale_t loc );
192
193decltype(MB_CUR_MAX) MB_CUR_MAX_L( locale_t __l );
194
195// the *_l functions are prefixed on Windows, only available for msvcr80+, VS2005+
196#define mbtowc_l _mbtowc_l
197#define strtoll_l _strtoi64_l
198#define strtoull_l _strtoui64_l
199#define strtod_l _strtod_l
200#if defined(_LIBCPP_MSVCRT)
201#define strtof_l _strtof_l
202#define strtold_l _strtold_l
203#else
204_LIBCPP_FUNC_VIS float strtof_l(const char*, char**, locale_t);
205_LIBCPP_FUNC_VIS long double strtold_l(const char*, char**, locale_t);
206#endif
207inline _LIBCPP_INLINE_VISIBILITY
208int
209islower_l(int c, _locale_t loc)
210{
211 return _islower_l((int)c, loc);
212}
213
214inline _LIBCPP_INLINE_VISIBILITY
215int
216isupper_l(int c, _locale_t loc)
217{
218 return _isupper_l((int)c, loc);
219}
220
221#define isdigit_l _isdigit_l
222#define isxdigit_l _isxdigit_l
223#define strcoll_l _strcoll_l
224#define strxfrm_l _strxfrm_l
225#define wcscoll_l _wcscoll_l
226#define wcsxfrm_l _wcsxfrm_l
227#define toupper_l _toupper_l
228#define tolower_l _tolower_l
229#define iswspace_l _iswspace_l
230#define iswprint_l _iswprint_l
231#define iswcntrl_l _iswcntrl_l
232#define iswupper_l _iswupper_l
233#define iswlower_l _iswlower_l
234#define iswalpha_l _iswalpha_l
235#define iswdigit_l _iswdigit_l
236#define iswpunct_l _iswpunct_l
237#define iswxdigit_l _iswxdigit_l
238#define towupper_l _towupper_l
239#define towlower_l _towlower_l
240#if defined(__MINGW32__) && __MSVCRT_VERSION__ < 0x0800
241_LIBCPP_FUNC_VIS size_t strftime_l(char *ret, size_t n, const char *format,
242 const struct tm *tm, locale_t loc);
243#else
244#define strftime_l _strftime_l
245#endif
246#define sscanf_l( __s, __l, __f, ...) _sscanf_l( __s, __f, __l, __VA_ARGS__ )
247#define sprintf_l( __s, __l, __f, ... ) _sprintf_l( __s, __f, __l, __VA_ARGS__ )
248#define vsprintf_l( __s, __l, __f, ... ) _vsprintf_l( __s, __f, __l, __VA_ARGS__ )
249#define vsnprintf_l( __s, __n, __l, __f, ... ) _vsnprintf_l( __s, __n, __f, __l, __VA_ARGS__ )
250_LIBCPP_FUNC_VIS int snprintf_l(char *ret, size_t n, locale_t loc, const char *format, ...);
251_LIBCPP_FUNC_VIS int asprintf_l( char **ret, locale_t loc, const char *format, ... );
252_LIBCPP_FUNC_VIS int vasprintf_l( char **ret, locale_t loc, const char *format, va_list ap );
253
254// not-so-pressing FIXME: use locale to determine blank characters
255inline int isblank_l( int c, locale_t /*loc*/ )
256{
257 return ( c == ' ' || c == '\t' );
258}
259inline int iswblank_l( wint_t c, locale_t /*loc*/ )
260{
261 return ( c == L' ' || c == L'\t' );
262}
263
264#endif // _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
lib/libcxx/include/__support/xlocale/__nop_locale_mgmt.h created+51
...@@ -0,0 +1,51 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
11#define _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17// Patch over lack of extended locale support
18typedef void *locale_t;
19static inline locale_t duplocale(locale_t) {
20 return NULL;
21}
22
23static inline void freelocale(locale_t) {
24}
25
26static inline locale_t newlocale(int, const char *, locale_t) {
27 return NULL;
28}
29
30static inline locale_t uselocale(locale_t) {
31 return NULL;
32}
33
34#define LC_COLLATE_MASK (1 << LC_COLLATE)
35#define LC_CTYPE_MASK (1 << LC_CTYPE)
36#define LC_MESSAGES_MASK (1 << LC_MESSAGES)
37#define LC_MONETARY_MASK (1 << LC_MONETARY)
38#define LC_NUMERIC_MASK (1 << LC_NUMERIC)
39#define LC_TIME_MASK (1 << LC_TIME)
40#define LC_ALL_MASK (LC_COLLATE_MASK|\
41 LC_CTYPE_MASK|\
42 LC_MONETARY_MASK|\
43 LC_NUMERIC_MASK|\
44 LC_TIME_MASK|\
45 LC_MESSAGES_MASK)
46
47#ifdef __cplusplus
48} // extern "C"
49#endif
50
51#endif // _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
lib/libcxx/include/__support/xlocale/__posix_l_fallback.h created+164
...@@ -0,0 +1,164 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// These are reimplementations of some extended locale functions ( *_l ) that
10// are normally part of POSIX. This shared implementation provides parts of the
11// extended locale support for libc's that normally don't have any (like
12// Android's bionic and Newlib).
13//===----------------------------------------------------------------------===//
14
15#ifndef _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
16#define _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22inline _LIBCPP_INLINE_VISIBILITY int isalnum_l(int c, locale_t) {
23 return ::isalnum(c);
24}
25
26inline _LIBCPP_INLINE_VISIBILITY int isalpha_l(int c, locale_t) {
27 return ::isalpha(c);
28}
29
30inline _LIBCPP_INLINE_VISIBILITY int isblank_l(int c, locale_t) {
31 return ::isblank(c);
32}
33
34inline _LIBCPP_INLINE_VISIBILITY int iscntrl_l(int c, locale_t) {
35 return ::iscntrl(c);
36}
37
38inline _LIBCPP_INLINE_VISIBILITY int isdigit_l(int c, locale_t) {
39 return ::isdigit(c);
40}
41
42inline _LIBCPP_INLINE_VISIBILITY int isgraph_l(int c, locale_t) {
43 return ::isgraph(c);
44}
45
46inline _LIBCPP_INLINE_VISIBILITY int islower_l(int c, locale_t) {
47 return ::islower(c);
48}
49
50inline _LIBCPP_INLINE_VISIBILITY int isprint_l(int c, locale_t) {
51 return ::isprint(c);
52}
53
54inline _LIBCPP_INLINE_VISIBILITY int ispunct_l(int c, locale_t) {
55 return ::ispunct(c);
56}
57
58inline _LIBCPP_INLINE_VISIBILITY int isspace_l(int c, locale_t) {
59 return ::isspace(c);
60}
61
62inline _LIBCPP_INLINE_VISIBILITY int isupper_l(int c, locale_t) {
63 return ::isupper(c);
64}
65
66inline _LIBCPP_INLINE_VISIBILITY int isxdigit_l(int c, locale_t) {
67 return ::isxdigit(c);
68}
69
70inline _LIBCPP_INLINE_VISIBILITY int iswalnum_l(wint_t c, locale_t) {
71 return ::iswalnum(c);
72}
73
74inline _LIBCPP_INLINE_VISIBILITY int iswalpha_l(wint_t c, locale_t) {
75 return ::iswalpha(c);
76}
77
78inline _LIBCPP_INLINE_VISIBILITY int iswblank_l(wint_t c, locale_t) {
79 return ::iswblank(c);
80}
81
82inline _LIBCPP_INLINE_VISIBILITY int iswcntrl_l(wint_t c, locale_t) {
83 return ::iswcntrl(c);
84}
85
86inline _LIBCPP_INLINE_VISIBILITY int iswdigit_l(wint_t c, locale_t) {
87 return ::iswdigit(c);
88}
89
90inline _LIBCPP_INLINE_VISIBILITY int iswgraph_l(wint_t c, locale_t) {
91 return ::iswgraph(c);
92}
93
94inline _LIBCPP_INLINE_VISIBILITY int iswlower_l(wint_t c, locale_t) {
95 return ::iswlower(c);
96}
97
98inline _LIBCPP_INLINE_VISIBILITY int iswprint_l(wint_t c, locale_t) {
99 return ::iswprint(c);
100}
101
102inline _LIBCPP_INLINE_VISIBILITY int iswpunct_l(wint_t c, locale_t) {
103 return ::iswpunct(c);
104}
105
106inline _LIBCPP_INLINE_VISIBILITY int iswspace_l(wint_t c, locale_t) {
107 return ::iswspace(c);
108}
109
110inline _LIBCPP_INLINE_VISIBILITY int iswupper_l(wint_t c, locale_t) {
111 return ::iswupper(c);
112}
113
114inline _LIBCPP_INLINE_VISIBILITY int iswxdigit_l(wint_t c, locale_t) {
115 return ::iswxdigit(c);
116}
117
118inline _LIBCPP_INLINE_VISIBILITY int toupper_l(int c, locale_t) {
119 return ::toupper(c);
120}
121
122inline _LIBCPP_INLINE_VISIBILITY int tolower_l(int c, locale_t) {
123 return ::tolower(c);
124}
125
126inline _LIBCPP_INLINE_VISIBILITY wint_t towupper_l(wint_t c, locale_t) {
127 return ::towupper(c);
128}
129
130inline _LIBCPP_INLINE_VISIBILITY wint_t towlower_l(wint_t c, locale_t) {
131 return ::towlower(c);
132}
133
134inline _LIBCPP_INLINE_VISIBILITY int strcoll_l(const char *s1, const char *s2,
135 locale_t) {
136 return ::strcoll(s1, s2);
137}
138
139inline _LIBCPP_INLINE_VISIBILITY size_t strxfrm_l(char *dest, const char *src,
140 size_t n, locale_t) {
141 return ::strxfrm(dest, src, n);
142}
143
144inline _LIBCPP_INLINE_VISIBILITY size_t strftime_l(char *s, size_t max,
145 const char *format,
146 const struct tm *tm, locale_t) {
147 return ::strftime(s, max, format, tm);
148}
149
150inline _LIBCPP_INLINE_VISIBILITY int wcscoll_l(const wchar_t *ws1,
151 const wchar_t *ws2, locale_t) {
152 return ::wcscoll(ws1, ws2);
153}
154
155inline _LIBCPP_INLINE_VISIBILITY size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src,
156 size_t n, locale_t) {
157 return ::wcsxfrm(dest, src, n);
158}
159
160#ifdef __cplusplus
161}
162#endif
163
164#endif // _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
lib/libcxx/include/__support/xlocale/__strtonum_fallback.h created+66
...@@ -0,0 +1,66 @@
1// -*- C++ -*-
2//===-----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// These are reimplementations of some extended locale functions ( *_l ) that
10// aren't part of POSIX. They are widely available though (GLIBC, BSD, maybe
11// others). The unifying aspect in this case is that all of these functions
12// convert strings to some numeric type.
13//===----------------------------------------------------------------------===//
14
15#ifndef _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
16#define _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char *nptr,
23 char **endptr, locale_t) {
24 return ::strtof(nptr, endptr);
25}
26
27inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char *nptr,
28 char **endptr, locale_t) {
29 return ::strtod(nptr, endptr);
30}
31
32inline _LIBCPP_INLINE_VISIBILITY long double strtold_l(const char *nptr,
33 char **endptr, locale_t) {
34 return ::strtold(nptr, endptr);
35}
36
37inline _LIBCPP_INLINE_VISIBILITY long long
38strtoll_l(const char *nptr, char **endptr, int base, locale_t) {
39 return ::strtoll(nptr, endptr, base);
40}
41
42inline _LIBCPP_INLINE_VISIBILITY unsigned long long
43strtoull_l(const char *nptr, char **endptr, int base, locale_t) {
44 return ::strtoull(nptr, endptr, base);
45}
46
47inline _LIBCPP_INLINE_VISIBILITY long long
48wcstoll_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
49 return ::wcstoll(nptr, endptr, base);
50}
51
52inline _LIBCPP_INLINE_VISIBILITY unsigned long long
53wcstoull_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
54 return ::wcstoull(nptr, endptr, base);
55}
56
57inline _LIBCPP_INLINE_VISIBILITY long double wcstold_l(const wchar_t *nptr,
58 wchar_t **endptr, locale_t) {
59 return ::wcstold(nptr, endptr);
60}
61
62#ifdef __cplusplus
63}
64#endif
65
66#endif // _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
lib/libcxx/include/__threading_support+1-1
...@@ -17,7 +17,7 @@...@@ -17,7 +17,7 @@
17#include <errno.h>17#include <errno.h>
1818
19#ifdef __MVS__19#ifdef __MVS__
20# include <support/ibm/nanosleep.h>20# include <__support/ibm/nanosleep.h>
21#endif21#endif
2222
23#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER23#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
lib/libcxx/include/__tree+45-45
...@@ -108,10 +108,10 @@ __tree_sub_invariant(_NodePtr __x)...@@ -108,10 +108,10 @@ __tree_sub_invariant(_NodePtr __x)
108 if (__x->__right_ && !__x->__right_->__is_black_)108 if (__x->__right_ && !__x->__right_->__is_black_)
109 return 0;109 return 0;
110 }110 }
111 unsigned __h = __tree_sub_invariant(__x->__left_);111 unsigned __h = _VSTD::__tree_sub_invariant(__x->__left_);
112 if (__h == 0)112 if (__h == 0)
113 return 0; // invalid left subtree113 return 0; // invalid left subtree
114 if (__h != __tree_sub_invariant(__x->__right_))114 if (__h != _VSTD::__tree_sub_invariant(__x->__right_))
115 return 0; // invalid or different height right subtree115 return 0; // invalid or different height right subtree
116 return __h + __x->__is_black_; // return black height of this node116 return __h + __x->__is_black_; // return black height of this node
117}117}
...@@ -128,13 +128,13 @@ __tree_invariant(_NodePtr __root)...@@ -128,13 +128,13 @@ __tree_invariant(_NodePtr __root)
128 // check __x->__parent_ consistency128 // check __x->__parent_ consistency
129 if (__root->__parent_ == nullptr)129 if (__root->__parent_ == nullptr)
130 return false;130 return false;
131 if (!__tree_is_left_child(__root))131 if (!_VSTD::__tree_is_left_child(__root))
132 return false;132 return false;
133 // root must be black133 // root must be black
134 if (!__root->__is_black_)134 if (!__root->__is_black_)
135 return false;135 return false;
136 // do normal node checks136 // do normal node checks
137 return __tree_sub_invariant(__root) != 0;137 return _VSTD::__tree_sub_invariant(__root) != 0;
138}138}
139139
140// Returns: pointer to the left-most node under __x.140// Returns: pointer to the left-most node under __x.
...@@ -168,8 +168,8 @@ _NodePtr...@@ -168,8 +168,8 @@ _NodePtr
168__tree_next(_NodePtr __x) _NOEXCEPT168__tree_next(_NodePtr __x) _NOEXCEPT
169{169{
170 if (__x->__right_ != nullptr)170 if (__x->__right_ != nullptr)
171 return __tree_min(__x->__right_);171 return _VSTD::__tree_min(__x->__right_);
172 while (!__tree_is_left_child(__x))172 while (!_VSTD::__tree_is_left_child(__x))
173 __x = __x->__parent_unsafe();173 __x = __x->__parent_unsafe();
174 return __x->__parent_unsafe();174 return __x->__parent_unsafe();
175}175}
...@@ -180,8 +180,8 @@ _EndNodePtr...@@ -180,8 +180,8 @@ _EndNodePtr
180__tree_next_iter(_NodePtr __x) _NOEXCEPT180__tree_next_iter(_NodePtr __x) _NOEXCEPT
181{181{
182 if (__x->__right_ != nullptr)182 if (__x->__right_ != nullptr)
183 return static_cast<_EndNodePtr>(__tree_min(__x->__right_));183 return static_cast<_EndNodePtr>(_VSTD::__tree_min(__x->__right_));
184 while (!__tree_is_left_child(__x))184 while (!_VSTD::__tree_is_left_child(__x))
185 __x = __x->__parent_unsafe();185 __x = __x->__parent_unsafe();
186 return static_cast<_EndNodePtr>(__x->__parent_);186 return static_cast<_EndNodePtr>(__x->__parent_);
187}187}
...@@ -195,9 +195,9 @@ _NodePtr...@@ -195,9 +195,9 @@ _NodePtr
195__tree_prev_iter(_EndNodePtr __x) _NOEXCEPT195__tree_prev_iter(_EndNodePtr __x) _NOEXCEPT
196{196{
197 if (__x->__left_ != nullptr)197 if (__x->__left_ != nullptr)
198 return __tree_max(__x->__left_);198 return _VSTD::__tree_max(__x->__left_);
199 _NodePtr __xx = static_cast<_NodePtr>(__x);199 _NodePtr __xx = static_cast<_NodePtr>(__x);
200 while (__tree_is_left_child(__xx))200 while (_VSTD::__tree_is_left_child(__xx))
201 __xx = __xx->__parent_unsafe();201 __xx = __xx->__parent_unsafe();
202 return __xx->__parent_unsafe();202 return __xx->__parent_unsafe();
203}203}
...@@ -237,7 +237,7 @@ __tree_left_rotate(_NodePtr __x) _NOEXCEPT...@@ -237,7 +237,7 @@ __tree_left_rotate(_NodePtr __x) _NOEXCEPT
237 if (__x->__right_ != nullptr)237 if (__x->__right_ != nullptr)
238 __x->__right_->__set_parent(__x);238 __x->__right_->__set_parent(__x);
239 __y->__parent_ = __x->__parent_;239 __y->__parent_ = __x->__parent_;
240 if (__tree_is_left_child(__x))240 if (_VSTD::__tree_is_left_child(__x))
241 __x->__parent_->__left_ = __y;241 __x->__parent_->__left_ = __y;
242 else242 else
243 __x->__parent_unsafe()->__right_ = __y;243 __x->__parent_unsafe()->__right_ = __y;
...@@ -257,7 +257,7 @@ __tree_right_rotate(_NodePtr __x) _NOEXCEPT...@@ -257,7 +257,7 @@ __tree_right_rotate(_NodePtr __x) _NOEXCEPT
257 if (__x->__left_ != nullptr)257 if (__x->__left_ != nullptr)
258 __x->__left_->__set_parent(__x);258 __x->__left_->__set_parent(__x);
259 __y->__parent_ = __x->__parent_;259 __y->__parent_ = __x->__parent_;
260 if (__tree_is_left_child(__x))260 if (_VSTD::__tree_is_left_child(__x))
261 __x->__parent_->__left_ = __y;261 __x->__parent_->__left_ = __y;
262 else262 else
263 __x->__parent_unsafe()->__right_ = __y;263 __x->__parent_unsafe()->__right_ = __y;
...@@ -281,7 +281,7 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT...@@ -281,7 +281,7 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT
281 while (__x != __root && !__x->__parent_unsafe()->__is_black_)281 while (__x != __root && !__x->__parent_unsafe()->__is_black_)
282 {282 {
283 // __x->__parent_ != __root because __x->__parent_->__is_black == false283 // __x->__parent_ != __root because __x->__parent_->__is_black == false
284 if (__tree_is_left_child(__x->__parent_unsafe()))284 if (_VSTD::__tree_is_left_child(__x->__parent_unsafe()))
285 {285 {
286 _NodePtr __y = __x->__parent_unsafe()->__parent_unsafe()->__right_;286 _NodePtr __y = __x->__parent_unsafe()->__parent_unsafe()->__right_;
287 if (__y != nullptr && !__y->__is_black_)287 if (__y != nullptr && !__y->__is_black_)
...@@ -294,16 +294,16 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT...@@ -294,16 +294,16 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT
294 }294 }
295 else295 else
296 {296 {
297 if (!__tree_is_left_child(__x))297 if (!_VSTD::__tree_is_left_child(__x))
298 {298 {
299 __x = __x->__parent_unsafe();299 __x = __x->__parent_unsafe();
300 __tree_left_rotate(__x);300 _VSTD::__tree_left_rotate(__x);
301 }301 }
302 __x = __x->__parent_unsafe();302 __x = __x->__parent_unsafe();
303 __x->__is_black_ = true;303 __x->__is_black_ = true;
304 __x = __x->__parent_unsafe();304 __x = __x->__parent_unsafe();
305 __x->__is_black_ = false;305 __x->__is_black_ = false;
306 __tree_right_rotate(__x);306 _VSTD::__tree_right_rotate(__x);
307 break;307 break;
308 }308 }
309 }309 }
...@@ -320,16 +320,16 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT...@@ -320,16 +320,16 @@ __tree_balance_after_insert(_NodePtr __root, _NodePtr __x) _NOEXCEPT
320 }320 }
321 else321 else
322 {322 {
323 if (__tree_is_left_child(__x))323 if (_VSTD::__tree_is_left_child(__x))
324 {324 {
325 __x = __x->__parent_unsafe();325 __x = __x->__parent_unsafe();
326 __tree_right_rotate(__x);326 _VSTD::__tree_right_rotate(__x);
327 }327 }
328 __x = __x->__parent_unsafe();328 __x = __x->__parent_unsafe();
329 __x->__is_black_ = true;329 __x->__is_black_ = true;
330 __x = __x->__parent_unsafe();330 __x = __x->__parent_unsafe();
331 __x->__is_black_ = false;331 __x->__is_black_ = false;
332 __tree_left_rotate(__x);332 _VSTD::__tree_left_rotate(__x);
333 break;333 break;
334 }334 }
335 }335 }
...@@ -352,7 +352,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -352,7 +352,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
352 // __y will have at most one child.352 // __y will have at most one child.
353 // __y will be the initial hole in the tree (make the hole at a leaf)353 // __y will be the initial hole in the tree (make the hole at a leaf)
354 _NodePtr __y = (__z->__left_ == nullptr || __z->__right_ == nullptr) ?354 _NodePtr __y = (__z->__left_ == nullptr || __z->__right_ == nullptr) ?
355 __z : __tree_next(__z);355 __z : _VSTD::__tree_next(__z);
356 // __x is __y's possibly null single child356 // __x is __y's possibly null single child
357 _NodePtr __x = __y->__left_ != nullptr ? __y->__left_ : __y->__right_;357 _NodePtr __x = __y->__left_ != nullptr ? __y->__left_ : __y->__right_;
358 // __w is __x's possibly null uncle (will become __x's sibling)358 // __w is __x's possibly null uncle (will become __x's sibling)
...@@ -360,7 +360,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -360,7 +360,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
360 // link __x to __y's parent, and find __w360 // link __x to __y's parent, and find __w
361 if (__x != nullptr)361 if (__x != nullptr)
362 __x->__parent_ = __y->__parent_;362 __x->__parent_ = __y->__parent_;
363 if (__tree_is_left_child(__y))363 if (_VSTD::__tree_is_left_child(__y))
364 {364 {
365 __y->__parent_->__left_ = __x;365 __y->__parent_->__left_ = __x;
366 if (__y != __root)366 if (__y != __root)
...@@ -381,7 +381,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -381,7 +381,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
381 {381 {
382 // __z->__left_ != nulptr but __z->__right_ might == __x == nullptr382 // __z->__left_ != nulptr but __z->__right_ might == __x == nullptr
383 __y->__parent_ = __z->__parent_;383 __y->__parent_ = __z->__parent_;
384 if (__tree_is_left_child(__z))384 if (_VSTD::__tree_is_left_child(__z))
385 __y->__parent_->__left_ = __y;385 __y->__parent_->__left_ = __y;
386 else386 else
387 __y->__parent_unsafe()->__right_ = __y;387 __y->__parent_unsafe()->__right_ = __y;
...@@ -421,13 +421,13 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -421,13 +421,13 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
421 // with a non-null black child).421 // with a non-null black child).
422 while (true)422 while (true)
423 {423 {
424 if (!__tree_is_left_child(__w)) // if x is left child424 if (!_VSTD::__tree_is_left_child(__w)) // if x is left child
425 {425 {
426 if (!__w->__is_black_)426 if (!__w->__is_black_)
427 {427 {
428 __w->__is_black_ = true;428 __w->__is_black_ = true;
429 __w->__parent_unsafe()->__is_black_ = false;429 __w->__parent_unsafe()->__is_black_ = false;
430 __tree_left_rotate(__w->__parent_unsafe());430 _VSTD::__tree_left_rotate(__w->__parent_unsafe());
431 // __x is still valid431 // __x is still valid
432 // reset __root only if necessary432 // reset __root only if necessary
433 if (__root == __w->__left_)433 if (__root == __w->__left_)
...@@ -448,7 +448,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -448,7 +448,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
448 break;448 break;
449 }449 }
450 // reset sibling, and it still can't be null450 // reset sibling, and it still can't be null
451 __w = __tree_is_left_child(__x) ?451 __w = _VSTD::__tree_is_left_child(__x) ?
452 __x->__parent_unsafe()->__right_ :452 __x->__parent_unsafe()->__right_ :
453 __x->__parent_->__left_;453 __x->__parent_->__left_;
454 // continue;454 // continue;
...@@ -460,7 +460,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -460,7 +460,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
460 // __w left child is non-null and red460 // __w left child is non-null and red
461 __w->__left_->__is_black_ = true;461 __w->__left_->__is_black_ = true;
462 __w->__is_black_ = false;462 __w->__is_black_ = false;
463 __tree_right_rotate(__w);463 _VSTD::__tree_right_rotate(__w);
464 // __w is known not to be root, so root hasn't changed464 // __w is known not to be root, so root hasn't changed
465 // reset sibling, and it still can't be null465 // reset sibling, and it still can't be null
466 __w = __w->__parent_unsafe();466 __w = __w->__parent_unsafe();
...@@ -469,7 +469,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -469,7 +469,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
469 __w->__is_black_ = __w->__parent_unsafe()->__is_black_;469 __w->__is_black_ = __w->__parent_unsafe()->__is_black_;
470 __w->__parent_unsafe()->__is_black_ = true;470 __w->__parent_unsafe()->__is_black_ = true;
471 __w->__right_->__is_black_ = true;471 __w->__right_->__is_black_ = true;
472 __tree_left_rotate(__w->__parent_unsafe());472 _VSTD::__tree_left_rotate(__w->__parent_unsafe());
473 break;473 break;
474 }474 }
475 }475 }
...@@ -479,7 +479,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -479,7 +479,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
479 {479 {
480 __w->__is_black_ = true;480 __w->__is_black_ = true;
481 __w->__parent_unsafe()->__is_black_ = false;481 __w->__parent_unsafe()->__is_black_ = false;
482 __tree_right_rotate(__w->__parent_unsafe());482 _VSTD::__tree_right_rotate(__w->__parent_unsafe());
483 // __x is still valid483 // __x is still valid
484 // reset __root only if necessary484 // reset __root only if necessary
485 if (__root == __w->__right_)485 if (__root == __w->__right_)
...@@ -500,7 +500,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -500,7 +500,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
500 break;500 break;
501 }501 }
502 // reset sibling, and it still can't be null502 // reset sibling, and it still can't be null
503 __w = __tree_is_left_child(__x) ?503 __w = _VSTD::__tree_is_left_child(__x) ?
504 __x->__parent_unsafe()->__right_ :504 __x->__parent_unsafe()->__right_ :
505 __x->__parent_->__left_;505 __x->__parent_->__left_;
506 // continue;506 // continue;
...@@ -512,7 +512,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -512,7 +512,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
512 // __w right child is non-null and red512 // __w right child is non-null and red
513 __w->__right_->__is_black_ = true;513 __w->__right_->__is_black_ = true;
514 __w->__is_black_ = false;514 __w->__is_black_ = false;
515 __tree_left_rotate(__w);515 _VSTD::__tree_left_rotate(__w);
516 // __w is known not to be root, so root hasn't changed516 // __w is known not to be root, so root hasn't changed
517 // reset sibling, and it still can't be null517 // reset sibling, and it still can't be null
518 __w = __w->__parent_unsafe();518 __w = __w->__parent_unsafe();
...@@ -521,7 +521,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT...@@ -521,7 +521,7 @@ __tree_remove(_NodePtr __root, _NodePtr __z) _NOEXCEPT
521 __w->__is_black_ = __w->__parent_unsafe()->__is_black_;521 __w->__is_black_ = __w->__parent_unsafe()->__is_black_;
522 __w->__parent_unsafe()->__is_black_ = true;522 __w->__parent_unsafe()->__is_black_ = true;
523 __w->__left_->__is_black_ = true;523 __w->__left_->__is_black_ = true;
524 __tree_right_rotate(__w->__parent_unsafe());524 _VSTD::__tree_right_rotate(__w->__parent_unsafe());
525 break;525 break;
526 }526 }
527 }527 }
...@@ -839,7 +839,7 @@ public:...@@ -839,7 +839,7 @@ public:
839 _LIBCPP_INLINE_VISIBILITY839 _LIBCPP_INLINE_VISIBILITY
840 __tree_iterator& operator++() {840 __tree_iterator& operator++() {
841 __ptr_ = static_cast<__iter_pointer>(841 __ptr_ = static_cast<__iter_pointer>(
842 __tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));842 _VSTD::__tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));
843 return *this;843 return *this;
844 }844 }
845 _LIBCPP_INLINE_VISIBILITY845 _LIBCPP_INLINE_VISIBILITY
...@@ -848,7 +848,7 @@ public:...@@ -848,7 +848,7 @@ public:
848848
849 _LIBCPP_INLINE_VISIBILITY849 _LIBCPP_INLINE_VISIBILITY
850 __tree_iterator& operator--() {850 __tree_iterator& operator--() {
851 __ptr_ = static_cast<__iter_pointer>(__tree_prev_iter<__node_base_pointer>(851 __ptr_ = static_cast<__iter_pointer>(_VSTD::__tree_prev_iter<__node_base_pointer>(
852 static_cast<__end_node_pointer>(__ptr_)));852 static_cast<__end_node_pointer>(__ptr_)));
853 return *this;853 return *this;
854 }854 }
...@@ -920,7 +920,7 @@ public:...@@ -920,7 +920,7 @@ public:
920 _LIBCPP_INLINE_VISIBILITY920 _LIBCPP_INLINE_VISIBILITY
921 __tree_const_iterator& operator++() {921 __tree_const_iterator& operator++() {
922 __ptr_ = static_cast<__iter_pointer>(922 __ptr_ = static_cast<__iter_pointer>(
923 __tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));923 _VSTD::__tree_next_iter<__end_node_pointer>(static_cast<__node_base_pointer>(__ptr_)));
924 return *this;924 return *this;
925 }925 }
926926
...@@ -930,7 +930,7 @@ public:...@@ -930,7 +930,7 @@ public:
930930
931 _LIBCPP_INLINE_VISIBILITY931 _LIBCPP_INLINE_VISIBILITY
932 __tree_const_iterator& operator--() {932 __tree_const_iterator& operator--() {
933 __ptr_ = static_cast<__iter_pointer>(__tree_prev_iter<__node_base_pointer>(933 __ptr_ = static_cast<__iter_pointer>(_VSTD::__tree_prev_iter<__node_base_pointer>(
934 static_cast<__end_node_pointer>(__ptr_)));934 static_cast<__end_node_pointer>(__ptr_)));
935 return *this;935 return *this;
936 }936 }
...@@ -1590,20 +1590,20 @@ __tree<_Tp, _Compare, _Allocator>::_DetachedTreeCache::__detach_next(__node_poin...@@ -1590,20 +1590,20 @@ __tree<_Tp, _Compare, _Allocator>::_DetachedTreeCache::__detach_next(__node_poin
1590{1590{
1591 if (__cache->__parent_ == nullptr)1591 if (__cache->__parent_ == nullptr)
1592 return nullptr;1592 return nullptr;
1593 if (__tree_is_left_child(static_cast<__node_base_pointer>(__cache)))1593 if (_VSTD::__tree_is_left_child(static_cast<__node_base_pointer>(__cache)))
1594 {1594 {
1595 __cache->__parent_->__left_ = nullptr;1595 __cache->__parent_->__left_ = nullptr;
1596 __cache = static_cast<__node_pointer>(__cache->__parent_);1596 __cache = static_cast<__node_pointer>(__cache->__parent_);
1597 if (__cache->__right_ == nullptr)1597 if (__cache->__right_ == nullptr)
1598 return __cache;1598 return __cache;
1599 return static_cast<__node_pointer>(__tree_leaf(__cache->__right_));1599 return static_cast<__node_pointer>(_VSTD::__tree_leaf(__cache->__right_));
1600 }1600 }
1601 // __cache is right child1601 // __cache is right child
1602 __cache->__parent_unsafe()->__right_ = nullptr;1602 __cache->__parent_unsafe()->__right_ = nullptr;
1603 __cache = static_cast<__node_pointer>(__cache->__parent_);1603 __cache = static_cast<__node_pointer>(__cache->__parent_);
1604 if (__cache->__left_ == nullptr)1604 if (__cache->__left_ == nullptr)
1605 return __cache;1605 return __cache;
1606 return static_cast<__node_pointer>(__tree_leaf(__cache->__left_));1606 return static_cast<__node_pointer>(_VSTD::__tree_leaf(__cache->__left_));
1607}1607}
16081608
1609template <class _Tp, class _Compare, class _Allocator>1609template <class _Tp, class _Compare, class _Allocator>
...@@ -2078,7 +2078,7 @@ void __tree<_Tp, _Compare, _Allocator>::__insert_node_at(...@@ -2078,7 +2078,7 @@ void __tree<_Tp, _Compare, _Allocator>::__insert_node_at(
2078 __child = __new_node;2078 __child = __new_node;
2079 if (__begin_node()->__left_ != nullptr)2079 if (__begin_node()->__left_ != nullptr)
2080 __begin_node() = static_cast<__iter_pointer>(__begin_node()->__left_);2080 __begin_node() = static_cast<__iter_pointer>(__begin_node()->__left_);
2081 __tree_balance_after_insert(__end_node()->__left_, __child);2081 _VSTD::__tree_balance_after_insert(__end_node()->__left_, __child);
2082 ++size();2082 ++size();
2083}2083}
20842084
...@@ -2248,8 +2248,8 @@ __tree<_Tp, _Compare, _Allocator>::__remove_node_pointer(__node_pointer __ptr) _...@@ -2248,8 +2248,8 @@ __tree<_Tp, _Compare, _Allocator>::__remove_node_pointer(__node_pointer __ptr) _
2248 if (__begin_node() == __ptr)2248 if (__begin_node() == __ptr)
2249 __begin_node() = __r.__ptr_;2249 __begin_node() = __r.__ptr_;
2250 --size();2250 --size();
2251 __tree_remove(__end_node()->__left_,2251 _VSTD::__tree_remove(__end_node()->__left_,
2252 static_cast<__node_base_pointer>(__ptr));2252 static_cast<__node_base_pointer>(__ptr));
2253 return __r;2253 return __r;
2254}2254}
22552255
...@@ -2627,7 +2627,7 @@ __tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k)...@@ -2627,7 +2627,7 @@ __tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k)
2627 return _Pp(iterator(__rt),2627 return _Pp(iterator(__rt),
2628 iterator(2628 iterator(
2629 __rt->__right_ != nullptr ?2629 __rt->__right_ != nullptr ?
2630 static_cast<__iter_pointer>(__tree_min(__rt->__right_))2630 static_cast<__iter_pointer>(_VSTD::__tree_min(__rt->__right_))
2631 : __result));2631 : __result));
2632 }2632 }
2633 return _Pp(iterator(__result), iterator(__result));2633 return _Pp(iterator(__result), iterator(__result));
...@@ -2655,7 +2655,7 @@ __tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k) const...@@ -2655,7 +2655,7 @@ __tree<_Tp, _Compare, _Allocator>::__equal_range_unique(const _Key& __k) const
2655 return _Pp(const_iterator(__rt),2655 return _Pp(const_iterator(__rt),
2656 const_iterator(2656 const_iterator(
2657 __rt->__right_ != nullptr ?2657 __rt->__right_ != nullptr ?
2658 static_cast<__iter_pointer>(__tree_min(__rt->__right_))2658 static_cast<__iter_pointer>(_VSTD::__tree_min(__rt->__right_))
2659 : __result));2659 : __result));
2660 }2660 }
2661 return _Pp(const_iterator(__result), const_iterator(__result));2661 return _Pp(const_iterator(__result), const_iterator(__result));
...@@ -2724,8 +2724,8 @@ __tree<_Tp, _Compare, _Allocator>::remove(const_iterator __p) _NOEXCEPT...@@ -2724,8 +2724,8 @@ __tree<_Tp, _Compare, _Allocator>::remove(const_iterator __p) _NOEXCEPT
2724 __begin_node() = static_cast<__iter_pointer>(__np->__parent_);2724 __begin_node() = static_cast<__iter_pointer>(__np->__parent_);
2725 }2725 }
2726 --size();2726 --size();
2727 __tree_remove(__end_node()->__left_,2727 _VSTD::__tree_remove(__end_node()->__left_,
2728 static_cast<__node_base_pointer>(__np));2728 static_cast<__node_base_pointer>(__np));
2729 return __node_holder(__np, _Dp(__node_alloc(), true));2729 return __node_holder(__np, _Dp(__node_alloc(), true));
2730}2730}
27312731
lib/libcxx/include/algorithm+147-23
...@@ -267,7 +267,7 @@ template <class InputIterator, class OutputIterator, class BinaryPredicate>...@@ -267,7 +267,7 @@ template <class InputIterator, class OutputIterator, class BinaryPredicate>
267 unique_copy(InputIterator first, InputIterator last, OutputIterator result, BinaryPredicate pred);267 unique_copy(InputIterator first, InputIterator last, OutputIterator result, BinaryPredicate pred);
268268
269template <class BidirectionalIterator>269template <class BidirectionalIterator>
270 void270 constexpr void // constexpr in C++20
271 reverse(BidirectionalIterator first, BidirectionalIterator last);271 reverse(BidirectionalIterator first, BidirectionalIterator last);
272272
273template <class BidirectionalIterator, class OutputIterator>273template <class BidirectionalIterator, class OutputIterator>
...@@ -301,12 +301,22 @@ template<class RandomAccessIterator, class UniformRandomNumberGenerator>...@@ -301,12 +301,22 @@ template<class RandomAccessIterator, class UniformRandomNumberGenerator>
301 void shuffle(RandomAccessIterator first, RandomAccessIterator last,301 void shuffle(RandomAccessIterator first, RandomAccessIterator last,
302 UniformRandomNumberGenerator&& g);302 UniformRandomNumberGenerator&& g);
303303
304template<class ForwardIterator>
305 constexpr ForwardIterator
306 shift_left(ForwardIterator first, ForwardIterator last,
307 typename iterator_traits<ForwardIterator>::difference_type n); // C++20
308
309template<class ForwardIterator>
310 constexpr ForwardIterator
311 shift_right(ForwardIterator first, ForwardIterator last,
312 typename iterator_traits<ForwardIterator>::difference_type n); // C++20
313
304template <class InputIterator, class Predicate>314template <class InputIterator, class Predicate>
305 constexpr bool // constexpr in C++20315 constexpr bool // constexpr in C++20
306 is_partitioned(InputIterator first, InputIterator last, Predicate pred);316 is_partitioned(InputIterator first, InputIterator last, Predicate pred);
307317
308template <class ForwardIterator, class Predicate>318template <class ForwardIterator, class Predicate>
309 ForwardIterator319 constexpr ForwardIterator // constexpr in C++20
310 partition(ForwardIterator first, ForwardIterator last, Predicate pred);320 partition(ForwardIterator first, ForwardIterator last, Predicate pred);
311321
312template <class InputIterator, class OutputIterator1,322template <class InputIterator, class OutputIterator1,
...@@ -616,19 +626,19 @@ template <class InputIterator1, class InputIterator2, class Compare>...@@ -616,19 +626,19 @@ template <class InputIterator1, class InputIterator2, class Compare>
616 InputIterator2 first2, InputIterator2 last2, Compare comp);626 InputIterator2 first2, InputIterator2 last2, Compare comp);
617627
618template <class BidirectionalIterator>628template <class BidirectionalIterator>
619 bool629 constexpr bool // constexpr in C++20
620 next_permutation(BidirectionalIterator first, BidirectionalIterator last);630 next_permutation(BidirectionalIterator first, BidirectionalIterator last);
621631
622template <class BidirectionalIterator, class Compare>632template <class BidirectionalIterator, class Compare>
623 bool633 constexpr bool // constexpr in C++20
624 next_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);634 next_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);
625635
626template <class BidirectionalIterator>636template <class BidirectionalIterator>
627 bool637 constexpr bool // constexpr in C++20
628 prev_permutation(BidirectionalIterator first, BidirectionalIterator last);638 prev_permutation(BidirectionalIterator first, BidirectionalIterator last);
629639
630template <class BidirectionalIterator, class Compare>640template <class BidirectionalIterator, class Compare>
631 bool641 constexpr bool // constexpr in C++20
632 prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);642 prev_permutation(BidirectionalIterator first, BidirectionalIterator last, Compare comp);
633643
634} // std644} // std
...@@ -2311,7 +2321,7 @@ unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __res...@@ -2311,7 +2321,7 @@ unique_copy(_InputIterator __first, _InputIterator __last, _OutputIterator __res
2311// reverse2321// reverse
23122322
2313template <class _BidirectionalIterator>2323template <class _BidirectionalIterator>
2314inline _LIBCPP_INLINE_VISIBILITY2324inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2315void2325void
2316__reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)2326__reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirectional_iterator_tag)
2317{2327{
...@@ -2325,7 +2335,7 @@ __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirec...@@ -2325,7 +2335,7 @@ __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last, bidirec
2325}2335}
23262336
2327template <class _RandomAccessIterator>2337template <class _RandomAccessIterator>
2328inline _LIBCPP_INLINE_VISIBILITY2338inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2329void2339void
2330__reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)2340__reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_access_iterator_tag)
2331{2341{
...@@ -2335,7 +2345,7 @@ __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_ac...@@ -2335,7 +2345,7 @@ __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last, random_ac
2335}2345}
23362346
2337template <class _BidirectionalIterator>2347template <class _BidirectionalIterator>
2338inline _LIBCPP_INLINE_VISIBILITY2348inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2339void2349void
2340reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)2350reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
2341{2351{
...@@ -3029,9 +3039,17 @@ private:...@@ -3029,9 +3039,17 @@ private:
30293039
3030public:3040public:
3031 // constructors and reset functions3041 // constructors and reset functions
3032 explicit uniform_int_distribution(result_type __a = 0,3042#ifndef _LIBCPP_CXX03_LANG
3033 result_type __b = numeric_limits<result_type>::max())3043 uniform_int_distribution() : uniform_int_distribution(0) {}
3044 explicit uniform_int_distribution(
3045 result_type __a, result_type __b = numeric_limits<result_type>::max())
3034 : __p_(param_type(__a, __b)) {}3046 : __p_(param_type(__a, __b)) {}
3047#else
3048 explicit uniform_int_distribution(
3049 result_type __a = 0,
3050 result_type __b = numeric_limits<result_type>::max())
3051 : __p_(param_type(__a, __b)) {}
3052#endif
3035 explicit uniform_int_distribution(const param_type& __p) : __p_(__p) {}3053 explicit uniform_int_distribution(const param_type& __p) : __p_(__p) {}
3036 void reset() {}3054 void reset() {}
30373055
...@@ -3251,6 +3269,111 @@ template<class _RandomAccessIterator, class _UniformRandomNumberGenerator>...@@ -3251,6 +3269,111 @@ template<class _RandomAccessIterator, class _UniformRandomNumberGenerator>
3251 }3269 }
3252}3270}
32533271
3272#if _LIBCPP_STD_VER > 17
3273
3274// shift_left, shift_right
3275
3276template <class _ForwardIterator>
3277inline _LIBCPP_INLINE_VISIBILITY constexpr
3278_ForwardIterator
3279shift_left(_ForwardIterator __first, _ForwardIterator __last,
3280 typename iterator_traits<_ForwardIterator>::difference_type __n)
3281{
3282 if (__n == 0) {
3283 return __last;
3284 }
3285
3286 _ForwardIterator __m = __first;
3287 if constexpr (__is_cpp17_random_access_iterator<_ForwardIterator>::value) {
3288 if (__n >= __last - __first) {
3289 return __first;
3290 }
3291 __m += __n;
3292 } else {
3293 for (; __n > 0; --__n) {
3294 if (__m == __last) {
3295 return __first;
3296 }
3297 ++__m;
3298 }
3299 }
3300 return _VSTD::move(__m, __last, __first);
3301}
3302
3303template <class _ForwardIterator>
3304inline _LIBCPP_INLINE_VISIBILITY constexpr
3305_ForwardIterator
3306shift_right(_ForwardIterator __first, _ForwardIterator __last,
3307 typename iterator_traits<_ForwardIterator>::difference_type __n)
3308{
3309 if (__n == 0) {
3310 return __first;
3311 }
3312
3313 if constexpr (__is_cpp17_random_access_iterator<_ForwardIterator>::value) {
3314 decltype(__n) __d = __last - __first;
3315 if (__n >= __d) {
3316 return __last;
3317 }
3318 _ForwardIterator __m = __first + (__d - __n);
3319 return _VSTD::move_backward(__first, __m, __last);
3320 } else if constexpr (__is_cpp17_bidirectional_iterator<_ForwardIterator>::value) {
3321 _ForwardIterator __m = __last;
3322 for (; __n > 0; --__n) {
3323 if (__m == __first) {
3324 return __last;
3325 }
3326 --__m;
3327 }
3328 return _VSTD::move_backward(__first, __m, __last);
3329 } else {
3330 _ForwardIterator __ret = __first;
3331 for (; __n > 0; --__n) {
3332 if (__ret == __last) {
3333 return __last;
3334 }
3335 ++__ret;
3336 }
3337
3338 // We have an __n-element scratch space from __first to __ret.
3339 // Slide an __n-element window [__trail, __lead) from left to right.
3340 // We're essentially doing swap_ranges(__first, __ret, __trail, __lead)
3341 // over and over; but once __lead reaches __last we needn't bother
3342 // to save the values of elements [__trail, __last).
3343
3344 auto __trail = __first;
3345 auto __lead = __ret;
3346 while (__trail != __ret) {
3347 if (__lead == __last) {
3348 _VSTD::move(__first, __trail, __ret);
3349 return __ret;
3350 }
3351 ++__trail;
3352 ++__lead;
3353 }
3354
3355 _ForwardIterator __mid = __first;
3356 while (true) {
3357 if (__lead == __last) {
3358 __trail = _VSTD::move(__mid, __ret, __trail);
3359 _VSTD::move(__first, __mid, __trail);
3360 return __ret;
3361 }
3362 swap(*__mid, *__trail);
3363 ++__mid;
3364 ++__trail;
3365 ++__lead;
3366 if (__mid == __ret) {
3367 __mid = __first;
3368 }
3369 }
3370 }
3371}
3372
3373#endif // _LIBCPP_STD_VER > 17
3374
3375// is_partitioned
3376
3254template <class _InputIterator, class _Predicate>3377template <class _InputIterator, class _Predicate>
3255_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool3378_LIBCPP_NODISCARD_EXT _LIBCPP_CONSTEXPR_AFTER_CXX17 bool
3256is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)3379is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
...@@ -3270,7 +3393,7 @@ is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)...@@ -3270,7 +3393,7 @@ is_partitioned(_InputIterator __first, _InputIterator __last, _Predicate __pred)
3270// partition3393// partition
32713394
3272template <class _Predicate, class _ForwardIterator>3395template <class _Predicate, class _ForwardIterator>
3273_ForwardIterator3396_LIBCPP_CONSTEXPR_AFTER_CXX17 _ForwardIterator
3274__partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)3397__partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred, forward_iterator_tag)
3275{3398{
3276 while (true)3399 while (true)
...@@ -3293,7 +3416,7 @@ __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred...@@ -3293,7 +3416,7 @@ __partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred
3293}3416}
32943417
3295template <class _Predicate, class _BidirectionalIterator>3418template <class _Predicate, class _BidirectionalIterator>
3296_BidirectionalIterator3419_LIBCPP_CONSTEXPR_AFTER_CXX17 _BidirectionalIterator
3297__partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,3420__partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Predicate __pred,
3298 bidirectional_iterator_tag)3421 bidirectional_iterator_tag)
3299{3422{
...@@ -3318,7 +3441,7 @@ __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Pred...@@ -3318,7 +3441,7 @@ __partition(_BidirectionalIterator __first, _BidirectionalIterator __last, _Pred
3318}3441}
33193442
3320template <class _ForwardIterator, class _Predicate>3443template <class _ForwardIterator, class _Predicate>
3321inline _LIBCPP_INLINE_VISIBILITY3444inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3322_ForwardIterator3445_ForwardIterator
3323partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)3446partition(_ForwardIterator __first, _ForwardIterator __last, _Predicate __pred)
3324{3447{
...@@ -4483,7 +4606,7 @@ __buffered_inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator...@@ -4483,7 +4606,7 @@ __buffered_inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator
4483 value_type* __p = __buff;4606 value_type* __p = __buff;
4484 for (_BidirectionalIterator __i = __first; __i != __middle; __d.template __incr<value_type>(), (void) ++__i, (void) ++__p)4607 for (_BidirectionalIterator __i = __first; __i != __middle; __d.template __incr<value_type>(), (void) ++__i, (void) ++__p)
4485 ::new ((void*)__p) value_type(_VSTD::move(*__i));4608 ::new ((void*)__p) value_type(_VSTD::move(*__i));
4486 _VSTD::__half_inplace_merge(__buff, __p, __middle, __last, __first, __comp);4609 _VSTD::__half_inplace_merge<_Compare>(__buff, __p, __middle, __last, __first, __comp);
4487 }4610 }
4488 else4611 else
4489 {4612 {
...@@ -4492,9 +4615,10 @@ __buffered_inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator...@@ -4492,9 +4615,10 @@ __buffered_inplace_merge(_BidirectionalIterator __first, _BidirectionalIterator
4492 ::new ((void*)__p) value_type(_VSTD::move(*__i));4615 ::new ((void*)__p) value_type(_VSTD::move(*__i));
4493 typedef reverse_iterator<_BidirectionalIterator> _RBi;4616 typedef reverse_iterator<_BidirectionalIterator> _RBi;
4494 typedef reverse_iterator<value_type*> _Rv;4617 typedef reverse_iterator<value_type*> _Rv;
4495 _VSTD::__half_inplace_merge(_Rv(__p), _Rv(__buff),4618 typedef __invert<_Compare> _Inverted;
4619 _VSTD::__half_inplace_merge<_Inverted>(_Rv(__p), _Rv(__buff),
4496 _RBi(__middle), _RBi(__first),4620 _RBi(__middle), _RBi(__first),
4497 _RBi(__last), _VSTD::__invert<_Compare>(__comp));4621 _RBi(__last), _Inverted(__comp));
4498 }4622 }
4499}4623}
45004624
...@@ -5636,7 +5760,7 @@ lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,...@@ -5636,7 +5760,7 @@ lexicographical_compare(_InputIterator1 __first1, _InputIterator1 __last1,
5636// next_permutation5760// next_permutation
56375761
5638template <class _Compare, class _BidirectionalIterator>5762template <class _Compare, class _BidirectionalIterator>
5639bool5763_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
5640__next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)5764__next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5641{5765{
5642 _BidirectionalIterator __i = __last;5766 _BidirectionalIterator __i = __last;
...@@ -5663,7 +5787,7 @@ __next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last...@@ -5663,7 +5787,7 @@ __next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last
5663}5787}
56645788
5665template <class _BidirectionalIterator, class _Compare>5789template <class _BidirectionalIterator, class _Compare>
5666inline _LIBCPP_INLINE_VISIBILITY5790inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
5667bool5791bool
5668next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)5792next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5669{5793{
...@@ -5672,7 +5796,7 @@ next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,...@@ -5672,7 +5796,7 @@ next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,
5672}5796}
56735797
5674template <class _BidirectionalIterator>5798template <class _BidirectionalIterator>
5675inline _LIBCPP_INLINE_VISIBILITY5799inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
5676bool5800bool
5677next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)5801next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
5678{5802{
...@@ -5683,7 +5807,7 @@ next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)...@@ -5683,7 +5807,7 @@ next_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
5683// prev_permutation5807// prev_permutation
56845808
5685template <class _Compare, class _BidirectionalIterator>5809template <class _Compare, class _BidirectionalIterator>
5686bool5810_LIBCPP_CONSTEXPR_AFTER_CXX17 bool
5687__prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)5811__prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5688{5812{
5689 _BidirectionalIterator __i = __last;5813 _BidirectionalIterator __i = __last;
...@@ -5710,7 +5834,7 @@ __prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last...@@ -5710,7 +5834,7 @@ __prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last
5710}5834}
57115835
5712template <class _BidirectionalIterator, class _Compare>5836template <class _BidirectionalIterator, class _Compare>
5713inline _LIBCPP_INLINE_VISIBILITY5837inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
5714bool5838bool
5715prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)5839prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last, _Compare __comp)
5716{5840{
...@@ -5719,7 +5843,7 @@ prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,...@@ -5719,7 +5843,7 @@ prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last,
5719}5843}
57205844
5721template <class _BidirectionalIterator>5845template <class _BidirectionalIterator>
5722inline _LIBCPP_INLINE_VISIBILITY5846inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
5723bool5847bool
5724prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)5848prev_permutation(_BidirectionalIterator __first, _BidirectionalIterator __last)
5725{5849{
lib/libcxx/include/array+3-3
...@@ -500,7 +500,7 @@ to_array(_Tp (&__arr)[_Size]) noexcept(is_nothrow_constructible_v<_Tp, _Tp&>) {...@@ -500,7 +500,7 @@ to_array(_Tp (&__arr)[_Size]) noexcept(is_nothrow_constructible_v<_Tp, _Tp&>) {
500 static_assert(500 static_assert(
501 is_constructible_v<_Tp, _Tp&>,501 is_constructible_v<_Tp, _Tp&>,
502 "[array.creation]/1: to_array requires copy constructible elements.");502 "[array.creation]/1: to_array requires copy constructible elements.");
503 return __to_array_lvalue_impl(__arr, make_index_sequence<_Size>());503 return _VSTD::__to_array_lvalue_impl(__arr, make_index_sequence<_Size>());
504}504}
505505
506template <typename _Tp, size_t _Size>506template <typename _Tp, size_t _Size>
...@@ -512,8 +512,8 @@ to_array(_Tp(&&__arr)[_Size]) noexcept(is_nothrow_move_constructible_v<_Tp>) {...@@ -512,8 +512,8 @@ to_array(_Tp(&&__arr)[_Size]) noexcept(is_nothrow_move_constructible_v<_Tp>) {
512 static_assert(512 static_assert(
513 is_move_constructible_v<_Tp>,513 is_move_constructible_v<_Tp>,
514 "[array.creation]/4: to_array requires move constructible elements.");514 "[array.creation]/4: to_array requires move constructible elements.");
515 return __to_array_rvalue_impl(_VSTD::move(__arr),515 return _VSTD::__to_array_rvalue_impl(_VSTD::move(__arr),
516 make_index_sequence<_Size>());516 make_index_sequence<_Size>());
517}517}
518518
519#endif // _LIBCPP_STD_VER > 17519#endif // _LIBCPP_STD_VER > 17
lib/libcxx/include/bit+2-117
...@@ -55,13 +55,14 @@ namespace std {...@@ -55,13 +55,14 @@ namespace std {
55*/55*/
5656
57#include <__config>57#include <__config>
58#include <__bits>
58#include <limits>59#include <limits>
59#include <type_traits>60#include <type_traits>
60#include <version>61#include <version>
61#include <__debug>62#include <__debug>
6263
63#if defined(__IBMCPP__)64#if defined(__IBMCPP__)
64#include "support/ibm/support.h"65#include "__support/ibm/support.h"
65#endif66#endif
66#if defined(_LIBCPP_COMPILER_MSVC)67#if defined(_LIBCPP_COMPILER_MSVC)
67#include <intrin.h>68#include <intrin.h>
...@@ -76,122 +77,6 @@ _LIBCPP_PUSH_MACROS...@@ -76,122 +77,6 @@ _LIBCPP_PUSH_MACROS
7677
77_LIBCPP_BEGIN_NAMESPACE_STD78_LIBCPP_BEGIN_NAMESPACE_STD
7879
79#ifndef _LIBCPP_COMPILER_MSVC
80
81inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
82int __libcpp_ctz(unsigned __x) _NOEXCEPT { return __builtin_ctz(__x); }
83
84inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
85int __libcpp_ctz(unsigned long __x) _NOEXCEPT { return __builtin_ctzl(__x); }
86
87inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
88int __libcpp_ctz(unsigned long long __x) _NOEXCEPT { return __builtin_ctzll(__x); }
89
90
91inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
92int __libcpp_clz(unsigned __x) _NOEXCEPT { return __builtin_clz(__x); }
93
94inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
95int __libcpp_clz(unsigned long __x) _NOEXCEPT { return __builtin_clzl(__x); }
96
97inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
98int __libcpp_clz(unsigned long long __x) _NOEXCEPT { return __builtin_clzll(__x); }
99
100
101inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
102int __libcpp_popcount(unsigned __x) _NOEXCEPT { return __builtin_popcount(__x); }
103
104inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
105int __libcpp_popcount(unsigned long __x) _NOEXCEPT { return __builtin_popcountl(__x); }
106
107inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
108int __libcpp_popcount(unsigned long long __x) _NOEXCEPT { return __builtin_popcountll(__x); }
109
110#else // _LIBCPP_COMPILER_MSVC
111
112// Precondition: __x != 0
113inline _LIBCPP_INLINE_VISIBILITY
114int __libcpp_ctz(unsigned __x) {
115 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
116 static_assert(sizeof(unsigned long) == 4, "");
117 unsigned long __where;
118 if (_BitScanForward(&__where, __x))
119 return static_cast<int>(__where);
120 return 32;
121}
122
123inline _LIBCPP_INLINE_VISIBILITY
124int __libcpp_ctz(unsigned long __x) {
125 static_assert(sizeof(unsigned long) == sizeof(unsigned), "");
126 return __ctz(static_cast<unsigned>(__x));
127}
128
129inline _LIBCPP_INLINE_VISIBILITY
130int __libcpp_ctz(unsigned long long __x) {
131 unsigned long __where;
132#if defined(_LIBCPP_HAS_BITSCAN64)
133 (defined(_M_AMD64) || defined(__x86_64__))
134 if (_BitScanForward64(&__where, __x))
135 return static_cast<int>(__where);
136#else
137 // Win32 doesn't have _BitScanForward64 so emulate it with two 32 bit calls.
138 if (_BitScanForward(&__where, static_cast<unsigned long>(__x)))
139 return static_cast<int>(__where);
140 if (_BitScanForward(&__where, static_cast<unsigned long>(__x >> 32)))
141 return static_cast<int>(__where + 32);
142#endif
143 return 64;
144}
145
146// Precondition: __x != 0
147inline _LIBCPP_INLINE_VISIBILITY
148int __libcpp_clz(unsigned __x) {
149 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
150 static_assert(sizeof(unsigned long) == 4, "");
151 unsigned long __where;
152 if (_BitScanReverse(&__where, __x))
153 return static_cast<int>(31 - __where);
154 return 32; // Undefined Behavior.
155}
156
157inline _LIBCPP_INLINE_VISIBILITY
158int __libcpp_clz(unsigned long __x) {
159 static_assert(sizeof(unsigned) == sizeof(unsigned long), "");
160 return __libcpp_clz(static_cast<unsigned>(__x));
161}
162
163inline _LIBCPP_INLINE_VISIBILITY
164int __libcpp_clz(unsigned long long __x) {
165 unsigned long __where;
166#if defined(_LIBCPP_HAS_BITSCAN64)
167 if (_BitScanReverse64(&__where, __x))
168 return static_cast<int>(63 - __where);
169#else
170 // Win32 doesn't have _BitScanReverse64 so emulate it with two 32 bit calls.
171 if (_BitScanReverse(&__where, static_cast<unsigned long>(__x >> 32)))
172 return static_cast<int>(63 - (__where + 32));
173 if (_BitScanReverse(&__where, static_cast<unsigned long>(__x)))
174 return static_cast<int>(63 - __where);
175#endif
176 return 64; // Undefined Behavior.
177}
178
179inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned __x) {
180 static_assert(sizeof(unsigned) == 4, "");
181 return __popcnt(__x);
182}
183
184inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long __x) {
185 static_assert(sizeof(unsigned long) == 4, "");
186 return __popcnt(__x);
187}
188
189inline _LIBCPP_INLINE_VISIBILITY int __libcpp_popcount(unsigned long long __x) {
190 static_assert(sizeof(unsigned long long) == 8, "");
191 return __popcnt64(__x);
192}
193
194#endif // _LIBCPP_COMPILER_MSVC
19580
196template <class _Tp>81template <class _Tp>
197using __bitop_unsigned_integer _LIBCPP_NODEBUG_TYPE = integral_constant<bool,82using __bitop_unsigned_integer _LIBCPP_NODEBUG_TYPE = integral_constant<bool,
lib/libcxx/include/bitset+1-1
...@@ -990,7 +990,7 @@ inline...@@ -990,7 +990,7 @@ inline
990size_t990size_t
991bitset<_Size>::count() const _NOEXCEPT991bitset<_Size>::count() const _NOEXCEPT
992{992{
993 return static_cast<size_t>(__count_bool_true(base::__make_iter(0), _Size));993 return static_cast<size_t>(_VSTD::__count_bool_true(base::__make_iter(0), _Size));
994}994}
995995
996template <size_t _Size>996template <size_t _Size>
lib/libcxx/include/concepts+5
...@@ -157,6 +157,11 @@ concept __same_as_impl = _VSTD::_IsSame<_Tp, _Up>::value;...@@ -157,6 +157,11 @@ concept __same_as_impl = _VSTD::_IsSame<_Tp, _Up>::value;
157template<class _Tp, class _Up>157template<class _Tp, class _Up>
158concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>;158concept same_as = __same_as_impl<_Tp, _Up> && __same_as_impl<_Up, _Tp>;
159159
160// [concept.destructible]
161
162template<class _Tp>
163concept destructible = _VSTD::is_nothrow_destructible_v<_Tp>;
164
160#endif //_LIBCPP_STD_VER > 17 && defined(__cpp_concepts) && __cpp_concepts >= 201811L165#endif //_LIBCPP_STD_VER > 17 && defined(__cpp_concepts) && __cpp_concepts >= 201811L
161166
162_LIBCPP_END_NAMESPACE_STD167_LIBCPP_END_NAMESPACE_STD
lib/libcxx/include/filesystem+274-34
...@@ -251,6 +251,10 @@...@@ -251,6 +251,10 @@
251251
252#include <__debug>252#include <__debug>
253253
254#if defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
255# error "The Filesystem library is not supported by this configuration of libc++"
256#endif
257
254#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)258#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
255#pragma GCC system_header259#pragma GCC system_header
256#endif260#endif
...@@ -568,9 +572,19 @@ struct __can_convert_char<char32_t> {...@@ -568,9 +572,19 @@ struct __can_convert_char<char32_t> {
568template <class _ECharT>572template <class _ECharT>
569typename enable_if<__can_convert_char<_ECharT>::value, bool>::type573typename enable_if<__can_convert_char<_ECharT>::value, bool>::type
570__is_separator(_ECharT __e) {574__is_separator(_ECharT __e) {
575#if defined(_LIBCPP_WIN32API)
576 return __e == _ECharT('/') || __e == _ECharT('\\');
577#else
571 return __e == _ECharT('/');578 return __e == _ECharT('/');
579#endif
572}580}
573581
582#ifndef _LIBCPP_NO_HAS_CHAR8_T
583typedef u8string __u8_string;
584#else
585typedef string __u8_string;
586#endif
587
574struct _NullSentinel {};588struct _NullSentinel {};
575589
576template <class _Tp>590template <class _Tp>
...@@ -672,6 +686,21 @@ struct __is_pathable<_Tp, false, true, false> : __is_pathable_char_array<_Tp> {...@@ -672,6 +686,21 @@ struct __is_pathable<_Tp, false, true, false> : __is_pathable_char_array<_Tp> {
672template <class _Tp>686template <class _Tp>
673struct __is_pathable<_Tp, false, false, true> : __is_pathable_iter<_Tp> {};687struct __is_pathable<_Tp, false, false, true> : __is_pathable_iter<_Tp> {};
674688
689#if defined(_LIBCPP_WIN32API)
690typedef wstring __path_string;
691typedef wchar_t __path_value;
692#else
693typedef string __path_string;
694typedef char __path_value;
695#endif
696
697#if defined(_LIBCPP_WIN32API)
698_LIBCPP_FUNC_VIS
699size_t __wide_to_char(const wstring&, char*, size_t);
700_LIBCPP_FUNC_VIS
701size_t __char_to_wide(const string&, wchar_t*, size_t);
702#endif
703
675template <class _ECharT>704template <class _ECharT>
676struct _PathCVT;705struct _PathCVT;
677706
...@@ -682,24 +711,40 @@ struct _PathCVT {...@@ -682,24 +711,40 @@ struct _PathCVT {
682 "Char type not convertible");711 "Char type not convertible");
683712
684 typedef __narrow_to_utf8<sizeof(_ECharT) * __CHAR_BIT__> _Narrower;713 typedef __narrow_to_utf8<sizeof(_ECharT) * __CHAR_BIT__> _Narrower;
714#if defined(_LIBCPP_WIN32API)
715 typedef __widen_from_utf8<sizeof(wchar_t) * __CHAR_BIT__> _Widener;
716#endif
685717
686 static void __append_range(string& __dest, _ECharT const* __b,718 static void __append_range(__path_string& __dest, _ECharT const* __b,
687 _ECharT const* __e) {719 _ECharT const* __e) {
720#if defined(_LIBCPP_WIN32API)
721 string __utf8;
722 _Narrower()(back_inserter(__utf8), __b, __e);
723 _Widener()(back_inserter(__dest), __utf8.data(), __utf8.data() + __utf8.size());
724#else
688 _Narrower()(back_inserter(__dest), __b, __e);725 _Narrower()(back_inserter(__dest), __b, __e);
726#endif
689 }727 }
690728
691 template <class _Iter>729 template <class _Iter>
692 static void __append_range(string& __dest, _Iter __b, _Iter __e) {730 static void __append_range(__path_string& __dest, _Iter __b, _Iter __e) {
693 static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");731 static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");
694 if (__b == __e)732 if (__b == __e)
695 return;733 return;
696 basic_string<_ECharT> __tmp(__b, __e);734 basic_string<_ECharT> __tmp(__b, __e);
735#if defined(_LIBCPP_WIN32API)
736 string __utf8;
737 _Narrower()(back_inserter(__utf8), __tmp.data(),
738 __tmp.data() + __tmp.length());
739 _Widener()(back_inserter(__dest), __utf8.data(), __utf8.data() + __utf8.size());
740#else
697 _Narrower()(back_inserter(__dest), __tmp.data(),741 _Narrower()(back_inserter(__dest), __tmp.data(),
698 __tmp.data() + __tmp.length());742 __tmp.data() + __tmp.length());
743#endif
699 }744 }
700745
701 template <class _Iter>746 template <class _Iter>
702 static void __append_range(string& __dest, _Iter __b, _NullSentinel) {747 static void __append_range(__path_string& __dest, _Iter __b, _NullSentinel) {
703 static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");748 static_assert(!is_same<_Iter, _ECharT*>::value, "Call const overload");
704 const _ECharT __sentinel = _ECharT{};749 const _ECharT __sentinel = _ECharT{};
705 if (*__b == __sentinel)750 if (*__b == __sentinel)
...@@ -707,12 +752,19 @@ struct _PathCVT {...@@ -707,12 +752,19 @@ struct _PathCVT {
707 basic_string<_ECharT> __tmp;752 basic_string<_ECharT> __tmp;
708 for (; *__b != __sentinel; ++__b)753 for (; *__b != __sentinel; ++__b)
709 __tmp.push_back(*__b);754 __tmp.push_back(*__b);
755#if defined(_LIBCPP_WIN32API)
756 string __utf8;
757 _Narrower()(back_inserter(__utf8), __tmp.data(),
758 __tmp.data() + __tmp.length());
759 _Widener()(back_inserter(__dest), __utf8.data(), __utf8.data() + __utf8.size());
760#else
710 _Narrower()(back_inserter(__dest), __tmp.data(),761 _Narrower()(back_inserter(__dest), __tmp.data(),
711 __tmp.data() + __tmp.length());762 __tmp.data() + __tmp.length());
763#endif
712 }764 }
713765
714 template <class _Source>766 template <class _Source>
715 static void __append_source(string& __dest, _Source const& __s) {767 static void __append_source(__path_string& __dest, _Source const& __s) {
716 using _Traits = __is_pathable<_Source>;768 using _Traits = __is_pathable<_Source>;
717 __append_range(__dest, _Traits::__range_begin(__s),769 __append_range(__dest, _Traits::__range_begin(__s),
718 _Traits::__range_end(__s));770 _Traits::__range_end(__s));
...@@ -721,36 +773,132 @@ struct _PathCVT {...@@ -721,36 +773,132 @@ struct _PathCVT {
721#endif // !_LIBCPP_HAS_NO_LOCALIZATION773#endif // !_LIBCPP_HAS_NO_LOCALIZATION
722774
723template <>775template <>
724struct _PathCVT<char> {776struct _PathCVT<__path_value> {
725777
726 template <class _Iter>778 template <class _Iter>
727 static typename enable_if<__is_exactly_cpp17_input_iterator<_Iter>::value>::type779 static typename enable_if<__is_exactly_cpp17_input_iterator<_Iter>::value>::type
728 __append_range(string& __dest, _Iter __b, _Iter __e) {780 __append_range(__path_string& __dest, _Iter __b, _Iter __e) {
729 for (; __b != __e; ++__b)781 for (; __b != __e; ++__b)
730 __dest.push_back(*__b);782 __dest.push_back(*__b);
731 }783 }
732784
733 template <class _Iter>785 template <class _Iter>
734 static typename enable_if<__is_cpp17_forward_iterator<_Iter>::value>::type786 static typename enable_if<__is_cpp17_forward_iterator<_Iter>::value>::type
735 __append_range(string& __dest, _Iter __b, _Iter __e) {787 __append_range(__path_string& __dest, _Iter __b, _Iter __e) {
736 __dest.__append_forward_unsafe(__b, __e);788 __dest.__append_forward_unsafe(__b, __e);
737 }789 }
738790
739 template <class _Iter>791 template <class _Iter>
740 static void __append_range(string& __dest, _Iter __b, _NullSentinel) {792 static void __append_range(__path_string& __dest, _Iter __b, _NullSentinel) {
741 const char __sentinel = char{};793 const char __sentinel = char{};
742 for (; *__b != __sentinel; ++__b)794 for (; *__b != __sentinel; ++__b)
743 __dest.push_back(*__b);795 __dest.push_back(*__b);
744 }796 }
745797
746 template <class _Source>798 template <class _Source>
747 static void __append_source(string& __dest, _Source const& __s) {799 static void __append_source(__path_string& __dest, _Source const& __s) {
748 using _Traits = __is_pathable<_Source>;800 using _Traits = __is_pathable<_Source>;
749 __append_range(__dest, _Traits::__range_begin(__s),801 __append_range(__dest, _Traits::__range_begin(__s),
750 _Traits::__range_end(__s));802 _Traits::__range_end(__s));
751 }803 }
752};804};
753805
806#if defined(_LIBCPP_WIN32API)
807template <>
808struct _PathCVT<char> {
809
810 static void
811 __append_string(__path_string& __dest, const basic_string<char> &__str) {
812 size_t __size = __char_to_wide(__str, nullptr, 0);
813 size_t __pos = __dest.size();
814 __dest.resize(__pos + __size);
815 __char_to_wide(__str, const_cast<__path_value*>(__dest.data()) + __pos, __size);
816 }
817
818 template <class _Iter>
819 static typename enable_if<__is_exactly_cpp17_input_iterator<_Iter>::value>::type
820 __append_range(__path_string& __dest, _Iter __b, _Iter __e) {
821 basic_string<char> __tmp(__b, __e);
822 __append_string(__dest, __tmp);
823 }
824
825 template <class _Iter>
826 static typename enable_if<__is_cpp17_forward_iterator<_Iter>::value>::type
827 __append_range(__path_string& __dest, _Iter __b, _Iter __e) {
828 basic_string<char> __tmp(__b, __e);
829 __append_string(__dest, __tmp);
830 }
831
832 template <class _Iter>
833 static void __append_range(__path_string& __dest, _Iter __b, _NullSentinel) {
834 const char __sentinel = char{};
835 basic_string<char> __tmp;
836 for (; *__b != __sentinel; ++__b)
837 __tmp.push_back(*__b);
838 __append_string(__dest, __tmp);
839 }
840
841 template <class _Source>
842 static void __append_source(__path_string& __dest, _Source const& __s) {
843 using _Traits = __is_pathable<_Source>;
844 __append_range(__dest, _Traits::__range_begin(__s),
845 _Traits::__range_end(__s));
846 }
847};
848
849template <class _ECharT>
850struct _PathExport {
851 typedef __narrow_to_utf8<sizeof(wchar_t) * __CHAR_BIT__> _Narrower;
852 typedef __widen_from_utf8<sizeof(_ECharT) * __CHAR_BIT__> _Widener;
853
854 template <class _Str>
855 static void __append(_Str& __dest, const __path_string& __src) {
856 string __utf8;
857 _Narrower()(back_inserter(__utf8), __src.data(), __src.data() + __src.size());
858 _Widener()(back_inserter(__dest), __utf8.data(), __utf8.data() + __utf8.size());
859 }
860};
861
862template <>
863struct _PathExport<char> {
864 template <class _Str>
865 static void __append(_Str& __dest, const __path_string& __src) {
866 size_t __size = __wide_to_char(__src, nullptr, 0);
867 size_t __pos = __dest.size();
868 __dest.resize(__size);
869 __wide_to_char(__src, const_cast<char*>(__dest.data()) + __pos, __size);
870 }
871};
872
873template <>
874struct _PathExport<wchar_t> {
875 template <class _Str>
876 static void __append(_Str& __dest, const __path_string& __src) {
877 __dest.append(__src.begin(), __src.end());
878 }
879};
880
881template <>
882struct _PathExport<char16_t> {
883 template <class _Str>
884 static void __append(_Str& __dest, const __path_string& __src) {
885 __dest.append(__src.begin(), __src.end());
886 }
887};
888
889#ifndef _LIBCPP_NO_HAS_CHAR8_T
890template <>
891struct _PathExport<char8_t> {
892 typedef __narrow_to_utf8<sizeof(wchar_t) * __CHAR_BIT__> _Narrower;
893
894 template <class _Str>
895 static void __append(_Str& __dest, const __path_string& __src) {
896 _Narrower()(back_inserter(__dest), __src.data(), __src.data() + __src.size());
897 }
898};
899#endif /* !_LIBCPP_NO_HAS_CHAR8_T */
900#endif /* _LIBCPP_WIN32API */
901
754class _LIBCPP_TYPE_VIS path {902class _LIBCPP_TYPE_VIS path {
755 template <class _SourceOrIter, class _Tp = path&>903 template <class _SourceOrIter, class _Tp = path&>
756 using _EnableIfPathable =904 using _EnableIfPathable =
...@@ -763,10 +911,15 @@ class _LIBCPP_TYPE_VIS path {...@@ -763,10 +911,15 @@ class _LIBCPP_TYPE_VIS path {
763 using _SourceCVT = _PathCVT<_SourceChar<_Tp> >;911 using _SourceCVT = _PathCVT<_SourceChar<_Tp> >;
764912
765public:913public:
914#if defined(_LIBCPP_WIN32API)
915 typedef wchar_t value_type;
916 static constexpr value_type preferred_separator = L'\\';
917#else
766 typedef char value_type;918 typedef char value_type;
767 typedef basic_string<value_type> string_type;
768 typedef _VSTD::string_view __string_view;
769 static constexpr value_type preferred_separator = '/';919 static constexpr value_type preferred_separator = '/';
920#endif
921 typedef basic_string<value_type> string_type;
922 typedef basic_string_view<value_type> __string_view;
770923
771 enum class _LIBCPP_ENUM_VIS format : unsigned char {924 enum class _LIBCPP_ENUM_VIS format : unsigned char {
772 auto_format,925 auto_format,
...@@ -967,7 +1120,12 @@ public:...@@ -967,7 +1120,12 @@ public:
967 _LIBCPP_INLINE_VISIBILITY1120 _LIBCPP_INLINE_VISIBILITY
968 void clear() noexcept { __pn_.clear(); }1121 void clear() noexcept { __pn_.clear(); }
9691122
970 path& make_preferred() { return *this; }1123 path& make_preferred() {
1124#if defined(_LIBCPP_WIN32API)
1125 _VSTD::replace(__pn_.begin(), __pn_.end(), L'/', L'\\');
1126#endif
1127 return *this;
1128 }
9711129
972 _LIBCPP_INLINE_VISIBILITY1130 _LIBCPP_INLINE_VISIBILITY
973 path& remove_filename() {1131 path& remove_filename() {
...@@ -1000,6 +1158,56 @@ public:...@@ -1000,6 +1158,56 @@ public:
10001158
1001 _LIBCPP_INLINE_VISIBILITY operator string_type() const { return __pn_; }1159 _LIBCPP_INLINE_VISIBILITY operator string_type() const { return __pn_; }
10021160
1161#if defined(_LIBCPP_WIN32API)
1162 _LIBCPP_INLINE_VISIBILITY _VSTD::wstring wstring() const { return __pn_; }
1163
1164 _VSTD::wstring generic_wstring() const { return __pn_; }
1165
1166#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
1167 template <class _ECharT, class _Traits = char_traits<_ECharT>,
1168 class _Allocator = allocator<_ECharT> >
1169 basic_string<_ECharT, _Traits, _Allocator>
1170 string(const _Allocator& __a = _Allocator()) const {
1171 using _Str = basic_string<_ECharT, _Traits, _Allocator>;
1172 _Str __s(__a);
1173 __s.reserve(__pn_.size());
1174 _PathExport<_ECharT>::__append(__s, __pn_);
1175 return __s;
1176 }
1177
1178 _LIBCPP_INLINE_VISIBILITY _VSTD::string string() const {
1179 return string<char>();
1180 }
1181 _LIBCPP_INLINE_VISIBILITY __u8_string u8string() const {
1182 using _CVT = __narrow_to_utf8<sizeof(wchar_t) * __CHAR_BIT__>;
1183 __u8_string __s;
1184 __s.reserve(__pn_.size());
1185 _CVT()(back_inserter(__s), __pn_.data(), __pn_.data() + __pn_.size());
1186 return __s;
1187 }
1188
1189 _LIBCPP_INLINE_VISIBILITY _VSTD::u16string u16string() const {
1190 return string<char16_t>();
1191 }
1192 _LIBCPP_INLINE_VISIBILITY _VSTD::u32string u32string() const {
1193 return string<char32_t>();
1194 }
1195
1196 // generic format observers
1197 template <class _ECharT, class _Traits = char_traits<_ECharT>,
1198 class _Allocator = allocator<_ECharT> >
1199 basic_string<_ECharT, _Traits, _Allocator>
1200 generic_string(const _Allocator& __a = _Allocator()) const {
1201 return string<_ECharT, _Traits, _Allocator>(__a);
1202 }
1203
1204 _VSTD::string generic_string() const { return generic_string<char>(); }
1205 _VSTD::u16string generic_u16string() const { return generic_string<char16_t>(); }
1206 _VSTD::u32string generic_u32string() const { return generic_string<char32_t>(); }
1207 __u8_string generic_u8string() const { return u8string(); }
1208#endif /* !_LIBCPP_HAS_NO_LOCALIZATION */
1209#else /* _LIBCPP_WIN32API */
1210
1003 _LIBCPP_INLINE_VISIBILITY _VSTD::string string() const { return __pn_; }1211 _LIBCPP_INLINE_VISIBILITY _VSTD::string string() const { return __pn_; }
1004#ifndef _LIBCPP_NO_HAS_CHAR8_T1212#ifndef _LIBCPP_NO_HAS_CHAR8_T
1005 _LIBCPP_INLINE_VISIBILITY _VSTD::u8string u8string() const { return _VSTD::u8string(__pn_.begin(), __pn_.end()); }1213 _LIBCPP_INLINE_VISIBILITY _VSTD::u8string u8string() const { return _VSTD::u8string(__pn_.begin(), __pn_.end()); }
...@@ -1029,7 +1237,7 @@ public:...@@ -1029,7 +1237,7 @@ public:
1029 _LIBCPP_INLINE_VISIBILITY _VSTD::u32string u32string() const {1237 _LIBCPP_INLINE_VISIBILITY _VSTD::u32string u32string() const {
1030 return string<char32_t>();1238 return string<char32_t>();
1031 }1239 }
1032#endif1240#endif /* !_LIBCPP_HAS_NO_LOCALIZATION */
10331241
1034 // generic format observers1242 // generic format observers
1035 _VSTD::string generic_string() const { return __pn_; }1243 _VSTD::string generic_string() const { return __pn_; }
...@@ -1050,7 +1258,8 @@ public:...@@ -1050,7 +1258,8 @@ public:
1050 _VSTD::wstring generic_wstring() const { return string<wchar_t>(); }1258 _VSTD::wstring generic_wstring() const { return string<wchar_t>(); }
1051 _VSTD::u16string generic_u16string() const { return string<char16_t>(); }1259 _VSTD::u16string generic_u16string() const { return string<char16_t>(); }
1052 _VSTD::u32string generic_u32string() const { return string<char32_t>(); }1260 _VSTD::u32string generic_u32string() const { return string<char32_t>(); }
1053#endif1261#endif /* !_LIBCPP_HAS_NO_LOCALIZATION */
1262#endif /* !_LIBCPP_WIN32API */
10541263
1055private:1264private:
1056 int __compare(__string_view) const;1265 int __compare(__string_view) const;
...@@ -1157,8 +1366,8 @@ public:...@@ -1157,8 +1366,8 @@ public:
1157#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)1366#if !defined(_LIBCPP_HAS_NO_LOCALIZATION)
1158 template <class _CharT, class _Traits>1367 template <class _CharT, class _Traits>
1159 _LIBCPP_INLINE_VISIBILITY friend1368 _LIBCPP_INLINE_VISIBILITY friend
1160 typename enable_if<is_same<_CharT, char>::value &&1369 typename enable_if<is_same<_CharT, value_type>::value &&
1161 is_same<_Traits, char_traits<char> >::value,1370 is_same<_Traits, char_traits<value_type> >::value,
1162 basic_ostream<_CharT, _Traits>&>::type1371 basic_ostream<_CharT, _Traits>&>::type
1163 operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {1372 operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {
1164 __os << _VSTD::__quoted(__p.native());1373 __os << _VSTD::__quoted(__p.native());
...@@ -1167,8 +1376,8 @@ public:...@@ -1167,8 +1376,8 @@ public:
11671376
1168 template <class _CharT, class _Traits>1377 template <class _CharT, class _Traits>
1169 _LIBCPP_INLINE_VISIBILITY friend1378 _LIBCPP_INLINE_VISIBILITY friend
1170 typename enable_if<!is_same<_CharT, char>::value ||1379 typename enable_if<!is_same<_CharT, value_type>::value ||
1171 !is_same<_Traits, char_traits<char> >::value,1380 !is_same<_Traits, char_traits<value_type> >::value,
1172 basic_ostream<_CharT, _Traits>&>::type1381 basic_ostream<_CharT, _Traits>&>::type
1173 operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {1382 operator<<(basic_ostream<_CharT, _Traits>& __os, const path& __p) {
1174 __os << _VSTD::__quoted(__p.string<_CharT, _Traits>());1383 __os << _VSTD::__quoted(__p.string<_CharT, _Traits>());
...@@ -1226,39 +1435,70 @@ inline _LIBCPP_INLINE_VISIBILITY void swap(path& __lhs, path& __rhs) noexcept {...@@ -1226,39 +1435,70 @@ inline _LIBCPP_INLINE_VISIBILITY void swap(path& __lhs, path& __rhs) noexcept {
1226_LIBCPP_FUNC_VIS1435_LIBCPP_FUNC_VIS
1227size_t hash_value(const path& __p) noexcept;1436size_t hash_value(const path& __p) noexcept;
12281437
1229template <class _Source>1438template <class _InputIt>
1230_LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T1439_LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T
1231 typename enable_if<__is_pathable<_Source>::value, path>::type1440 typename enable_if<__is_pathable<_InputIt>::value, path>::type
1232 u8path(const _Source& __s) {1441 u8path(_InputIt __f, _InputIt __l) {
1233 static_assert(1442 static_assert(
1234#ifndef _LIBCPP_NO_HAS_CHAR8_T1443#ifndef _LIBCPP_NO_HAS_CHAR8_T
1235 is_same<typename __is_pathable<_Source>::__char_type, char8_t>::value ||1444 is_same<typename __is_pathable<_InputIt>::__char_type, char8_t>::value ||
1236#endif
1237 is_same<typename __is_pathable<_Source>::__char_type, char>::value,
1238 "u8path(Source const&) requires Source have a character type of type "
1239 "'char'"
1240#ifndef _LIBCPP_NO_HAS_CHAR8_T
1241 " or 'char8_t'"
1242#endif1445#endif
1243 );1446 is_same<typename __is_pathable<_InputIt>::__char_type, char>::value,
1244 return path(__s);1447 "u8path(Iter, Iter) requires Iter have a value_type of type 'char'"
1448 " or 'char8_t'");
1449#if defined(_LIBCPP_WIN32API)
1450 string __tmp(__f, __l);
1451 using _CVT = __widen_from_utf8<sizeof(wchar_t) * __CHAR_BIT__>;
1452 _VSTD::wstring __w;
1453 __w.reserve(__tmp.size());
1454 _CVT()(back_inserter(__w), __tmp.data(), __tmp.data() + __tmp.size());
1455 return path(__w);
1456#else
1457 return path(__f, __l);
1458#endif /* !_LIBCPP_WIN32API */
1245}1459}
12461460
1461#if defined(_LIBCPP_WIN32API)
1247template <class _InputIt>1462template <class _InputIt>
1248_LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T1463_LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T
1249 typename enable_if<__is_pathable<_InputIt>::value, path>::type1464 typename enable_if<__is_pathable<_InputIt>::value, path>::type
1250 u8path(_InputIt __f, _InputIt __l) {1465 u8path(_InputIt __f, _NullSentinel) {
1251 static_assert(1466 static_assert(
1252#ifndef _LIBCPP_NO_HAS_CHAR8_T1467#ifndef _LIBCPP_NO_HAS_CHAR8_T
1253 is_same<typename __is_pathable<_InputIt>::__char_type, char8_t>::value ||1468 is_same<typename __is_pathable<_InputIt>::__char_type, char8_t>::value ||
1254#endif1469#endif
1255 is_same<typename __is_pathable<_InputIt>::__char_type, char>::value,1470 is_same<typename __is_pathable<_InputIt>::__char_type, char>::value,
1256 "u8path(Iter, Iter) requires Iter have a value_type of type 'char'"1471 "u8path(Iter, Iter) requires Iter have a value_type of type 'char'"
1472 " or 'char8_t'");
1473 string __tmp;
1474 const char __sentinel = char{};
1475 for (; *__f != __sentinel; ++__f)
1476 __tmp.push_back(*__f);
1477 using _CVT = __widen_from_utf8<sizeof(wchar_t) * __CHAR_BIT__>;
1478 _VSTD::wstring __w;
1479 __w.reserve(__tmp.size());
1480 _CVT()(back_inserter(__w), __tmp.data(), __tmp.data() + __tmp.size());
1481 return path(__w);
1482}
1483#endif /* _LIBCPP_WIN32API */
1484
1485template <class _Source>
1486_LIBCPP_INLINE_VISIBILITY _LIBCPP_DEPRECATED_WITH_CHAR8_T
1487 typename enable_if<__is_pathable<_Source>::value, path>::type
1488 u8path(const _Source& __s) {
1489 static_assert(
1257#ifndef _LIBCPP_NO_HAS_CHAR8_T1490#ifndef _LIBCPP_NO_HAS_CHAR8_T
1258 " or 'char8_t'"1491 is_same<typename __is_pathable<_Source>::__char_type, char8_t>::value ||
1492#endif
1493 is_same<typename __is_pathable<_Source>::__char_type, char>::value,
1494 "u8path(Source const&) requires Source have a character type of type "
1495 "'char' or 'char8_t'");
1496#if defined(_LIBCPP_WIN32API)
1497 using _Traits = __is_pathable<_Source>;
1498 return u8path(__unwrap_iter(_Traits::__range_begin(__s)), __unwrap_iter(_Traits::__range_end(__s)));
1499#else
1500 return path(__s);
1259#endif1501#endif
1260 );
1261 return path(__f, __l);
1262}1502}
12631503
1264class _LIBCPP_TYPE_VIS path::iterator {1504class _LIBCPP_TYPE_VIS path::iterator {
lib/libcxx/include/fstream+11-8
...@@ -186,7 +186,10 @@ typedef basic_fstream<wchar_t> wfstream;...@@ -186,7 +186,10 @@ typedef basic_fstream<wchar_t> wfstream;
186#include <__locale>186#include <__locale>
187#include <cstdio>187#include <cstdio>
188#include <cstdlib>188#include <cstdlib>
189#include <filesystem>189
190#if !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
191# include <filesystem>
192#endif
190193
191#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)194#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
192#pragma GCC system_header195#pragma GCC system_header
...@@ -235,7 +238,7 @@ public:...@@ -235,7 +238,7 @@ public:
235 _LIBCPP_INLINE_VISIBILITY238 _LIBCPP_INLINE_VISIBILITY
236 basic_filebuf* open(const string& __s, ios_base::openmode __mode);239 basic_filebuf* open(const string& __s, ios_base::openmode __mode);
237240
238#if _LIBCPP_STD_VER >= 17241#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
239 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY242 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
240 basic_filebuf* open(const _VSTD_FS::path& __p, ios_base::openmode __mode) {243 basic_filebuf* open(const _VSTD_FS::path& __p, ios_base::openmode __mode) {
241 return open(__p.c_str(), __mode);244 return open(__p.c_str(), __mode);
...@@ -1151,7 +1154,7 @@ public:...@@ -1151,7 +1154,7 @@ public:
1151#endif1154#endif
1152 _LIBCPP_INLINE_VISIBILITY1155 _LIBCPP_INLINE_VISIBILITY
1153 explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);1156 explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
1154#if _LIBCPP_STD_VER >= 171157#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1155 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1158 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1156 explicit basic_ifstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in)1159 explicit basic_ifstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in)
1157 : basic_ifstream(__p.c_str(), __mode) {}1160 : basic_ifstream(__p.c_str(), __mode) {}
...@@ -1177,7 +1180,7 @@ public:...@@ -1177,7 +1180,7 @@ public:
1177 void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);1180 void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
1178#endif1181#endif
1179 void open(const string& __s, ios_base::openmode __mode = ios_base::in);1182 void open(const string& __s, ios_base::openmode __mode = ios_base::in);
1180#if _LIBCPP_STD_VER >= 171183#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1181 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1184 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1182 void open(const filesystem::path& __p,1185 void open(const filesystem::path& __p,
1183 ios_base::openmode __mode = ios_base::in) {1186 ios_base::openmode __mode = ios_base::in) {
...@@ -1365,7 +1368,7 @@ public:...@@ -1365,7 +1368,7 @@ public:
1365 _LIBCPP_INLINE_VISIBILITY1368 _LIBCPP_INLINE_VISIBILITY
1366 explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out);1369 explicit basic_ofstream(const string& __s, ios_base::openmode __mode = ios_base::out);
13671370
1368#if _LIBCPP_STD_VER >= 171371#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1369 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1372 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1370 explicit basic_ofstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)1373 explicit basic_ofstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)
1371 : basic_ofstream(__p.c_str(), __mode) {}1374 : basic_ofstream(__p.c_str(), __mode) {}
...@@ -1392,7 +1395,7 @@ public:...@@ -1392,7 +1395,7 @@ public:
1392#endif1395#endif
1393 void open(const string& __s, ios_base::openmode __mode = ios_base::out);1396 void open(const string& __s, ios_base::openmode __mode = ios_base::out);
13941397
1395#if _LIBCPP_STD_VER >= 171398#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1396 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1399 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1397 void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)1400 void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out)
1398 { return open(__p.c_str(), __mode); }1401 { return open(__p.c_str(), __mode); }
...@@ -1579,7 +1582,7 @@ public:...@@ -1579,7 +1582,7 @@ public:
1579 _LIBCPP_INLINE_VISIBILITY1582 _LIBCPP_INLINE_VISIBILITY
1580 explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);1583 explicit basic_fstream(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
15811584
1582#if _LIBCPP_STD_VER >= 171585#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1583 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1586 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1584 explicit basic_fstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)1587 explicit basic_fstream(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)
1585 : basic_fstream(__p.c_str(), __mode) {}1588 : basic_fstream(__p.c_str(), __mode) {}
...@@ -1607,7 +1610,7 @@ public:...@@ -1607,7 +1610,7 @@ public:
1607#endif1610#endif
1608 void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);1611 void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
16091612
1610#if _LIBCPP_STD_VER >= 171613#if _LIBCPP_STD_VER >= 17 && !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
1611 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY1614 _LIBCPP_AVAILABILITY_FILESYSTEM _LIBCPP_INLINE_VISIBILITY
1612 void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in|ios_base::out)1615 void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in|ios_base::out)
1613 { return open(__p.c_str(), __mode); }1616 { return open(__p.c_str(), __mode); }
lib/libcxx/include/functional+33-29
...@@ -213,7 +213,8 @@ public:...@@ -213,7 +213,8 @@ public:
213template <class Predicate> // deprecated in C++17213template <class Predicate> // deprecated in C++17
214binary_negate<Predicate> not2(const Predicate& pred);214binary_negate<Predicate> not2(const Predicate& pred);
215215
216template <class F> unspecified not_fn(F&& f); // C++17216template <class F>
217constexpr unspecified not_fn(F&& f); // C++17, constexpr in C++20
217218
218template<class T> struct is_bind_expression;219template<class T> struct is_bind_expression;
219template<class T> struct is_placeholder;220template<class T> struct is_placeholder;
...@@ -226,11 +227,12 @@ template <class T> inline constexpr int is_placeholder_v...@@ -226,11 +227,12 @@ template <class T> inline constexpr int is_placeholder_v
226227
227228
228template<class Fn, class... BoundArgs>229template<class Fn, class... BoundArgs>
229 unspecified bind(Fn&&, BoundArgs&&...);230 constexpr unspecified bind(Fn&&, BoundArgs&&...); // constexpr in C++20
230template<class R, class Fn, class... BoundArgs>231template<class R, class Fn, class... BoundArgs>
231 unspecified bind(Fn&&, BoundArgs&&...);232 constexpr unspecified bind(Fn&&, BoundArgs&&...); // constexpr in C++20
232233
233template<class F, class... Args>234template<class F, class... Args>
235 constexpr // constexpr in C++20
234 invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17236 invoke_result_t<F, Args...> invoke(F&& f, Args&&... args) // C++17
235 noexcept(is_nothrow_invocable_v<F, Args...>);237 noexcept(is_nothrow_invocable_v<F, Args...>);
236238
...@@ -376,7 +378,8 @@ public:...@@ -376,7 +378,8 @@ public:
376template <class S, class T> const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const); // deprecated in C++11, removed in C++17378template <class S, class T> const_mem_fun_ref_t<S,T> mem_fun_ref(S (T::*f)() const); // deprecated in C++11, removed in C++17
377template <class S, class T, class A> const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const); // deprecated in C++11, removed in C++17379template <class S, class T, class A> const_mem_fun1_ref_t<S,T,A> mem_fun_ref(S (T::*f)(A) const); // deprecated in C++11, removed in C++17
378380
379template<class R, class T> unspecified mem_fn(R T::*);381template<class R, class T>
382constexpr unspecified mem_fn(R T::*); // constexpr in C++20
380383
381class bad_function_call384class bad_function_call
382 : public exception385 : public exception
...@@ -1288,12 +1291,13 @@ private:...@@ -1288,12 +1291,13 @@ private:
1288 type __f_;1291 type __f_;
12891292
1290public:1293public:
1291 _LIBCPP_INLINE_VISIBILITY __mem_fn(type __f) _NOEXCEPT : __f_(__f) {}1294 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
1295 __mem_fn(type __f) _NOEXCEPT : __f_(__f) {}
12921296
1293#ifndef _LIBCPP_CXX03_LANG1297#ifndef _LIBCPP_CXX03_LANG
1294 // invoke1298 // invoke
1295 template <class... _ArgTypes>1299 template <class... _ArgTypes>
1296 _LIBCPP_INLINE_VISIBILITY1300 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
1297 typename __invoke_return<type, _ArgTypes...>::type1301 typename __invoke_return<type, _ArgTypes...>::type
1298 operator() (_ArgTypes&&... __args) const {1302 operator() (_ArgTypes&&... __args) const {
1299 return _VSTD::__invoke(__f_, _VSTD::forward<_ArgTypes>(__args)...);1303 return _VSTD::__invoke(__f_, _VSTD::forward<_ArgTypes>(__args)...);
...@@ -1401,7 +1405,7 @@ public:...@@ -1401,7 +1405,7 @@ public:
1401};1405};
14021406
1403template<class _Rp, class _Tp>1407template<class _Rp, class _Tp>
1404inline _LIBCPP_INLINE_VISIBILITY1408inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
1405__mem_fn<_Rp _Tp::*>1409__mem_fn<_Rp _Tp::*>
1406mem_fn(_Rp _Tp::* __pm) _NOEXCEPT1410mem_fn(_Rp _Tp::* __pm) _NOEXCEPT
1407{1411{
...@@ -2344,9 +2348,9 @@ class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)>...@@ -2344,9 +2348,9 @@ class _LIBCPP_TEMPLATE_VIS function<_Rp(_ArgTypes...)>
2344 template <class _Fp>2348 template <class _Fp>
2345 struct __callable<_Fp, true>2349 struct __callable<_Fp, true>
2346 {2350 {
2347 static const bool value = is_same<void, _Rp>::value ||2351 static const bool value = is_void<_Rp>::value ||
2348 is_convertible<typename __invoke_of<_Fp, _ArgTypes...>::type,2352 __is_core_convertible<typename __invoke_of<_Fp, _ArgTypes...>::type,
2349 _Rp>::value;2353 _Rp>::value;
2350 };2354 };
2351 template <class _Fp>2355 template <class _Fp>
2352 struct __callable<_Fp, false>2356 struct __callable<_Fp, false>
...@@ -2701,7 +2705,7 @@ typename _EnableIf...@@ -2701,7 +2705,7 @@ typename _EnableIf
2701__mu(_Ti& __ti, tuple<_Uj...>& __uj)2705__mu(_Ti& __ti, tuple<_Uj...>& __uj)
2702{2706{
2703 typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;2707 typedef typename __make_tuple_indices<sizeof...(_Uj)>::type __indices;
2704 return __mu_expand(__ti, __uj, __indices());2708 return _VSTD::__mu_expand(__ti, __uj, __indices());
2705}2709}
27062710
2707template <bool IsPh, class _Ti, class _Uj>2711template <bool IsPh, class _Ti, class _Uj>
...@@ -2873,13 +2877,13 @@ public:...@@ -2873,13 +2877,13 @@ public:
2873 !is_same<typename remove_reference<_Gp>::type,2877 !is_same<typename remove_reference<_Gp>::type,
2874 __bind>::value2878 __bind>::value
2875 >::type>2879 >::type>
2876 _LIBCPP_INLINE_VISIBILITY2880 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2877 explicit __bind(_Gp&& __f, _BA&& ...__bound_args)2881 explicit __bind(_Gp&& __f, _BA&& ...__bound_args)
2878 : __f_(_VSTD::forward<_Gp>(__f)),2882 : __f_(_VSTD::forward<_Gp>(__f)),
2879 __bound_args_(_VSTD::forward<_BA>(__bound_args)...) {}2883 __bound_args_(_VSTD::forward<_BA>(__bound_args)...) {}
28802884
2881 template <class ..._Args>2885 template <class ..._Args>
2882 _LIBCPP_INLINE_VISIBILITY2886 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2883 typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type2887 typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type
2884 operator()(_Args&& ...__args)2888 operator()(_Args&& ...__args)
2885 {2889 {
...@@ -2888,7 +2892,7 @@ public:...@@ -2888,7 +2892,7 @@ public:
2888 }2892 }
28892893
2890 template <class ..._Args>2894 template <class ..._Args>
2891 _LIBCPP_INLINE_VISIBILITY2895 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2892 typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type2896 typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type
2893 operator()(_Args&& ...__args) const2897 operator()(_Args&& ...__args) const
2894 {2898 {
...@@ -2918,13 +2922,13 @@ public:...@@ -2918,13 +2922,13 @@ public:
2918 !is_same<typename remove_reference<_Gp>::type,2922 !is_same<typename remove_reference<_Gp>::type,
2919 __bind_r>::value2923 __bind_r>::value
2920 >::type>2924 >::type>
2921 _LIBCPP_INLINE_VISIBILITY2925 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2922 explicit __bind_r(_Gp&& __f, _BA&& ...__bound_args)2926 explicit __bind_r(_Gp&& __f, _BA&& ...__bound_args)
2923 : base(_VSTD::forward<_Gp>(__f),2927 : base(_VSTD::forward<_Gp>(__f),
2924 _VSTD::forward<_BA>(__bound_args)...) {}2928 _VSTD::forward<_BA>(__bound_args)...) {}
29252929
2926 template <class ..._Args>2930 template <class ..._Args>
2927 _LIBCPP_INLINE_VISIBILITY2931 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2928 typename enable_if2932 typename enable_if
2929 <2933 <
2930 is_convertible<typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type,2934 is_convertible<typename __bind_return<_Fd, _Td, tuple<_Args&&...> >::type,
...@@ -2938,7 +2942,7 @@ public:...@@ -2938,7 +2942,7 @@ public:
2938 }2942 }
29392943
2940 template <class ..._Args>2944 template <class ..._Args>
2941 _LIBCPP_INLINE_VISIBILITY2945 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2942 typename enable_if2946 typename enable_if
2943 <2947 <
2944 is_convertible<typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type,2948 is_convertible<typename __bind_return<const _Fd, const _Td, tuple<_Args&&...> >::type,
...@@ -2956,7 +2960,7 @@ template<class _Rp, class _Fp, class ..._BoundArgs>...@@ -2956,7 +2960,7 @@ template<class _Rp, class _Fp, class ..._BoundArgs>
2956struct __is_bind_expression<__bind_r<_Rp, _Fp, _BoundArgs...> > : public true_type {};2960struct __is_bind_expression<__bind_r<_Rp, _Fp, _BoundArgs...> > : public true_type {};
29572961
2958template<class _Fp, class ..._BoundArgs>2962template<class _Fp, class ..._BoundArgs>
2959inline _LIBCPP_INLINE_VISIBILITY2963inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2960__bind<_Fp, _BoundArgs...>2964__bind<_Fp, _BoundArgs...>
2961bind(_Fp&& __f, _BoundArgs&&... __bound_args)2965bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2962{2966{
...@@ -2965,7 +2969,7 @@ bind(_Fp&& __f, _BoundArgs&&... __bound_args)...@@ -2965,7 +2969,7 @@ bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2965}2969}
29662970
2967template<class _Rp, class _Fp, class ..._BoundArgs>2971template<class _Rp, class _Fp, class ..._BoundArgs>
2968inline _LIBCPP_INLINE_VISIBILITY2972inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2969__bind_r<_Rp, _Fp, _BoundArgs...>2973__bind_r<_Rp, _Fp, _BoundArgs...>
2970bind(_Fp&& __f, _BoundArgs&&... __bound_args)2974bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2971{2975{
...@@ -2978,7 +2982,7 @@ bind(_Fp&& __f, _BoundArgs&&... __bound_args)...@@ -2978,7 +2982,7 @@ bind(_Fp&& __f, _BoundArgs&&... __bound_args)
2978#if _LIBCPP_STD_VER > 142982#if _LIBCPP_STD_VER > 14
29792983
2980template <class _Fn, class ..._Args>2984template <class _Fn, class ..._Args>
2981invoke_result_t<_Fn, _Args...>2985_LIBCPP_CONSTEXPR_AFTER_CXX17 invoke_result_t<_Fn, _Args...>
2982invoke(_Fn&& __f, _Args&&... __args)2986invoke(_Fn&& __f, _Args&&... __args)
2983 noexcept(is_nothrow_invocable_v<_Fn, _Args...>)2987 noexcept(is_nothrow_invocable_v<_Fn, _Args...>)
2984{2988{
...@@ -2993,21 +2997,21 @@ public:...@@ -2993,21 +2997,21 @@ public:
2993 __not_fn_imp() = delete;2997 __not_fn_imp() = delete;
29942998
2995 template <class ..._Args>2999 template <class ..._Args>
2996 _LIBCPP_INLINE_VISIBILITY3000 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
2997 auto operator()(_Args&& ...__args) &3001 auto operator()(_Args&& ...__args) &
2998 noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))3002 noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))
2999 -> decltype( !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))3003 -> decltype( !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))
3000 { return !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...); }3004 { return !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...); }
30013005
3002 template <class ..._Args>3006 template <class ..._Args>
3003 _LIBCPP_INLINE_VISIBILITY3007 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3004 auto operator()(_Args&& ...__args) &&3008 auto operator()(_Args&& ...__args) &&
3005 noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))3009 noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))
3006 -> decltype( !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))3010 -> decltype( !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))
3007 { return !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...); }3011 { return !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...); }
30083012
3009 template <class ..._Args>3013 template <class ..._Args>
3010 _LIBCPP_INLINE_VISIBILITY3014 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3011 auto operator()(_Args&& ...__args) const&3015 auto operator()(_Args&& ...__args) const&
3012 noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))3016 noexcept(noexcept(!_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...)))
3013 -> decltype( !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))3017 -> decltype( !_VSTD::invoke(__fd, _VSTD::forward<_Args>(__args)...))
...@@ -3015,7 +3019,7 @@ public:...@@ -3015,7 +3019,7 @@ public:
30153019
30163020
3017 template <class ..._Args>3021 template <class ..._Args>
3018 _LIBCPP_INLINE_VISIBILITY3022 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3019 auto operator()(_Args&& ...__args) const&&3023 auto operator()(_Args&& ...__args) const&&
3020 noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))3024 noexcept(noexcept(!_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...)))
3021 -> decltype( !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))3025 -> decltype( !_VSTD::invoke(_VSTD::move(__fd), _VSTD::forward<_Args>(__args)...))
...@@ -3024,17 +3028,17 @@ public:...@@ -3024,17 +3028,17 @@ public:
3024private:3028private:
3025 template <class _RawFunc,3029 template <class _RawFunc,
3026 class = enable_if_t<!is_same<decay_t<_RawFunc>, __not_fn_imp>::value>>3030 class = enable_if_t<!is_same<decay_t<_RawFunc>, __not_fn_imp>::value>>
3027 _LIBCPP_INLINE_VISIBILITY3031 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3028 explicit __not_fn_imp(_RawFunc&& __rf)3032 explicit __not_fn_imp(_RawFunc&& __rf)
3029 : __fd(_VSTD::forward<_RawFunc>(__rf)) {}3033 : __fd(_VSTD::forward<_RawFunc>(__rf)) {}
30303034
3031 template <class _RawFunc>3035 template <class _RawFunc>
3032 friend inline _LIBCPP_INLINE_VISIBILITY3036 friend inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3033 __not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&&);3037 __not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&&);
3034};3038};
30353039
3036template <class _RawFunc>3040template <class _RawFunc>
3037inline _LIBCPP_INLINE_VISIBILITY3041inline _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3038__not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&& __fn) {3042__not_fn_imp<decay_t<_RawFunc>> not_fn(_RawFunc&& __fn) {
3039 return __not_fn_imp<decay_t<_RawFunc>>(_VSTD::forward<_RawFunc>(__fn));3043 return __not_fn_imp<decay_t<_RawFunc>>(_VSTD::forward<_RawFunc>(__fn));
3040}3044}
...@@ -3131,13 +3135,13 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,...@@ -3131,13 +3135,13 @@ __search(_RandomAccessIterator1 __first1, _RandomAccessIterator1 __last1,
3131template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>3135template<class _ForwardIterator, class _BinaryPredicate = equal_to<>>
3132class _LIBCPP_TYPE_VIS default_searcher {3136class _LIBCPP_TYPE_VIS default_searcher {
3133public:3137public:
3134 _LIBCPP_INLINE_VISIBILITY3138 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3135 default_searcher(_ForwardIterator __f, _ForwardIterator __l,3139 default_searcher(_ForwardIterator __f, _ForwardIterator __l,
3136 _BinaryPredicate __p = _BinaryPredicate())3140 _BinaryPredicate __p = _BinaryPredicate())
3137 : __first_(__f), __last_(__l), __pred_(__p) {}3141 : __first_(__f), __last_(__l), __pred_(__p) {}
31383142
3139 template <typename _ForwardIterator2>3143 template <typename _ForwardIterator2>
3140 _LIBCPP_INLINE_VISIBILITY3144 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX17
3141 pair<_ForwardIterator2, _ForwardIterator2>3145 pair<_ForwardIterator2, _ForwardIterator2>
3142 operator () (_ForwardIterator2 __f, _ForwardIterator2 __l) const3146 operator () (_ForwardIterator2 __f, _ForwardIterator2 __l) const
3143 {3147 {
lib/libcxx/include/future+6-6
...@@ -1681,7 +1681,7 @@ template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>...@@ -1681,7 +1681,7 @@ template<class _Fp, class _Alloc, class _Rp, class ..._ArgTypes>
1681_Rp1681_Rp
1682__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)1682__packaged_task_func<_Fp, _Alloc, _Rp(_ArgTypes...)>::operator()(_ArgTypes&& ... __arg)
1683{1683{
1684 return __invoke(__f_.first(), _VSTD::forward<_ArgTypes>(__arg)...);1684 return _VSTD::__invoke(__f_.first(), _VSTD::forward<_ArgTypes>(__arg)...);
1685}1685}
16861686
1687template <class _Callable> class __packaged_task_function;1687template <class _Callable> class __packaged_task_function;
...@@ -2184,7 +2184,7 @@ private:...@@ -2184,7 +2184,7 @@ private:
2184 _Rp2184 _Rp
2185 __execute(__tuple_indices<_Indices...>)2185 __execute(__tuple_indices<_Indices...>)
2186 {2186 {
2187 return __invoke(_VSTD::move(_VSTD::get<0>(__f_)), _VSTD::move(_VSTD::get<_Indices>(__f_))...);2187 return _VSTD::__invoke(_VSTD::move(_VSTD::get<0>(__f_)), _VSTD::move(_VSTD::get<_Indices>(__f_))...);
2188 }2188 }
2189};2189};
21902190
...@@ -2204,16 +2204,16 @@ async(launch __policy, _Fp&& __f, _Args&&... __args)...@@ -2204,16 +2204,16 @@ async(launch __policy, _Fp&& __f, _Args&&... __args)
2204 {2204 {
2205#endif2205#endif
2206 if (__does_policy_contain(__policy, launch::async))2206 if (__does_policy_contain(__policy, launch::async))
2207 return _VSTD::__make_async_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),2207 return _VSTD::__make_async_assoc_state<_Rp>(_BF(_VSTD::__decay_copy(_VSTD::forward<_Fp>(__f)),
2208 __decay_copy(_VSTD::forward<_Args>(__args))...));2208 _VSTD::__decay_copy(_VSTD::forward<_Args>(__args))...));
2209#ifndef _LIBCPP_NO_EXCEPTIONS2209#ifndef _LIBCPP_NO_EXCEPTIONS
2210 }2210 }
2211 catch ( ... ) { if (__policy == launch::async) throw ; }2211 catch ( ... ) { if (__policy == launch::async) throw ; }
2212#endif2212#endif
22132213
2214 if (__does_policy_contain(__policy, launch::deferred))2214 if (__does_policy_contain(__policy, launch::deferred))
2215 return _VSTD::__make_deferred_assoc_state<_Rp>(_BF(__decay_copy(_VSTD::forward<_Fp>(__f)),2215 return _VSTD::__make_deferred_assoc_state<_Rp>(_BF(_VSTD::__decay_copy(_VSTD::forward<_Fp>(__f)),
2216 __decay_copy(_VSTD::forward<_Args>(__args))...));2216 _VSTD::__decay_copy(_VSTD::forward<_Args>(__args))...));
2217 return future<_Rp>{};2217 return future<_Rp>{};
2218}2218}
22192219
lib/libcxx/include/iomanip+1-1
...@@ -527,7 +527,7 @@ __quoted_output ( basic_ostream<_CharT, _Traits> &__os,...@@ -527,7 +527,7 @@ __quoted_output ( basic_ostream<_CharT, _Traits> &__os,
527 __str.push_back(*__first);527 __str.push_back(*__first);
528 }528 }
529 __str.push_back(__delim);529 __str.push_back(__delim);
530 return __put_character_sequence(__os, __str.data(), __str.size());530 return _VSTD::__put_character_sequence(__os, __str.data(), __str.size());
531}531}
532532
533template <class _CharT, class _Traits, class _String>533template <class _CharT, class _Traits, class _String>
lib/libcxx/include/limits+2-2
...@@ -105,11 +105,11 @@ template<> class numeric_limits<cv long double>;...@@ -105,11 +105,11 @@ template<> class numeric_limits<cv long double>;
105#include <type_traits>105#include <type_traits>
106106
107#if defined(_LIBCPP_COMPILER_MSVC)107#if defined(_LIBCPP_COMPILER_MSVC)
108#include "support/win32/limits_msvc_win32.h"108#include "__support/win32/limits_msvc_win32.h"
109#endif // _LIBCPP_MSVCRT109#endif // _LIBCPP_MSVCRT
110110
111#if defined(__IBMCPP__)111#if defined(__IBMCPP__)
112#include "support/ibm/limits.h"112#include "__support/ibm/limits.h"
113#endif // __IBMCPP__113#endif // __IBMCPP__
114114
115#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)115#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
lib/libcxx/include/locale+82-52
...@@ -92,7 +92,11 @@ public:...@@ -92,7 +92,11 @@ public:
92 typedef typename Codecvt::state_type state_type;92 typedef typename Codecvt::state_type state_type;
93 typedef typename wide_string::traits_type::int_type int_type;93 typedef typename wide_string::traits_type::int_type int_type;
9494
95 explicit wstring_convert(Codecvt* pcvt = new Codecvt); // explicit in C++1495 wstring_convert(Codecvt* pcvt = new Codecvt); // before C++14
96 explicit wstring_convert(Codecvt* pcvt = new Codecvt); // before C++20
97 wstring_convert() : wstring_convert(new Codecvt) {} // C++20
98 explicit wstring_convert(Codecvt* pcvt); // C++20
99
96 wstring_convert(Codecvt* pcvt, state_type state);100 wstring_convert(Codecvt* pcvt, state_type state);
97 explicit wstring_convert(const byte_string& byte_err, // explicit in C++14101 explicit wstring_convert(const byte_string& byte_err, // explicit in C++14
98 const wide_string& wide_err = wide_string());102 const wide_string& wide_err = wide_string());
...@@ -121,8 +125,14 @@ class wbuffer_convert...@@ -121,8 +125,14 @@ class wbuffer_convert
121public:125public:
122 typedef typename Tr::state_type state_type;126 typedef typename Tr::state_type state_type;
123127
124 explicit wbuffer_convert(streambuf* bytebuf = 0, Codecvt* pcvt = new Codecvt,128 wbuffer_convert(streambuf* bytebuf = 0, Codecvt* pcvt = new Codecvt,
125 state_type state = state_type()); // explicit in C++14129 state_type state = state_type()); // before C++14
130 explicit wbuffer_convert(streambuf* bytebuf = nullptr, Codecvt* pcvt = new Codecvt,
131 state_type state = state_type()); // before C++20
132 wbuffer_convert() : wbuffer_convert(nullptr) {} // C++20
133 explicit wbuffer_convert(streambuf* bytebuf, Codecvt* pcvt = new Codecvt,
134 state_type state = state_type()); // C++20
135
126 wbuffer_convert(const wbuffer_convert&) = delete; // C++14136 wbuffer_convert(const wbuffer_convert&) = delete; // C++14
127 wbuffer_convert & operator=(const wbuffer_convert &) = delete; // C++14137 wbuffer_convert & operator=(const wbuffer_convert &) = delete; // C++14
128 ~wbuffer_convert(); // C++14138 ~wbuffer_convert(); // C++14
...@@ -557,8 +567,8 @@ __num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __ex...@@ -557,8 +567,8 @@ __num_get<_CharT>::__stage2_float_loop(_CharT __ct, bool& __in_units, char& __ex
557 return 0;567 return 0;
558}568}
559569
560_LIBCPP_EXTERN_TEMPLATE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<char>)570_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<char>)
561_LIBCPP_EXTERN_TEMPLATE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<wchar_t>)571_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_get<wchar_t>)
562572
563template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >573template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
564class _LIBCPP_TEMPLATE_VIS num_get574class _LIBCPP_TEMPLATE_VIS num_get
...@@ -1095,8 +1105,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,...@@ -1095,8 +1105,8 @@ num_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
1095 return __b;1105 return __b;
1096}1106}
10971107
1098_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<char>)1108_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<char>)
1099_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<wchar_t>)1109_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_get<wchar_t>)
11001110
1101struct _LIBCPP_TYPE_VIS __num_put_base1111struct _LIBCPP_TYPE_VIS __num_put_base
1102{1112{
...@@ -1245,8 +1255,8 @@ __num_put<_CharT>::__widen_and_group_float(char* __nb, char* __np, char* __ne,...@@ -1245,8 +1255,8 @@ __num_put<_CharT>::__widen_and_group_float(char* __nb, char* __np, char* __ne,
1245 __op = __ob + (__np - __nb);1255 __op = __ob + (__np - __nb);
1246}1256}
12471257
1248_LIBCPP_EXTERN_TEMPLATE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<char>)1258_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<char>)
1249_LIBCPP_EXTERN_TEMPLATE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<wchar_t>)1259_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(struct _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __num_put<wchar_t>)
12501260
1251template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >1261template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
1252class _LIBCPP_TEMPLATE_VIS num_put1262class _LIBCPP_TEMPLATE_VIS num_put
...@@ -1567,7 +1577,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,...@@ -1567,7 +1577,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
1567 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);1577 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);
1568 else1578 else
1569 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);1579 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);
1570 if (__nb == nullptr)1580 if (__nc == -1)
1571 __throw_bad_alloc();1581 __throw_bad_alloc();
1572 __nbh.reset(__nb);1582 __nbh.reset(__nb);
1573 }1583 }
...@@ -1618,7 +1628,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,...@@ -1618,7 +1628,7 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
1618 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);1628 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, (int)__iob.precision(), __v);
1619 else1629 else
1620 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);1630 __nc = __libcpp_asprintf_l(&__nb, _LIBCPP_GET_C_LOCALE, __fmt, __v);
1621 if (__nb == nullptr)1631 if (__nc == -1)
1622 __throw_bad_alloc();1632 __throw_bad_alloc();
1623 __nbh.reset(__nb);1633 __nbh.reset(__nb);
1624 }1634 }
...@@ -1672,8 +1682,8 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,...@@ -1672,8 +1682,8 @@ num_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base& __iob,
1672 return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);1682 return __pad_and_output(__s, __o, __op, __oe, __iob, __fl);
1673}1683}
16741684
1675_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<char>)1685_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<char>)
1676_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<wchar_t>)1686_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS num_put<wchar_t>)
16771687
1678template <class _CharT, class _InputIterator>1688template <class _CharT, class _InputIterator>
1679_LIBCPP_HIDDEN1689_LIBCPP_HIDDEN
...@@ -2358,8 +2368,8 @@ time_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,...@@ -2358,8 +2368,8 @@ time_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
2358 return __b;2368 return __b;
2359}2369}
23602370
2361_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<char>)2371_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<char>)
2362_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<wchar_t>)2372_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get<wchar_t>)
23632373
2364class _LIBCPP_TYPE_VIS __time_get2374class _LIBCPP_TYPE_VIS __time_get
2365{2375{
...@@ -2458,8 +2468,8 @@ private:...@@ -2458,8 +2468,8 @@ private:
2458 virtual const string_type& __X() const {return this->__X_;}2468 virtual const string_type& __X() const {return this->__X_;}
2459};2469};
24602470
2461_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<char>)2471_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<char>)
2462_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<wchar_t>)2472_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_get_byname<wchar_t>)
24632473
2464class _LIBCPP_TYPE_VIS __time_put2474class _LIBCPP_TYPE_VIS __time_put
2465{2475{
...@@ -2571,8 +2581,8 @@ time_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base&,...@@ -2571,8 +2581,8 @@ time_put<_CharT, _OutputIterator>::do_put(iter_type __s, ios_base&,
2571 return _VSTD::copy(__nb, __ne, __s);2581 return _VSTD::copy(__nb, __ne, __s);
2572}2582}
25732583
2574_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<char>)2584_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<char>)
2575_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<wchar_t>)2585_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put<wchar_t>)
25762586
2577template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >2587template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
2578class _LIBCPP_TEMPLATE_VIS time_put_byname2588class _LIBCPP_TEMPLATE_VIS time_put_byname
...@@ -2592,8 +2602,8 @@ protected:...@@ -2592,8 +2602,8 @@ protected:
2592 ~time_put_byname() {}2602 ~time_put_byname() {}
2593};2603};
25942604
2595_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<char>)2605_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<char>)
2596_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<wchar_t>)2606_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS time_put_byname<wchar_t>)
25972607
2598// money_base2608// money_base
25992609
...@@ -2659,10 +2669,10 @@ template <class _CharT, bool _International>...@@ -2659,10 +2669,10 @@ template <class _CharT, bool _International>
2659const bool2669const bool
2660moneypunct<_CharT, _International>::intl;2670moneypunct<_CharT, _International>::intl;
26612671
2662_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, false>)2672_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, false>)
2663_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, true>)2673_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<char, true>)
2664_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, false>)2674_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, false>)
2665_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, true>)2675_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct<wchar_t, true>)
26662676
2667// moneypunct_byname2677// moneypunct_byname
26682678
...@@ -2716,10 +2726,10 @@ template<> _LIBCPP_FUNC_VIS void moneypunct_byname<char, true>::init(const char*...@@ -2716,10 +2726,10 @@ template<> _LIBCPP_FUNC_VIS void moneypunct_byname<char, true>::init(const char*
2716template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, false>::init(const char*);2726template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, false>::init(const char*);
2717template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, true>::init(const char*);2727template<> _LIBCPP_FUNC_VIS void moneypunct_byname<wchar_t, true>::init(const char*);
27182728
2719_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, false>)2729_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, false>)
2720_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, true>)2730_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<char, true>)
2721_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, false>)2731_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, false>)
2722_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, true>)2732_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS moneypunct_byname<wchar_t, true>)
27232733
2724// money_get2734// money_get
27252735
...@@ -2775,8 +2785,8 @@ __money_get<_CharT>::__gather_info(bool __intl, const locale& __loc,...@@ -2775,8 +2785,8 @@ __money_get<_CharT>::__gather_info(bool __intl, const locale& __loc,
2775 }2785 }
2776}2786}
27772787
2778_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<char>)2788_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<char>)
2779_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<wchar_t>)2789_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_get<wchar_t>)
27802790
2781template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >2791template <class _CharT, class _InputIterator = istreambuf_iterator<_CharT> >
2782class _LIBCPP_TEMPLATE_VIS money_get2792class _LIBCPP_TEMPLATE_VIS money_get
...@@ -3158,8 +3168,8 @@ money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,...@@ -3158,8 +3168,8 @@ money_get<_CharT, _InputIterator>::do_get(iter_type __b, iter_type __e,
3158 return __b;3168 return __b;
3159}3169}
31603170
3161_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<char>)3171_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<char>)
3162_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<wchar_t>)3172_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_get<wchar_t>)
31633173
3164// money_put3174// money_put
31653175
...@@ -3333,8 +3343,8 @@ __money_put<_CharT>::__format(char_type* __mb, char_type*& __mi, char_type*& __m...@@ -3333,8 +3343,8 @@ __money_put<_CharT>::__format(char_type* __mb, char_type*& __mi, char_type*& __m
3333 __mi = __mb;3343 __mi = __mb;
3334}3344}
33353345
3336_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<char>)3346_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<char>)
3337_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<wchar_t>)3347_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS __money_put<wchar_t>)
33383348
3339template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >3349template <class _CharT, class _OutputIterator = ostreambuf_iterator<_CharT> >
3340class _LIBCPP_TEMPLATE_VIS money_put3350class _LIBCPP_TEMPLATE_VIS money_put
...@@ -3392,17 +3402,17 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,...@@ -3392,17 +3402,17 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
3392 char* __bb = __buf;3402 char* __bb = __buf;
3393 char_type __digits[__bs];3403 char_type __digits[__bs];
3394 char_type* __db = __digits;3404 char_type* __db = __digits;
3395 size_t __n = static_cast<size_t>(snprintf(__bb, __bs, "%.0Lf", __units));3405 int __n = snprintf(__bb, __bs, "%.0Lf", __units);
3396 unique_ptr<char, void(*)(void*)> __hn(nullptr, free);3406 unique_ptr<char, void(*)(void*)> __hn(nullptr, free);
3397 unique_ptr<char_type, void(*)(void*)> __hd(0, free);3407 unique_ptr<char_type, void(*)(void*)> __hd(0, free);
3398 // secure memory for digit storage3408 // secure memory for digit storage
3399 if (__n > __bs-1)3409 if (static_cast<size_t>(__n) > __bs-1)
3400 {3410 {
3401 __n = static_cast<size_t>(__libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", __units));3411 __n = __libcpp_asprintf_l(&__bb, _LIBCPP_GET_C_LOCALE, "%.0Lf", __units);
3402 if (__bb == nullptr)3412 if (__n == -1)
3403 __throw_bad_alloc();3413 __throw_bad_alloc();
3404 __hn.reset(__bb);3414 __hn.reset(__bb);
3405 __hd.reset((char_type*)malloc(__n * sizeof(char_type)));3415 __hd.reset((char_type*)malloc(static_cast<size_t>(__n) * sizeof(char_type)));
3406 if (__hd == nullptr)3416 if (__hd == nullptr)
3407 __throw_bad_alloc();3417 __throw_bad_alloc();
3408 __db = __hd.get();3418 __db = __hd.get();
...@@ -3424,9 +3434,9 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,...@@ -3424,9 +3434,9 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
3424 char_type __mbuf[__bs];3434 char_type __mbuf[__bs];
3425 char_type* __mb = __mbuf;3435 char_type* __mb = __mbuf;
3426 unique_ptr<char_type, void(*)(void*)> __hw(0, free);3436 unique_ptr<char_type, void(*)(void*)> __hw(0, free);
3427 size_t __exn = static_cast<int>(__n) > __fd ?3437 size_t __exn = __n > __fd ?
3428 (__n - static_cast<size_t>(__fd)) * 2 + __sn.size() +3438 (static_cast<size_t>(__n) - static_cast<size_t>(__fd)) * 2 +
3429 __sym.size() + static_cast<size_t>(__fd) + 13439 __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 1
3430 : __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 2;3440 : __sn.size() + __sym.size() + static_cast<size_t>(__fd) + 2;
3431 if (__exn > __bs)3441 if (__exn > __bs)
3432 {3442 {
...@@ -3486,8 +3496,8 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,...@@ -3486,8 +3496,8 @@ money_put<_CharT, _OutputIterator>::do_put(iter_type __s, bool __intl,
3486 return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);3496 return __pad_and_output(__s, __mb, __mi, __me, __iob, __fl);
3487}3497}
34883498
3489_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<char>)3499_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<char>)
3490_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<wchar_t>)3500_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS money_put<wchar_t>)
34913501
3492// messages3502// messages
34933503
...@@ -3602,8 +3612,8 @@ messages<_CharT>::do_close(catalog __c) const...@@ -3602,8 +3612,8 @@ messages<_CharT>::do_close(catalog __c) const
3602#endif // _LIBCPP_HAS_CATOPEN3612#endif // _LIBCPP_HAS_CATOPEN
3603}3613}
36043614
3605_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<char>)3615_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<char>)
3606_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<wchar_t>)3616_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages<wchar_t>)
36073617
3608template <class _CharT>3618template <class _CharT>
3609class _LIBCPP_TEMPLATE_VIS messages_byname3619class _LIBCPP_TEMPLATE_VIS messages_byname
...@@ -3626,8 +3636,8 @@ protected:...@@ -3626,8 +3636,8 @@ protected:
3626 ~messages_byname() {}3636 ~messages_byname() {}
3627};3637};
36283638
3629_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<char>)3639_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<char>)
3630_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<wchar_t>)3640_LIBCPP_EXTERN_TEMPLATE_EVEN_IN_DEBUG_MODE(class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS messages_byname<wchar_t>)
36313641
3632template<class _Codecvt, class _Elem = wchar_t,3642template<class _Codecvt, class _Elem = wchar_t,
3633 class _Wide_alloc = allocator<_Elem>,3643 class _Wide_alloc = allocator<_Elem>,
...@@ -3650,8 +3660,17 @@ private:...@@ -3650,8 +3660,17 @@ private:
3650 wstring_convert(const wstring_convert& __wc);3660 wstring_convert(const wstring_convert& __wc);
3651 wstring_convert& operator=(const wstring_convert& __wc);3661 wstring_convert& operator=(const wstring_convert& __wc);
3652public:3662public:
3663#ifndef _LIBCPP_CXX03_LANG
3664 _LIBCPP_INLINE_VISIBILITY
3665 wstring_convert() : wstring_convert(new _Codecvt) {}
3666 _LIBCPP_INLINE_VISIBILITY
3667 explicit wstring_convert(_Codecvt* __pcvt);
3668#else
3653 _LIBCPP_INLINE_VISIBILITY3669 _LIBCPP_INLINE_VISIBILITY
3654 _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(_Codecvt* __pcvt = new _Codecvt);3670 _LIBCPP_EXPLICIT_AFTER_CXX11
3671 wstring_convert(_Codecvt* __pcvt = new _Codecvt);
3672#endif
3673
3655 _LIBCPP_INLINE_VISIBILITY3674 _LIBCPP_INLINE_VISIBILITY
3656 wstring_convert(_Codecvt* __pcvt, state_type __state);3675 wstring_convert(_Codecvt* __pcvt, state_type __state);
3657 _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err,3676 _LIBCPP_EXPLICIT_AFTER_CXX11 wstring_convert(const byte_string& __byte_err,
...@@ -3918,9 +3937,20 @@ private:...@@ -3918,9 +3937,20 @@ private:
39183937
3919 wbuffer_convert(const wbuffer_convert&);3938 wbuffer_convert(const wbuffer_convert&);
3920 wbuffer_convert& operator=(const wbuffer_convert&);3939 wbuffer_convert& operator=(const wbuffer_convert&);
3940
3921public:3941public:
3922 _LIBCPP_EXPLICIT_AFTER_CXX11 wbuffer_convert(streambuf* __bytebuf = nullptr,3942#ifndef _LIBCPP_CXX03_LANG
3923 _Codecvt* __pcvt = new _Codecvt, state_type __state = state_type());3943 wbuffer_convert() : wbuffer_convert(nullptr) {}
3944 explicit wbuffer_convert(streambuf* __bytebuf,
3945 _Codecvt* __pcvt = new _Codecvt,
3946 state_type __state = state_type());
3947#else
3948 _LIBCPP_EXPLICIT_AFTER_CXX11
3949 wbuffer_convert(streambuf* __bytebuf = nullptr,
3950 _Codecvt* __pcvt = new _Codecvt,
3951 state_type __state = state_type());
3952#endif
3953
3924 ~wbuffer_convert();3954 ~wbuffer_convert();
39253955
3926 _LIBCPP_INLINE_VISIBILITY3956 _LIBCPP_INLINE_VISIBILITY
lib/libcxx/include/memory+68-21
...@@ -1286,9 +1286,7 @@ struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp {...@@ -1286,9 +1286,7 @@ struct __compressed_pair_elem<_Tp, _Idx, true> : private _Tp {
1286template <class _T1, class _T2>1286template <class _T1, class _T2>
1287class __compressed_pair : private __compressed_pair_elem<_T1, 0>,1287class __compressed_pair : private __compressed_pair_elem<_T1, 0>,
1288 private __compressed_pair_elem<_T2, 1> {1288 private __compressed_pair_elem<_T2, 1> {
1289 typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T1, 0> _Base1;1289public:
1290 typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T2, 1> _Base2;
1291
1292 // NOTE: This static assert should never fire because __compressed_pair1290 // NOTE: This static assert should never fire because __compressed_pair
1293 // is *almost never* used in a scenario where it's possible for T1 == T2.1291 // is *almost never* used in a scenario where it's possible for T1 == T2.
1294 // (The exception is std::function where it is possible that the function1292 // (The exception is std::function where it is possible that the function
...@@ -1298,7 +1296,9 @@ class __compressed_pair : private __compressed_pair_elem<_T1, 0>,...@@ -1298,7 +1296,9 @@ class __compressed_pair : private __compressed_pair_elem<_T1, 0>,
1298 "The current implementation is NOT ABI-compatible with the previous "1296 "The current implementation is NOT ABI-compatible with the previous "
1299 "implementation for this configuration");1297 "implementation for this configuration");
13001298
1301public:1299 typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T1, 0> _Base1;
1300 typedef _LIBCPP_NODEBUG_TYPE __compressed_pair_elem<_T2, 1> _Base2;
1301
1302 template <bool _Dummy = true,1302 template <bool _Dummy = true,
1303 class = typename enable_if<1303 class = typename enable_if<
1304 __dependent_type<is_default_constructible<_T1>, _Dummy>::value &&1304 __dependent_type<is_default_constructible<_T1>, _Dummy>::value &&
...@@ -1344,6 +1344,15 @@ public:...@@ -1344,6 +1344,15 @@ public:
1344 return static_cast<_Base2 const&>(*this).__get();1344 return static_cast<_Base2 const&>(*this).__get();
1345 }1345 }
13461346
1347 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
1348 static _Base1* __get_first_base(__compressed_pair* __pair) _NOEXCEPT {
1349 return static_cast<_Base1*>(__pair);
1350 }
1351 _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
1352 static _Base2* __get_second_base(__compressed_pair* __pair) _NOEXCEPT {
1353 return static_cast<_Base2*>(__pair);
1354 }
1355
1347 _LIBCPP_INLINE_VISIBILITY1356 _LIBCPP_INLINE_VISIBILITY
1348 void swap(__compressed_pair& __x)1357 void swap(__compressed_pair& __x)
1349 _NOEXCEPT_(__is_nothrow_swappable<_T1>::value &&1358 _NOEXCEPT_(__is_nothrow_swappable<_T1>::value &&
...@@ -1453,7 +1462,7 @@ class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr {...@@ -1453,7 +1462,7 @@ class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr {
1453public:1462public:
1454 typedef _Tp element_type;1463 typedef _Tp element_type;
1455 typedef _Dp deleter_type;1464 typedef _Dp deleter_type;
1456 typedef _LIBCPP_NODEBUG_TYPE typename __pointer_type<_Tp, deleter_type>::type pointer;1465 typedef _LIBCPP_NODEBUG_TYPE typename __pointer<_Tp, deleter_type>::type pointer;
14571466
1458 static_assert(!is_rvalue_reference<deleter_type>::value,1467 static_assert(!is_rvalue_reference<deleter_type>::value,
1459 "the specified deleter type cannot be an rvalue reference");1468 "the specified deleter type cannot be an rvalue reference");
...@@ -1661,7 +1670,7 @@ class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr<_Tp[], _Dp>...@@ -1661,7 +1670,7 @@ class _LIBCPP_UNIQUE_PTR_TRIVIAL_ABI _LIBCPP_TEMPLATE_VIS unique_ptr<_Tp[], _Dp>
1661public:1670public:
1662 typedef _Tp element_type;1671 typedef _Tp element_type;
1663 typedef _Dp deleter_type;1672 typedef _Dp deleter_type;
1664 typedef typename __pointer_type<_Tp, deleter_type>::type pointer;1673 typedef typename __pointer<_Tp, deleter_type>::type pointer;
16651674
1666private:1675private:
1667 __compressed_pair<pointer, deleter_type> __ptr_;1676 __compressed_pair<pointer, deleter_type> __ptr_;
...@@ -2574,43 +2583,81 @@ template <class _Tp, class _Alloc>...@@ -2574,43 +2583,81 @@ template <class _Tp, class _Alloc>
2574struct __shared_ptr_emplace2583struct __shared_ptr_emplace
2575 : __shared_weak_count2584 : __shared_weak_count
2576{2585{
2577 _LIBCPP_HIDE_FROM_ABI2586 template<class ..._Args>
2578 explicit __shared_ptr_emplace(_Alloc __a)
2579 : __data_(_VSTD::move(__a), __value_init_tag())
2580 { }
2581
2582 template <class ..._Args>
2583 _LIBCPP_HIDE_FROM_ABI2587 _LIBCPP_HIDE_FROM_ABI
2584 explicit __shared_ptr_emplace(_Alloc __a, _Args&& ...__args)2588 explicit __shared_ptr_emplace(_Alloc __a, _Args&& ...__args)
2585#ifndef _LIBCPP_CXX03_LANG2589 : __storage_(_VSTD::move(__a))
2586 : __data_(piecewise_construct, _VSTD::forward_as_tuple(__a),2590 {
2587 _VSTD::forward_as_tuple(_VSTD::forward<_Args>(__args)...))2591#if _LIBCPP_STD_VER > 17
2592 using _TpAlloc = typename __allocator_traits_rebind<_Alloc, _Tp>::type;
2593 _TpAlloc __tmp(*__get_alloc());
2594 allocator_traits<_TpAlloc>::construct(__tmp, __get_elem(), _VSTD::forward<_Args>(__args)...);
2588#else2595#else
2589 : __data_(__a, _Tp(_VSTD::forward<_Args>(__args)...))2596 ::new ((void*)__get_elem()) _Tp(_VSTD::forward<_Args>(__args)...);
2590#endif2597#endif
2591 { }2598 }
25922599
2593 _LIBCPP_HIDE_FROM_ABI2600 _LIBCPP_HIDE_FROM_ABI
2594 _Tp* __get_elem() _NOEXCEPT { return _VSTD::addressof(__data_.second()); }2601 _Alloc* __get_alloc() _NOEXCEPT { return __storage_.__get_alloc(); }
25952602
2596 _LIBCPP_HIDE_FROM_ABI2603 _LIBCPP_HIDE_FROM_ABI
2597 _Alloc* __get_alloc() _NOEXCEPT { return _VSTD::addressof(__data_.first()); }2604 _Tp* __get_elem() _NOEXCEPT { return __storage_.__get_elem(); }
25982605
2599private:2606private:
2600 virtual void __on_zero_shared() _NOEXCEPT {2607 virtual void __on_zero_shared() _NOEXCEPT {
2608#if _LIBCPP_STD_VER > 17
2609 using _TpAlloc = typename __allocator_traits_rebind<_Alloc, _Tp>::type;
2610 _TpAlloc __tmp(*__get_alloc());
2611 allocator_traits<_TpAlloc>::destroy(__tmp, __get_elem());
2612#else
2601 __get_elem()->~_Tp();2613 __get_elem()->~_Tp();
2614#endif
2602 }2615 }
26032616
2604 virtual void __on_zero_shared_weak() _NOEXCEPT {2617 virtual void __on_zero_shared_weak() _NOEXCEPT {
2605 using _ControlBlockAlloc = typename __allocator_traits_rebind<_Alloc, __shared_ptr_emplace>::type;2618 using _ControlBlockAlloc = typename __allocator_traits_rebind<_Alloc, __shared_ptr_emplace>::type;
2606 using _ControlBlockPointer = typename allocator_traits<_ControlBlockAlloc>::pointer;2619 using _ControlBlockPointer = typename allocator_traits<_ControlBlockAlloc>::pointer;
2607 _ControlBlockAlloc __tmp(*__get_alloc());2620 _ControlBlockAlloc __tmp(*__get_alloc());
2608 __get_alloc()->~_Alloc();2621 __storage_.~_Storage();
2609 allocator_traits<_ControlBlockAlloc>::deallocate(__tmp,2622 allocator_traits<_ControlBlockAlloc>::deallocate(__tmp,
2610 pointer_traits<_ControlBlockPointer>::pointer_to(*this), 1);2623 pointer_traits<_ControlBlockPointer>::pointer_to(*this), 1);
2611 }2624 }
26122625
2613 __compressed_pair<_Alloc, _Tp> __data_;2626 // This class implements the control block for non-array shared pointers created
2627 // through `std::allocate_shared` and `std::make_shared`.
2628 //
2629 // In previous versions of the library, we used a compressed pair to store
2630 // both the _Alloc and the _Tp. This implies using EBO, which is incompatible
2631 // with Allocator construction for _Tp. To allow implementing P0674 in C++20,
2632 // we now use a properly aligned char buffer while making sure that we maintain
2633 // the same layout that we had when we used a compressed pair.
2634 using _CompressedPair = __compressed_pair<_Alloc, _Tp>;
2635 struct _ALIGNAS_TYPE(_CompressedPair) _Storage {
2636 char __blob_[sizeof(_CompressedPair)];
2637
2638 _LIBCPP_HIDE_FROM_ABI explicit _Storage(_Alloc&& __a) {
2639 ::new ((void*)__get_alloc()) _Alloc(_VSTD::move(__a));
2640 }
2641 _LIBCPP_HIDE_FROM_ABI ~_Storage() {
2642 __get_alloc()->~_Alloc();
2643 }
2644 _Alloc* __get_alloc() _NOEXCEPT {
2645 _CompressedPair *__as_pair = reinterpret_cast<_CompressedPair*>(__blob_);
2646 typename _CompressedPair::_Base1* __first = _CompressedPair::__get_first_base(__as_pair);
2647 _Alloc *__alloc = reinterpret_cast<_Alloc*>(__first);
2648 return __alloc;
2649 }
2650 _LIBCPP_NO_CFI _Tp* __get_elem() _NOEXCEPT {
2651 _CompressedPair *__as_pair = reinterpret_cast<_CompressedPair*>(__blob_);
2652 typename _CompressedPair::_Base2* __second = _CompressedPair::__get_second_base(__as_pair);
2653 _Tp *__elem = reinterpret_cast<_Tp*>(__second);
2654 return __elem;
2655 }
2656 };
2657
2658 static_assert(_LIBCPP_ALIGNOF(_Storage) == _LIBCPP_ALIGNOF(_CompressedPair), "");
2659 static_assert(sizeof(_Storage) == sizeof(_CompressedPair), "");
2660 _Storage __storage_;
2614};2661};
26152662
2616struct __shared_ptr_dummy_rebind_allocator_type;2663struct __shared_ptr_dummy_rebind_allocator_type;
lib/libcxx/include/module.modulemap+1
...@@ -522,6 +522,7 @@ module std [system] {...@@ -522,6 +522,7 @@ module std [system] {
522 }522 }
523523
524 // FIXME: These should be private.524 // FIXME: These should be private.
525 module __bits { header "__bits" export * }
525 module __bit_reference { header "__bit_reference" export * }526 module __bit_reference { header "__bit_reference" export * }
526 module __debug { header "__debug" export * }527 module __debug { header "__debug" export * }
527 module __errc { header "__errc" export * }528 module __errc { header "__errc" export * }
lib/libcxx/include/mutex+1-1
...@@ -626,7 +626,7 @@ private:...@@ -626,7 +626,7 @@ private:
626 _LIBCPP_INLINE_VISIBILITY626 _LIBCPP_INLINE_VISIBILITY
627 void __execute(__tuple_indices<_Indices...>)627 void __execute(__tuple_indices<_Indices...>)
628 {628 {
629 __invoke(_VSTD::get<0>(_VSTD::move(__f_)), _VSTD::get<_Indices>(_VSTD::move(__f_))...);629 _VSTD::__invoke(_VSTD::get<0>(_VSTD::move(__f_)), _VSTD::get<_Indices>(_VSTD::move(__f_))...);
630 }630 }
631};631};
632632
lib/libcxx/include/new+10-10
...@@ -49,11 +49,11 @@ new_handler get_new_handler() noexcept;...@@ -49,11 +49,11 @@ new_handler get_new_handler() noexcept;
49template <class T> constexpr T* launder(T* p) noexcept; // C++1749template <class T> constexpr T* launder(T* p) noexcept; // C++17
50} // std50} // std
5151
52void* operator new(std::size_t size); // replaceable, nodiscard in C++2a52void* operator new(std::size_t size); // replaceable, nodiscard in C++20
53void* operator new(std::size_t size, std::align_val_t alignment); // replaceable, C++17, nodiscard in C++2a53void* operator new(std::size_t size, std::align_val_t alignment); // replaceable, C++17, nodiscard in C++20
54void* operator new(std::size_t size, const std::nothrow_t&) noexcept; // replaceable, nodiscard in C++2a54void* operator new(std::size_t size, const std::nothrow_t&) noexcept; // replaceable, nodiscard in C++20
55void* operator new(std::size_t size, std::align_val_t alignment,55void* operator new(std::size_t size, std::align_val_t alignment,
56 const std::nothrow_t&) noexcept; // replaceable, C++17, nodiscard in C++2a56 const std::nothrow_t&) noexcept; // replaceable, C++17, nodiscard in C++20
57void operator delete(void* ptr) noexcept; // replaceable57void operator delete(void* ptr) noexcept; // replaceable
58void operator delete(void* ptr, std::size_t size) noexcept; // replaceable, C++1458void operator delete(void* ptr, std::size_t size) noexcept; // replaceable, C++14
59void operator delete(void* ptr, std::align_val_t alignment) noexcept; // replaceable, C++1759void operator delete(void* ptr, std::align_val_t alignment) noexcept; // replaceable, C++17
...@@ -63,12 +63,12 @@ void operator delete(void* ptr, const std::nothrow_t&) noexcept; // repla...@@ -63,12 +63,12 @@ void operator delete(void* ptr, const std::nothrow_t&) noexcept; // repla
63void operator delete(void* ptr, std:align_val_t alignment,63void operator delete(void* ptr, std:align_val_t alignment,
64 const std::nothrow_t&) noexcept; // replaceable, C++1764 const std::nothrow_t&) noexcept; // replaceable, C++17
6565
66void* operator new[](std::size_t size); // replaceable, nodiscard in C++2a66void* operator new[](std::size_t size); // replaceable, nodiscard in C++20
67void* operator new[](std::size_t size,67void* operator new[](std::size_t size,
68 std::align_val_t alignment) noexcept; // replaceable, C++17, nodiscard in C++2a68 std::align_val_t alignment) noexcept; // replaceable, C++17, nodiscard in C++20
69void* operator new[](std::size_t size, const std::nothrow_t&) noexcept; // replaceable, nodiscard in C++2a69void* operator new[](std::size_t size, const std::nothrow_t&) noexcept; // replaceable, nodiscard in C++20
70void* operator new[](std::size_t size, std::align_val_t alignment,70void* operator new[](std::size_t size, std::align_val_t alignment,
71 const std::nothrow_t&) noexcept; // replaceable, C++17, nodiscard in C++2a71 const std::nothrow_t&) noexcept; // replaceable, C++17, nodiscard in C++20
72void operator delete[](void* ptr) noexcept; // replaceable72void operator delete[](void* ptr) noexcept; // replaceable
73void operator delete[](void* ptr, std::size_t size) noexcept; // replaceable, C++1473void operator delete[](void* ptr, std::size_t size) noexcept; // replaceable, C++14
74void operator delete[](void* ptr,74void operator delete[](void* ptr,
...@@ -79,8 +79,8 @@ void operator delete[](void* ptr, const std::nothrow_t&) noexcept; // repla...@@ -79,8 +79,8 @@ void operator delete[](void* ptr, const std::nothrow_t&) noexcept; // repla
79void operator delete[](void* ptr, std::align_val_t alignment,79void operator delete[](void* ptr, std::align_val_t alignment,
80 const std::nothrow_t&) noexcept; // replaceable, C++1780 const std::nothrow_t&) noexcept; // replaceable, C++17
8181
82void* operator new (std::size_t size, void* ptr) noexcept; // nodiscard in C++2a82void* operator new (std::size_t size, void* ptr) noexcept; // nodiscard in C++20
83void* operator new[](std::size_t size, void* ptr) noexcept; // nodiscard in C++2a83void* operator new[](std::size_t size, void* ptr) noexcept; // nodiscard in C++20
84void operator delete (void* ptr, void*) noexcept;84void operator delete (void* ptr, void*) noexcept;
85void operator delete[](void* ptr, void*) noexcept;85void operator delete[](void* ptr, void*) noexcept;
8686
lib/libcxx/include/queue+6-13
...@@ -112,18 +112,11 @@ protected:...@@ -112,18 +112,11 @@ protected:
112 Compare comp;112 Compare comp;
113113
114public:114public:
115 priority_queue() = default;115 priority_queue() : priority_queue(Compare()) {} // C++20
116 ~priority_queue() = default;116 explicit priority_queue(const Compare& x) : priority_queue(x, Container()) {}
117117 priority_queue(const Compare& x, const Container&);
118 priority_queue(const priority_queue& q) = default;118 explicit priority_queue(const Compare& x = Compare(), Container&&= Container()); // before C++20
119 priority_queue(priority_queue&& q) = default;119 priority_queue(const Compare& x, Container&&); // C++20
120
121 priority_queue& operator=(const priority_queue& q) = default;
122 priority_queue& operator=(priority_queue&& q) = default;
123
124 explicit priority_queue(const Compare& comp);
125 priority_queue(const Compare& comp, const container_type& c);
126 explicit priority_queue(const Compare& comp, container_type&& c);
127 template <class InputIterator>120 template <class InputIterator>
128 priority_queue(InputIterator first, InputIterator last,121 priority_queue(InputIterator first, InputIterator last,
129 const Compare& comp = Compare());122 const Compare& comp = Compare());
...@@ -474,7 +467,7 @@ public:...@@ -474,7 +467,7 @@ public:
474 priority_queue(const value_compare& __comp, const container_type& __c);467 priority_queue(const value_compare& __comp, const container_type& __c);
475#ifndef _LIBCPP_CXX03_LANG468#ifndef _LIBCPP_CXX03_LANG
476 _LIBCPP_INLINE_VISIBILITY469 _LIBCPP_INLINE_VISIBILITY
477 explicit priority_queue(const value_compare& __comp, container_type&& __c);470 priority_queue(const value_compare& __comp, container_type&& __c);
478#endif471#endif
479 template <class _InputIter>472 template <class _InputIter>
480 _LIBCPP_INLINE_VISIBILITY473 _LIBCPP_INLINE_VISIBILITY
lib/libcxx/include/random+240-36
...@@ -36,7 +36,9 @@ public:...@@ -36,7 +36,9 @@ public:
36 static constexpr result_type default_seed = 1u;36 static constexpr result_type default_seed = 1u;
3737
38 // constructors and seeding functions38 // constructors and seeding functions
39 explicit linear_congruential_engine(result_type s = default_seed);39 explicit linear_congruential_engine(result_type s = default_seed); // before C++20
40 linear_congruential_engine() : linear_congruential_engine(default_seed) {} // C++20
41 explicit linear_congruential_engine(result_type s); // C++20
40 template<class Sseq> explicit linear_congruential_engine(Sseq& q);42 template<class Sseq> explicit linear_congruential_engine(Sseq& q);
41 void seed(result_type s = default_seed);43 void seed(result_type s = default_seed);
42 template<class Sseq> void seed(Sseq& q);44 template<class Sseq> void seed(Sseq& q);
...@@ -96,7 +98,9 @@ public:...@@ -96,7 +98,9 @@ public:
96 static constexpr result_type default_seed = 5489u;98 static constexpr result_type default_seed = 5489u;
9799
98 // constructors and seeding functions100 // constructors and seeding functions
99 explicit mersenne_twister_engine(result_type value = default_seed);101 explicit mersenne_twister_engine(result_type s = default_seed); // before C++20
102 mersenne_twister_engine() : mersenne_twister_engine(default_seed) {} // C++20
103 explicit mersenne_twister_engine(result_type s); // C++20
100 template<class Sseq> explicit mersenne_twister_engine(Sseq& q);104 template<class Sseq> explicit mersenne_twister_engine(Sseq& q);
101 void seed(result_type value = default_seed);105 void seed(result_type value = default_seed);
102 template<class Sseq> void seed(Sseq& q);106 template<class Sseq> void seed(Sseq& q);
...@@ -154,7 +158,9 @@ public:...@@ -154,7 +158,9 @@ public:
154 static constexpr result_type default_seed = 19780503u;158 static constexpr result_type default_seed = 19780503u;
155159
156 // constructors and seeding functions160 // constructors and seeding functions
157 explicit subtract_with_carry_engine(result_type value = default_seed);161 explicit subtract_with_carry_engine(result_type value = default_seed); // before C++20
162 subtract_with_carry_engine() : subtract_with_carry_engine(default_seed) {} // C++20
163 explicit subtract_with_carry_engine(result_type value); // C++20
158 template<class Sseq> explicit subtract_with_carry_engine(Sseq& q);164 template<class Sseq> explicit subtract_with_carry_engine(Sseq& q);
159 void seed(result_type value = default_seed);165 void seed(result_type value = default_seed);
160 template<class Sseq> void seed(Sseq& q);166 template<class Sseq> void seed(Sseq& q);
...@@ -385,7 +391,9 @@ public:...@@ -385,7 +391,9 @@ public:
385 static constexpr result_type max() { return numeric_limits<result_type>::max(); }391 static constexpr result_type max() { return numeric_limits<result_type>::max(); }
386392
387 // constructors393 // constructors
388 explicit random_device(const string& token = "/dev/urandom");394 explicit random_device(const string& token = implementation-defined); // before C++20
395 random_device() : random_device(implementation-defined) {} // C++20
396 explicit random_device(const string& token); // C++20
389397
390 // generating functions398 // generating functions
391 result_type operator()();399 result_type operator()();
...@@ -456,7 +464,10 @@ public:...@@ -456,7 +464,10 @@ public:
456464
457 // constructors and reset functions465 // constructors and reset functions
458 explicit uniform_int_distribution(IntType a = 0,466 explicit uniform_int_distribution(IntType a = 0,
459 IntType b = numeric_limits<IntType>::max());467 IntType b = numeric_limits<IntType>::max()); // before C++20
468 uniform_int_distribution() : uniform_int_distribution(0) {} // C++20
469 explicit uniform_int_distribution(IntType a,
470 IntType b = numeric_limits<IntType>::max()); // C++20
460 explicit uniform_int_distribution(const param_type& parm);471 explicit uniform_int_distribution(const param_type& parm);
461 void reset();472 void reset();
462473
...@@ -515,7 +526,9 @@ public:...@@ -515,7 +526,9 @@ public:
515 };526 };
516527
517 // constructors and reset functions528 // constructors and reset functions
518 explicit uniform_real_distribution(RealType a = 0.0, RealType b = 1.0);529 explicit uniform_real_distribution(RealType a = 0.0, RealType b = 1.0); // before C++20
530 uniform_real_distribution() : uniform_real_distribution(0.0) {} // C++20
531 explicit uniform_real_distribution(RealType a, RealType b = 1.0); // C++20
519 explicit uniform_real_distribution(const param_type& parm);532 explicit uniform_real_distribution(const param_type& parm);
520 void reset();533 void reset();
521534
...@@ -571,7 +584,9 @@ public:...@@ -571,7 +584,9 @@ public:
571 };584 };
572585
573 // constructors and reset functions586 // constructors and reset functions
574 explicit bernoulli_distribution(double p = 0.5);587 explicit bernoulli_distribution(double p = 0.5); // before C++20
588 bernoulli_distribution() : bernoulli_distribution(0.5) {} // C++20
589 explicit bernoulli_distribution(double p); // C++20
575 explicit bernoulli_distribution(const param_type& parm);590 explicit bernoulli_distribution(const param_type& parm);
576 void reset();591 void reset();
577592
...@@ -628,7 +643,9 @@ public:...@@ -628,7 +643,9 @@ public:
628 };643 };
629644
630 // constructors and reset functions645 // constructors and reset functions
631 explicit binomial_distribution(IntType t = 1, double p = 0.5);646 explicit binomial_distribution(IntType t = 1, double p = 0.5); // before C++20
647 binomial_distribution() : binomial_distribution(1) {} // C++20
648 explicit binomial_distribution(IntType t, double p = 0.5); // C++20
632 explicit binomial_distribution(const param_type& parm);649 explicit binomial_distribution(const param_type& parm);
633 void reset();650 void reset();
634651
...@@ -685,7 +702,9 @@ public:...@@ -685,7 +702,9 @@ public:
685 };702 };
686703
687 // constructors and reset functions704 // constructors and reset functions
688 explicit geometric_distribution(double p = 0.5);705 explicit geometric_distribution(double p = 0.5); // before C++20
706 geometric_distribution() : geometric_distribution(0.5) {} // C++20
707 explicit geometric_distribution(double p); // C++20
689 explicit geometric_distribution(const param_type& parm);708 explicit geometric_distribution(const param_type& parm);
690 void reset();709 void reset();
691710
...@@ -742,7 +761,9 @@ public:...@@ -742,7 +761,9 @@ public:
742 };761 };
743762
744 // constructor and reset functions763 // constructor and reset functions
745 explicit negative_binomial_distribution(result_type k = 1, double p = 0.5);764 explicit negative_binomial_distribution(IntType k = 1, double p = 0.5); // before C++20
765 negative_binomial_distribution() : negative_binomial_distribution(1) {} // C++20
766 explicit negative_binomial_distribution(IntType k, double p = 0.5); // C++20
746 explicit negative_binomial_distribution(const param_type& parm);767 explicit negative_binomial_distribution(const param_type& parm);
747 void reset();768 void reset();
748769
...@@ -799,7 +820,9 @@ public:...@@ -799,7 +820,9 @@ public:
799 };820 };
800821
801 // constructors and reset functions822 // constructors and reset functions
802 explicit poisson_distribution(double mean = 1.0);823 explicit poisson_distribution(double mean = 1.0); // before C++20
824 poisson_distribution() : poisson_distribution(1.0) {} // C++20
825 explicit poisson_distribution(double mean); // C++20
803 explicit poisson_distribution(const param_type& parm);826 explicit poisson_distribution(const param_type& parm);
804 void reset();827 void reset();
805828
...@@ -855,7 +878,9 @@ public:...@@ -855,7 +878,9 @@ public:
855 };878 };
856879
857 // constructors and reset functions880 // constructors and reset functions
858 explicit exponential_distribution(result_type lambda = 1.0);881 explicit exponential_distribution(RealType lambda = 1.0); // before C++20
882 exponential_distribution() : exponential_distribution(1.0) {} // C++20
883 explicit exponential_distribution(RealType lambda); // C++20
859 explicit exponential_distribution(const param_type& parm);884 explicit exponential_distribution(const param_type& parm);
860 void reset();885 void reset();
861886
...@@ -912,7 +937,9 @@ public:...@@ -912,7 +937,9 @@ public:
912 };937 };
913938
914 // constructors and reset functions939 // constructors and reset functions
915 explicit gamma_distribution(result_type alpha = 1, result_type beta = 1);940 explicit gamma_distribution(RealType alpha = 0.0, RealType beta = 1.0); // before C++20
941 gamma_distribution() : gamma_distribution(0.0) {} // C++20
942 explicit gamma_distribution(RealType alpha, RealType beta = 1.0); // C++20
916 explicit gamma_distribution(const param_type& parm);943 explicit gamma_distribution(const param_type& parm);
917 void reset();944 void reset();
918945
...@@ -970,7 +997,9 @@ public:...@@ -970,7 +997,9 @@ public:
970 };997 };
971998
972 // constructor and reset functions999 // constructor and reset functions
973 explicit weibull_distribution(result_type a = 1, result_type b = 1);1000 explicit weibull_distribution(RealType a = 1.0, RealType b = 1.0); // before C++20
1001 weibull_distribution() : weibull_distribution(1.0) {} // C++20
1002 explicit weibull_distribution(RealType a, RealType b = 1.0); // C++20
974 explicit weibull_distribution(const param_type& parm);1003 explicit weibull_distribution(const param_type& parm);
975 void reset();1004 void reset();
9761005
...@@ -1028,7 +1057,9 @@ public:...@@ -1028,7 +1057,9 @@ public:
1028 };1057 };
10291058
1030 // constructor and reset functions1059 // constructor and reset functions
1031 explicit extreme_value_distribution(result_type a = 0, result_type b = 1);1060 explicit extreme_value_distribution(RealType a = 0.0, RealType b = 1.0); // before C++20
1061 extreme_value_distribution() : extreme_value_distribution(0.0) {} // C++20
1062 explicit extreme_value_distribution(RealType a, RealType b = 1.0); // C++20
1032 explicit extreme_value_distribution(const param_type& parm);1063 explicit extreme_value_distribution(const param_type& parm);
1033 void reset();1064 void reset();
10341065
...@@ -1086,7 +1117,9 @@ public:...@@ -1086,7 +1117,9 @@ public:
1086 };1117 };
10871118
1088 // constructors and reset functions1119 // constructors and reset functions
1089 explicit normal_distribution(result_type mean = 0, result_type stddev = 1);1120 explicit normal_distribution(RealType mean = 0.0, RealType stddev = 1.0); // before C++20
1121 normal_distribution() : normal_distribution(0.0) {} // C++20
1122 explicit normal_distribution(RealType mean, RealType stddev = 1.0); // C++20
1090 explicit normal_distribution(const param_type& parm);1123 explicit normal_distribution(const param_type& parm);
1091 void reset();1124 void reset();
10921125
...@@ -1144,7 +1177,9 @@ public:...@@ -1144,7 +1177,9 @@ public:
1144 };1177 };
11451178
1146 // constructor and reset functions1179 // constructor and reset functions
1147 explicit lognormal_distribution(result_type m = 0, result_type s = 1);1180 explicit lognormal_distribution(RealType mean = 0.0, RealType stddev = 1.0); // before C++20
1181 lognormal_distribution() : lognormal_distribution(0.0) {} // C++20
1182 explicit lognormal_distribution(RealType mean, RealType stddev = 1.0); // C++20
1148 explicit lognormal_distribution(const param_type& parm);1183 explicit lognormal_distribution(const param_type& parm);
1149 void reset();1184 void reset();
11501185
...@@ -1201,7 +1236,9 @@ public:...@@ -1201,7 +1236,9 @@ public:
1201 };1236 };
12021237
1203 // constructor and reset functions1238 // constructor and reset functions
1204 explicit chi_squared_distribution(result_type n = 1);1239 explicit chi_squared_distribution(RealType n = 1.0); // before C++20
1240 chi_squared_distribution() : chi_squared_distribution(1.0) {} // C++20
1241 explicit chi_squared_distribution(RealType n); // C++20
1205 explicit chi_squared_distribution(const param_type& parm);1242 explicit chi_squared_distribution(const param_type& parm);
1206 void reset();1243 void reset();
12071244
...@@ -1258,7 +1295,9 @@ public:...@@ -1258,7 +1295,9 @@ public:
1258 };1295 };
12591296
1260 // constructor and reset functions1297 // constructor and reset functions
1261 explicit cauchy_distribution(result_type a = 0, result_type b = 1);1298 explicit cauchy_distribution(RealType a = 0.0, RealType b = 1.0); // before C++20
1299 cauchy_distribution() : cauchy_distribution(0.0) {} // C++20
1300 explicit cauchy_distribution(RealType a, RealType b = 1.0); // C++20
1262 explicit cauchy_distribution(const param_type& parm);1301 explicit cauchy_distribution(const param_type& parm);
1263 void reset();1302 void reset();
12641303
...@@ -1316,7 +1355,9 @@ public:...@@ -1316,7 +1355,9 @@ public:
1316 };1355 };
13171356
1318 // constructor and reset functions1357 // constructor and reset functions
1319 explicit fisher_f_distribution(result_type m = 1, result_type n = 1);1358 explicit fisher_f_distribution(RealType m = 1.0, RealType n = 1.0); // before C++20
1359 fisher_f_distribution() : fisher_f_distribution(1.0) {} // C++20
1360 explicit fisher_f_distribution(RealType m, RealType n = 1.0); // C++20
1320 explicit fisher_f_distribution(const param_type& parm);1361 explicit fisher_f_distribution(const param_type& parm);
1321 void reset();1362 void reset();
13221363
...@@ -1373,7 +1414,9 @@ public:...@@ -1373,7 +1414,9 @@ public:
1373 };1414 };
13741415
1375 // constructor and reset functions1416 // constructor and reset functions
1376 explicit student_t_distribution(result_type n = 1);1417 explicit student_t_distribution(RealType n = 1.0); // before C++20
1418 student_t_distribution() : student_t_distribution(1.0) {} // C++20
1419 explicit student_t_distribution(RealType n); // C++20
1377 explicit student_t_distribution(const param_type& parm);1420 explicit student_t_distribution(const param_type& parm);
1378 void reset();1421 void reset();
13791422
...@@ -1875,9 +1918,17 @@ public:...@@ -1875,9 +1918,17 @@ public:
1875 static _LIBCPP_CONSTEXPR const result_type default_seed = 1u;1918 static _LIBCPP_CONSTEXPR const result_type default_seed = 1u;
18761919
1877 // constructors and seeding functions1920 // constructors and seeding functions
1921#ifndef _LIBCPP_CXX03_LANG
1922 _LIBCPP_INLINE_VISIBILITY
1923 linear_congruential_engine() : linear_congruential_engine(default_seed) {}
1924 _LIBCPP_INLINE_VISIBILITY
1925 explicit linear_congruential_engine(result_type __s) { seed(__s); }
1926#else
1878 _LIBCPP_INLINE_VISIBILITY1927 _LIBCPP_INLINE_VISIBILITY
1879 explicit linear_congruential_engine(result_type __s = default_seed)1928 explicit linear_congruential_engine(result_type __s = default_seed) {
1880 {seed(__s);}1929 seed(__s);
1930 }
1931#endif
1881 template<class _Sseq>1932 template<class _Sseq>
1882 _LIBCPP_INLINE_VISIBILITY1933 _LIBCPP_INLINE_VISIBILITY
1883 explicit linear_congruential_engine(_Sseq& __q,1934 explicit linear_congruential_engine(_Sseq& __q,
...@@ -2124,9 +2175,17 @@ public:...@@ -2124,9 +2175,17 @@ public:
2124 static _LIBCPP_CONSTEXPR const result_type default_seed = 5489u;2175 static _LIBCPP_CONSTEXPR const result_type default_seed = 5489u;
21252176
2126 // constructors and seeding functions2177 // constructors and seeding functions
2178#ifndef _LIBCPP_CXX03_LANG
2127 _LIBCPP_INLINE_VISIBILITY2179 _LIBCPP_INLINE_VISIBILITY
2128 explicit mersenne_twister_engine(result_type __sd = default_seed)2180 mersenne_twister_engine() : mersenne_twister_engine(default_seed) {}
2129 {seed(__sd);}2181 _LIBCPP_INLINE_VISIBILITY
2182 explicit mersenne_twister_engine(result_type __sd) { seed(__sd); }
2183#else
2184 _LIBCPP_INLINE_VISIBILITY
2185 explicit mersenne_twister_engine(result_type __sd = default_seed) {
2186 seed(__sd);
2187 }
2188#endif
2130 template<class _Sseq>2189 template<class _Sseq>
2131 _LIBCPP_INLINE_VISIBILITY2190 _LIBCPP_INLINE_VISIBILITY
2132 explicit mersenne_twister_engine(_Sseq& __q,2191 explicit mersenne_twister_engine(_Sseq& __q,
...@@ -2582,9 +2641,17 @@ public:...@@ -2582,9 +2641,17 @@ public:
2582 static _LIBCPP_CONSTEXPR const result_type default_seed = 19780503u;2641 static _LIBCPP_CONSTEXPR const result_type default_seed = 19780503u;
25832642
2584 // constructors and seeding functions2643 // constructors and seeding functions
2644#ifndef _LIBCPP_CXX03_LANG
2645 _LIBCPP_INLINE_VISIBILITY
2646 subtract_with_carry_engine() : subtract_with_carry_engine(default_seed) {}
2585 _LIBCPP_INLINE_VISIBILITY2647 _LIBCPP_INLINE_VISIBILITY
2586 explicit subtract_with_carry_engine(result_type __sd = default_seed)2648 explicit subtract_with_carry_engine(result_type __sd) { seed(__sd); }
2587 {seed(__sd);}2649#else
2650 _LIBCPP_INLINE_VISIBILITY
2651 explicit subtract_with_carry_engine(result_type __sd = default_seed) {
2652 seed(__sd);
2653 }
2654#endif
2588 template<class _Sseq>2655 template<class _Sseq>
2589 _LIBCPP_INLINE_VISIBILITY2656 _LIBCPP_INLINE_VISIBILITY
2590 explicit subtract_with_carry_engine(_Sseq& __q,2657 explicit subtract_with_carry_engine(_Sseq& __q,
...@@ -3524,7 +3591,12 @@ public:...@@ -3524,7 +3591,12 @@ public:
3524 static _LIBCPP_CONSTEXPR result_type max() { return _Max;}3591 static _LIBCPP_CONSTEXPR result_type max() { return _Max;}
35253592
3526 // constructors3593 // constructors
3594#ifndef _LIBCPP_CXX03_LANG
3595 random_device() : random_device("/dev/urandom") {}
3596 explicit random_device(const string& __token);
3597#else
3527 explicit random_device(const string& __token = "/dev/urandom");3598 explicit random_device(const string& __token = "/dev/urandom");
3599#endif
3528 ~random_device();3600 ~random_device();
35293601
3530 // generating functions3602 // generating functions
...@@ -3758,9 +3830,16 @@ private:...@@ -3758,9 +3830,16 @@ private:
37583830
3759public:3831public:
3760 // constructors and reset functions3832 // constructors and reset functions
3833#ifndef _LIBCPP_CXX03_LANG
3834 _LIBCPP_INLINE_VISIBILITY
3835 uniform_real_distribution() : uniform_real_distribution(0) {}
3836 explicit uniform_real_distribution(result_type __a, result_type __b = 1)
3837 : __p_(param_type(__a, __b)) {}
3838#else
3761 _LIBCPP_INLINE_VISIBILITY3839 _LIBCPP_INLINE_VISIBILITY
3762 explicit uniform_real_distribution(result_type __a = 0, result_type __b = 1)3840 explicit uniform_real_distribution(result_type __a = 0, result_type __b = 1)
3763 : __p_(param_type(__a, __b)) {}3841 : __p_(param_type(__a, __b)) {}
3842#endif
3764 _LIBCPP_INLINE_VISIBILITY3843 _LIBCPP_INLINE_VISIBILITY
3765 explicit uniform_real_distribution(const param_type& __p) : __p_(__p) {}3844 explicit uniform_real_distribution(const param_type& __p) : __p_(__p) {}
3766 _LIBCPP_INLINE_VISIBILITY3845 _LIBCPP_INLINE_VISIBILITY
...@@ -3876,9 +3955,15 @@ private:...@@ -3876,9 +3955,15 @@ private:
38763955
3877public:3956public:
3878 // constructors and reset functions3957 // constructors and reset functions
3958#ifndef _LIBCPP_CXX03_LANG
3959 _LIBCPP_INLINE_VISIBILITY
3960 bernoulli_distribution() : bernoulli_distribution(0.5) {}
3879 _LIBCPP_INLINE_VISIBILITY3961 _LIBCPP_INLINE_VISIBILITY
3880 explicit bernoulli_distribution(double __p = 0.5)3962 explicit bernoulli_distribution(double __p) : __p_(param_type(__p)) {}
3881 : __p_(param_type(__p)) {}3963#else
3964 _LIBCPP_INLINE_VISIBILITY
3965 explicit bernoulli_distribution(double __p = 0.5) : __p_(param_type(__p)) {}
3966#endif
3882 _LIBCPP_INLINE_VISIBILITY3967 _LIBCPP_INLINE_VISIBILITY
3883 explicit bernoulli_distribution(const param_type& __p) : __p_(__p) {}3968 explicit bernoulli_distribution(const param_type& __p) : __p_(__p) {}
3884 _LIBCPP_INLINE_VISIBILITY3969 _LIBCPP_INLINE_VISIBILITY
...@@ -3994,9 +4079,17 @@ private:...@@ -3994,9 +4079,17 @@ private:
39944079
3995public:4080public:
3996 // constructors and reset functions4081 // constructors and reset functions
4082#ifndef _LIBCPP_CXX03_LANG
4083 _LIBCPP_INLINE_VISIBILITY
4084 binomial_distribution() : binomial_distribution(1) {}
4085 _LIBCPP_INLINE_VISIBILITY
4086 explicit binomial_distribution(result_type __t, double __p = 0.5)
4087 : __p_(param_type(__t, __p)) {}
4088#else
3997 _LIBCPP_INLINE_VISIBILITY4089 _LIBCPP_INLINE_VISIBILITY
3998 explicit binomial_distribution(result_type __t = 1, double __p = 0.5)4090 explicit binomial_distribution(result_type __t = 1, double __p = 0.5)
3999 : __p_(param_type(__t, __p)) {}4091 : __p_(param_type(__t, __p)) {}
4092#endif
4000 _LIBCPP_INLINE_VISIBILITY4093 _LIBCPP_INLINE_VISIBILITY
4001 explicit binomial_distribution(const param_type& __p) : __p_(__p) {}4094 explicit binomial_distribution(const param_type& __p) : __p_(__p) {}
4002 _LIBCPP_INLINE_VISIBILITY4095 _LIBCPP_INLINE_VISIBILITY
...@@ -4176,9 +4269,17 @@ private:...@@ -4176,9 +4269,17 @@ private:
41764269
4177public:4270public:
4178 // constructors and reset functions4271 // constructors and reset functions
4272#ifndef _LIBCPP_CXX03_LANG
4273 _LIBCPP_INLINE_VISIBILITY
4274 exponential_distribution() : exponential_distribution(1) {}
4275 _LIBCPP_INLINE_VISIBILITY
4276 explicit exponential_distribution(result_type __lambda)
4277 : __p_(param_type(__lambda)) {}
4278#else
4179 _LIBCPP_INLINE_VISIBILITY4279 _LIBCPP_INLINE_VISIBILITY
4180 explicit exponential_distribution(result_type __lambda = 1)4280 explicit exponential_distribution(result_type __lambda = 1)
4181 : __p_(param_type(__lambda)) {}4281 : __p_(param_type(__lambda)) {}
4282#endif
4182 _LIBCPP_INLINE_VISIBILITY4283 _LIBCPP_INLINE_VISIBILITY
4183 explicit exponential_distribution(const param_type& __p) : __p_(__p) {}4284 explicit exponential_distribution(const param_type& __p) : __p_(__p) {}
4184 _LIBCPP_INLINE_VISIBILITY4285 _LIBCPP_INLINE_VISIBILITY
...@@ -4299,9 +4400,18 @@ private:...@@ -4299,9 +4400,18 @@ private:
42994400
4300public:4401public:
4301 // constructors and reset functions4402 // constructors and reset functions
4403#ifndef _LIBCPP_CXX03_LANG
4404 _LIBCPP_INLINE_VISIBILITY
4405 normal_distribution() : normal_distribution(0) {}
4302 _LIBCPP_INLINE_VISIBILITY4406 _LIBCPP_INLINE_VISIBILITY
4303 explicit normal_distribution(result_type __mean = 0, result_type __stddev = 1)4407 explicit normal_distribution(result_type __mean, result_type __stddev = 1)
4304 : __p_(param_type(__mean, __stddev)), _V_hot_(false) {}4408 : __p_(param_type(__mean, __stddev)), _V_hot_(false) {}
4409#else
4410 _LIBCPP_INLINE_VISIBILITY
4411 explicit normal_distribution(result_type __mean = 0,
4412 result_type __stddev = 1)
4413 : __p_(param_type(__mean, __stddev)), _V_hot_(false) {}
4414#endif
4305 _LIBCPP_INLINE_VISIBILITY4415 _LIBCPP_INLINE_VISIBILITY
4306 explicit normal_distribution(const param_type& __p)4416 explicit normal_distribution(const param_type& __p)
4307 : __p_(__p), _V_hot_(false) {}4417 : __p_(__p), _V_hot_(false) {}
...@@ -4479,9 +4589,18 @@ private:...@@ -4479,9 +4589,18 @@ private:
44794589
4480public:4590public:
4481 // constructor and reset functions4591 // constructor and reset functions
4592#ifndef _LIBCPP_CXX03_LANG
4482 _LIBCPP_INLINE_VISIBILITY4593 _LIBCPP_INLINE_VISIBILITY
4483 explicit lognormal_distribution(result_type __m = 0, result_type __s = 1)4594 lognormal_distribution() : lognormal_distribution(0) {}
4595 _LIBCPP_INLINE_VISIBILITY
4596 explicit lognormal_distribution(result_type __m, result_type __s = 1)
4484 : __p_(param_type(__m, __s)) {}4597 : __p_(param_type(__m, __s)) {}
4598#else
4599 _LIBCPP_INLINE_VISIBILITY
4600 explicit lognormal_distribution(result_type __m = 0,
4601 result_type __s = 1)
4602 : __p_(param_type(__m, __s)) {}
4603#endif
4485 _LIBCPP_INLINE_VISIBILITY4604 _LIBCPP_INLINE_VISIBILITY
4486 explicit lognormal_distribution(const param_type& __p)4605 explicit lognormal_distribution(const param_type& __p)
4487 : __p_(__p) {}4606 : __p_(__p) {}
...@@ -4599,8 +4718,17 @@ private:...@@ -4599,8 +4718,17 @@ private:
45994718
4600public:4719public:
4601 // constructors and reset functions4720 // constructors and reset functions
4721#ifndef _LIBCPP_CXX03_LANG
4722 _LIBCPP_INLINE_VISIBILITY
4723 poisson_distribution() : poisson_distribution(1.0) {}
4602 _LIBCPP_INLINE_VISIBILITY4724 _LIBCPP_INLINE_VISIBILITY
4603 explicit poisson_distribution(double __mean = 1.0) : __p_(__mean) {}4725 explicit poisson_distribution(double __mean)
4726 : __p_(__mean) {}
4727#else
4728 _LIBCPP_INLINE_VISIBILITY
4729 explicit poisson_distribution(double __mean = 1.0)
4730 : __p_(__mean) {}
4731#endif
4604 _LIBCPP_INLINE_VISIBILITY4732 _LIBCPP_INLINE_VISIBILITY
4605 explicit poisson_distribution(const param_type& __p) : __p_(__p) {}4733 explicit poisson_distribution(const param_type& __p) : __p_(__p) {}
4606 _LIBCPP_INLINE_VISIBILITY4734 _LIBCPP_INLINE_VISIBILITY
...@@ -4828,9 +4956,17 @@ private:...@@ -4828,9 +4956,17 @@ private:
48284956
4829public:4957public:
4830 // constructor and reset functions4958 // constructor and reset functions
4959#ifndef _LIBCPP_CXX03_LANG
4960 _LIBCPP_INLINE_VISIBILITY
4961 weibull_distribution() : weibull_distribution(1) {}
4962 _LIBCPP_INLINE_VISIBILITY
4963 explicit weibull_distribution(result_type __a, result_type __b = 1)
4964 : __p_(param_type(__a, __b)) {}
4965#else
4831 _LIBCPP_INLINE_VISIBILITY4966 _LIBCPP_INLINE_VISIBILITY
4832 explicit weibull_distribution(result_type __a = 1, result_type __b = 1)4967 explicit weibull_distribution(result_type __a = 1, result_type __b = 1)
4833 : __p_(param_type(__a, __b)) {}4968 : __p_(param_type(__a, __b)) {}
4969#endif
4834 _LIBCPP_INLINE_VISIBILITY4970 _LIBCPP_INLINE_VISIBILITY
4835 explicit weibull_distribution(const param_type& __p)4971 explicit weibull_distribution(const param_type& __p)
4836 : __p_(__p) {}4972 : __p_(__p) {}
...@@ -4944,9 +5080,18 @@ private:...@@ -4944,9 +5080,18 @@ private:
49445080
4945public:5081public:
4946 // constructor and reset functions5082 // constructor and reset functions
5083#ifndef _LIBCPP_CXX03_LANG
4947 _LIBCPP_INLINE_VISIBILITY5084 _LIBCPP_INLINE_VISIBILITY
4948 explicit extreme_value_distribution(result_type __a = 0, result_type __b = 1)5085 extreme_value_distribution() : extreme_value_distribution(0) {}
5086 _LIBCPP_INLINE_VISIBILITY
5087 explicit extreme_value_distribution(result_type __a, result_type __b = 1)
4949 : __p_(param_type(__a, __b)) {}5088 : __p_(param_type(__a, __b)) {}
5089#else
5090 _LIBCPP_INLINE_VISIBILITY
5091 explicit extreme_value_distribution(result_type __a = 0,
5092 result_type __b = 1)
5093 : __p_(param_type(__a, __b)) {}
5094#endif
4950 _LIBCPP_INLINE_VISIBILITY5095 _LIBCPP_INLINE_VISIBILITY
4951 explicit extreme_value_distribution(const param_type& __p)5096 explicit extreme_value_distribution(const param_type& __p)
4952 : __p_(__p) {}5097 : __p_(__p) {}
...@@ -5067,9 +5212,18 @@ private:...@@ -5067,9 +5212,18 @@ private:
50675212
5068public:5213public:
5069 // constructors and reset functions5214 // constructors and reset functions
5215#ifndef _LIBCPP_CXX03_LANG
5216 _LIBCPP_INLINE_VISIBILITY
5217 gamma_distribution() : gamma_distribution(1) {}
5070 _LIBCPP_INLINE_VISIBILITY5218 _LIBCPP_INLINE_VISIBILITY
5071 explicit gamma_distribution(result_type __alpha = 1, result_type __beta = 1)5219 explicit gamma_distribution(result_type __alpha, result_type __beta = 1)
5072 : __p_(param_type(__alpha, __beta)) {}5220 : __p_(param_type(__alpha, __beta)) {}
5221#else
5222 _LIBCPP_INLINE_VISIBILITY
5223 explicit gamma_distribution(result_type __alpha = 1,
5224 result_type __beta = 1)
5225 : __p_(param_type(__alpha, __beta)) {}
5226#endif
5073 _LIBCPP_INLINE_VISIBILITY5227 _LIBCPP_INLINE_VISIBILITY
5074 explicit gamma_distribution(const param_type& __p)5228 explicit gamma_distribution(const param_type& __p)
5075 : __p_(__p) {}5229 : __p_(__p) {}
...@@ -5241,9 +5395,18 @@ private:...@@ -5241,9 +5395,18 @@ private:
52415395
5242public:5396public:
5243 // constructor and reset functions5397 // constructor and reset functions
5398#ifndef _LIBCPP_CXX03_LANG
5244 _LIBCPP_INLINE_VISIBILITY5399 _LIBCPP_INLINE_VISIBILITY
5245 explicit negative_binomial_distribution(result_type __k = 1, double __p = 0.5)5400 negative_binomial_distribution() : negative_binomial_distribution(1) {}
5401 _LIBCPP_INLINE_VISIBILITY
5402 explicit negative_binomial_distribution(result_type __k, double __p = 0.5)
5246 : __p_(__k, __p) {}5403 : __p_(__k, __p) {}
5404#else
5405 _LIBCPP_INLINE_VISIBILITY
5406 explicit negative_binomial_distribution(result_type __k = 1,
5407 double __p = 0.5)
5408 : __p_(__k, __p) {}
5409#endif
5247 _LIBCPP_INLINE_VISIBILITY5410 _LIBCPP_INLINE_VISIBILITY
5248 explicit negative_binomial_distribution(const param_type& __p) : __p_(__p) {}5411 explicit negative_binomial_distribution(const param_type& __p) : __p_(__p) {}
5249 _LIBCPP_INLINE_VISIBILITY5412 _LIBCPP_INLINE_VISIBILITY
...@@ -5374,8 +5537,17 @@ private:...@@ -5374,8 +5537,17 @@ private:
53745537
5375public:5538public:
5376 // constructors and reset functions5539 // constructors and reset functions
5540#ifndef _LIBCPP_CXX03_LANG
5541 _LIBCPP_INLINE_VISIBILITY
5542 geometric_distribution() : geometric_distribution(0.5) {}
5377 _LIBCPP_INLINE_VISIBILITY5543 _LIBCPP_INLINE_VISIBILITY
5378 explicit geometric_distribution(double __p = 0.5) : __p_(__p) {}5544 explicit geometric_distribution(double __p)
5545 : __p_(__p) {}
5546#else
5547 _LIBCPP_INLINE_VISIBILITY
5548 explicit geometric_distribution(double __p = 0.5)
5549 : __p_(__p) {}
5550#endif
5379 _LIBCPP_INLINE_VISIBILITY5551 _LIBCPP_INLINE_VISIBILITY
5380 explicit geometric_distribution(const param_type& __p) : __p_(__p) {}5552 explicit geometric_distribution(const param_type& __p) : __p_(__p) {}
5381 _LIBCPP_INLINE_VISIBILITY5553 _LIBCPP_INLINE_VISIBILITY
...@@ -5478,9 +5650,17 @@ private:...@@ -5478,9 +5650,17 @@ private:
54785650
5479public:5651public:
5480 // constructor and reset functions5652 // constructor and reset functions
5653#ifndef _LIBCPP_CXX03_LANG
5654 _LIBCPP_INLINE_VISIBILITY
5655 chi_squared_distribution() : chi_squared_distribution(1) {}
5656 _LIBCPP_INLINE_VISIBILITY
5657 explicit chi_squared_distribution(result_type __n)
5658 : __p_(param_type(__n)) {}
5659#else
5481 _LIBCPP_INLINE_VISIBILITY5660 _LIBCPP_INLINE_VISIBILITY
5482 explicit chi_squared_distribution(result_type __n = 1)5661 explicit chi_squared_distribution(result_type __n = 1)
5483 : __p_(param_type(__n)) {}5662 : __p_(param_type(__n)) {}
5663#endif
5484 _LIBCPP_INLINE_VISIBILITY5664 _LIBCPP_INLINE_VISIBILITY
5485 explicit chi_squared_distribution(const param_type& __p)5665 explicit chi_squared_distribution(const param_type& __p)
5486 : __p_(__p) {}5666 : __p_(__p) {}
...@@ -5590,9 +5770,17 @@ private:...@@ -5590,9 +5770,17 @@ private:
55905770
5591public:5771public:
5592 // constructor and reset functions5772 // constructor and reset functions
5773#ifndef _LIBCPP_CXX03_LANG
5774 _LIBCPP_INLINE_VISIBILITY
5775 cauchy_distribution() : cauchy_distribution(0) {}
5776 _LIBCPP_INLINE_VISIBILITY
5777 explicit cauchy_distribution(result_type __a, result_type __b = 1)
5778 : __p_(param_type(__a, __b)) {}
5779#else
5593 _LIBCPP_INLINE_VISIBILITY5780 _LIBCPP_INLINE_VISIBILITY
5594 explicit cauchy_distribution(result_type __a = 0, result_type __b = 1)5781 explicit cauchy_distribution(result_type __a = 0, result_type __b = 1)
5595 : __p_(param_type(__a, __b)) {}5782 : __p_(param_type(__a, __b)) {}
5783#endif
5596 _LIBCPP_INLINE_VISIBILITY5784 _LIBCPP_INLINE_VISIBILITY
5597 explicit cauchy_distribution(const param_type& __p)5785 explicit cauchy_distribution(const param_type& __p)
5598 : __p_(__p) {}5786 : __p_(__p) {}
...@@ -5715,9 +5903,17 @@ private:...@@ -5715,9 +5903,17 @@ private:
57155903
5716public:5904public:
5717 // constructor and reset functions5905 // constructor and reset functions
5906#ifndef _LIBCPP_CXX03_LANG
5907 _LIBCPP_INLINE_VISIBILITY
5908 fisher_f_distribution() : fisher_f_distribution(1) {}
5909 _LIBCPP_INLINE_VISIBILITY
5910 explicit fisher_f_distribution(result_type __m, result_type __n = 1)
5911 : __p_(param_type(__m, __n)) {}
5912#else
5718 _LIBCPP_INLINE_VISIBILITY5913 _LIBCPP_INLINE_VISIBILITY
5719 explicit fisher_f_distribution(result_type __m = 1, result_type __n = 1)5914 explicit fisher_f_distribution(result_type __m = 1, result_type __n = 1)
5720 : __p_(param_type(__m, __n)) {}5915 : __p_(param_type(__m, __n)) {}
5916#endif
5721 _LIBCPP_INLINE_VISIBILITY5917 _LIBCPP_INLINE_VISIBILITY
5722 explicit fisher_f_distribution(const param_type& __p)5918 explicit fisher_f_distribution(const param_type& __p)
5723 : __p_(__p) {}5919 : __p_(__p) {}
...@@ -5836,9 +6032,17 @@ private:...@@ -5836,9 +6032,17 @@ private:
58366032
5837public:6033public:
5838 // constructor and reset functions6034 // constructor and reset functions
6035#ifndef _LIBCPP_CXX03_LANG
6036 _LIBCPP_INLINE_VISIBILITY
6037 student_t_distribution() : student_t_distribution(1) {}
6038 _LIBCPP_INLINE_VISIBILITY
6039 explicit student_t_distribution(result_type __n)
6040 : __p_(param_type(__n)) {}
6041#else
5839 _LIBCPP_INLINE_VISIBILITY6042 _LIBCPP_INLINE_VISIBILITY
5840 explicit student_t_distribution(result_type __n = 1)6043 explicit student_t_distribution(result_type __n = 1)
5841 : __p_(param_type(__n)) {}6044 : __p_(param_type(__n)) {}
6045#endif
5842 _LIBCPP_INLINE_VISIBILITY6046 _LIBCPP_INLINE_VISIBILITY
5843 explicit student_t_distribution(const param_type& __p)6047 explicit student_t_distribution(const param_type& __p)
5844 : __p_(__p) {}6048 : __p_(__p) {}
lib/libcxx/include/regex+9-1
...@@ -455,7 +455,9 @@ public:...@@ -455,7 +455,9 @@ public:
455 typedef basic_string<char_type> string_type;455 typedef basic_string<char_type> string_type;
456456
457 // construct/copy/destroy:457 // construct/copy/destroy:
458 explicit match_results(const Allocator& a = Allocator());458 explicit match_results(const Allocator& a = Allocator()); // before C++20
459 match_results() : match_results(Allocator()) {} // C++20
460 explicit match_results(const Allocator& a); // C++20
459 match_results(const match_results& m);461 match_results(const match_results& m);
460 match_results(match_results&& m) noexcept;462 match_results(match_results&& m) noexcept;
461 match_results& operator=(const match_results& m);463 match_results& operator=(const match_results& m);
...@@ -5357,7 +5359,13 @@ public:...@@ -5357,7 +5359,13 @@ public:
5357 typedef basic_string<char_type> string_type;5359 typedef basic_string<char_type> string_type;
53585360
5359 // construct/copy/destroy:5361 // construct/copy/destroy:
5362#ifndef _LIBCPP_CXX03_LANG
5363 match_results() : match_results(allocator_type()) {}
5364 explicit match_results(const allocator_type& __a);
5365#else
5360 explicit match_results(const allocator_type& __a = allocator_type());5366 explicit match_results(const allocator_type& __a = allocator_type());
5367#endif
5368
5361// match_results(const match_results&) = default;5369// match_results(const match_results&) = default;
5362// match_results& operator=(const match_results&) = default;5370// match_results& operator=(const match_results&) = default;
5363// match_results(match_results&& __m) = default;5371// match_results(match_results&& __m) = default;
lib/libcxx/include/sstream+67-22
...@@ -25,8 +25,10 @@ public:...@@ -25,8 +25,10 @@ public:
25 typedef typename traits_type::off_type off_type;25 typedef typename traits_type::off_type off_type;
26 typedef Allocator allocator_type;26 typedef Allocator allocator_type;
2727
28 // 27.8.1.1 Constructors:28 // 27.8.1.1 [stringbuf.cons], constructors:
29 explicit basic_stringbuf(ios_base::openmode which = ios_base::in | ios_base::out);29 explicit basic_stringbuf(ios_base::openmode which = ios_base::in | ios_base::out); // before C++20
30 basic_stringbuf() : basic_stringbuf(ios_base::in | ios_base::out) {} // C++20
31 explicit basic_stringbuf(ios_base::openmode which); // C++20
30 explicit basic_stringbuf(const basic_string<char_type, traits_type, allocator_type>& str,32 explicit basic_stringbuf(const basic_string<char_type, traits_type, allocator_type>& str,
31 ios_base::openmode which = ios_base::in | ios_base::out);33 ios_base::openmode which = ios_base::in | ios_base::out);
32 basic_stringbuf(basic_stringbuf&& rhs);34 basic_stringbuf(basic_stringbuf&& rhs);
...@@ -71,7 +73,10 @@ public:...@@ -71,7 +73,10 @@ public:
71 typedef Allocator allocator_type;73 typedef Allocator allocator_type;
7274
73 // 27.8.2.1 Constructors:75 // 27.8.2.1 Constructors:
74 explicit basic_istringstream(ios_base::openmode which = ios_base::in);76 explicit basic_istringstream(ios_base::openmode which = ios_base::in); // before C++20
77 basic_istringstream() : basic_istringstream(ios_base::in) {} // C++20
78 explicit basic_istringstream(ios_base::openmode which); // C++20
79
75 explicit basic_istringstream(const basic_string<char_type, traits_type,allocator_type>& str,80 explicit basic_istringstream(const basic_string<char_type, traits_type,allocator_type>& str,
76 ios_base::openmode which = ios_base::in);81 ios_base::openmode which = ios_base::in);
77 basic_istringstream(basic_istringstream&& rhs);82 basic_istringstream(basic_istringstream&& rhs);
...@@ -107,7 +112,10 @@ public:...@@ -107,7 +112,10 @@ public:
107 typedef Allocator allocator_type;112 typedef Allocator allocator_type;
108113
109 // 27.8.3.1 Constructors/destructor:114 // 27.8.3.1 Constructors/destructor:
110 explicit basic_ostringstream(ios_base::openmode which = ios_base::out);115 explicit basic_ostringstream(ios_base::openmode which = ios_base::out); // before C++20
116 basic_ostringstream() : basic_ostringstream(ios_base::out) {} // C++20
117 explicit basic_ostringstream(ios_base::openmode which); // C++20
118
111 explicit basic_ostringstream(const basic_string<char_type, traits_type, allocator_type>& str,119 explicit basic_ostringstream(const basic_string<char_type, traits_type, allocator_type>& str,
112 ios_base::openmode which = ios_base::out);120 ios_base::openmode which = ios_base::out);
113 basic_ostringstream(basic_ostringstream&& rhs);121 basic_ostringstream(basic_ostringstream&& rhs);
...@@ -143,7 +151,10 @@ public:...@@ -143,7 +151,10 @@ public:
143 typedef Allocator allocator_type;151 typedef Allocator allocator_type;
144152
145 // constructors/destructor153 // constructors/destructor
146 explicit basic_stringstream(ios_base::openmode which = ios_base::out|ios_base::in);154 explicit basic_stringstream(ios_base::openmode which = ios_base::out | ios_base::in); // before C++20
155 basic_stringstream() : basic_stringstream(ios_base::out | ios_base::in) {} // C++20
156 explicit basic_stringstream(ios_base::openmode which); // C++20
157
147 explicit basic_stringstream(const basic_string<char_type, traits_type, allocator_type>& str,158 explicit basic_stringstream(const basic_string<char_type, traits_type, allocator_type>& str,
148 ios_base::openmode which = ios_base::out|ios_base::in);159 ios_base::openmode which = ios_base::out|ios_base::in);
149 basic_stringstream(basic_stringstream&& rhs);160 basic_stringstream(basic_stringstream&& rhs);
...@@ -207,11 +218,20 @@ private:...@@ -207,11 +218,20 @@ private:
207 ios_base::openmode __mode_;218 ios_base::openmode __mode_;
208219
209public:220public:
210 // 27.8.1.1 Constructors:221 // 30.8.2.1 [stringbuf.cons], constructors
222#ifndef _LIBCPP_CXX03_LANG
211 _LIBCPP_INLINE_VISIBILITY223 _LIBCPP_INLINE_VISIBILITY
212 explicit basic_stringbuf(ios_base::openmode __wch = ios_base::in | ios_base::out)224 basic_stringbuf() : basic_stringbuf(ios_base::in | ios_base::out) {}
213 : __hm_(nullptr), __mode_(__wch)225
214 { }226 _LIBCPP_INLINE_VISIBILITY
227 explicit basic_stringbuf(ios_base::openmode __wch)
228 : __hm_(nullptr), __mode_(__wch) {}
229#else
230 _LIBCPP_INLINE_VISIBILITY
231 explicit basic_stringbuf(ios_base::openmode __wch = ios_base::in |
232 ios_base::out)
233 : __hm_(nullptr), __mode_(__wch) {}
234#endif
215235
216 _LIBCPP_INLINE_VISIBILITY236 _LIBCPP_INLINE_VISIBILITY
217 explicit basic_stringbuf(const string_type& __s,237 explicit basic_stringbuf(const string_type& __s,
...@@ -622,12 +642,20 @@ private:...@@ -622,12 +642,20 @@ private:
622 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;642 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
623643
624public:644public:
625 // 27.8.2.1 Constructors:645 // 30.8.3.1 [istringstream.cons], constructors
646#ifndef _LIBCPP_CXX03_LANG
647 _LIBCPP_INLINE_VISIBILITY
648 basic_istringstream() : basic_istringstream(ios_base::in) {}
649
650 _LIBCPP_INLINE_VISIBILITY
651 explicit basic_istringstream(ios_base::openmode __wch)
652 : basic_istream<_CharT, _Traits>(&__sb_), __sb_(__wch | ios_base::in) {}
653#else
626 _LIBCPP_INLINE_VISIBILITY654 _LIBCPP_INLINE_VISIBILITY
627 explicit basic_istringstream(ios_base::openmode __wch = ios_base::in)655 explicit basic_istringstream(ios_base::openmode __wch = ios_base::in)
628 : basic_istream<_CharT, _Traits>(&__sb_)656 : basic_istream<_CharT, _Traits>(&__sb_), __sb_(__wch | ios_base::in) {}
629 , __sb_(__wch | ios_base::in)657#endif
630 { }658
631 _LIBCPP_INLINE_VISIBILITY659 _LIBCPP_INLINE_VISIBILITY
632 explicit basic_istringstream(const string_type& __s,660 explicit basic_istringstream(const string_type& __s,
633 ios_base::openmode __wch = ios_base::in)661 ios_base::openmode __wch = ios_base::in)
...@@ -699,12 +727,21 @@ private:...@@ -699,12 +727,21 @@ private:
699 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;727 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
700728
701public:729public:
702 // 27.8.2.1 Constructors:730 // 30.8.4.1 [ostringstream.cons], constructors
731#ifndef _LIBCPP_CXX03_LANG
732 _LIBCPP_INLINE_VISIBILITY
733 basic_ostringstream() : basic_ostringstream(ios_base::out) {}
734
735 _LIBCPP_INLINE_VISIBILITY
736 explicit basic_ostringstream(ios_base::openmode __wch)
737 : basic_ostream<_CharT, _Traits>(&__sb_),
738 __sb_(__wch | ios_base::out) {}
739#else
703 _LIBCPP_INLINE_VISIBILITY740 _LIBCPP_INLINE_VISIBILITY
704 explicit basic_ostringstream(ios_base::openmode __wch = ios_base::out)741 explicit basic_ostringstream(ios_base::openmode __wch = ios_base::out)
705 : basic_ostream<_CharT, _Traits>(&__sb_)742 : basic_ostream<_CharT, _Traits>(&__sb_),
706 , __sb_(__wch | ios_base::out)743 __sb_(__wch | ios_base::out) {}
707 { }744#endif
708745
709 _LIBCPP_INLINE_VISIBILITY746 _LIBCPP_INLINE_VISIBILITY
710 explicit basic_ostringstream(const string_type& __s,747 explicit basic_ostringstream(const string_type& __s,
...@@ -778,12 +815,20 @@ private:...@@ -778,12 +815,20 @@ private:
778 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;815 basic_stringbuf<char_type, traits_type, allocator_type> __sb_;
779816
780public:817public:
781 // 27.8.2.1 Constructors:818 // 30.8.5.1 [stringstream.cons], constructors
819#ifndef _LIBCPP_CXX03_LANG
782 _LIBCPP_INLINE_VISIBILITY820 _LIBCPP_INLINE_VISIBILITY
783 explicit basic_stringstream(ios_base::openmode __wch = ios_base::in | ios_base::out)821 basic_stringstream() : basic_stringstream(ios_base::in | ios_base::out) {}
784 : basic_iostream<_CharT, _Traits>(&__sb_)822
785 , __sb_(__wch)823 _LIBCPP_INLINE_VISIBILITY
786 { }824 explicit basic_stringstream(ios_base::openmode __wch)
825 : basic_iostream<_CharT, _Traits>(&__sb_), __sb_(__wch) {}
826#else
827 _LIBCPP_INLINE_VISIBILITY
828 explicit basic_stringstream(ios_base::openmode __wch = ios_base::in |
829 ios_base::out)
830 : basic_iostream<_CharT, _Traits>(&__sb_), __sb_(__wch) {}
831#endif
787832
788 _LIBCPP_INLINE_VISIBILITY833 _LIBCPP_INLINE_VISIBILITY
789 explicit basic_stringstream(const string_type& __s,834 explicit basic_stringstream(const string_type& __s,
lib/libcxx/include/string+24-6
...@@ -317,12 +317,16 @@ public:...@@ -317,12 +317,16 @@ public:
317 int compare(size_type pos1, size_type n1, const value_type* s) const;317 int compare(size_type pos1, size_type n1, const value_type* s) const;
318 int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const;318 int compare(size_type pos1, size_type n1, const value_type* s, size_type n2) const;
319319
320 bool starts_with(basic_string_view<charT, traits> sv) const noexcept; // C++2a320 bool starts_with(basic_string_view<charT, traits> sv) const noexcept; // C++20
321 bool starts_with(charT c) const noexcept; // C++2a321 bool starts_with(charT c) const noexcept; // C++20
322 bool starts_with(const charT* s) const; // C++2a322 bool starts_with(const charT* s) const; // C++20
323 bool ends_with(basic_string_view<charT, traits> sv) const noexcept; // C++2a323 bool ends_with(basic_string_view<charT, traits> sv) const noexcept; // C++20
324 bool ends_with(charT c) const noexcept; // C++2a324 bool ends_with(charT c) const noexcept; // C++20
325 bool ends_with(const charT* s) const; // C++2a325 bool ends_with(const charT* s) const; // C++20
326
327 constexpr bool contains(basic_string_view<charT, traits> sv) const noexcept; // C++2b
328 constexpr bool contains(charT c) const noexcept; // C++2b
329 constexpr bool contains(const charT* s) const; // C++2b
326330
327 bool __invariants() const;331 bool __invariants() const;
328};332};
...@@ -1433,6 +1437,20 @@ public:...@@ -1433,6 +1437,20 @@ public:
1433 { return ends_with(__self_view(__s)); }1437 { return ends_with(__self_view(__s)); }
1434#endif1438#endif
14351439
1440#if _LIBCPP_STD_VER > 20
1441 constexpr _LIBCPP_INLINE_VISIBILITY
1442 bool contains(__self_view __sv) const noexcept
1443 { return __self_view(data(), size()).contains(__sv); }
1444
1445 constexpr _LIBCPP_INLINE_VISIBILITY
1446 bool contains(value_type __c) const noexcept
1447 { return __self_view(data(), size()).contains(__c); }
1448
1449 constexpr _LIBCPP_INLINE_VISIBILITY
1450 bool contains(const value_type* __s) const
1451 { return __self_view(data(), size()).contains(__s); }
1452#endif
1453
1436 _LIBCPP_INLINE_VISIBILITY bool __invariants() const;1454 _LIBCPP_INLINE_VISIBILITY bool __invariants() const;
14371455
1438 _LIBCPP_INLINE_VISIBILITY void __clear_and_shrink() _NOEXCEPT;1456 _LIBCPP_INLINE_VISIBILITY void __clear_and_shrink() _NOEXCEPT;
lib/libcxx/include/string_view+24-6
...@@ -142,12 +142,16 @@ namespace std {...@@ -142,12 +142,16 @@ namespace std {
142 constexpr size_type find_last_not_of(const charT* s, size_type pos, size_type n) const;142 constexpr size_type find_last_not_of(const charT* s, size_type pos, size_type n) const;
143 constexpr size_type find_last_not_of(const charT* s, size_type pos = npos) const;143 constexpr size_type find_last_not_of(const charT* s, size_type pos = npos) const;
144144
145 constexpr bool starts_with(basic_string_view s) const noexcept; // C++2a145 constexpr bool starts_with(basic_string_view s) const noexcept; // C++20
146 constexpr bool starts_with(charT c) const noexcept; // C++2a146 constexpr bool starts_with(charT c) const noexcept; // C++20
147 constexpr bool starts_with(const charT* s) const; // C++2a147 constexpr bool starts_with(const charT* s) const; // C++20
148 constexpr bool ends_with(basic_string_view s) const noexcept; // C++2a148 constexpr bool ends_with(basic_string_view s) const noexcept; // C++20
149 constexpr bool ends_with(charT c) const noexcept; // C++2a149 constexpr bool ends_with(charT c) const noexcept; // C++20
150 constexpr bool ends_with(const charT* s) const; // C++2a150 constexpr bool ends_with(const charT* s) const; // C++20
151
152 constexpr bool contains(basic_string_view s) const noexcept; // C++2b
153 constexpr bool contains(charT c) const noexcept; // C++2b
154 constexpr bool contains(const charT* s) const; // C++2b
151155
152 private:156 private:
153 const_pointer data_; // exposition only157 const_pointer data_; // exposition only
...@@ -622,6 +626,20 @@ public:...@@ -622,6 +626,20 @@ public:
622 { return ends_with(basic_string_view(__s)); }626 { return ends_with(basic_string_view(__s)); }
623#endif627#endif
624628
629#if _LIBCPP_STD_VER > 20
630 constexpr _LIBCPP_INLINE_VISIBILITY
631 bool contains(basic_string_view __sv) const noexcept
632 { return find(__sv) != npos; }
633
634 constexpr _LIBCPP_INLINE_VISIBILITY
635 bool contains(value_type __c) const noexcept
636 { return find(__c) != npos; }
637
638 constexpr _LIBCPP_INLINE_VISIBILITY
639 bool contains(const value_type* __s) const
640 { return find(__s) != npos; }
641#endif
642
625private:643private:
626 const value_type* __data;644 const value_type* __data;
627 size_type __size;645 size_type __size;
lib/libcxx/include/strstream+9-1
...@@ -17,7 +17,10 @@ class strstreambuf...@@ -17,7 +17,10 @@ class strstreambuf
17 : public basic_streambuf<char>17 : public basic_streambuf<char>
18{18{
19public:19public:
20 explicit strstreambuf(streamsize alsize_arg = 0);20 explicit strstreambuf(streamsize alsize_arg = 0); // before C++20
21 strstreambuf() : strstreambuf(0) {} // C++20
22 explicit strstreambuf(streamsize alsize_arg); // C++20
23
21 strstreambuf(void* (*palloc_arg)(size_t), void (*pfree_arg)(void*));24 strstreambuf(void* (*palloc_arg)(size_t), void (*pfree_arg)(void*));
22 strstreambuf(char* gnext_arg, streamsize n, char* pbeg_arg = nullptr);25 strstreambuf(char* gnext_arg, streamsize n, char* pbeg_arg = nullptr);
23 strstreambuf(const char* gnext_arg, streamsize n);26 strstreambuf(const char* gnext_arg, streamsize n);
...@@ -140,7 +143,12 @@ class _LIBCPP_TYPE_VIS strstreambuf...@@ -140,7 +143,12 @@ class _LIBCPP_TYPE_VIS strstreambuf
140 : public streambuf143 : public streambuf
141{144{
142public:145public:
146#ifndef _LIBCPP_CXX03_LANG
147 strstreambuf() : strstreambuf(0) {}
148 explicit strstreambuf(streamsize __alsize);
149#else
143 explicit strstreambuf(streamsize __alsize = 0);150 explicit strstreambuf(streamsize __alsize = 0);
151#endif
144 strstreambuf(void* (*__palloc)(size_t), void (*__pfree)(void*));152 strstreambuf(void* (*__palloc)(size_t), void (*__pfree)(void*));
145 strstreambuf(char* __gnext, streamsize __n, char* __pbeg = nullptr);153 strstreambuf(char* __gnext, streamsize __n, char* __pbeg = nullptr);
146 strstreambuf(const char* __gnext, streamsize __n);154 strstreambuf(const char* __gnext, streamsize __n);
lib/libcxx/include/support/android/locale_bionic.h deleted-69
...@@ -1,69 +0,0 @@
1// -*- C++ -*-
2//===------------------- support/android/locale_bionic.h ------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
11#define _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
12
13#if defined(__BIONIC__)
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include <stdlib.h>
20#include <xlocale.h>
21
22#ifdef __cplusplus
23}
24#endif
25
26#if defined(__ANDROID__)
27
28#include <android/api-level.h>
29#include <android/ndk-version.h>
30#if __ANDROID_API__ < 21
31#include <support/xlocale/__posix_l_fallback.h>
32#endif
33// In NDK versions later than 16, locale-aware functions are provided by
34// legacy_stdlib_inlines.h
35#if __NDK_MAJOR__ <= 16
36#if __ANDROID_API__ < 21
37#include <support/xlocale/__strtonum_fallback.h>
38#elif __ANDROID_API__ < 26
39
40#if defined(__cplusplus)
41extern "C" {
42#endif
43
44inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char* __nptr, char** __endptr,
45 locale_t) {
46 return ::strtof(__nptr, __endptr);
47}
48
49inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char* __nptr,
50 char** __endptr, locale_t) {
51 return ::strtod(__nptr, __endptr);
52}
53
54inline _LIBCPP_INLINE_VISIBILITY long strtol_l(const char* __nptr, char** __endptr,
55 int __base, locale_t) {
56 return ::strtol(__nptr, __endptr, __base);
57}
58
59#if defined(__cplusplus)
60}
61#endif
62
63#endif // __ANDROID_API__ < 26
64
65#endif // __NDK_MAJOR__ <= 16
66#endif // defined(__ANDROID__)
67
68#endif // defined(__BIONIC__)
69#endif // _LIBCPP_SUPPORT_ANDROID_LOCALE_BIONIC_H
lib/libcxx/include/support/fuchsia/xlocale.h deleted-22
...@@ -1,22 +0,0 @@
1// -*- C++ -*-
2//===------------------- support/fuchsia/xlocale.h ------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
11#define _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
12
13#if defined(__Fuchsia__)
14
15#include <cstdlib>
16#include <cwchar>
17#include <support/xlocale/__posix_l_fallback.h>
18#include <support/xlocale/__strtonum_fallback.h>
19
20#endif // defined(__Fuchsia__)
21
22#endif // _LIBCPP_SUPPORT_FUCHSIA_XLOCALE_H
lib/libcxx/include/support/ibm/limits.h deleted-98
...@@ -1,98 +0,0 @@
1// -*- C++ -*-
2//===--------------------- support/ibm/limits.h ---------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_LIMITS_H
11#define _LIBCPP_SUPPORT_IBM_LIMITS_H
12
13#if !defined(_AIX) // Linux
14#include <math.h> // for HUGE_VAL, HUGE_VALF, HUGE_VALL, and NAN
15
16static const unsigned int _QNAN_F = 0x7fc00000;
17#define NANF (*((float *)(&_QNAN_F)))
18static const unsigned int _QNAN_LDBL128[4] = {0x7ff80000, 0x0, 0x0, 0x0};
19#define NANL (*((long double *)(&_QNAN_LDBL128)))
20static const unsigned int _SNAN_F= 0x7f855555;
21#define NANSF (*((float *)(&_SNAN_F)))
22static const unsigned int _SNAN_D[2] = {0x7ff55555, 0x55555555};
23#define NANS (*((double *)(&_SNAN_D)))
24static const unsigned int _SNAN_LDBL128[4] = {0x7ff55555, 0x55555555, 0x0, 0x0};
25#define NANSL (*((long double *)(&_SNAN_LDBL128)))
26
27#define __builtin_huge_val() HUGE_VAL
28#define __builtin_huge_valf() HUGE_VALF
29#define __builtin_huge_vall() HUGE_VALL
30#define __builtin_nan(__dummy) NAN
31#define __builtin_nanf(__dummy) NANF
32#define __builtin_nanl(__dummy) NANL
33#define __builtin_nans(__dummy) NANS
34#define __builtin_nansf(__dummy) NANSF
35#define __builtin_nansl(__dummy) NANSL
36
37#else
38
39#include <math.h>
40#include <float.h> // limit constants
41
42#define __builtin_huge_val() HUGE_VAL //0x7ff0000000000000
43#define __builtin_huge_valf() HUGE_VALF //0x7f800000
44#define __builtin_huge_vall() HUGE_VALL //0x7ff0000000000000
45#define __builtin_nan(__dummy) nan(__dummy) //0x7ff8000000000000
46#define __builtin_nanf(__dummy) nanf(__dummy) // 0x7ff80000
47#define __builtin_nanl(__dummy) nanl(__dummy) //0x7ff8000000000000
48#define __builtin_nans(__dummy) DBL_SNAN //0x7ff5555555555555
49#define __builtin_nansf(__dummy) FLT_SNAN //0x7f855555
50#define __builtin_nansl(__dummy) DBL_SNAN //0x7ff5555555555555
51
52#define __FLT_MANT_DIG__ FLT_MANT_DIG
53#define __FLT_DIG__ FLT_DIG
54#define __FLT_RADIX__ FLT_RADIX
55#define __FLT_MIN_EXP__ FLT_MIN_EXP
56#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
57#define __FLT_MAX_EXP__ FLT_MAX_EXP
58#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
59#define __FLT_MIN__ FLT_MIN
60#define __FLT_MAX__ FLT_MAX
61#define __FLT_EPSILON__ FLT_EPSILON
62// predefined by XLC on LoP
63#define __FLT_DENORM_MIN__ 1.40129846e-45F
64
65#define __DBL_MANT_DIG__ DBL_MANT_DIG
66#define __DBL_DIG__ DBL_DIG
67#define __DBL_MIN_EXP__ DBL_MIN_EXP
68#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
69#define __DBL_MAX_EXP__ DBL_MAX_EXP
70#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
71#define __DBL_MIN__ DBL_MIN
72#define __DBL_MAX__ DBL_MAX
73#define __DBL_EPSILON__ DBL_EPSILON
74// predefined by XLC on LoP
75#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
76
77#define __LDBL_MANT_DIG__ LDBL_MANT_DIG
78#define __LDBL_DIG__ LDBL_DIG
79#define __LDBL_MIN_EXP__ LDBL_MIN_EXP
80#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
81#define __LDBL_MAX_EXP__ LDBL_MAX_EXP
82#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
83#define __LDBL_MIN__ LDBL_MIN
84#define __LDBL_MAX__ LDBL_MAX
85#define __LDBL_EPSILON__ LDBL_EPSILON
86// predefined by XLC on LoP
87#if __LONGDOUBLE128
88#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
89#else
90#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
91#endif
92
93// predefined by XLC on LoP
94#define __CHAR_BIT__ 8
95
96#endif // _AIX
97
98#endif // _LIBCPP_SUPPORT_IBM_LIMITS_H
lib/libcxx/include/support/ibm/locale_mgmt_aix.h deleted-84
...@@ -1,84 +0,0 @@
1// -*- C++ -*-
2//===------------------- support/ibm/locale_mgmt_aix.h --------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
11#define _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
12
13#if defined(_AIX)
14#include "cstdlib"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#if !defined(_AIX71)
21// AIX 7.1 and higher has these definitions. Definitions and stubs
22// are provied here as a temporary workaround on AIX 6.1.
23
24#define LC_COLLATE_MASK 1
25#define LC_CTYPE_MASK 2
26#define LC_MESSAGES_MASK 4
27#define LC_MONETARY_MASK 8
28#define LC_NUMERIC_MASK 16
29#define LC_TIME_MASK 32
30#define LC_ALL_MASK (LC_COLLATE_MASK | LC_CTYPE_MASK | \
31 LC_MESSAGES_MASK | LC_MONETARY_MASK |\
32 LC_NUMERIC_MASK | LC_TIME_MASK)
33
34typedef void* locale_t;
35
36// The following are stubs. They are not supported on AIX 6.1.
37static inline
38locale_t newlocale(int category_mask, const char *locale, locale_t base)
39{
40 _LC_locale_t *newloc, *loc;
41 if ((loc = (_LC_locale_t *)__xopen_locale(locale)) == NULL)
42 {
43 errno = EINVAL;
44 return (locale_t)0;
45 }
46 if ((newloc = (_LC_locale_t *)calloc(1, sizeof(_LC_locale_t))) == NULL)
47 {
48 errno = ENOMEM;
49 return (locale_t)0;
50 }
51 if (!base)
52 base = (_LC_locale_t *)__xopen_locale("C");
53 memcpy(newloc, base, sizeof (_LC_locale_t));
54 if (category_mask & LC_COLLATE_MASK)
55 newloc->lc_collate = loc->lc_collate;
56 if (category_mask & LC_CTYPE_MASK)
57 newloc->lc_ctype = loc->lc_ctype;
58 //if (category_mask & LC_MESSAGES_MASK)
59 // newloc->lc_messages = loc->lc_messages;
60 if (category_mask & LC_MONETARY_MASK)
61 newloc->lc_monetary = loc->lc_monetary;
62 if (category_mask & LC_TIME_MASK)
63 newloc->lc_time = loc->lc_time;
64 if (category_mask & LC_NUMERIC_MASK)
65 newloc->lc_numeric = loc->lc_numeric;
66 return (locale_t)newloc;
67}
68static inline
69void freelocale(locale_t locobj)
70{
71 free(locobj);
72}
73static inline
74locale_t uselocale(locale_t newloc)
75{
76 return (locale_t)0;
77}
78#endif // !defined(_AIX71)
79
80#ifdef __cplusplus
81}
82#endif
83#endif // defined(_AIX)
84#endif // _LIBCPP_SUPPORT_IBM_LOCALE_MGMT_AIX_H
lib/libcxx/include/support/ibm/nanosleep.h deleted-38
...@@ -1,38 +0,0 @@
1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
11#define _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
12
13#include <unistd.h>
14
15inline int nanosleep(const struct timespec* req, struct timespec* rem)
16{
17 // The nanosleep() function is not available on z/OS. Therefore, we will call
18 // sleep() to sleep for whole seconds and usleep() to sleep for any remaining
19 // fraction of a second. Any remaining nanoseconds will round up to the next
20 // microsecond.
21
22 useconds_t __micro_sec = (rem->tv_nsec + 999) / 1000;
23 if (__micro_sec > 999999)
24 {
25 ++rem->tv_sec;
26 __micro_sec -= 1000000;
27 }
28 while (rem->tv_sec)
29 rem->tv_sec = sleep(rem->tv_sec);
30 if (__micro_sec) {
31 rem->tv_nsec = __micro_sec * 1000;
32 return usleep(__micro_sec);
33 }
34 rem->tv_nsec = 0;
35 return 0;
36}
37
38#endif // _LIBCPP_SUPPORT_IBM_NANOSLEEP_H
lib/libcxx/include/support/ibm/support.h deleted-53
...@@ -1,53 +0,0 @@
1// -*- C++ -*-
2//===----------------------- support/ibm/support.h ----------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_SUPPORT_H
11#define _LIBCPP_SUPPORT_IBM_SUPPORT_H
12
13extern "builtin" int __popcnt4(unsigned int);
14extern "builtin" int __popcnt8(unsigned long long);
15extern "builtin" unsigned int __cnttz4(unsigned int);
16extern "builtin" unsigned int __cnttz8(unsigned long long);
17extern "builtin" unsigned int __cntlz4(unsigned int);
18extern "builtin" unsigned int __cntlz8(unsigned long long);
19
20// Builtin functions for counting population
21#define __builtin_popcount(x) __popcnt4(x)
22#define __builtin_popcountll(x) __popcnt8(x)
23#if defined(__64BIT__)
24#define __builtin_popcountl(x) __builtin_popcountll(x)
25#else
26#define __builtin_popcountl(x) __builtin_popcount(x)
27#endif
28
29// Builtin functions for counting trailing zeros
30#define __builtin_ctz(x) __cnttz4(x)
31#define __builtin_ctzll(x) __cnttz8(x)
32#if defined(__64BIT__)
33#define __builtin_ctzl(x) __builtin_ctzll(x)
34#else
35#define __builtin_ctzl(x) __builtin_ctz(x)
36#endif
37
38// Builtin functions for counting leading zeros
39#define __builtin_clz(x) __cntlz4(x)
40#define __builtin_clzll(x) __cntlz8(x)
41#if defined(__64BIT__)
42#define __builtin_clzl(x) __builtin_clzll(x)
43#else
44#define __builtin_clzl(x) __builtin_clz(x)
45#endif
46
47#if defined(__64BIT__)
48#define __SIZE_WIDTH__ 64
49#else
50#define __SIZE_WIDTH__ 32
51#endif
52
53#endif // _LIBCPP_SUPPORT_IBM_SUPPORT_H
lib/libcxx/include/support/ibm/xlocale.h deleted-275
...@@ -1,275 +0,0 @@
1// -*- C++ -*-
2//===--------------------- support/ibm/xlocale.h -------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_IBM_XLOCALE_H
11#define _LIBCPP_SUPPORT_IBM_XLOCALE_H
12#include <support/ibm/locale_mgmt_aix.h>
13
14#include "cstdlib"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20#if defined(_AIX)
21#if !defined(_AIX71)
22// AIX 7.1 and higher has these definitions. Definitions and stubs
23// are provied here as a temporary workaround on AIX 6.1.
24static inline
25int isalnum_l(int c, locale_t locale)
26{
27 return __xisalnum(locale, c);
28}
29static inline
30int isalpha_l(int c, locale_t locale)
31{
32 return __xisalpha(locale, c);
33}
34static inline
35int isblank_l(int c, locale_t locale)
36{
37 return __xisblank(locale, c);
38}
39static inline
40int iscntrl_l(int c, locale_t locale)
41{
42 return __xiscntrl(locale, c);
43}
44static inline
45int isdigit_l(int c, locale_t locale)
46{
47 return __xisdigit(locale, c);
48}
49static inline
50int isgraph_l(int c, locale_t locale)
51{
52 return __xisgraph(locale, c);
53}
54static inline
55int islower_l(int c, locale_t locale)
56{
57 return __xislower(locale, c);
58}
59static inline
60int isprint_l(int c, locale_t locale)
61{
62 return __xisprint(locale, c);
63}
64
65static inline
66int ispunct_l(int c, locale_t locale)
67{
68 return __xispunct(locale, c);
69}
70static inline
71int isspace_l(int c, locale_t locale)
72{
73 return __xisspace(locale, c);
74}
75static inline
76int isupper_l(int c, locale_t locale)
77{
78 return __xisupper(locale, c);
79}
80
81static inline
82int isxdigit_l(int c, locale_t locale)
83{
84 return __xisxdigit(locale, c);
85}
86
87static inline
88int iswalnum_l(wchar_t wc, locale_t locale)
89{
90 return __xiswalnum(locale, wc);
91}
92
93static inline
94int iswalpha_l(wchar_t wc, locale_t locale)
95{
96 return __xiswalpha(locale, wc);
97}
98
99static inline
100int iswblank_l(wchar_t wc, locale_t locale)
101{
102 return __xiswblank(locale, wc);
103}
104
105static inline
106int iswcntrl_l(wchar_t wc, locale_t locale)
107{
108 return __xiswcntrl(locale, wc);
109}
110
111static inline
112int iswdigit_l(wchar_t wc, locale_t locale)
113{
114 return __xiswdigit(locale, wc);
115}
116
117static inline
118int iswgraph_l(wchar_t wc, locale_t locale)
119{
120 return __xiswgraph(locale, wc);
121}
122
123static inline
124int iswlower_l(wchar_t wc, locale_t locale)
125{
126 return __xiswlower(locale, wc);
127}
128
129static inline
130int iswprint_l(wchar_t wc, locale_t locale)
131{
132 return __xiswprint(locale, wc);
133}
134
135static inline
136int iswpunct_l(wchar_t wc, locale_t locale)
137{
138 return __xiswpunct(locale, wc);
139}
140
141static inline
142int iswspace_l(wchar_t wc, locale_t locale)
143{
144 return __xiswspace(locale, wc);
145}
146
147static inline
148int iswupper_l(wchar_t wc, locale_t locale)
149{
150 return __xiswupper(locale, wc);
151}
152
153static inline
154int iswxdigit_l(wchar_t wc, locale_t locale)
155{
156 return __xiswxdigit(locale, wc);
157}
158
159static inline
160int iswctype_l(wint_t wc, wctype_t desc, locale_t locale)
161{
162 return __xiswctype(locale, wc, desc);
163}
164
165static inline
166int toupper_l(int c, locale_t locale)
167{
168 return __xtoupper(locale, c);
169}
170static inline
171int tolower_l(int c, locale_t locale)
172{
173 return __xtolower(locale, c);
174}
175static inline
176wint_t towupper_l(wint_t wc, locale_t locale)
177{
178 return __xtowupper(locale, wc);
179}
180static inline
181wint_t towlower_l(wint_t wc, locale_t locale)
182{
183 return __xtowlower(locale, wc);
184}
185
186static inline
187int strcoll_l(const char *__s1, const char *__s2, locale_t locale)
188{
189 return __xstrcoll(locale, __s1, __s2);
190}
191static inline
192int wcscoll_l(const wchar_t *__s1, const wchar_t *__s2, locale_t locale)
193{
194 return __xwcscoll(locale, __s1, __s2);
195}
196static inline
197size_t strxfrm_l(char *__s1, const char *__s2, size_t __n, locale_t locale)
198{
199 return __xstrxfrm(locale, __s1, __s2, __n);
200}
201
202static inline
203size_t wcsxfrm_l(wchar_t *__ws1, const wchar_t *__ws2, size_t __n,
204 locale_t locale)
205{
206 return __xwcsxfrm(locale, __ws1, __ws2, __n);
207}
208#endif // !defined(_AIX71)
209
210// strftime_l() is defined by POSIX. However, AIX 7.1 and z/OS do not have it
211// implemented yet. z/OS retrieves it from the POSIX fallbacks.
212static inline
213size_t strftime_l(char *__s, size_t __size, const char *__fmt,
214 const struct tm *__tm, locale_t locale) {
215 return __xstrftime(locale, __s, __size, __fmt, __tm);
216}
217
218#elif defined(__MVS__)
219#include <wctype.h>
220// POSIX routines
221#include <support/xlocale/__posix_l_fallback.h>
222#endif // defined(__MVS__)
223
224// The following are not POSIX routines. These are quick-and-dirty hacks
225// to make things pretend to work
226static inline
227long long strtoll_l(const char *__nptr, char **__endptr,
228 int __base, locale_t locale) {
229 return strtoll(__nptr, __endptr, __base);
230}
231static inline
232long strtol_l(const char *__nptr, char **__endptr,
233 int __base, locale_t locale) {
234 return strtol(__nptr, __endptr, __base);
235}
236static inline
237long double strtold_l(const char *__nptr, char **__endptr,
238 locale_t locale) {
239 return strtold(__nptr, __endptr);
240}
241static inline
242unsigned long long strtoull_l(const char *__nptr, char **__endptr,
243 int __base, locale_t locale) {
244 return strtoull(__nptr, __endptr, __base);
245}
246static inline
247unsigned long strtoul_l(const char *__nptr, char **__endptr,
248 int __base, locale_t locale) {
249 return strtoul(__nptr, __endptr, __base);
250}
251
252static inline
253int vasprintf(char **strp, const char *fmt, va_list ap)
254{
255 const size_t buff_size = 256;
256 int str_size;
257 if ((*strp = (char *)malloc(buff_size)) == NULL)
258 {
259 return -1;
260 }
261 if ((str_size = vsnprintf(*strp, buff_size, fmt, ap)) >= buff_size)
262 {
263 if ((*strp = (char *)realloc(*strp, str_size + 1)) == NULL)
264 {
265 return -1;
266 }
267 str_size = vsnprintf(*strp, str_size + 1, fmt, ap);
268 }
269 return str_size;
270}
271
272#ifdef __cplusplus
273}
274#endif
275#endif // _LIBCPP_SUPPORT_IBM_XLOCALE_H
lib/libcxx/include/support/musl/xlocale.h deleted-57
...@@ -1,57 +0,0 @@
1// -*- C++ -*-
2//===------------------- support/musl/xlocale.h ------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// This adds support for the extended locale functions that are currently
10// missing from the Musl C library.
11//
12// This only works when the specified locale is "C" or "POSIX", but that's
13// about as good as we can do without implementing full xlocale support
14// in Musl.
15//===----------------------------------------------------------------------===//
16
17#ifndef _LIBCPP_SUPPORT_MUSL_XLOCALE_H
18#define _LIBCPP_SUPPORT_MUSL_XLOCALE_H
19
20#include <cstdlib>
21#include <cwchar>
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27static inline long long strtoll_l(const char *nptr, char **endptr, int base,
28 locale_t) {
29 return strtoll(nptr, endptr, base);
30}
31
32static inline unsigned long long strtoull_l(const char *nptr, char **endptr,
33 int base, locale_t) {
34 return strtoull(nptr, endptr, base);
35}
36
37static inline long long wcstoll_l(const wchar_t *nptr, wchar_t **endptr,
38 int base, locale_t) {
39 return wcstoll(nptr, endptr, base);
40}
41
42static inline unsigned long long wcstoull_l(const wchar_t *nptr,
43 wchar_t **endptr, int base,
44 locale_t) {
45 return wcstoull(nptr, endptr, base);
46}
47
48static inline long double wcstold_l(const wchar_t *nptr, wchar_t **endptr,
49 locale_t) {
50 return wcstold(nptr, endptr);
51}
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif // _LIBCPP_SUPPORT_MUSL_XLOCALE_H
lib/libcxx/include/support/newlib/xlocale.h deleted-27
...@@ -1,27 +0,0 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
10#define _LIBCPP_SUPPORT_NEWLIB_XLOCALE_H
11
12#if defined(_NEWLIB_VERSION)
13
14#include <cstdlib>
15#include <clocale>
16#include <cwctype>
17#include <ctype.h>
18#if !defined(__NEWLIB__) || __NEWLIB__ < 2 || \
19 __NEWLIB__ == 2 && __NEWLIB_MINOR__ < 5
20#include <support/xlocale/__nop_locale_mgmt.h>
21#include <support/xlocale/__posix_l_fallback.h>
22#include <support/xlocale/__strtonum_fallback.h>
23#endif
24
25#endif // _NEWLIB_VERSION
26
27#endif
lib/libcxx/include/support/nuttx/xlocale.h deleted-18
...@@ -1,18 +0,0 @@
1// -*- C++ -*-
2//===-------------------- support/nuttx/xlocale.h -------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_NUTTX_XLOCALE_H
11#define _LIBCPP_SUPPORT_NUTTX_XLOCALE_H
12
13#if defined(__NuttX__)
14#include <support/xlocale/__posix_l_fallback.h>
15#include <support/xlocale/__strtonum_fallback.h>
16#endif // __NuttX__
17
18#endif
lib/libcxx/include/support/solaris/floatingpoint.h deleted-13
...@@ -1,13 +0,0 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#define atof sun_atof
10#define strtod sun_strtod
11#include_next "floatingpoint.h"
12#undef atof
13#undef strtod
lib/libcxx/include/support/solaris/wchar.h deleted-46
...@@ -1,46 +0,0 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#define iswalpha sun_iswalpha
10#define iswupper sun_iswupper
11#define iswlower sun_iswlower
12#define iswdigit sun_iswdigit
13#define iswxdigit sun_iswxdigit
14#define iswalnum sun_iswalnum
15#define iswspace sun_iswspace
16#define iswpunct sun_iswpunct
17#define iswprint sun_iswprint
18#define iswgraph sun_iswgraph
19#define iswcntrl sun_iswcntrl
20#define iswctype sun_iswctype
21#define towlower sun_towlower
22#define towupper sun_towupper
23#define wcswcs sun_wcswcs
24#define wcswidth sun_wcswidth
25#define wcwidth sun_wcwidth
26#define wctype sun_wctype
27#define _WCHAR_T 1
28#include_next "wchar.h"
29#undef iswalpha
30#undef iswupper
31#undef iswlower
32#undef iswdigit
33#undef iswxdigit
34#undef iswalnum
35#undef iswspace
36#undef iswpunct
37#undef iswprint
38#undef iswgraph
39#undef iswcntrl
40#undef iswctype
41#undef towlower
42#undef towupper
43#undef wcswcs
44#undef wcswidth
45#undef wcwidth
46#undef wctype
lib/libcxx/include/support/solaris/xlocale.h deleted-76
...@@ -1,76 +0,0 @@
1//===----------------------------------------------------------------------===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9////////////////////////////////////////////////////////////////////////////////
10// Minimal xlocale implementation for Solaris. This implements the subset of
11// the xlocale APIs that libc++ depends on.
12////////////////////////////////////////////////////////////////////////////////
13#ifndef __XLOCALE_H_INCLUDED
14#define __XLOCALE_H_INCLUDED
15
16#include <stdlib.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22
23int snprintf_l(char *__s, size_t __n, locale_t __l, const char *__format, ...);
24int asprintf_l(char **__s, locale_t __l, const char *__format, ...);
25
26int sscanf_l(const char *__s, locale_t __l, const char *__format, ...);
27
28int toupper_l(int __c, locale_t __l);
29int tolower_l(int __c, locale_t __l);
30
31struct lconv *localeconv(void);
32struct lconv *localeconv_l(locale_t __l);
33
34// FIXME: These are quick-and-dirty hacks to make things pretend to work
35static inline
36long long strtoll_l(const char *__nptr, char **__endptr,
37 int __base, locale_t __loc) {
38 return strtoll(__nptr, __endptr, __base);
39}
40static inline
41long strtol_l(const char *__nptr, char **__endptr,
42 int __base, locale_t __loc) {
43 return strtol(__nptr, __endptr, __base);
44}
45static inline
46unsigned long long strtoull_l(const char *__nptr, char **__endptr,
47 int __base, locale_t __loc) {
48 return strtoull(__nptr, __endptr, __base);
49}
50static inline
51unsigned long strtoul_l(const char *__nptr, char **__endptr,
52 int __base, locale_t __loc) {
53 return strtoul(__nptr, __endptr, __base);
54}
55static inline
56float strtof_l(const char *__nptr, char **__endptr,
57 locale_t __loc) {
58 return strtof(__nptr, __endptr);
59}
60static inline
61double strtod_l(const char *__nptr, char **__endptr,
62 locale_t __loc) {
63 return strtod(__nptr, __endptr);
64}
65static inline
66long double strtold_l(const char *__nptr, char **__endptr,
67 locale_t __loc) {
68 return strtold(__nptr, __endptr);
69}
70
71
72#ifdef __cplusplus
73}
74#endif
75
76#endif
lib/libcxx/include/support/win32/limits_msvc_win32.h deleted-71
...@@ -1,71 +0,0 @@
1// -*- C++ -*-
2//===------------------ support/win32/limits_msvc_win32.h -----------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
11#define _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
12
13#if !defined(_LIBCPP_MSVCRT)
14#error "This header complements the Microsoft C Runtime library, and should not be included otherwise."
15#endif
16#if defined(__clang__)
17#error "This header should only be included when using Microsofts C1XX frontend"
18#endif
19
20#include <limits.h> // CHAR_BIT
21#include <float.h> // limit constants
22#include <math.h> // HUGE_VAL
23#include <ymath.h> // internal MSVC header providing the needed functionality
24
25#define __CHAR_BIT__ CHAR_BIT
26
27#define __FLT_MANT_DIG__ FLT_MANT_DIG
28#define __FLT_DIG__ FLT_DIG
29#define __FLT_RADIX__ FLT_RADIX
30#define __FLT_MIN_EXP__ FLT_MIN_EXP
31#define __FLT_MIN_10_EXP__ FLT_MIN_10_EXP
32#define __FLT_MAX_EXP__ FLT_MAX_EXP
33#define __FLT_MAX_10_EXP__ FLT_MAX_10_EXP
34#define __FLT_MIN__ FLT_MIN
35#define __FLT_MAX__ FLT_MAX
36#define __FLT_EPSILON__ FLT_EPSILON
37// predefined by MinGW GCC
38#define __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
39
40#define __DBL_MANT_DIG__ DBL_MANT_DIG
41#define __DBL_DIG__ DBL_DIG
42#define __DBL_RADIX__ DBL_RADIX
43#define __DBL_MIN_EXP__ DBL_MIN_EXP
44#define __DBL_MIN_10_EXP__ DBL_MIN_10_EXP
45#define __DBL_MAX_EXP__ DBL_MAX_EXP
46#define __DBL_MAX_10_EXP__ DBL_MAX_10_EXP
47#define __DBL_MIN__ DBL_MIN
48#define __DBL_MAX__ DBL_MAX
49#define __DBL_EPSILON__ DBL_EPSILON
50// predefined by MinGW GCC
51#define __DBL_DENORM_MIN__ double(4.94065645841246544177e-324L)
52
53#define __LDBL_MANT_DIG__ LDBL_MANT_DIG
54#define __LDBL_DIG__ LDBL_DIG
55#define __LDBL_RADIX__ LDBL_RADIX
56#define __LDBL_MIN_EXP__ LDBL_MIN_EXP
57#define __LDBL_MIN_10_EXP__ LDBL_MIN_10_EXP
58#define __LDBL_MAX_EXP__ LDBL_MAX_EXP
59#define __LDBL_MAX_10_EXP__ LDBL_MAX_10_EXP
60#define __LDBL_MIN__ LDBL_MIN
61#define __LDBL_MAX__ LDBL_MAX
62#define __LDBL_EPSILON__ LDBL_EPSILON
63// predefined by MinGW GCC
64#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
65
66// __builtin replacements/workarounds
67#define __builtin_huge_vall() _LInf._Long_double
68#define __builtin_nanl(__dummmy) _LNan._Long_double
69#define __builtin_nansl(__dummy) _LSnan._Long_double
70
71#endif // _LIBCPP_SUPPORT_WIN32_LIMITS_MSVC_WIN32_H
lib/libcxx/include/support/win32/locale_win32.h deleted-264
...@@ -1,264 +0,0 @@
1// -*- C++ -*-
2//===--------------------- support/win32/locale_win32.h -------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
11#define _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
12
13#include <__config>
14#include <stdio.h>
15#include <xlocinfo.h> // _locale_t
16#include <__nullptr>
17
18#define LC_COLLATE_MASK _M_COLLATE
19#define LC_CTYPE_MASK _M_CTYPE
20#define LC_MONETARY_MASK _M_MONETARY
21#define LC_NUMERIC_MASK _M_NUMERIC
22#define LC_TIME_MASK _M_TIME
23#define LC_MESSAGES_MASK _M_MESSAGES
24#define LC_ALL_MASK ( LC_COLLATE_MASK \
25 | LC_CTYPE_MASK \
26 | LC_MESSAGES_MASK \
27 | LC_MONETARY_MASK \
28 | LC_NUMERIC_MASK \
29 | LC_TIME_MASK )
30
31class __lconv_storage {
32public:
33 __lconv_storage(const lconv *__lc_input) {
34 __lc = *__lc_input;
35
36 __decimal_point = __lc_input->decimal_point;
37 __thousands_sep = __lc_input->thousands_sep;
38 __grouping = __lc_input->grouping;
39 __int_curr_symbol = __lc_input->int_curr_symbol;
40 __currency_symbol = __lc_input->currency_symbol;
41 __mon_decimal_point = __lc_input->mon_decimal_point;
42 __mon_thousands_sep = __lc_input->mon_thousands_sep;
43 __mon_grouping = __lc_input->mon_grouping;
44 __positive_sign = __lc_input->positive_sign;
45 __negative_sign = __lc_input->negative_sign;
46
47 __lc.decimal_point = const_cast<char *>(__decimal_point.c_str());
48 __lc.thousands_sep = const_cast<char *>(__thousands_sep.c_str());
49 __lc.grouping = const_cast<char *>(__grouping.c_str());
50 __lc.int_curr_symbol = const_cast<char *>(__int_curr_symbol.c_str());
51 __lc.currency_symbol = const_cast<char *>(__currency_symbol.c_str());
52 __lc.mon_decimal_point = const_cast<char *>(__mon_decimal_point.c_str());
53 __lc.mon_thousands_sep = const_cast<char *>(__mon_thousands_sep.c_str());
54 __lc.mon_grouping = const_cast<char *>(__mon_grouping.c_str());
55 __lc.positive_sign = const_cast<char *>(__positive_sign.c_str());
56 __lc.negative_sign = const_cast<char *>(__negative_sign.c_str());
57 }
58
59 lconv *__get() {
60 return &__lc;
61 }
62private:
63 lconv __lc;
64 std::string __decimal_point;
65 std::string __thousands_sep;
66 std::string __grouping;
67 std::string __int_curr_symbol;
68 std::string __currency_symbol;
69 std::string __mon_decimal_point;
70 std::string __mon_thousands_sep;
71 std::string __mon_grouping;
72 std::string __positive_sign;
73 std::string __negative_sign;
74};
75
76class locale_t {
77public:
78 locale_t()
79 : __locale(nullptr), __locale_str(nullptr), __lc(nullptr) {}
80 locale_t(std::nullptr_t)
81 : __locale(nullptr), __locale_str(nullptr), __lc(nullptr) {}
82 locale_t(_locale_t __xlocale, const char* __xlocale_str)
83 : __locale(__xlocale), __locale_str(__xlocale_str), __lc(nullptr) {}
84 locale_t(const locale_t &__l)
85 : __locale(__l.__locale), __locale_str(__l.__locale_str), __lc(nullptr) {}
86
87 ~locale_t() {
88 delete __lc;
89 }
90
91 locale_t &operator =(const locale_t &__l) {
92 __locale = __l.__locale;
93 __locale_str = __l.__locale_str;
94 // __lc not copied
95 return *this;
96 }
97
98 friend bool operator==(const locale_t& __left, const locale_t& __right) {
99 return __left.__locale == __right.__locale;
100 }
101
102 friend bool operator==(const locale_t& __left, int __right) {
103 return __left.__locale == nullptr && __right == 0;
104 }
105
106 friend bool operator==(const locale_t& __left, long long __right) {
107 return __left.__locale == nullptr && __right == 0;
108 }
109
110 friend bool operator==(const locale_t& __left, std::nullptr_t) {
111 return __left.__locale == nullptr;
112 }
113
114 friend bool operator==(int __left, const locale_t& __right) {
115 return __left == 0 && nullptr == __right.__locale;
116 }
117
118 friend bool operator==(std::nullptr_t, const locale_t& __right) {
119 return nullptr == __right.__locale;
120 }
121
122 friend bool operator!=(const locale_t& __left, const locale_t& __right) {
123 return !(__left == __right);
124 }
125
126 friend bool operator!=(const locale_t& __left, int __right) {
127 return !(__left == __right);
128 }
129
130 friend bool operator!=(const locale_t& __left, long long __right) {
131 return !(__left == __right);
132 }
133
134 friend bool operator!=(const locale_t& __left, std::nullptr_t __right) {
135 return !(__left == __right);
136 }
137
138 friend bool operator!=(int __left, const locale_t& __right) {
139 return !(__left == __right);
140 }
141
142 friend bool operator!=(std::nullptr_t __left, const locale_t& __right) {
143 return !(__left == __right);
144 }
145
146 operator bool() const {
147 return __locale != nullptr;
148 }
149
150 const char* __get_locale() const { return __locale_str; }
151
152 operator _locale_t() const {
153 return __locale;
154 }
155
156 lconv *__store_lconv(const lconv *__input_lc) {
157 delete __lc;
158 __lc = new __lconv_storage(__input_lc);
159 return __lc->__get();
160 }
161private:
162 _locale_t __locale;
163 const char* __locale_str;
164 __lconv_storage *__lc = nullptr;
165};
166
167// Locale management functions
168#define freelocale _free_locale
169// FIXME: base currently unused. Needs manual work to construct the new locale
170locale_t newlocale( int mask, const char * locale, locale_t base );
171// uselocale can't be implemented on Windows because Windows allows partial modification
172// of thread-local locale and so _get_current_locale() returns a copy while uselocale does
173// not create any copies.
174// We can still implement raii even without uselocale though.
175
176
177lconv *localeconv_l( locale_t &loc );
178size_t mbrlen_l( const char *__restrict s, size_t n,
179 mbstate_t *__restrict ps, locale_t loc);
180size_t mbsrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
181 size_t len, mbstate_t *__restrict ps, locale_t loc );
182size_t wcrtomb_l( char *__restrict s, wchar_t wc, mbstate_t *__restrict ps,
183 locale_t loc);
184size_t mbrtowc_l( wchar_t *__restrict pwc, const char *__restrict s,
185 size_t n, mbstate_t *__restrict ps, locale_t loc);
186size_t mbsnrtowcs_l( wchar_t *__restrict dst, const char **__restrict src,
187 size_t nms, size_t len, mbstate_t *__restrict ps, locale_t loc);
188size_t wcsnrtombs_l( char *__restrict dst, const wchar_t **__restrict src,
189 size_t nwc, size_t len, mbstate_t *__restrict ps, locale_t loc);
190wint_t btowc_l( int c, locale_t loc );
191int wctob_l( wint_t c, locale_t loc );
192
193decltype(MB_CUR_MAX) MB_CUR_MAX_L( locale_t __l );
194
195// the *_l functions are prefixed on Windows, only available for msvcr80+, VS2005+
196#define mbtowc_l _mbtowc_l
197#define strtoll_l _strtoi64_l
198#define strtoull_l _strtoui64_l
199#define strtod_l _strtod_l
200#if defined(_LIBCPP_MSVCRT)
201#define strtof_l _strtof_l
202#define strtold_l _strtold_l
203#else
204_LIBCPP_FUNC_VIS float strtof_l(const char*, char**, locale_t);
205_LIBCPP_FUNC_VIS long double strtold_l(const char*, char**, locale_t);
206#endif
207inline _LIBCPP_INLINE_VISIBILITY
208int
209islower_l(int c, _locale_t loc)
210{
211 return _islower_l((int)c, loc);
212}
213
214inline _LIBCPP_INLINE_VISIBILITY
215int
216isupper_l(int c, _locale_t loc)
217{
218 return _isupper_l((int)c, loc);
219}
220
221#define isdigit_l _isdigit_l
222#define isxdigit_l _isxdigit_l
223#define strcoll_l _strcoll_l
224#define strxfrm_l _strxfrm_l
225#define wcscoll_l _wcscoll_l
226#define wcsxfrm_l _wcsxfrm_l
227#define toupper_l _toupper_l
228#define tolower_l _tolower_l
229#define iswspace_l _iswspace_l
230#define iswprint_l _iswprint_l
231#define iswcntrl_l _iswcntrl_l
232#define iswupper_l _iswupper_l
233#define iswlower_l _iswlower_l
234#define iswalpha_l _iswalpha_l
235#define iswdigit_l _iswdigit_l
236#define iswpunct_l _iswpunct_l
237#define iswxdigit_l _iswxdigit_l
238#define towupper_l _towupper_l
239#define towlower_l _towlower_l
240#if defined(__MINGW32__) && __MSVCRT_VERSION__ < 0x0800
241_LIBCPP_FUNC_VIS size_t strftime_l(char *ret, size_t n, const char *format,
242 const struct tm *tm, locale_t loc);
243#else
244#define strftime_l _strftime_l
245#endif
246#define sscanf_l( __s, __l, __f, ...) _sscanf_l( __s, __f, __l, __VA_ARGS__ )
247#define sprintf_l( __s, __l, __f, ... ) _sprintf_l( __s, __f, __l, __VA_ARGS__ )
248#define vsprintf_l( __s, __l, __f, ... ) _vsprintf_l( __s, __f, __l, __VA_ARGS__ )
249#define vsnprintf_l( __s, __n, __l, __f, ... ) _vsnprintf_l( __s, __n, __f, __l, __VA_ARGS__ )
250_LIBCPP_FUNC_VIS int snprintf_l(char *ret, size_t n, locale_t loc, const char *format, ...);
251_LIBCPP_FUNC_VIS int asprintf_l( char **ret, locale_t loc, const char *format, ... );
252_LIBCPP_FUNC_VIS int vasprintf_l( char **ret, locale_t loc, const char *format, va_list ap );
253
254// not-so-pressing FIXME: use locale to determine blank characters
255inline int isblank_l( int c, locale_t /*loc*/ )
256{
257 return ( c == ' ' || c == '\t' );
258}
259inline int iswblank_l( wint_t c, locale_t /*loc*/ )
260{
261 return ( c == L' ' || c == L'\t' );
262}
263
264#endif // _LIBCPP_SUPPORT_WIN32_LOCALE_WIN32_H
lib/libcxx/include/support/xlocale/__nop_locale_mgmt.h deleted-51
...@@ -1,51 +0,0 @@
1// -*- C++ -*-
2//===------------ support/xlocale/__nop_locale_mgmt.h -----------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
11#define _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17// Patch over lack of extended locale support
18typedef void *locale_t;
19static inline locale_t duplocale(locale_t) {
20 return NULL;
21}
22
23static inline void freelocale(locale_t) {
24}
25
26static inline locale_t newlocale(int, const char *, locale_t) {
27 return NULL;
28}
29
30static inline locale_t uselocale(locale_t) {
31 return NULL;
32}
33
34#define LC_COLLATE_MASK (1 << LC_COLLATE)
35#define LC_CTYPE_MASK (1 << LC_CTYPE)
36#define LC_MESSAGES_MASK (1 << LC_MESSAGES)
37#define LC_MONETARY_MASK (1 << LC_MONETARY)
38#define LC_NUMERIC_MASK (1 << LC_NUMERIC)
39#define LC_TIME_MASK (1 << LC_TIME)
40#define LC_ALL_MASK (LC_COLLATE_MASK|\
41 LC_CTYPE_MASK|\
42 LC_MONETARY_MASK|\
43 LC_NUMERIC_MASK|\
44 LC_TIME_MASK|\
45 LC_MESSAGES_MASK)
46
47#ifdef __cplusplus
48} // extern "C"
49#endif
50
51#endif // _LIBCPP_SUPPORT_XLOCALE_NOP_LOCALE_MGMT_H
lib/libcxx/include/support/xlocale/__posix_l_fallback.h deleted-164
...@@ -1,164 +0,0 @@
1// -*- C++ -*-
2//===--------------- support/xlocale/__posix_l_fallback.h -----------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// These are reimplementations of some extended locale functions ( *_l ) that
10// are normally part of POSIX. This shared implementation provides parts of the
11// extended locale support for libc's that normally don't have any (like
12// Android's bionic and Newlib).
13//===----------------------------------------------------------------------===//
14
15#ifndef _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
16#define _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22inline _LIBCPP_INLINE_VISIBILITY int isalnum_l(int c, locale_t) {
23 return ::isalnum(c);
24}
25
26inline _LIBCPP_INLINE_VISIBILITY int isalpha_l(int c, locale_t) {
27 return ::isalpha(c);
28}
29
30inline _LIBCPP_INLINE_VISIBILITY int isblank_l(int c, locale_t) {
31 return ::isblank(c);
32}
33
34inline _LIBCPP_INLINE_VISIBILITY int iscntrl_l(int c, locale_t) {
35 return ::iscntrl(c);
36}
37
38inline _LIBCPP_INLINE_VISIBILITY int isdigit_l(int c, locale_t) {
39 return ::isdigit(c);
40}
41
42inline _LIBCPP_INLINE_VISIBILITY int isgraph_l(int c, locale_t) {
43 return ::isgraph(c);
44}
45
46inline _LIBCPP_INLINE_VISIBILITY int islower_l(int c, locale_t) {
47 return ::islower(c);
48}
49
50inline _LIBCPP_INLINE_VISIBILITY int isprint_l(int c, locale_t) {
51 return ::isprint(c);
52}
53
54inline _LIBCPP_INLINE_VISIBILITY int ispunct_l(int c, locale_t) {
55 return ::ispunct(c);
56}
57
58inline _LIBCPP_INLINE_VISIBILITY int isspace_l(int c, locale_t) {
59 return ::isspace(c);
60}
61
62inline _LIBCPP_INLINE_VISIBILITY int isupper_l(int c, locale_t) {
63 return ::isupper(c);
64}
65
66inline _LIBCPP_INLINE_VISIBILITY int isxdigit_l(int c, locale_t) {
67 return ::isxdigit(c);
68}
69
70inline _LIBCPP_INLINE_VISIBILITY int iswalnum_l(wint_t c, locale_t) {
71 return ::iswalnum(c);
72}
73
74inline _LIBCPP_INLINE_VISIBILITY int iswalpha_l(wint_t c, locale_t) {
75 return ::iswalpha(c);
76}
77
78inline _LIBCPP_INLINE_VISIBILITY int iswblank_l(wint_t c, locale_t) {
79 return ::iswblank(c);
80}
81
82inline _LIBCPP_INLINE_VISIBILITY int iswcntrl_l(wint_t c, locale_t) {
83 return ::iswcntrl(c);
84}
85
86inline _LIBCPP_INLINE_VISIBILITY int iswdigit_l(wint_t c, locale_t) {
87 return ::iswdigit(c);
88}
89
90inline _LIBCPP_INLINE_VISIBILITY int iswgraph_l(wint_t c, locale_t) {
91 return ::iswgraph(c);
92}
93
94inline _LIBCPP_INLINE_VISIBILITY int iswlower_l(wint_t c, locale_t) {
95 return ::iswlower(c);
96}
97
98inline _LIBCPP_INLINE_VISIBILITY int iswprint_l(wint_t c, locale_t) {
99 return ::iswprint(c);
100}
101
102inline _LIBCPP_INLINE_VISIBILITY int iswpunct_l(wint_t c, locale_t) {
103 return ::iswpunct(c);
104}
105
106inline _LIBCPP_INLINE_VISIBILITY int iswspace_l(wint_t c, locale_t) {
107 return ::iswspace(c);
108}
109
110inline _LIBCPP_INLINE_VISIBILITY int iswupper_l(wint_t c, locale_t) {
111 return ::iswupper(c);
112}
113
114inline _LIBCPP_INLINE_VISIBILITY int iswxdigit_l(wint_t c, locale_t) {
115 return ::iswxdigit(c);
116}
117
118inline _LIBCPP_INLINE_VISIBILITY int toupper_l(int c, locale_t) {
119 return ::toupper(c);
120}
121
122inline _LIBCPP_INLINE_VISIBILITY int tolower_l(int c, locale_t) {
123 return ::tolower(c);
124}
125
126inline _LIBCPP_INLINE_VISIBILITY wint_t towupper_l(wint_t c, locale_t) {
127 return ::towupper(c);
128}
129
130inline _LIBCPP_INLINE_VISIBILITY wint_t towlower_l(wint_t c, locale_t) {
131 return ::towlower(c);
132}
133
134inline _LIBCPP_INLINE_VISIBILITY int strcoll_l(const char *s1, const char *s2,
135 locale_t) {
136 return ::strcoll(s1, s2);
137}
138
139inline _LIBCPP_INLINE_VISIBILITY size_t strxfrm_l(char *dest, const char *src,
140 size_t n, locale_t) {
141 return ::strxfrm(dest, src, n);
142}
143
144inline _LIBCPP_INLINE_VISIBILITY size_t strftime_l(char *s, size_t max,
145 const char *format,
146 const struct tm *tm, locale_t) {
147 return ::strftime(s, max, format, tm);
148}
149
150inline _LIBCPP_INLINE_VISIBILITY int wcscoll_l(const wchar_t *ws1,
151 const wchar_t *ws2, locale_t) {
152 return ::wcscoll(ws1, ws2);
153}
154
155inline _LIBCPP_INLINE_VISIBILITY size_t wcsxfrm_l(wchar_t *dest, const wchar_t *src,
156 size_t n, locale_t) {
157 return ::wcsxfrm(dest, src, n);
158}
159
160#ifdef __cplusplus
161}
162#endif
163
164#endif // _LIBCPP_SUPPORT_XLOCALE_POSIX_L_FALLBACK_H
lib/libcxx/include/support/xlocale/__strtonum_fallback.h deleted-66
...@@ -1,66 +0,0 @@
1// -*- C++ -*-
2//===-------------- support/xlocale/__strtonum_fallback.h -----------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9// These are reimplementations of some extended locale functions ( *_l ) that
10// aren't part of POSIX. They are widely available though (GLIBC, BSD, maybe
11// others). The unifying aspect in this case is that all of these functions
12// convert strings to some numeric type.
13//===----------------------------------------------------------------------===//
14
15#ifndef _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
16#define _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22inline _LIBCPP_INLINE_VISIBILITY float strtof_l(const char *nptr,
23 char **endptr, locale_t) {
24 return ::strtof(nptr, endptr);
25}
26
27inline _LIBCPP_INLINE_VISIBILITY double strtod_l(const char *nptr,
28 char **endptr, locale_t) {
29 return ::strtod(nptr, endptr);
30}
31
32inline _LIBCPP_INLINE_VISIBILITY long double strtold_l(const char *nptr,
33 char **endptr, locale_t) {
34 return ::strtold(nptr, endptr);
35}
36
37inline _LIBCPP_INLINE_VISIBILITY long long
38strtoll_l(const char *nptr, char **endptr, int base, locale_t) {
39 return ::strtoll(nptr, endptr, base);
40}
41
42inline _LIBCPP_INLINE_VISIBILITY unsigned long long
43strtoull_l(const char *nptr, char **endptr, int base, locale_t) {
44 return ::strtoull(nptr, endptr, base);
45}
46
47inline _LIBCPP_INLINE_VISIBILITY long long
48wcstoll_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
49 return ::wcstoll(nptr, endptr, base);
50}
51
52inline _LIBCPP_INLINE_VISIBILITY unsigned long long
53wcstoull_l(const wchar_t *nptr, wchar_t **endptr, int base, locale_t) {
54 return ::wcstoull(nptr, endptr, base);
55}
56
57inline _LIBCPP_INLINE_VISIBILITY long double wcstold_l(const wchar_t *nptr,
58 wchar_t **endptr, locale_t) {
59 return ::wcstold(nptr, endptr);
60}
61
62#ifdef __cplusplus
63}
64#endif
65
66#endif // _LIBCPP_SUPPORT_XLOCALE_STRTONUM_FALLBACK_H
lib/libcxx/include/type_traits+44-7
...@@ -51,6 +51,7 @@ namespace std...@@ -51,6 +51,7 @@ namespace std
51 template <class T> struct is_arithmetic;51 template <class T> struct is_arithmetic;
52 template <class T> struct is_fundamental;52 template <class T> struct is_fundamental;
53 template <class T> struct is_member_pointer;53 template <class T> struct is_member_pointer;
54 template <class T> struct is_scoped_enum; // C++2b
54 template <class T> struct is_scalar;55 template <class T> struct is_scalar;
55 template <class T> struct is_object;56 template <class T> struct is_object;
56 template <class T> struct is_compound;57 template <class T> struct is_compound;
...@@ -284,6 +285,8 @@ namespace std...@@ -284,6 +285,8 @@ namespace std
284 = is_compound<T>::value; // C++17285 = is_compound<T>::value; // C++17
285 template <class T> inline constexpr bool is_member_pointer_v286 template <class T> inline constexpr bool is_member_pointer_v
286 = is_member_pointer<T>::value; // C++17287 = is_member_pointer<T>::value; // C++17
288 template <class T> inline constexpr bool is_scoped_enum_v
289 = is_scoped_enum<T>::value; // C++2b
287290
288 // See C++14 20.10.4.3, type properties291 // See C++14 20.10.4.3, type properties
289 template <class T> inline constexpr bool is_const_v292 template <class T> inline constexpr bool is_const_v
...@@ -1662,6 +1665,21 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_base_of_v...@@ -1662,6 +1665,21 @@ _LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_base_of_v
1662 = is_base_of<_Bp, _Dp>::value;1665 = is_base_of<_Bp, _Dp>::value;
1663#endif1666#endif
16641667
1668// __is_core_convertible
1669
1670// [conv.general]/3 says "E is convertible to T" whenever "T t=E;" is well-formed.
1671// We can't test for that, but we can test implicit convertibility by passing it
1672// to a function. Notice that __is_core_convertible<void,void> is false,
1673// and __is_core_convertible<immovable-type,immovable-type> is true in C++17 and later.
1674
1675template <class _Tp, class _Up, class = void>
1676struct __is_core_convertible : public false_type {};
1677
1678template <class _Tp, class _Up>
1679struct __is_core_convertible<_Tp, _Up, decltype(
1680 static_cast<void(*)(_Up)>(0) ( static_cast<_Tp(*)()>(0)() )
1681)> : public true_type {};
1682
1665// is_convertible1683// is_convertible
16661684
1667#if __has_feature(is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)1685#if __has_feature(is_convertible_to) && !defined(_LIBCPP_USE_IS_CONVERTIBLE_FALLBACK)
...@@ -3584,7 +3602,7 @@ auto __invoke_constexpr(__any, _Args&& ...__args) -> __nat;...@@ -3584,7 +3602,7 @@ auto __invoke_constexpr(__any, _Args&& ...__args) -> __nat;
3584template <class _Fp, class _A0, class ..._Args,3602template <class _Fp, class _A0, class ..._Args,
3585 class = __enable_if_bullet1<_Fp, _A0>>3603 class = __enable_if_bullet1<_Fp, _A0>>
3586inline _LIBCPP_INLINE_VISIBILITY3604inline _LIBCPP_INLINE_VISIBILITY
3587auto3605_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3588__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)3606__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
3589_LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...))3607_LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...))
35903608
...@@ -3598,7 +3616,7 @@ _LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__a...@@ -3598,7 +3616,7 @@ _LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__a
3598template <class _Fp, class _A0, class ..._Args,3616template <class _Fp, class _A0, class ..._Args,
3599 class = __enable_if_bullet2<_Fp, _A0>>3617 class = __enable_if_bullet2<_Fp, _A0>>
3600inline _LIBCPP_INLINE_VISIBILITY3618inline _LIBCPP_INLINE_VISIBILITY
3601auto3619_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3602__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)3620__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
3603_LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))3621_LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))
36043622
...@@ -3612,7 +3630,7 @@ _LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))...@@ -3612,7 +3630,7 @@ _LIBCPP_INVOKE_RETURN((__a0.get().*__f)(_VSTD::forward<_Args>(__args)...))
3612template <class _Fp, class _A0, class ..._Args,3630template <class _Fp, class _A0, class ..._Args,
3613 class = __enable_if_bullet3<_Fp, _A0>>3631 class = __enable_if_bullet3<_Fp, _A0>>
3614inline _LIBCPP_INLINE_VISIBILITY3632inline _LIBCPP_INLINE_VISIBILITY
3615auto3633_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3616__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)3634__invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
3617_LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(__args)...))3635_LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(__args)...))
36183636
...@@ -3628,7 +3646,7 @@ _LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(...@@ -3628,7 +3646,7 @@ _LIBCPP_INVOKE_RETURN(((*_VSTD::forward<_A0>(__a0)).*__f)(_VSTD::forward<_Args>(
3628template <class _Fp, class _A0,3646template <class _Fp, class _A0,
3629 class = __enable_if_bullet4<_Fp, _A0>>3647 class = __enable_if_bullet4<_Fp, _A0>>
3630inline _LIBCPP_INLINE_VISIBILITY3648inline _LIBCPP_INLINE_VISIBILITY
3631auto3649_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3632__invoke(_Fp&& __f, _A0&& __a0)3650__invoke(_Fp&& __f, _A0&& __a0)
3633_LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)3651_LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)
36343652
...@@ -3642,7 +3660,7 @@ _LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)...@@ -3642,7 +3660,7 @@ _LIBCPP_INVOKE_RETURN(_VSTD::forward<_A0>(__a0).*__f)
3642template <class _Fp, class _A0,3660template <class _Fp, class _A0,
3643 class = __enable_if_bullet5<_Fp, _A0>>3661 class = __enable_if_bullet5<_Fp, _A0>>
3644inline _LIBCPP_INLINE_VISIBILITY3662inline _LIBCPP_INLINE_VISIBILITY
3645auto3663_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3646__invoke(_Fp&& __f, _A0&& __a0)3664__invoke(_Fp&& __f, _A0&& __a0)
3647_LIBCPP_INVOKE_RETURN(__a0.get().*__f)3665_LIBCPP_INVOKE_RETURN(__a0.get().*__f)
36483666
...@@ -3656,7 +3674,7 @@ _LIBCPP_INVOKE_RETURN(__a0.get().*__f)...@@ -3656,7 +3674,7 @@ _LIBCPP_INVOKE_RETURN(__a0.get().*__f)
3656template <class _Fp, class _A0,3674template <class _Fp, class _A0,
3657 class = __enable_if_bullet6<_Fp, _A0>>3675 class = __enable_if_bullet6<_Fp, _A0>>
3658inline _LIBCPP_INLINE_VISIBILITY3676inline _LIBCPP_INLINE_VISIBILITY
3659auto3677_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3660__invoke(_Fp&& __f, _A0&& __a0)3678__invoke(_Fp&& __f, _A0&& __a0)
3661_LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)3679_LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)
36623680
...@@ -3671,7 +3689,7 @@ _LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)...@@ -3671,7 +3689,7 @@ _LIBCPP_INVOKE_RETURN((*_VSTD::forward<_A0>(__a0)).*__f)
36713689
3672template <class _Fp, class ..._Args>3690template <class _Fp, class ..._Args>
3673inline _LIBCPP_INLINE_VISIBILITY3691inline _LIBCPP_INLINE_VISIBILITY
3674auto3692_LIBCPP_CONSTEXPR_AFTER_CXX17 auto
3675__invoke(_Fp&& __f, _Args&& ...__args)3693__invoke(_Fp&& __f, _Args&& ...__args)
3676_LIBCPP_INVOKE_RETURN(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...))3694_LIBCPP_INVOKE_RETURN(_VSTD::forward<_Fp>(__f)(_VSTD::forward<_Args>(__args)...))
36773695
...@@ -4177,6 +4195,25 @@ struct __has_operator_addressof...@@ -4177,6 +4195,25 @@ struct __has_operator_addressof
41774195
4178#endif // _LIBCPP_CXX03_LANG4196#endif // _LIBCPP_CXX03_LANG
41794197
4198// is_scoped_enum [meta.unary.prop]
4199
4200#if _LIBCPP_STD_VER > 20
4201template <class _Tp, bool = is_enum_v<_Tp> >
4202struct __is_scoped_enum_helper : false_type {};
4203
4204template <class _Tp>
4205struct __is_scoped_enum_helper<_Tp, true>
4206 : public bool_constant<!is_convertible_v<_Tp, underlying_type_t<_Tp> > > {};
4207
4208template <class _Tp>
4209struct _LIBCPP_TEMPLATE_VIS is_scoped_enum
4210 : public __is_scoped_enum_helper<_Tp> {};
4211
4212template <class _Tp>
4213_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_scoped_enum_v =
4214 is_scoped_enum<_Tp>::value;
4215#endif
4216
4180#if _LIBCPP_STD_VER > 144217#if _LIBCPP_STD_VER > 14
41814218
4182template <class... _Args>4219template <class... _Args>
lib/libcxx/include/variant+67-6
...@@ -169,6 +169,9 @@ namespace std {...@@ -169,6 +169,9 @@ namespace std {
169 template <class Visitor, class... Variants>169 template <class Visitor, class... Variants>
170 constexpr see below visit(Visitor&&, Variants&&...);170 constexpr see below visit(Visitor&&, Variants&&...);
171171
172 template <class R, class Visitor, class... Variants>
173 constexpr R visit(Visitor&&, Variants&&...); // since C++20
174
172 // 20.7.7, class monostate175 // 20.7.7, class monostate
173 struct monostate;176 struct monostate;
174177
...@@ -583,6 +586,16 @@ struct __variant {...@@ -583,6 +586,16 @@ struct __variant {
583 __make_value_visitor(_VSTD::forward<_Visitor>(__visitor)),586 __make_value_visitor(_VSTD::forward<_Visitor>(__visitor)),
584 _VSTD::forward<_Vs>(__vs)...);587 _VSTD::forward<_Vs>(__vs)...);
585 }588 }
589#if _LIBCPP_STD_VER > 17
590 template <class _Rp, class _Visitor, class... _Vs>
591 inline _LIBCPP_INLINE_VISIBILITY
592 static constexpr _Rp __visit_value(_Visitor&& __visitor,
593 _Vs&&... __vs) {
594 return __visit_alt(
595 __make_value_visitor<_Rp>(_VSTD::forward<_Visitor>(__visitor)),
596 _VSTD::forward<_Vs>(__vs)...);
597 }
598#endif
586599
587private:600private:
588 template <class _Visitor, class... _Values>601 template <class _Visitor, class... _Values>
...@@ -605,11 +618,42 @@ private:...@@ -605,11 +618,42 @@ private:
605 _Visitor&& __visitor;618 _Visitor&& __visitor;
606 };619 };
607620
621#if _LIBCPP_STD_VER > 17
622 template <class _Rp, class _Visitor>
623 struct __value_visitor_return_type {
624 template <class... _Alts>
625 inline _LIBCPP_INLINE_VISIBILITY
626 constexpr _Rp operator()(_Alts&&... __alts) const {
627 __std_visit_exhaustive_visitor_check<
628 _Visitor,
629 decltype((_VSTD::forward<_Alts>(__alts).__value))...>();
630 if constexpr (is_void_v<_Rp>) {
631 _VSTD::__invoke_constexpr(_VSTD::forward<_Visitor>(__visitor),
632 _VSTD::forward<_Alts>(__alts).__value...);
633 }
634 else {
635 return _VSTD::__invoke_constexpr(_VSTD::forward<_Visitor>(__visitor),
636 _VSTD::forward<_Alts>(__alts).__value...);
637 }
638 }
639
640 _Visitor&& __visitor;
641 };
642#endif
643
608 template <class _Visitor>644 template <class _Visitor>
609 inline _LIBCPP_INLINE_VISIBILITY645 inline _LIBCPP_INLINE_VISIBILITY
610 static constexpr auto __make_value_visitor(_Visitor&& __visitor) {646 static constexpr auto __make_value_visitor(_Visitor&& __visitor) {
611 return __value_visitor<_Visitor>{_VSTD::forward<_Visitor>(__visitor)};647 return __value_visitor<_Visitor>{_VSTD::forward<_Visitor>(__visitor)};
612 }648 }
649
650#if _LIBCPP_STD_VER > 17
651 template <class _Rp, class _Visitor>
652 inline _LIBCPP_INLINE_VISIBILITY
653 static constexpr auto __make_value_visitor(_Visitor&& __visitor) {
654 return __value_visitor_return_type<_Rp, _Visitor>{_VSTD::forward<_Visitor>(__visitor)};
655 }
656#endif
613};657};
614658
615} // namespace __visitation659} // namespace __visitation
...@@ -1591,21 +1635,38 @@ constexpr bool operator>=(const variant<_Types...>& __lhs,...@@ -1591,21 +1635,38 @@ constexpr bool operator>=(const variant<_Types...>& __lhs,
1591 __lhs.index(), __convert_to_bool<greater_equal<>>{}, __lhs, __rhs);1635 __lhs.index(), __convert_to_bool<greater_equal<>>{}, __lhs, __rhs);
1592}1636}
15931637
1638template <class... _Vs>
1639inline _LIBCPP_INLINE_VISIBILITY
1640_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
1641constexpr void __throw_if_valueless(_Vs&&... __vs) {
1642 const bool __valueless = (... || __vs.valueless_by_exception());
1643 if (__valueless) {
1644 __throw_bad_variant_access();
1645 }
1646}
1647
1594template <class _Visitor, class... _Vs>1648template <class _Visitor, class... _Vs>
1595inline _LIBCPP_INLINE_VISIBILITY1649inline _LIBCPP_INLINE_VISIBILITY
1596_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS1650_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
1597constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {1651constexpr decltype(auto) visit(_Visitor&& __visitor, _Vs&&... __vs) {
1598 using __variant_detail::__visitation::__variant;1652 using __variant_detail::__visitation::__variant;
1599 bool __results[] = {__vs.valueless_by_exception()...};1653 _VSTD::__throw_if_valueless(_VSTD::forward<_Vs>(__vs)...);
1600 for (bool __result : __results) {
1601 if (__result) {
1602 __throw_bad_variant_access();
1603 }
1604 }
1605 return __variant::__visit_value(_VSTD::forward<_Visitor>(__visitor),1654 return __variant::__visit_value(_VSTD::forward<_Visitor>(__visitor),
1606 _VSTD::forward<_Vs>(__vs)...);1655 _VSTD::forward<_Vs>(__vs)...);
1607}1656}
16081657
1658#if _LIBCPP_STD_VER > 17
1659template <class _Rp, class _Visitor, class... _Vs>
1660inline _LIBCPP_INLINE_VISIBILITY
1661_LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
1662constexpr _Rp visit(_Visitor&& __visitor, _Vs&&... __vs) {
1663 using __variant_detail::__visitation::__variant;
1664 _VSTD::__throw_if_valueless(_VSTD::forward<_Vs>(__vs)...);
1665 return __variant::__visit_value<_Rp>(_VSTD::forward<_Visitor>(__visitor),
1666 _VSTD::forward<_Vs>(__vs)...);
1667}
1668#endif
1669
1609struct _LIBCPP_TEMPLATE_VIS monostate {};1670struct _LIBCPP_TEMPLATE_VIS monostate {};
16101671
1611inline _LIBCPP_INLINE_VISIBILITY1672inline _LIBCPP_INLINE_VISIBILITY
lib/libcxx/include/version+108-26
...@@ -15,15 +15,16 @@...@@ -15,15 +15,16 @@
1515
16Macro name Value Headers16Macro name Value Headers
17__cpp_lib_addressof_constexpr 201603L <memory>17__cpp_lib_addressof_constexpr 201603L <memory>
18__cpp_lib_allocator_traits_is_always_equal 201411L <memory> <scoped_allocator> <string>18__cpp_lib_allocator_traits_is_always_equal 201411L <deque> <forward_list> <list>
19 <deque> <forward_list> <list>19 <map> <memory> <scoped_allocator>
20 <vector> <map> <set>20 <set> <string> <unordered_map>
21 <unordered_map> <unordered_set>21 <unordered_set> <vector>
22__cpp_lib_any 201606L <any>22__cpp_lib_any 201606L <any>
23__cpp_lib_apply 201603L <tuple>23__cpp_lib_apply 201603L <tuple>
24__cpp_lib_array_constexpr 201811L <iterator> <array>24__cpp_lib_array_constexpr 201811L <array> <iterator>
25 201603L // C++1725 201603L // C++17
26__cpp_lib_as_const 201510L <utility>26__cpp_lib_as_const 201510L <utility>
27__cpp_lib_assume_aligned 201811L <memory>
27__cpp_lib_atomic_flag_test 201907L <atomic>28__cpp_lib_atomic_flag_test 201907L <atomic>
28__cpp_lib_atomic_float 201711L <atomic>29__cpp_lib_atomic_float 201711L <atomic>
29__cpp_lib_atomic_is_always_lock_free 201603L <atomic>30__cpp_lib_atomic_is_always_lock_free 201603L <atomic>
...@@ -32,9 +33,12 @@ __cpp_lib_atomic_ref 201806L <atomic>...@@ -32,9 +33,12 @@ __cpp_lib_atomic_ref 201806L <atomic>
32__cpp_lib_atomic_shared_ptr 201711L <atomic>33__cpp_lib_atomic_shared_ptr 201711L <atomic>
33__cpp_lib_atomic_value_initialization 201911L <atomic> <memory>34__cpp_lib_atomic_value_initialization 201911L <atomic> <memory>
34__cpp_lib_atomic_wait 201907L <atomic>35__cpp_lib_atomic_wait 201907L <atomic>
35__cpp_lib_bind_front 201811L <functional>36__cpp_lib_barrier 201907L <barrier>
37__cpp_lib_bind_front 201907L <functional>
36__cpp_lib_bit_cast 201806L <bit>38__cpp_lib_bit_cast 201806L <bit>
39__cpp_lib_bitops 201907L <bit>
37__cpp_lib_bool_constant 201505L <type_traits>40__cpp_lib_bool_constant 201505L <type_traits>
41__cpp_lib_bounded_array_traits 201902L <type_traits>
38__cpp_lib_boyer_moore_searcher 201603L <functional>42__cpp_lib_boyer_moore_searcher 201603L <functional>
39__cpp_lib_byte 201603L <cstddef>43__cpp_lib_byte 201603L <cstddef>
40__cpp_lib_char8_t 201811L <atomic> <filesystem> <istream>44__cpp_lib_char8_t 201811L <atomic> <filesystem> <istream>
...@@ -44,21 +48,29 @@ __cpp_lib_chrono 201611L <chrono>...@@ -44,21 +48,29 @@ __cpp_lib_chrono 201611L <chrono>
44__cpp_lib_chrono_udls 201304L <chrono>48__cpp_lib_chrono_udls 201304L <chrono>
45__cpp_lib_clamp 201603L <algorithm>49__cpp_lib_clamp 201603L <algorithm>
46__cpp_lib_complex_udls 201309L <complex>50__cpp_lib_complex_udls 201309L <complex>
47__cpp_lib_concepts 201806L <concepts>51__cpp_lib_concepts 202002L <concepts>
52__cpp_lib_constexpr_algorithms 201806L <algorithm>
53__cpp_lib_constexpr_complex 201711L <complex>
48__cpp_lib_constexpr_dynamic_alloc 201907L <memory>54__cpp_lib_constexpr_dynamic_alloc 201907L <memory>
49__cpp_lib_constexpr_misc 201811L <array> <functional> <iterator>55__cpp_lib_constexpr_functional 201907L <functional>
50 <string_view> <tuple> <utility>56__cpp_lib_constexpr_iterator 201811L <iterator>
57__cpp_lib_constexpr_memory 201811L <memory>
51__cpp_lib_constexpr_numeric 201911L <numeric>58__cpp_lib_constexpr_numeric 201911L <numeric>
52__cpp_lib_constexpr_swap_algorithms 201806L <algorithm>59__cpp_lib_constexpr_string 201907L <string>
60__cpp_lib_constexpr_string_view 201811L <string_view>
61__cpp_lib_constexpr_tuple 201811L <tuple>
53__cpp_lib_constexpr_utility 201811L <utility>62__cpp_lib_constexpr_utility 201811L <utility>
63__cpp_lib_constexpr_vector 201907L <vector>
64__cpp_lib_coroutine 201902L <coroutine>
54__cpp_lib_destroying_delete 201806L <new>65__cpp_lib_destroying_delete 201806L <new>
55__cpp_lib_enable_shared_from_this 201603L <memory>66__cpp_lib_enable_shared_from_this 201603L <memory>
56__cpp_lib_endian 201907L <bit>67__cpp_lib_endian 201907L <bit>
57__cpp_lib_erase_if 202002L <string> <deque> <forward_list>68__cpp_lib_erase_if 202002L <deque> <forward_list> <list>
58 <list> <vector> <map>69 <map> <set> <string>
59 <set> <unordered_map> <unordered_set>70 <unordered_map> <unordered_set> <vector>
60__cpp_lib_exchange_function 201304L <utility>71__cpp_lib_exchange_function 201304L <utility>
61__cpp_lib_execution 201603L <execution>72__cpp_lib_execution 201902L <execution>
73 201603L // C++17
62__cpp_lib_filesystem 201703L <filesystem>74__cpp_lib_filesystem 201703L <filesystem>
63__cpp_lib_gcd_lcm 201606L <numeric>75__cpp_lib_gcd_lcm 201606L <numeric>
64__cpp_lib_generic_associative_lookup 201304L <map> <set>76__cpp_lib_generic_associative_lookup 201304L <map> <set>
...@@ -68,16 +80,23 @@ __cpp_lib_has_unique_object_representations 201606L <type_traits>...@@ -68,16 +80,23 @@ __cpp_lib_has_unique_object_representations 201606L <type_traits>
68__cpp_lib_hypot 201603L <cmath>80__cpp_lib_hypot 201603L <cmath>
69__cpp_lib_incomplete_container_elements 201505L <forward_list> <list> <vector>81__cpp_lib_incomplete_container_elements 201505L <forward_list> <list> <vector>
70__cpp_lib_int_pow2 202002L <bit>82__cpp_lib_int_pow2 202002L <bit>
83__cpp_lib_integer_comparison_functions 202002L <utility>
71__cpp_lib_integer_sequence 201304L <utility>84__cpp_lib_integer_sequence 201304L <utility>
72__cpp_lib_integral_constant_callable 201304L <type_traits>85__cpp_lib_integral_constant_callable 201304L <type_traits>
73__cpp_lib_interpolate 201902L <numeric>86__cpp_lib_interpolate 201902L <cmath> <numeric>
74__cpp_lib_invoke 201411L <functional>87__cpp_lib_invoke 201411L <functional>
75__cpp_lib_is_aggregate 201703L <type_traits>88__cpp_lib_is_aggregate 201703L <type_traits>
76__cpp_lib_is_constant_evaluated 201811L <type_traits>89__cpp_lib_is_constant_evaluated 201811L <type_traits>
77__cpp_lib_is_final 201402L <type_traits>90__cpp_lib_is_final 201402L <type_traits>
78__cpp_lib_is_invocable 201703L <type_traits>91__cpp_lib_is_invocable 201703L <type_traits>
92__cpp_lib_is_layout_compatible 201907L <type_traits>
93__cpp_lib_is_nothrow_convertible 201806L <type_traits>
79__cpp_lib_is_null_pointer 201309L <type_traits>94__cpp_lib_is_null_pointer 201309L <type_traits>
95__cpp_lib_is_pointer_interconvertible 201907L <type_traits>
96__cpp_lib_is_scoped_enum 202011L <type_traits>
80__cpp_lib_is_swappable 201603L <type_traits>97__cpp_lib_is_swappable 201603L <type_traits>
98__cpp_lib_jthread 201911L <stop_token> <thread>
99__cpp_lib_latch 201907L <latch>
81__cpp_lib_launder 201606L <new>100__cpp_lib_launder 201606L <new>
82__cpp_lib_list_remove_return_type 201806L <forward_list> <list>101__cpp_lib_list_remove_return_type 201806L <forward_list> <list>
83__cpp_lib_logical_traits 201510L <type_traits>102__cpp_lib_logical_traits 201510L <type_traits>
...@@ -90,40 +109,55 @@ __cpp_lib_math_special_functions 201603L <cmath>...@@ -90,40 +109,55 @@ __cpp_lib_math_special_functions 201603L <cmath>
90__cpp_lib_memory_resource 201603L <memory_resource>109__cpp_lib_memory_resource 201603L <memory_resource>
91__cpp_lib_node_extract 201606L <map> <set> <unordered_map>110__cpp_lib_node_extract 201606L <map> <set> <unordered_map>
92 <unordered_set>111 <unordered_set>
93__cpp_lib_nonmember_container_access 201411L <iterator> <array> <deque>112__cpp_lib_nonmember_container_access 201411L <array> <deque> <forward_list>
94 <forward_list> <list> <map>113 <iterator> <list> <map>
95 <regex> <set> <string>114 <regex> <set> <string>
96 <unordered_map> <unordered_set> <vector>115 <unordered_map> <unordered_set> <vector>
97__cpp_lib_not_fn 201603L <functional>116__cpp_lib_not_fn 201603L <functional>
98__cpp_lib_null_iterators 201304L <iterator>117__cpp_lib_null_iterators 201304L <iterator>
99__cpp_lib_optional 201606L <optional>118__cpp_lib_optional 201606L <optional>
100__cpp_lib_parallel_algorithm 201603L <algorithm> <numeric>119__cpp_lib_parallel_algorithm 201603L <algorithm> <numeric>
120__cpp_lib_polymorphic_allocator 201902L <memory>
101__cpp_lib_quoted_string_io 201304L <iomanip>121__cpp_lib_quoted_string_io 201304L <iomanip>
102__cpp_lib_ranges 201811L <algorithm> <functional> <iterator>122__cpp_lib_ranges 201811L <algorithm> <functional> <iterator>
103 <memory> <ranges>123 <memory> <ranges>
104__cpp_lib_raw_memory_algorithms 201606L <memory>124__cpp_lib_raw_memory_algorithms 201606L <memory>
125__cpp_lib_remove_cvref 201711L <type_traits>
105__cpp_lib_result_of_sfinae 201210L <functional> <type_traits>126__cpp_lib_result_of_sfinae 201210L <functional> <type_traits>
106__cpp_lib_robust_nonmodifying_seq_ops 201304L <algorithm>127__cpp_lib_robust_nonmodifying_seq_ops 201304L <algorithm>
107__cpp_lib_sample 201603L <algorithm>128__cpp_lib_sample 201603L <algorithm>
108__cpp_lib_scoped_lock 201703L <mutex>129__cpp_lib_scoped_lock 201703L <mutex>
130__cpp_lib_semaphore 201907L <semaphore>
109__cpp_lib_shared_mutex 201505L <shared_mutex>131__cpp_lib_shared_mutex 201505L <shared_mutex>
110__cpp_lib_shared_ptr_arrays 201611L <memory>132__cpp_lib_shared_ptr_arrays 201611L <memory>
111__cpp_lib_shared_ptr_weak_type 201606L <memory>133__cpp_lib_shared_ptr_weak_type 201606L <memory>
112__cpp_lib_shared_timed_mutex 201402L <shared_mutex>134__cpp_lib_shared_timed_mutex 201402L <shared_mutex>
135__cpp_lib_shift 201806L <algorithm>
136__cpp_lib_smart_ptr_for_overwrite 202002L <memory>
137__cpp_lib_source_location 201907L <source_location>
113__cpp_lib_span 202002L <span>138__cpp_lib_span 202002L <span>
139__cpp_lib_ssize 201902L <iterator>
140__cpp_lib_stacktrace 202011L <stacktrace>
141__cpp_lib_starts_ends_with 201711L <string> <string_view>
142__cpp_lib_stdatomic_h 202011L <stdatomic.h>
143__cpp_lib_string_contains 202011L <string> <string_view>
114__cpp_lib_string_udls 201304L <string>144__cpp_lib_string_udls 201304L <string>
115__cpp_lib_string_view 201606L <string> <string_view>145__cpp_lib_string_view 201803L <string> <string_view>
116__cpp_lib_three_way_comparison 201711L <compare>146 201606L // C++17
147__cpp_lib_syncbuf 201803L <syncstream>
148__cpp_lib_three_way_comparison 201907L <compare>
149__cpp_lib_to_address 201711L <memory>
117__cpp_lib_to_array 201907L <array>150__cpp_lib_to_array 201907L <array>
118__cpp_lib_to_chars 201611L <utility>151__cpp_lib_to_chars 201611L <utility>
119__cpp_lib_transformation_trait_aliases 201304L <type_traits>152__cpp_lib_transformation_trait_aliases 201304L <type_traits>
120__cpp_lib_transparent_operators 201510L <functional>153__cpp_lib_transparent_operators 201510L <functional> <memory>
121 201210L // C++14154 201210L // C++14
122__cpp_lib_tuple_element_t 201402L <tuple>155__cpp_lib_tuple_element_t 201402L <tuple>
123__cpp_lib_tuples_by_type 201304L <utility> <tuple>156__cpp_lib_tuples_by_type 201304L <tuple> <utility>
124__cpp_lib_type_trait_variable_templates 201510L <type_traits>157__cpp_lib_type_trait_variable_templates 201510L <type_traits>
125__cpp_lib_uncaught_exceptions 201411L <exception>158__cpp_lib_uncaught_exceptions 201411L <exception>
126__cpp_lib_unordered_map_try_emplace 201411L <unordered_map>159__cpp_lib_unordered_map_try_emplace 201411L <unordered_map>
160__cpp_lib_unwrap_ref 201811L <functional>
127__cpp_lib_variant 201606L <variant>161__cpp_lib_variant 201606L <variant>
128__cpp_lib_void_t 201411L <type_traits>162__cpp_lib_void_t 201411L <type_traits>
129163
...@@ -226,6 +260,7 @@ __cpp_lib_void_t 201411L <type_traits>...@@ -226,6 +260,7 @@ __cpp_lib_void_t 201411L <type_traits>
226#if _LIBCPP_STD_VER > 17260#if _LIBCPP_STD_VER > 17
227# undef __cpp_lib_array_constexpr261# undef __cpp_lib_array_constexpr
228# define __cpp_lib_array_constexpr 201811L262# define __cpp_lib_array_constexpr 201811L
263// # define __cpp_lib_assume_aligned 201811L
229# if !defined(_LIBCPP_HAS_NO_THREADS)264# if !defined(_LIBCPP_HAS_NO_THREADS)
230# define __cpp_lib_atomic_flag_test 201907L265# define __cpp_lib_atomic_flag_test 201907L
231# endif266# endif
...@@ -247,36 +282,83 @@ __cpp_lib_void_t 201411L <type_traits>...@@ -247,36 +282,83 @@ __cpp_lib_void_t 201411L <type_traits>
247# if !defined(_LIBCPP_HAS_NO_THREADS)282# if !defined(_LIBCPP_HAS_NO_THREADS)
248# define __cpp_lib_atomic_wait 201907L283# define __cpp_lib_atomic_wait 201907L
249# endif284# endif
250// # define __cpp_lib_bind_front 201811L285# if !defined(_LIBCPP_HAS_NO_THREADS)
286# define __cpp_lib_barrier 201907L
287# endif
288// # define __cpp_lib_bind_front 201907L
251// # define __cpp_lib_bit_cast 201806L289// # define __cpp_lib_bit_cast 201806L
290// # define __cpp_lib_bitops 201907L
291# define __cpp_lib_bounded_array_traits 201902L
252# if !defined(_LIBCPP_NO_HAS_CHAR8_T)292# if !defined(_LIBCPP_NO_HAS_CHAR8_T)
253# define __cpp_lib_char8_t 201811L293# define __cpp_lib_char8_t 201811L
254# endif294# endif
255// # define __cpp_lib_concepts 201806L295// # define __cpp_lib_concepts 202002L
296// # define __cpp_lib_constexpr_algorithms 201806L
297// # define __cpp_lib_constexpr_complex 201711L
256# define __cpp_lib_constexpr_dynamic_alloc 201907L298# define __cpp_lib_constexpr_dynamic_alloc 201907L
257// # define __cpp_lib_constexpr_misc 201811L299# define __cpp_lib_constexpr_functional 201907L
300// # define __cpp_lib_constexpr_iterator 201811L
301// # define __cpp_lib_constexpr_memory 201811L
258# define __cpp_lib_constexpr_numeric 201911L302# define __cpp_lib_constexpr_numeric 201911L
259// # define __cpp_lib_constexpr_swap_algorithms 201806L303// # define __cpp_lib_constexpr_string 201907L
304// # define __cpp_lib_constexpr_string_view 201811L
305// # define __cpp_lib_constexpr_tuple 201811L
260# define __cpp_lib_constexpr_utility 201811L306# define __cpp_lib_constexpr_utility 201811L
307// # define __cpp_lib_constexpr_vector 201907L
308// # define __cpp_lib_coroutine 201902L
261# if _LIBCPP_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L309# if _LIBCPP_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
262# define __cpp_lib_destroying_delete 201806L310# define __cpp_lib_destroying_delete 201806L
263# endif311# endif
264# define __cpp_lib_endian 201907L312# define __cpp_lib_endian 201907L
265# define __cpp_lib_erase_if 202002L313# define __cpp_lib_erase_if 202002L
314# undef __cpp_lib_execution
315// # define __cpp_lib_execution 201902L
266# define __cpp_lib_generic_unordered_lookup 201811L316# define __cpp_lib_generic_unordered_lookup 201811L
267# define __cpp_lib_int_pow2 202002L317# define __cpp_lib_int_pow2 202002L
318// # define __cpp_lib_integer_comparison_functions 202002L
268# define __cpp_lib_interpolate 201902L319# define __cpp_lib_interpolate 201902L
269# if !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)320# if !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
270# define __cpp_lib_is_constant_evaluated 201811L321# define __cpp_lib_is_constant_evaluated 201811L
271# endif322# endif
323// # define __cpp_lib_is_layout_compatible 201907L
324# define __cpp_lib_is_nothrow_convertible 201806L
325// # define __cpp_lib_is_pointer_interconvertible 201907L
326# if !defined(_LIBCPP_HAS_NO_THREADS)
327// # define __cpp_lib_jthread 201911L
328# endif
329# if !defined(_LIBCPP_HAS_NO_THREADS)
330# define __cpp_lib_latch 201907L
331# endif
272# define __cpp_lib_list_remove_return_type 201806L332# define __cpp_lib_list_remove_return_type 201806L
273# if defined(__cpp_concepts) && __cpp_concepts >= 201811L333# if defined(__cpp_concepts) && __cpp_concepts >= 201811L
274# define __cpp_lib_math_constants 201907L334# define __cpp_lib_math_constants 201907L
275# endif335# endif
336// # define __cpp_lib_polymorphic_allocator 201902L
276// # define __cpp_lib_ranges 201811L337// # define __cpp_lib_ranges 201811L
338# define __cpp_lib_remove_cvref 201711L
339# if !defined(_LIBCPP_HAS_NO_THREADS)
340# define __cpp_lib_semaphore 201907L
341# endif
342# define __cpp_lib_shift 201806L
343// # define __cpp_lib_smart_ptr_for_overwrite 202002L
344// # define __cpp_lib_source_location 201907L
277# define __cpp_lib_span 202002L345# define __cpp_lib_span 202002L
278// # define __cpp_lib_three_way_comparison 201711L346# define __cpp_lib_ssize 201902L
347# define __cpp_lib_starts_ends_with 201711L
348# undef __cpp_lib_string_view
349# define __cpp_lib_string_view 201803L
350// # define __cpp_lib_syncbuf 201803L
351// # define __cpp_lib_three_way_comparison 201907L
352# define __cpp_lib_to_address 201711L
279# define __cpp_lib_to_array 201907L353# define __cpp_lib_to_array 201907L
354# define __cpp_lib_unwrap_ref 201811L
355#endif
356
357#if _LIBCPP_STD_VER > 20
358# define __cpp_lib_is_scoped_enum 202011L
359// # define __cpp_lib_stacktrace 202011L
360// # define __cpp_lib_stdatomic_h 202011L
361# define __cpp_lib_string_contains 202011L
280#endif362#endif
281363
282#endif // _LIBCPP_VERSIONH364#endif // _LIBCPP_VERSIONH
lib/libcxx/src/atomic.cpp+6
...@@ -19,6 +19,12 @@...@@ -19,6 +19,12 @@
19#include <linux/futex.h>19#include <linux/futex.h>
20#include <sys/syscall.h>20#include <sys/syscall.h>
2121
22// libc++ uses SYS_futex as a universal syscall name. However, on 32 bit architectures
23// with a 64 bit time_t, we need to specify SYS_futex_time64.
24#if !defined(SYS_futex) && defined(SYS_futex_time64)
25# define SYS_futex SYS_futex_time64
26#endif
27
22#else // <- Add other operating systems here28#else // <- Add other operating systems here
2329
24// Baseline needs no new headers30// Baseline needs no new headers
lib/libcxx/src/chrono.cpp+63-1
...@@ -33,6 +33,10 @@...@@ -33,6 +33,10 @@
33# endif33# endif
34#endif // defined(_LIBCPP_WIN32API)34#endif // defined(_LIBCPP_WIN32API)
3535
36#if __has_include(<mach/mach_time.h>)
37# include <mach/mach_time.h>
38#endif
39
36#if defined(__ELF__) && defined(_LIBCPP_LINK_RT_LIB)40#if defined(__ELF__) && defined(_LIBCPP_LINK_RT_LIB)
37# pragma comment(lib, "rt")41# pragma comment(lib, "rt")
38#endif42#endif
...@@ -121,6 +125,59 @@ system_clock::from_time_t(time_t t) _NOEXCEPT...@@ -121,6 +125,59 @@ system_clock::from_time_t(time_t t) _NOEXCEPT
121125
122#if defined(__APPLE__)126#if defined(__APPLE__)
123127
128// TODO(ldionne):
129// This old implementation of steady_clock is retained until Chrome drops supports
130// for macOS < 10.12. The issue is that they link libc++ statically into their
131// application, which means that libc++ must support being built for such deployment
132// targets. See https://llvm.org/D74489 for details.
133#if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101200) || \
134 (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 100000) || \
135 (defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 100000) || \
136 (defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 30000)
137# define _LIBCPP_USE_OLD_MACH_ABSOLUTE_TIME
138#endif
139
140#if defined(_LIBCPP_USE_OLD_MACH_ABSOLUTE_TIME)
141
142// mach_absolute_time() * MachInfo.numer / MachInfo.denom is the number of
143// nanoseconds since the computer booted up. MachInfo.numer and MachInfo.denom
144// are run time constants supplied by the OS. This clock has no relationship
145// to the Gregorian calendar. It's main use is as a high resolution timer.
146
147// MachInfo.numer / MachInfo.denom is often 1 on the latest equipment. Specialize
148// for that case as an optimization.
149
150static steady_clock::rep steady_simplified() {
151 return static_cast<steady_clock::rep>(mach_absolute_time());
152}
153static double compute_steady_factor() {
154 mach_timebase_info_data_t MachInfo;
155 mach_timebase_info(&MachInfo);
156 return static_cast<double>(MachInfo.numer) / MachInfo.denom;
157}
158
159static steady_clock::rep steady_full() {
160 static const double factor = compute_steady_factor();
161 return static_cast<steady_clock::rep>(mach_absolute_time() * factor);
162}
163
164typedef steady_clock::rep (*FP)();
165
166static FP init_steady_clock() {
167 mach_timebase_info_data_t MachInfo;
168 mach_timebase_info(&MachInfo);
169 if (MachInfo.numer == MachInfo.denom)
170 return &steady_simplified;
171 return &steady_full;
172}
173
174static steady_clock::time_point __libcpp_steady_clock_now() {
175 static FP fp = init_steady_clock();
176 return steady_clock::time_point(steady_clock::duration(fp()));
177}
178
179#else // vvvvv default behavior for Apple platforms vvvvv
180
124// On Apple platforms, only CLOCK_UPTIME_RAW, CLOCK_MONOTONIC_RAW or181// On Apple platforms, only CLOCK_UPTIME_RAW, CLOCK_MONOTONIC_RAW or
125// mach_absolute_time are able to time functions in the nanosecond range.182// mach_absolute_time are able to time functions in the nanosecond range.
126// Furthermore, only CLOCK_MONOTONIC_RAW is truly monotonic, because it183// Furthermore, only CLOCK_MONOTONIC_RAW is truly monotonic, because it
...@@ -133,6 +190,8 @@ static steady_clock::time_point __libcpp_steady_clock_now() {...@@ -133,6 +190,8 @@ static steady_clock::time_point __libcpp_steady_clock_now() {
133 return steady_clock::time_point(seconds(tp.tv_sec) + nanoseconds(tp.tv_nsec));190 return steady_clock::time_point(seconds(tp.tv_sec) + nanoseconds(tp.tv_nsec));
134}191}
135192
193#endif
194
136#elif defined(_LIBCPP_WIN32API)195#elif defined(_LIBCPP_WIN32API)
137196
138// https://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx says:197// https://msdn.microsoft.com/en-us/library/windows/desktop/ms644905(v=vs.85).aspx says:
...@@ -153,7 +212,10 @@ static steady_clock::time_point __libcpp_steady_clock_now() {...@@ -153,7 +212,10 @@ static steady_clock::time_point __libcpp_steady_clock_now() {
153212
154 LARGE_INTEGER counter;213 LARGE_INTEGER counter;
155 (void) QueryPerformanceCounter(&counter);214 (void) QueryPerformanceCounter(&counter);
156 return steady_clock::time_point(steady_clock::duration(counter.QuadPart * nano::den / freq.QuadPart));215 auto seconds = counter.QuadPart / freq.QuadPart;
216 auto fractions = counter.QuadPart % freq.QuadPart;
217 auto dur = seconds * nano::den + fractions * nano::den / freq.QuadPart;
218 return steady_clock::time_point(steady_clock::duration(dur));
157}219}
158220
159#elif defined(CLOCK_MONOTONIC)221#elif defined(CLOCK_MONOTONIC)
lib/libcxx/src/filesystem/directory_iterator.cpp+39-24
...@@ -10,6 +10,7 @@...@@ -10,6 +10,7 @@
10#include "__config"10#include "__config"
11#if defined(_LIBCPP_WIN32API)11#if defined(_LIBCPP_WIN32API)
12#define WIN32_LEAN_AND_MEAN12#define WIN32_LEAN_AND_MEAN
13#define NOMINMAX
13#include <windows.h>14#include <windows.h>
14#else15#else
15#include <dirent.h>16#include <dirent.h>
...@@ -72,16 +73,20 @@ static pair<string_view, file_type> posix_readdir(DIR* dir_stream,...@@ -72,16 +73,20 @@ static pair<string_view, file_type> posix_readdir(DIR* dir_stream,
72 }73 }
73}74}
74#else75#else
76// defined(_LIBCPP_WIN32API)
7577
76static file_type get_file_type(const WIN32_FIND_DATA& data) {78static file_type get_file_type(const WIN32_FIND_DATAW& data) {
77 //auto attrs = data.dwFileAttributes;79 if (data.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT &&
78 // FIXME(EricWF)80 data.dwReserved0 == IO_REPARSE_TAG_SYMLINK)
79 return file_type::unknown;81 return file_type::symlink;
82 if (data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
83 return file_type::directory;
84 return file_type::regular;
80}85}
81static uintmax_t get_file_size(const WIN32_FIND_DATA& data) {86static uintmax_t get_file_size(const WIN32_FIND_DATAW& data) {
82 return (data.nFileSizeHigh * (MAXDWORD + 1)) + data.nFileSizeLow;87 return (static_cast<uint64_t>(data.nFileSizeHigh) << 32) + data.nFileSizeLow;
83}88}
84static file_time_type get_write_time(const WIN32_FIND_DATA& data) {89static file_time_type get_write_time(const WIN32_FIND_DATAW& data) {
85 ULARGE_INTEGER tmp;90 ULARGE_INTEGER tmp;
86 const FILETIME& time = data.ftLastWriteTime;91 const FILETIME& time = data.ftLastWriteTime;
87 tmp.u.LowPart = time.dwLowDateTime;92 tmp.u.LowPart = time.dwLowDateTime;
...@@ -110,15 +115,21 @@ public:...@@ -110,15 +115,21 @@ public:
110115
111 __dir_stream(const path& root, directory_options opts, error_code& ec)116 __dir_stream(const path& root, directory_options opts, error_code& ec)
112 : __stream_(INVALID_HANDLE_VALUE), __root_(root) {117 : __stream_(INVALID_HANDLE_VALUE), __root_(root) {
113 __stream_ = ::FindFirstFile(root.c_str(), &__data_);118 if (root.native().empty()) {
119 ec = make_error_code(errc::no_such_file_or_directory);
120 return;
121 }
122 __stream_ = ::FindFirstFileW((root / "*").c_str(), &__data_);
114 if (__stream_ == INVALID_HANDLE_VALUE) {123 if (__stream_ == INVALID_HANDLE_VALUE) {
115 ec = error_code(::GetLastError(), generic_category());124 ec = detail::make_windows_error(GetLastError());
116 const bool ignore_permission_denied =125 const bool ignore_permission_denied =
117 bool(opts & directory_options::skip_permission_denied);126 bool(opts & directory_options::skip_permission_denied);
118 if (ignore_permission_denied && ec.value() == ERROR_ACCESS_DENIED)127 if (ignore_permission_denied && ec.value() == ERROR_ACCESS_DENIED)
119 ec.clear();128 ec.clear();
120 return;129 return;
121 }130 }
131 if (!assign())
132 advance(ec);
122 }133 }
123134
124 ~__dir_stream() noexcept {135 ~__dir_stream() noexcept {
...@@ -130,35 +141,39 @@ public:...@@ -130,35 +141,39 @@ public:
130 bool good() const noexcept { return __stream_ != INVALID_HANDLE_VALUE; }141 bool good() const noexcept { return __stream_ != INVALID_HANDLE_VALUE; }
131142
132 bool advance(error_code& ec) {143 bool advance(error_code& ec) {
133 while (::FindNextFile(__stream_, &__data_)) {144 while (::FindNextFileW(__stream_, &__data_)) {
134 if (!strcmp(__data_.cFileName, ".") || strcmp(__data_.cFileName, ".."))145 if (assign())
135 continue;146 return true;
136 // FIXME: Cache more of this
137 //directory_entry::__cached_data cdata;
138 //cdata.__type_ = get_file_type(__data_);
139 //cdata.__size_ = get_file_size(__data_);
140 //cdata.__write_time_ = get_write_time(__data_);
141 __entry_.__assign_iter_entry(
142 __root_ / __data_.cFileName,
143 directory_entry::__create_iter_result(detail::get_file_type(__data)));
144 return true;
145 }147 }
146 ec = error_code(::GetLastError(), generic_category());
147 close();148 close();
148 return false;149 return false;
149 }150 }
150151
152 bool assign() {
153 if (!wcscmp(__data_.cFileName, L".") || !wcscmp(__data_.cFileName, L".."))
154 return false;
155 // FIXME: Cache more of this
156 //directory_entry::__cached_data cdata;
157 //cdata.__type_ = get_file_type(__data_);
158 //cdata.__size_ = get_file_size(__data_);
159 //cdata.__write_time_ = get_write_time(__data_);
160 __entry_.__assign_iter_entry(
161 __root_ / __data_.cFileName,
162 directory_entry::__create_iter_result(detail::get_file_type(__data_)));
163 return true;
164 }
165
151private:166private:
152 error_code close() noexcept {167 error_code close() noexcept {
153 error_code ec;168 error_code ec;
154 if (!::FindClose(__stream_))169 if (!::FindClose(__stream_))
155 ec = error_code(::GetLastError(), generic_category());170 ec = detail::make_windows_error(GetLastError());
156 __stream_ = INVALID_HANDLE_VALUE;171 __stream_ = INVALID_HANDLE_VALUE;
157 return ec;172 return ec;
158 }173 }
159174
160 HANDLE __stream_{INVALID_HANDLE_VALUE};175 HANDLE __stream_{INVALID_HANDLE_VALUE};
161 WIN32_FIND_DATA __data_;176 WIN32_FIND_DATAW __data_;
162177
163public:178public:
164 path __root_;179 path __root_;
lib/libcxx/src/filesystem/filesystem_common.h+33-7
...@@ -17,11 +17,13 @@...@@ -17,11 +17,13 @@
17#include "cstdlib"17#include "cstdlib"
18#include "ctime"18#include "ctime"
1919
20#include <unistd.h>20#if !defined(_LIBCPP_WIN32API)
21#include <sys/stat.h>21# include <unistd.h>
22#include <sys/statvfs.h>22# include <sys/stat.h>
23#include <sys/time.h> // for ::utimes as used in __last_write_time23# include <sys/statvfs.h>
24#include <fcntl.h> /* values for fchmodat */24# include <sys/time.h> // for ::utimes as used in __last_write_time
25# include <fcntl.h> /* values for fchmodat */
26#endif
2527
26#include "../include/apple_availability.h"28#include "../include/apple_availability.h"
2729
...@@ -38,9 +40,21 @@...@@ -38,9 +40,21 @@
38#pragma GCC diagnostic ignored "-Wunused-function"40#pragma GCC diagnostic ignored "-Wunused-function"
39#endif41#endif
4042
43#if defined(_LIBCPP_WIN32API)
44#define PS(x) (L##x)
45#else
46#define PS(x) (x)
47#endif
48
41_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM49_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
4250
43namespace detail {51namespace detail {
52
53#if defined(_LIBCPP_WIN32API)
54// Non anonymous, to allow access from two translation units.
55errc __win_err_to_errc(int err);
56#endif
57
44namespace {58namespace {
4559
46static string format_string_imp(const char* msg, ...) {60static string format_string_imp(const char* msg, ...) {
...@@ -94,8 +108,8 @@ static string format_string_imp(const char* msg, ...) {...@@ -94,8 +108,8 @@ static string format_string_imp(const char* msg, ...) {
94 return result;108 return result;
95}109}
96110
97const char* unwrap(string const& s) { return s.c_str(); }111const path::value_type* unwrap(path::string_type const& s) { return s.c_str(); }
98const char* unwrap(path const& p) { return p.native().c_str(); }112const path::value_type* unwrap(path const& p) { return p.native().c_str(); }
99template <class Arg>113template <class Arg>
100Arg const& unwrap(Arg const& a) {114Arg const& unwrap(Arg const& a) {
101 static_assert(!is_class<Arg>::value, "cannot pass class here");115 static_assert(!is_class<Arg>::value, "cannot pass class here");
...@@ -112,6 +126,12 @@ error_code capture_errno() {...@@ -112,6 +126,12 @@ error_code capture_errno() {
112 return error_code(errno, generic_category());126 return error_code(errno, generic_category());
113}127}
114128
129#if defined(_LIBCPP_WIN32API)
130error_code make_windows_error(int err) {
131 return make_error_code(__win_err_to_errc(err));
132}
133#endif
134
115template <class T>135template <class T>
116T error_value();136T error_value();
117template <>137template <>
...@@ -120,6 +140,12 @@ template <>...@@ -120,6 +140,12 @@ template <>
120bool error_value<bool>() {140bool error_value<bool>() {
121 return false;141 return false;
122}142}
143#if __SIZEOF_SIZE_T__ != __SIZEOF_LONG_LONG__
144template <>
145size_t error_value<size_t>() {
146 return size_t(-1);
147}
148#endif
123template <>149template <>
124uintmax_t error_value<uintmax_t>() {150uintmax_t error_value<uintmax_t>() {
125 return uintmax_t(-1);151 return uintmax_t(-1);
lib/libcxx/src/filesystem/operations.cpp+164-33
...@@ -17,9 +17,15 @@...@@ -17,9 +17,15 @@
1717
18#include "filesystem_common.h"18#include "filesystem_common.h"
1919
20#include <unistd.h>20#if defined(_LIBCPP_WIN32API)
21#include <sys/stat.h>21# define WIN32_LEAN_AND_MEAN
22#include <sys/statvfs.h>22# define NOMINMAX
23# include <windows.h>
24#else
25# include <unistd.h>
26# include <sys/stat.h>
27# include <sys/statvfs.h>
28#endif
23#include <time.h>29#include <time.h>
24#include <fcntl.h> /* values for fchmodat */30#include <fcntl.h> /* values for fchmodat */
2531
...@@ -45,6 +51,17 @@...@@ -45,6 +51,17 @@
45_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM51_LIBCPP_BEGIN_NAMESPACE_FILESYSTEM
4652
47namespace {53namespace {
54
55bool isSeparator(path::value_type C) {
56 if (C == '/')
57 return true;
58#if defined(_LIBCPP_WIN32API)
59 if (C == '\\')
60 return true;
61#endif
62 return false;
63}
64
48namespace parser {65namespace parser {
4966
50using string_view_t = path::__string_view;67using string_view_t = path::__string_view;
...@@ -171,11 +188,14 @@ public:...@@ -171,11 +188,14 @@ public:
171 switch (State) {188 switch (State) {
172 case PS_BeforeBegin:189 case PS_BeforeBegin:
173 case PS_AtEnd:190 case PS_AtEnd:
174 return "";191 return PS("");
175 case PS_InRootDir:192 case PS_InRootDir:
176 return "/";193 if (RawEntry[0] == '\\')
194 return PS("\\");
195 else
196 return PS("/");
177 case PS_InTrailingSep:197 case PS_InTrailingSep:
178 return "";198 return PS("");
179 case PS_InRootName:199 case PS_InRootName:
180 case PS_InFilenames:200 case PS_InFilenames:
181 return RawEntry;201 return RawEntry;
...@@ -262,29 +282,29 @@ private:...@@ -262,29 +282,29 @@ private:
262 }282 }
263283
264 PosPtr consumeSeparator(PosPtr P, PosPtr End) const noexcept {284 PosPtr consumeSeparator(PosPtr P, PosPtr End) const noexcept {
265 if (P == End || *P != '/')285 if (P == End || !isSeparator(*P))
266 return nullptr;286 return nullptr;
267 const int Inc = P < End ? 1 : -1;287 const int Inc = P < End ? 1 : -1;
268 P += Inc;288 P += Inc;
269 while (P != End && *P == '/')289 while (P != End && isSeparator(*P))
270 P += Inc;290 P += Inc;
271 return P;291 return P;
272 }292 }
273293
274 PosPtr consumeName(PosPtr P, PosPtr End) const noexcept {294 PosPtr consumeName(PosPtr P, PosPtr End) const noexcept {
275 if (P == End || *P == '/')295 if (P == End || isSeparator(*P))
276 return nullptr;296 return nullptr;
277 const int Inc = P < End ? 1 : -1;297 const int Inc = P < End ? 1 : -1;
278 P += Inc;298 P += Inc;
279 while (P != End && *P != '/')299 while (P != End && !isSeparator(*P))
280 P += Inc;300 P += Inc;
281 return P;301 return P;
282 }302 }
283};303};
284304
285string_view_pair separate_filename(string_view_t const& s) {305string_view_pair separate_filename(string_view_t const& s) {
286 if (s == "." || s == ".." || s.empty())306 if (s == PS(".") || s == PS("..") || s.empty())
287 return string_view_pair{s, ""};307 return string_view_pair{s, PS("")};
288 auto pos = s.find_last_of('.');308 auto pos = s.find_last_of('.');
289 if (pos == string_view_t::npos || pos == 0)309 if (pos == string_view_t::npos || pos == 0)
290 return string_view_pair{s, string_view_t{}};310 return string_view_pair{s, string_view_t{}};
...@@ -300,6 +320,73 @@ string_view_t createView(PosPtr S, PosPtr E) noexcept {...@@ -300,6 +320,73 @@ string_view_t createView(PosPtr S, PosPtr E) noexcept {
300320
301// POSIX HELPERS321// POSIX HELPERS
302322
323#if defined(_LIBCPP_WIN32API)
324namespace detail {
325
326errc __win_err_to_errc(int err) {
327 constexpr struct {
328 DWORD win;
329 errc errc;
330 } win_error_mapping[] = {
331 {ERROR_ACCESS_DENIED, errc::permission_denied},
332 {ERROR_ALREADY_EXISTS, errc::file_exists},
333 {ERROR_BAD_NETPATH, errc::no_such_file_or_directory},
334 {ERROR_BAD_UNIT, errc::no_such_device},
335 {ERROR_BROKEN_PIPE, errc::broken_pipe},
336 {ERROR_BUFFER_OVERFLOW, errc::filename_too_long},
337 {ERROR_BUSY, errc::device_or_resource_busy},
338 {ERROR_BUSY_DRIVE, errc::device_or_resource_busy},
339 {ERROR_CANNOT_MAKE, errc::permission_denied},
340 {ERROR_CANTOPEN, errc::io_error},
341 {ERROR_CANTREAD, errc::io_error},
342 {ERROR_CANTWRITE, errc::io_error},
343 {ERROR_CURRENT_DIRECTORY, errc::permission_denied},
344 {ERROR_DEV_NOT_EXIST, errc::no_such_device},
345 {ERROR_DEVICE_IN_USE, errc::device_or_resource_busy},
346 {ERROR_DIR_NOT_EMPTY, errc::directory_not_empty},
347 {ERROR_DIRECTORY, errc::invalid_argument},
348 {ERROR_DISK_FULL, errc::no_space_on_device},
349 {ERROR_FILE_EXISTS, errc::file_exists},
350 {ERROR_FILE_NOT_FOUND, errc::no_such_file_or_directory},
351 {ERROR_HANDLE_DISK_FULL, errc::no_space_on_device},
352 {ERROR_INVALID_ACCESS, errc::permission_denied},
353 {ERROR_INVALID_DRIVE, errc::no_such_device},
354 {ERROR_INVALID_FUNCTION, errc::function_not_supported},
355 {ERROR_INVALID_HANDLE, errc::invalid_argument},
356 {ERROR_INVALID_NAME, errc::no_such_file_or_directory},
357 {ERROR_INVALID_PARAMETER, errc::invalid_argument},
358 {ERROR_LOCK_VIOLATION, errc::no_lock_available},
359 {ERROR_LOCKED, errc::no_lock_available},
360 {ERROR_NEGATIVE_SEEK, errc::invalid_argument},
361 {ERROR_NOACCESS, errc::permission_denied},
362 {ERROR_NOT_ENOUGH_MEMORY, errc::not_enough_memory},
363 {ERROR_NOT_READY, errc::resource_unavailable_try_again},
364 {ERROR_NOT_SAME_DEVICE, errc::cross_device_link},
365 {ERROR_NOT_SUPPORTED, errc::not_supported},
366 {ERROR_OPEN_FAILED, errc::io_error},
367 {ERROR_OPEN_FILES, errc::device_or_resource_busy},
368 {ERROR_OPERATION_ABORTED, errc::operation_canceled},
369 {ERROR_OUTOFMEMORY, errc::not_enough_memory},
370 {ERROR_PATH_NOT_FOUND, errc::no_such_file_or_directory},
371 {ERROR_READ_FAULT, errc::io_error},
372 {ERROR_REPARSE_TAG_INVALID, errc::invalid_argument},
373 {ERROR_RETRY, errc::resource_unavailable_try_again},
374 {ERROR_SEEK, errc::io_error},
375 {ERROR_SHARING_VIOLATION, errc::permission_denied},
376 {ERROR_TOO_MANY_OPEN_FILES, errc::too_many_files_open},
377 {ERROR_WRITE_FAULT, errc::io_error},
378 {ERROR_WRITE_PROTECT, errc::permission_denied},
379 };
380
381 for (const auto &pair : win_error_mapping)
382 if (pair.win == static_cast<DWORD>(err))
383 return pair.errc;
384 return errc::invalid_argument;
385}
386
387} // namespace detail
388#endif
389
303namespace detail {390namespace detail {
304namespace {391namespace {
305392
...@@ -495,19 +582,25 @@ _FilesystemClock::time_point _FilesystemClock::now() noexcept {...@@ -495,19 +582,25 @@ _FilesystemClock::time_point _FilesystemClock::now() noexcept {
495582
496filesystem_error::~filesystem_error() {}583filesystem_error::~filesystem_error() {}
497584
585#if defined(_LIBCPP_WIN32API)
586#define PS_FMT "%ls"
587#else
588#define PS_FMT "%s"
589#endif
590
498void filesystem_error::__create_what(int __num_paths) {591void filesystem_error::__create_what(int __num_paths) {
499 const char* derived_what = system_error::what();592 const char* derived_what = system_error::what();
500 __storage_->__what_ = [&]() -> string {593 __storage_->__what_ = [&]() -> string {
501 const char* p1 = path1().native().empty() ? "\"\"" : path1().c_str();594 const path::value_type* p1 = path1().native().empty() ? PS("\"\"") : path1().c_str();
502 const char* p2 = path2().native().empty() ? "\"\"" : path2().c_str();595 const path::value_type* p2 = path2().native().empty() ? PS("\"\"") : path2().c_str();
503 switch (__num_paths) {596 switch (__num_paths) {
504 default:597 default:
505 return detail::format_string("filesystem error: %s", derived_what);598 return detail::format_string("filesystem error: %s", derived_what);
506 case 1:599 case 1:
507 return detail::format_string("filesystem error: %s [%s]", derived_what,600 return detail::format_string("filesystem error: %s [" PS_FMT "]", derived_what,
508 p1);601 p1);
509 case 2:602 case 2:
510 return detail::format_string("filesystem error: %s [%s] [%s]",603 return detail::format_string("filesystem error: %s [" PS_FMT "] [" PS_FMT "]",
511 derived_what, p1, p2);604 derived_what, p1, p2);
512 }605 }
513 }();606 }();
...@@ -541,7 +634,11 @@ path __canonical(path const& orig_p, error_code* ec) {...@@ -541,7 +634,11 @@ path __canonical(path const& orig_p, error_code* ec) {
541 return err.report(capture_errno());634 return err.report(capture_errno());
542 return {hold.get()};635 return {hold.get()};
543#else636#else
544 char buff[PATH_MAX + 1];637 #if defined(__MVS__) && !defined(PATH_MAX)
638 char buff[ _XOPEN_PATH_MAX + 1 ];
639 #else
640 char buff[PATH_MAX + 1];
641 #endif
545 char* ret;642 char* ret;
546 if ((ret = ::realpath(p.c_str(), buff)) == nullptr)643 if ((ret = ::realpath(p.c_str(), buff)) == nullptr)
547 return err.report(capture_errno());644 return err.report(capture_errno());
...@@ -1222,10 +1319,10 @@ path __temp_directory_path(error_code* ec) {...@@ -1222,10 +1319,10 @@ path __temp_directory_path(error_code* ec) {
1222 error_code m_ec;1319 error_code m_ec;
1223 file_status st = detail::posix_stat(p, &m_ec);1320 file_status st = detail::posix_stat(p, &m_ec);
1224 if (!status_known(st))1321 if (!status_known(st))
1225 return err.report(m_ec, "cannot access path \"%s\"", p);1322 return err.report(m_ec, "cannot access path \"" PS_FMT "\"", p);
12261323
1227 if (!exists(st) || !is_directory(st))1324 if (!exists(st) || !is_directory(st))
1228 return err.report(errc::not_a_directory, "path \"%s\" is not a directory",1325 return err.report(errc::not_a_directory, "path \"" PS_FMT "\" is not a directory",
1229 p);1326 p);
12301327
1231 return p;1328 return p;
...@@ -1281,7 +1378,7 @@ path& path::replace_extension(path const& replacement) {...@@ -1281,7 +1378,7 @@ path& path::replace_extension(path const& replacement) {
1281 }1378 }
1282 if (!replacement.empty()) {1379 if (!replacement.empty()) {
1283 if (replacement.native()[0] != '.') {1380 if (replacement.native()[0] != '.') {
1284 __pn_ += ".";1381 __pn_ += PS(".");
1285 }1382 }
1286 __pn_.append(replacement.__pn_);1383 __pn_.append(replacement.__pn_);
1287 }1384 }
...@@ -1311,7 +1408,7 @@ string_view_t path::__root_path_raw() const {...@@ -1311,7 +1408,7 @@ string_view_t path::__root_path_raw() const {
1311 auto PP = PathParser::CreateBegin(__pn_);1408 auto PP = PathParser::CreateBegin(__pn_);
1312 if (PP.State == PathParser::PS_InRootName) {1409 if (PP.State == PathParser::PS_InRootName) {
1313 auto NextCh = PP.peek();1410 auto NextCh = PP.peek();
1314 if (NextCh && *NextCh == '/') {1411 if (NextCh && isSeparator(*NextCh)) {
1315 ++PP;1412 ++PP;
1316 return createView(__pn_.data(), &PP.RawEntry.back());1413 return createView(__pn_.data(), &PP.RawEntry.back());
1317 }1414 }
...@@ -1403,12 +1500,16 @@ enum PathPartKind : unsigned char {...@@ -1403,12 +1500,16 @@ enum PathPartKind : unsigned char {
1403static PathPartKind ClassifyPathPart(string_view_t Part) {1500static PathPartKind ClassifyPathPart(string_view_t Part) {
1404 if (Part.empty())1501 if (Part.empty())
1405 return PK_TrailingSep;1502 return PK_TrailingSep;
1406 if (Part == ".")1503 if (Part == PS("."))
1407 return PK_Dot;1504 return PK_Dot;
1408 if (Part == "..")1505 if (Part == PS(".."))
1409 return PK_DotDot;1506 return PK_DotDot;
1410 if (Part == "/")1507 if (Part == PS("/"))
1508 return PK_RootSep;
1509#if defined(_LIBCPP_WIN32API)
1510 if (Part == PS("\\"))
1411 return PK_RootSep;1511 return PK_RootSep;
1512#endif
1412 return PK_Filename;1513 return PK_Filename;
1413}1514}
14141515
...@@ -1456,7 +1557,7 @@ path path::lexically_normal() const {...@@ -1456,7 +1557,7 @@ path path::lexically_normal() const {
1456 NewPathSize -= Parts.back().first.size();1557 NewPathSize -= Parts.back().first.size();
1457 Parts.pop_back();1558 Parts.pop_back();
1458 } else if (LastKind != PK_RootSep)1559 } else if (LastKind != PK_RootSep)
1459 AddPart(PK_DotDot, "..");1560 AddPart(PK_DotDot, PS(".."));
1460 MaybeNeedTrailingSep = LastKind == PK_Filename;1561 MaybeNeedTrailingSep = LastKind == PK_Filename;
1461 break;1562 break;
1462 }1563 }
...@@ -1471,7 +1572,7 @@ path path::lexically_normal() const {...@@ -1471,7 +1572,7 @@ path path::lexically_normal() const {
1471 }1572 }
1472 // [fs.path.generic]p6.8: If the path is empty, add a dot.1573 // [fs.path.generic]p6.8: If the path is empty, add a dot.
1473 if (Parts.empty())1574 if (Parts.empty())
1474 return ".";1575 return PS(".");
14751576
1476 // [fs.path.generic]p6.7: If the last filename is dot-dot, remove any1577 // [fs.path.generic]p6.7: If the last filename is dot-dot, remove any
1477 // trailing directory-separator.1578 // trailing directory-separator.
...@@ -1483,7 +1584,7 @@ path path::lexically_normal() const {...@@ -1483,7 +1584,7 @@ path path::lexically_normal() const {
1483 Result /= PK.first;1584 Result /= PK.first;
14841585
1485 if (NeedTrailingSep)1586 if (NeedTrailingSep)
1486 Result /= "";1587 Result /= PS("");
14871588
1488 return Result;1589 return Result;
1489}1590}
...@@ -1492,9 +1593,9 @@ static int DetermineLexicalElementCount(PathParser PP) {...@@ -1492,9 +1593,9 @@ static int DetermineLexicalElementCount(PathParser PP) {
1492 int Count = 0;1593 int Count = 0;
1493 for (; PP; ++PP) {1594 for (; PP; ++PP) {
1494 auto Elem = *PP;1595 auto Elem = *PP;
1495 if (Elem == "..")1596 if (Elem == PS(".."))
1496 --Count;1597 --Count;
1497 else if (Elem != "." && Elem != "")1598 else if (Elem != PS(".") && Elem != PS(""))
1498 ++Count;1599 ++Count;
1499 }1600 }
1500 return Count;1601 return Count;
...@@ -1541,15 +1642,15 @@ path path::lexically_relative(const path& base) const {...@@ -1541,15 +1642,15 @@ path path::lexically_relative(const path& base) const {
1541 return {};1642 return {};
15421643
1543 // if n == 0 and (a == end() || a->empty()), returns path("."); otherwise1644 // if n == 0 and (a == end() || a->empty()), returns path("."); otherwise
1544 if (ElemCount == 0 && (PP.atEnd() || *PP == ""))1645 if (ElemCount == 0 && (PP.atEnd() || *PP == PS("")))
1545 return ".";1646 return PS(".");
15461647
1547 // return a path constructed with 'n' dot-dot elements, followed by the the1648 // return a path constructed with 'n' dot-dot elements, followed by the the
1548 // elements of '*this' after the mismatch.1649 // elements of '*this' after the mismatch.
1549 path Result;1650 path Result;
1550 // FIXME: Reserve enough room in Result that it won't have to re-allocate.1651 // FIXME: Reserve enough room in Result that it won't have to re-allocate.
1551 while (ElemCount--)1652 while (ElemCount--)
1552 Result /= "..";1653 Result /= PS("..");
1553 for (; PP; ++PP)1654 for (; PP; ++PP)
1554 Result /= *PP;1655 Result /= *PP;
1555 return Result;1656 return Result;
...@@ -1562,7 +1663,7 @@ static int CompareRootName(PathParser *LHS, PathParser *RHS) {...@@ -1562,7 +1663,7 @@ static int CompareRootName(PathParser *LHS, PathParser *RHS) {
1562 return 0;1663 return 0;
15631664
1564 auto GetRootName = [](PathParser *Parser) -> string_view_t {1665 auto GetRootName = [](PathParser *Parser) -> string_view_t {
1565 return Parser->inRootName() ? **Parser : "";1666 return Parser->inRootName() ? **Parser : PS("");
1566 };1667 };
1567 int res = GetRootName(LHS).compare(GetRootName(RHS));1668 int res = GetRootName(LHS).compare(GetRootName(RHS));
1568 ConsumeRootName(LHS);1669 ConsumeRootName(LHS);
...@@ -1671,6 +1772,36 @@ path::iterator& path::iterator::__decrement() {...@@ -1671,6 +1772,36 @@ path::iterator& path::iterator::__decrement() {
1671 return *this;1772 return *this;
1672}1773}
16731774
1775#if defined(_LIBCPP_WIN32API)
1776////////////////////////////////////////////////////////////////////////////
1777// Windows path conversions
1778size_t __wide_to_char(const wstring &str, char *out, size_t outlen) {
1779 if (str.empty())
1780 return 0;
1781 ErrorHandler<size_t> err("__wide_to_char", nullptr);
1782 UINT codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;
1783 BOOL used_default = FALSE;
1784 int ret = WideCharToMultiByte(codepage, 0, str.data(), str.size(), out,
1785 outlen, nullptr, &used_default);
1786 if (ret <= 0 || used_default)
1787 return err.report(errc::illegal_byte_sequence);
1788 return ret;
1789}
1790
1791size_t __char_to_wide(const string &str, wchar_t *out, size_t outlen) {
1792 if (str.empty())
1793 return 0;
1794 ErrorHandler<size_t> err("__char_to_wide", nullptr);
1795 UINT codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;
1796 int ret = MultiByteToWideChar(codepage, MB_ERR_INVALID_CHARS, str.data(),
1797 str.size(), out, outlen);
1798 if (ret <= 0)
1799 return err.report(errc::illegal_byte_sequence);
1800 return ret;
1801}
1802#endif
1803
1804
1674///////////////////////////////////////////////////////////////////////////////1805///////////////////////////////////////////////////////////////////////////////
1675// directory entry definitions1806// directory entry definitions
1676///////////////////////////////////////////////////////////////////////////////1807///////////////////////////////////////////////////////////////////////////////
lib/libcxx/src/locale.cpp+3-3
...@@ -29,7 +29,7 @@...@@ -29,7 +29,7 @@
29#include "cwctype"29#include "cwctype"
30#include "__sso_allocator"30#include "__sso_allocator"
31#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)31#if defined(_LIBCPP_MSVCRT) || defined(__MINGW32__)
32#include "support/win32/locale_win32.h"32#include "__support/win32/locale_win32.h"
33#elif !defined(__BIONIC__) && !defined(__NuttX__)33#elif !defined(__BIONIC__) && !defined(__NuttX__)
34#include <langinfo.h>34#include <langinfo.h>
35#endif35#endif
...@@ -6334,8 +6334,8 @@ template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS messages_byname<wchar_t>...@@ -6334,8 +6334,8 @@ template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS messages_byname<wchar_t>
63346334
6335template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char, char, mbstate_t>;6335template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char, char, mbstate_t>;
6336template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<wchar_t, char, mbstate_t>;6336template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<wchar_t, char, mbstate_t>;
6337template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt_byname<char16_t, char, mbstate_t>;6337template class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char16_t, char, mbstate_t>;
6338template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS _LIBCPP_DEPRECATED_IN_CXX20 codecvt_byname<char32_t, char, mbstate_t>;6338template class _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char32_t, char, mbstate_t>;
6339#ifndef _LIBCPP_NO_HAS_CHAR8_T6339#ifndef _LIBCPP_NO_HAS_CHAR8_T
6340template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char16_t, char8_t, mbstate_t>;6340template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char16_t, char8_t, mbstate_t>;
6341template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char32_t, char8_t, mbstate_t>;6341template class _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS codecvt_byname<char32_t, char8_t, mbstate_t>;
lib/libcxx/src/new.cpp+2-5
...@@ -130,8 +130,7 @@ _LIBCPP_WEAK...@@ -130,8 +130,7 @@ _LIBCPP_WEAK
130void130void
131operator delete(void* ptr) _NOEXCEPT131operator delete(void* ptr) _NOEXCEPT
132{132{
133 if (ptr)133 ::free(ptr);
134 ::free(ptr);
135}134}
136135
137_LIBCPP_WEAK136_LIBCPP_WEAK
...@@ -252,9 +251,7 @@ _LIBCPP_WEAK...@@ -252,9 +251,7 @@ _LIBCPP_WEAK
252void251void
253operator delete(void* ptr, std::align_val_t) _NOEXCEPT252operator delete(void* ptr, std::align_val_t) _NOEXCEPT
254{253{
255 if (ptr) {254 std::__libcpp_aligned_free(ptr);
256 std::__libcpp_aligned_free(ptr);
257 }
258}255}
259256
260_LIBCPP_WEAK257_LIBCPP_WEAK
lib/libcxx/src/random.cpp+21
...@@ -13,6 +13,7 @@...@@ -13,6 +13,7 @@
13#define _CRT_RAND_S13#define _CRT_RAND_S
14#endif // defined(_LIBCPP_USING_WIN32_RANDOM)14#endif // defined(_LIBCPP_USING_WIN32_RANDOM)
1515
16#include "limits"
16#include "random"17#include "random"
17#include "system_error"18#include "system_error"
1819
...@@ -29,6 +30,10 @@...@@ -29,6 +30,10 @@
29#elif defined(_LIBCPP_USING_DEV_RANDOM)30#elif defined(_LIBCPP_USING_DEV_RANDOM)
30#include <fcntl.h>31#include <fcntl.h>
31#include <unistd.h>32#include <unistd.h>
33#if __has_include(<sys/ioctl.h>) && __has_include(<linux/random.h>)
34#include <sys/ioctl.h>
35#include <linux/random.h>
36#endif
32#elif defined(_LIBCPP_USING_NACL_RANDOM)37#elif defined(_LIBCPP_USING_NACL_RANDOM)
33#include <nacl/nacl_random.h>38#include <nacl/nacl_random.h>
34#endif39#endif
...@@ -172,7 +177,23 @@ random_device::operator()()...@@ -172,7 +177,23 @@ random_device::operator()()
172double177double
173random_device::entropy() const _NOEXCEPT178random_device::entropy() const _NOEXCEPT
174{179{
180#if defined(_LIBCPP_USING_DEV_RANDOM) && defined(RNDGETENTCNT)
181 int ent;
182 if (::ioctl(__f_, RNDGETENTCNT, &ent) < 0)
183 return 0;
184
185 if (ent < 0)
175 return 0;186 return 0;
187
188 if (ent > std::numeric_limits<result_type>::digits)
189 return std::numeric_limits<result_type>::digits;
190
191 return ent;
192#elif defined(__OpenBSD__)
193 return std::numeric_limits<result_type>::digits;
194#else
195 return 0;
196#endif
176}197}
177198
178_LIBCPP_END_NAMESPACE_STD199_LIBCPP_END_NAMESPACE_STD
lib/libcxx/src/support/solaris/xlocale.cpp+1-1
...@@ -8,7 +8,7 @@...@@ -8,7 +8,7 @@
88
9#ifdef __sun__9#ifdef __sun__
1010
11#include "support/solaris/xlocale.h"11#include "__support/solaris/xlocale.h"
12#include <stdarg.h>12#include <stdarg.h>
13#include <stdio.h>13#include <stdio.h>
14#include <sys/localedef.h>14#include <sys/localedef.h>
lib/libcxx/src/support/win32/locale_win32.cpp+1-1
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1// -*- C++ -*-1// -*- C++ -*-
2//===-------------------- support/win32/locale_win32.cpp ------------------===//2//===----------------------------------------------------------------------===//
3//3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.5// See https://llvm.org/LICENSE.txt for license information.
lib/libcxx/src/support/win32/support.cpp+1-1
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1// -*- C++ -*-1// -*- C++ -*-
2//===----------------------- support/win32/support.h ----------------------===//2//===----------------------------------------------------------------------===//
3//3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.5// See https://llvm.org/LICENSE.txt for license information.
lib/libcxx/src/support/win32/thread_win32.cpp+1-1
...@@ -1,5 +1,5 @@...@@ -1,5 +1,5 @@
1// -*- C++ -*-1// -*- C++ -*-
2//===-------------------- support/win32/thread_win32.cpp ------------------===//2//===----------------------------------------------------------------------===//
3//3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.5// See https://llvm.org/LICENSE.txt for license information.
lib/libcxxabi/src/cxa_default_handlers.cpp+4
...@@ -45,6 +45,7 @@ static void demangling_terminate_handler()...@@ -45,6 +45,7 @@ static void demangling_terminate_handler()
45 exception_header + 1;45 exception_header + 1;
46 const __shim_type_info* thrown_type =46 const __shim_type_info* thrown_type =
47 static_cast<const __shim_type_info*>(exception_header->exceptionType);47 static_cast<const __shim_type_info*>(exception_header->exceptionType);
48#if !defined(LIBCXXABI_NON_DEMANGLING_TERMINATE)
48 // Try to get demangled name of thrown_type49 // Try to get demangled name of thrown_type
49 int status;50 int status;
50 char buf[1024];51 char buf[1024];
...@@ -52,6 +53,9 @@ static void demangling_terminate_handler()...@@ -52,6 +53,9 @@ static void demangling_terminate_handler()
52 const char* name = __cxa_demangle(thrown_type->name(), buf, &len, &status);53 const char* name = __cxa_demangle(thrown_type->name(), buf, &len, &status);
53 if (status != 0)54 if (status != 0)
54 name = thrown_type->name();55 name = thrown_type->name();
56#else
57 const char* name = thrown_type->name();
58#endif
55 // If the uncaught exception can be caught with std::exception&59 // If the uncaught exception can be caught with std::exception&
56 const __shim_type_info* catch_type =60 const __shim_type_info* catch_type =
57 static_cast<const __shim_type_info*>(&typeid(std::exception));61 static_cast<const __shim_type_info*>(&typeid(std::exception));
lib/libcxxabi/src/cxa_personality.cpp+85-178
...@@ -684,27 +684,21 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,...@@ -684,27 +684,21 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
684 return;684 return;
685 }685 }
686 landingPad = (uintptr_t)lpStart + landingPad;686 landingPad = (uintptr_t)lpStart + landingPad;
687 results.landingPad = landingPad;
687#else // __USING_SJLJ_EXCEPTIONS__688#else // __USING_SJLJ_EXCEPTIONS__
688 ++landingPad;689 ++landingPad;
689#endif // __USING_SJLJ_EXCEPTIONS__690#endif // __USING_SJLJ_EXCEPTIONS__
690 if (actionEntry == 0)691 if (actionEntry == 0)
691 {692 {
692 // Found a cleanup693 // Found a cleanup
693 // If this is a type 1 or type 2 search, there are no handlers694 results.reason = actions & _UA_SEARCH_PHASE
694 // If this is a type 3 search, you want to install the cleanup.695 ? _URC_CONTINUE_UNWIND
695 if ((actions & _UA_CLEANUP_PHASE) && !(actions & _UA_HANDLER_FRAME))696 : _URC_HANDLER_FOUND;
696 {
697 results.ttypeIndex = 0; // Redundant but clarifying
698 results.landingPad = landingPad;
699 results.reason = _URC_HANDLER_FOUND;
700 return;
701 }
702 // No handler here
703 results.reason = _URC_CONTINUE_UNWIND;
704 return;697 return;
705 }698 }
706 // Convert 1-based byte offset into699 // Convert 1-based byte offset into
707 const uint8_t* action = actionTableStart + (actionEntry - 1);700 const uint8_t* action = actionTableStart + (actionEntry - 1);
701 bool hasCleanup = false;
708 // Scan action entries until you find a matching handler, cleanup, or the end of action list702 // Scan action entries until you find a matching handler, cleanup, or the end of action list
709 while (true)703 while (true)
710 {704 {
...@@ -720,27 +714,17 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,...@@ -720,27 +714,17 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
720 native_exception, unwind_exception);714 native_exception, unwind_exception);
721 if (catchType == 0)715 if (catchType == 0)
722 {716 {
723 // Found catch (...) catches everything, including foreign exceptions717 // Found catch (...) catches everything, including
724 // If this is a type 1 search save state and return _URC_HANDLER_FOUND718 // foreign exceptions. This is search phase, cleanup
725 // If this is a type 2 search save state and return _URC_HANDLER_FOUND719 // phase with foreign exception, or forced unwinding.
726 // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!720 assert(actions & (_UA_SEARCH_PHASE | _UA_HANDLER_FRAME |
727 // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan721 _UA_FORCE_UNWIND));
728 if ((actions & _UA_SEARCH_PHASE) || (actions & _UA_HANDLER_FRAME))722 results.ttypeIndex = ttypeIndex;
729 {723 results.actionRecord = actionRecord;
730 // Save state and return _URC_HANDLER_FOUND724 results.adjustedPtr =
731 results.ttypeIndex = ttypeIndex;725 get_thrown_object_ptr(unwind_exception);
732 results.actionRecord = actionRecord;726 results.reason = _URC_HANDLER_FOUND;
733 results.landingPad = landingPad;727 return;
734 results.adjustedPtr = get_thrown_object_ptr(unwind_exception);
735 results.reason = _URC_HANDLER_FOUND;
736 return;
737 }
738 else if (!(actions & _UA_FORCE_UNWIND))
739 {
740 // It looks like the exception table has changed
741 // on us. Likely stack corruption!
742 call_terminate(native_exception, unwind_exception);
743 }
744 }728 }
745 // Else this is a catch (T) clause and will never729 // Else this is a catch (T) clause and will never
746 // catch a foreign exception730 // catch a foreign exception
...@@ -757,36 +741,25 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,...@@ -757,36 +741,25 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
757 }741 }
758 if (catchType->can_catch(excpType, adjustedPtr))742 if (catchType->can_catch(excpType, adjustedPtr))
759 {743 {
760 // Found a matching handler744 // Found a matching handler. This is either search
761 // If this is a type 1 search save state and return _URC_HANDLER_FOUND745 // phase or forced unwinding.
762 // If this is a type 3 search and !_UA_FORCE_UNWIND, we should have found this in phase 1!746 assert(actions &
763 // If this is a type 3 search and _UA_FORCE_UNWIND, ignore handler and continue scan747 (_UA_SEARCH_PHASE | _UA_FORCE_UNWIND));
764 if (actions & _UA_SEARCH_PHASE)748 results.ttypeIndex = ttypeIndex;
765 {749 results.actionRecord = actionRecord;
766 // Save state and return _URC_HANDLER_FOUND750 results.adjustedPtr = adjustedPtr;
767 results.ttypeIndex = ttypeIndex;751 results.reason = _URC_HANDLER_FOUND;
768 results.actionRecord = actionRecord;752 return;
769 results.landingPad = landingPad;
770 results.adjustedPtr = adjustedPtr;
771 results.reason = _URC_HANDLER_FOUND;
772 return;
773 }
774 else if (!(actions & _UA_FORCE_UNWIND))
775 {
776 // It looks like the exception table has changed
777 // on us. Likely stack corruption!
778 call_terminate(native_exception, unwind_exception);
779 }
780 }753 }
781 }754 }
782 // Scan next action ...755 // Scan next action ...
783 }756 }
784 else if (ttypeIndex < 0)757 else if (ttypeIndex < 0)
785 {758 {
786 // Found an exception spec. If this is a foreign exception,759 // Found an exception specification.
787 // it is always caught.760 if (actions & _UA_FORCE_UNWIND) {
788 if (native_exception)761 // Skip if forced unwinding.
789 {762 } else if (native_exception) {
790 // Does the exception spec catch this native exception?763 // Does the exception spec catch this native exception?
791 __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;764 __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
792 void* adjustedPtr = get_thrown_object_ptr(unwind_exception);765 void* adjustedPtr = get_thrown_object_ptr(unwind_exception);
...@@ -801,77 +774,38 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,...@@ -801,77 +774,38 @@ static void scan_eh_tab(scan_results &results, _Unwind_Action actions,
801 ttypeEncoding, excpType,774 ttypeEncoding, excpType,
802 adjustedPtr, unwind_exception))775 adjustedPtr, unwind_exception))
803 {776 {
804 // native exception caught by exception spec777 // Native exception caught by exception
805 // If this is a type 1 search, save state and return _URC_HANDLER_FOUND778 // specification.
806 // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!779 assert(actions & _UA_SEARCH_PHASE);
807 // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan
808 if (actions & _UA_SEARCH_PHASE)
809 {
810 // Save state and return _URC_HANDLER_FOUND
811 results.ttypeIndex = ttypeIndex;
812 results.actionRecord = actionRecord;
813 results.landingPad = landingPad;
814 results.adjustedPtr = adjustedPtr;
815 results.reason = _URC_HANDLER_FOUND;
816 return;
817 }
818 else if (!(actions & _UA_FORCE_UNWIND))
819 {
820 // It looks like the exception table has changed
821 // on us. Likely stack corruption!
822 call_terminate(native_exception, unwind_exception);
823 }
824 }
825 }
826 else
827 {
828 // foreign exception caught by exception spec
829 // If this is a type 1 search, save state and return _URC_HANDLER_FOUND
830 // If this is a type 2 search, save state and return _URC_HANDLER_FOUND
831 // If this is a type 3 search !_UA_FORCE_UNWIND, we should have found this in phase 1!
832 // If this is a type 3 search _UA_FORCE_UNWIND, ignore handler and continue scan
833 if ((actions & _UA_SEARCH_PHASE) || (actions & _UA_HANDLER_FRAME))
834 {
835 // Save state and return _URC_HANDLER_FOUND
836 results.ttypeIndex = ttypeIndex;780 results.ttypeIndex = ttypeIndex;
837 results.actionRecord = actionRecord;781 results.actionRecord = actionRecord;
838 results.landingPad = landingPad;782 results.adjustedPtr = adjustedPtr;
839 results.adjustedPtr = get_thrown_object_ptr(unwind_exception);
840 results.reason = _URC_HANDLER_FOUND;783 results.reason = _URC_HANDLER_FOUND;
841 return;784 return;
842 }785 }
843 else if (!(actions & _UA_FORCE_UNWIND))786 } else {
844 {787 // foreign exception caught by exception spec
845 // It looks like the exception table has changed
846 // on us. Likely stack corruption!
847 call_terminate(native_exception, unwind_exception);
848 }
849 }
850 // Scan next action ...
851 }
852 else // ttypeIndex == 0
853 {
854 // Found a cleanup
855 // If this is a type 1 search, ignore it and continue scan
856 // If this is a type 2 search, ignore it and continue scan
857 // If this is a type 3 search, save state and return _URC_HANDLER_FOUND
858 if ((actions & _UA_CLEANUP_PHASE) && !(actions & _UA_HANDLER_FRAME))
859 {
860 // Save state and return _URC_HANDLER_FOUND
861 results.ttypeIndex = ttypeIndex;788 results.ttypeIndex = ttypeIndex;
862 results.actionRecord = actionRecord;789 results.actionRecord = actionRecord;
863 results.landingPad = landingPad;790 results.adjustedPtr =
864 results.adjustedPtr = get_thrown_object_ptr(unwind_exception);791 get_thrown_object_ptr(unwind_exception);
865 results.reason = _URC_HANDLER_FOUND;792 results.reason = _URC_HANDLER_FOUND;
866 return;793 return;
867 }794 }
795 // Scan next action ...
796 } else {
797 hasCleanup = true;
868 }798 }
869 const uint8_t* temp = action;799 const uint8_t* temp = action;
870 int64_t actionOffset = readSLEB128(&temp);800 int64_t actionOffset = readSLEB128(&temp);
871 if (actionOffset == 0)801 if (actionOffset == 0)
872 {802 {
873 // End of action list, no matching handler or cleanup found803 // End of action list. If this is phase 2 and we have found
874 results.reason = _URC_CONTINUE_UNWIND;804 // a cleanup (ttypeIndex=0), return _URC_HANDLER_FOUND;
805 // otherwise return _URC_CONTINUE_UNWIND.
806 results.reason = hasCleanup && actions & _UA_CLEANUP_PHASE
807 ? _URC_HANDLER_FOUND
808 : _URC_CONTINUE_UNWIND;
875 return;809 return;
876 }810 }
877 // Go to next action811 // Go to next action
...@@ -962,78 +896,51 @@ __gxx_personality_v0...@@ -962,78 +896,51 @@ __gxx_personality_v0
962 bool native_exception = (exceptionClass & get_vendor_and_language) ==896 bool native_exception = (exceptionClass & get_vendor_and_language) ==
963 (kOurExceptionClass & get_vendor_and_language);897 (kOurExceptionClass & get_vendor_and_language);
964 scan_results results;898 scan_results results;
899 // Process a catch handler for a native exception first.
900 if (actions == (_UA_CLEANUP_PHASE | _UA_HANDLER_FRAME) &&
901 native_exception) {
902 // Reload the results from the phase 1 cache.
903 __cxa_exception* exception_header =
904 (__cxa_exception*)(unwind_exception + 1) - 1;
905 results.ttypeIndex = exception_header->handlerSwitchValue;
906 results.actionRecord = exception_header->actionRecord;
907 results.languageSpecificData = exception_header->languageSpecificData;
908 results.landingPad =
909 reinterpret_cast<uintptr_t>(exception_header->catchTemp);
910 results.adjustedPtr = exception_header->adjustedPtr;
911
912 // Jump to the handler.
913 set_registers(unwind_exception, context, results);
914 return _URC_INSTALL_CONTEXT;
915 }
916
917 // In other cases we need to scan LSDA.
918 scan_eh_tab(results, actions, native_exception, unwind_exception, context);
919 if (results.reason == _URC_CONTINUE_UNWIND ||
920 results.reason == _URC_FATAL_PHASE1_ERROR)
921 return results.reason;
922
965 if (actions & _UA_SEARCH_PHASE)923 if (actions & _UA_SEARCH_PHASE)
966 {924 {
967 // Phase 1 search: All we're looking for in phase 1 is a handler that925 // Phase 1 search: All we're looking for in phase 1 is a handler that
968 // halts unwinding926 // halts unwinding
969 scan_eh_tab(results, actions, native_exception, unwind_exception, context);927 assert(results.reason == _URC_HANDLER_FOUND);
970 if (results.reason == _URC_HANDLER_FOUND)928 if (native_exception) {
971 {929 // For a native exception, cache the LSDA result.
972 // Found one. Can we cache the results somewhere to optimize phase 2?930 __cxa_exception* exc = (__cxa_exception*)(unwind_exception + 1) - 1;
973 if (native_exception)931 exc->handlerSwitchValue = static_cast<int>(results.ttypeIndex);
974 {932 exc->actionRecord = results.actionRecord;
975 __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;933 exc->languageSpecificData = results.languageSpecificData;
976 exception_header->handlerSwitchValue = static_cast<int>(results.ttypeIndex);934 exc->catchTemp = reinterpret_cast<void*>(results.landingPad);
977 exception_header->actionRecord = results.actionRecord;935 exc->adjustedPtr = results.adjustedPtr;
978 exception_header->languageSpecificData = results.languageSpecificData;
979 exception_header->catchTemp = reinterpret_cast<void*>(results.landingPad);
980 exception_header->adjustedPtr = results.adjustedPtr;
981 }
982 return _URC_HANDLER_FOUND;
983 }
984 // Did not find a catching-handler. Return the results of the scan
985 // (normally _URC_CONTINUE_UNWIND, but could have been _URC_FATAL_PHASE1_ERROR
986 // if we were called improperly).
987 return results.reason;
988 }
989 if (actions & _UA_CLEANUP_PHASE)
990 {
991 // Phase 2 search:
992 // Did we find a catching handler in phase 1?
993 if (actions & _UA_HANDLER_FRAME)
994 {
995 // Yes, phase 1 said we have a catching handler here.
996 // Did we cache the results of the scan?
997 if (native_exception)
998 {
999 // Yes, reload the results from the cache.
1000 __cxa_exception* exception_header = (__cxa_exception*)(unwind_exception+1) - 1;
1001 results.ttypeIndex = exception_header->handlerSwitchValue;
1002 results.actionRecord = exception_header->actionRecord;
1003 results.languageSpecificData = exception_header->languageSpecificData;
1004 results.landingPad = reinterpret_cast<uintptr_t>(exception_header->catchTemp);
1005 results.adjustedPtr = exception_header->adjustedPtr;
1006 }
1007 else
1008 {
1009 // No, do the scan again to reload the results.
1010 scan_eh_tab(results, actions, native_exception, unwind_exception, context);
1011 // Phase 1 told us we would find a handler. Now in Phase 2 we
1012 // didn't find a handler. The eh table should not be changing!
1013 if (results.reason != _URC_HANDLER_FOUND)
1014 call_terminate(native_exception, unwind_exception);
1015 }
1016 // Jump to the handler
1017 set_registers(unwind_exception, context, results);
1018 return _URC_INSTALL_CONTEXT;
1019 }
1020 // Either we didn't do a phase 1 search (due to forced unwinding), or
1021 // phase 1 reported no catching-handlers.
1022 // Search for a (non-catching) cleanup
1023 scan_eh_tab(results, actions, native_exception, unwind_exception, context);
1024 if (results.reason == _URC_HANDLER_FOUND)
1025 {
1026 // Found a non-catching handler. Jump to it:
1027 set_registers(unwind_exception, context, results);
1028 return _URC_INSTALL_CONTEXT;
1029 }936 }
1030 // Did not find a cleanup. Return the results of the scan937 return _URC_HANDLER_FOUND;
1031 // (normally _URC_CONTINUE_UNWIND, but could have been _URC_FATAL_PHASE2_ERROR
1032 // if we were called improperly).
1033 return results.reason;
1034 }938 }
1035 // We were called improperly: neither a phase 1 or phase 2 search939
1036 return _URC_FATAL_PHASE1_ERROR;940 assert(actions & _UA_CLEANUP_PHASE);
941 assert(results.reason == _URC_HANDLER_FOUND);
942 set_registers(unwind_exception, context, results);
943 return _URC_INSTALL_CONTEXT;
1037}944}
1038945
1039#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)946#if defined(__SEH__) && !defined(__USING_SJLJ_EXCEPTIONS__)
lib/libcxxabi/src/demangle/ItaniumDemangle.h+37-31
...@@ -96,7 +96,6 @@...@@ -96,7 +96,6 @@
96 X(InitListExpr) \96 X(InitListExpr) \
97 X(FoldExpr) \97 X(FoldExpr) \
98 X(ThrowExpr) \98 X(ThrowExpr) \
99 X(UUIDOfExpr) \
100 X(BoolExpr) \99 X(BoolExpr) \
101 X(StringLiteral) \100 X(StringLiteral) \
102 X(LambdaExpr) \101 X(LambdaExpr) \
...@@ -2035,21 +2034,6 @@ public:...@@ -2035,21 +2034,6 @@ public:
2035 }2034 }
2036};2035};
20372036
2038// MSVC __uuidof extension, generated by clang in -fms-extensions mode.
2039class UUIDOfExpr : public Node {
2040 Node *Operand;
2041public:
2042 UUIDOfExpr(Node *Operand_) : Node(KUUIDOfExpr), Operand(Operand_) {}
2043
2044 template<typename Fn> void match(Fn F) const { F(Operand); }
2045
2046 void printLeft(OutputStream &S) const override {
2047 S << "__uuidof(";
2048 Operand->print(S);
2049 S << ")";
2050 }
2051};
2052
2053class BoolExpr : public Node {2037class BoolExpr : public Node {
2054 bool Value;2038 bool Value;
20552039
...@@ -5013,6 +4997,43 @@ Node *AbstractManglingParser<Derived, Alloc>::parseExpr() {...@@ -5013,6 +4997,43 @@ Node *AbstractManglingParser<Derived, Alloc>::parseExpr() {
5013 }4997 }
5014 }4998 }
5015 return nullptr;4999 return nullptr;
5000 case 'u': {
5001 ++First;
5002 Node *Name = getDerived().parseSourceName(/*NameState=*/nullptr);
5003 if (!Name)
5004 return nullptr;
5005 // Special case legacy __uuidof mangling. The 't' and 'z' appear where the
5006 // standard encoding expects a <template-arg>, and would be otherwise be
5007 // interpreted as <type> node 'short' or 'ellipsis'. However, neither
5008 // __uuidof(short) nor __uuidof(...) can actually appear, so there is no
5009 // actual conflict here.
5010 if (Name->getBaseName() == "__uuidof") {
5011 if (numLeft() < 2)
5012 return nullptr;
5013 if (*First == 't') {
5014 ++First;
5015 Node *Ty = getDerived().parseType();
5016 if (!Ty)
5017 return nullptr;
5018 return make<CallExpr>(Name, makeNodeArray(&Ty, &Ty + 1));
5019 }
5020 if (*First == 'z') {
5021 ++First;
5022 Node *Ex = getDerived().parseExpr();
5023 if (!Ex)
5024 return nullptr;
5025 return make<CallExpr>(Name, makeNodeArray(&Ex, &Ex + 1));
5026 }
5027 }
5028 size_t ExprsBegin = Names.size();
5029 while (!consumeIf('E')) {
5030 Node *E = getDerived().parseTemplateArg();
5031 if (E == nullptr)
5032 return E;
5033 Names.push_back(E);
5034 }
5035 return make<CallExpr>(Name, popTrailingNodeArray(ExprsBegin));
5036 }
5016 case '1':5037 case '1':
5017 case '2':5038 case '2':
5018 case '3':5039 case '3':
...@@ -5024,21 +5045,6 @@ Node *AbstractManglingParser<Derived, Alloc>::parseExpr() {...@@ -5024,21 +5045,6 @@ Node *AbstractManglingParser<Derived, Alloc>::parseExpr() {
5024 case '9':5045 case '9':
5025 return getDerived().parseUnresolvedName();5046 return getDerived().parseUnresolvedName();
5026 }5047 }
5027
5028 if (consumeIf("u8__uuidoft")) {
5029 Node *Ty = getDerived().parseType();
5030 if (!Ty)
5031 return nullptr;
5032 return make<UUIDOfExpr>(Ty);
5033 }
5034
5035 if (consumeIf("u8__uuidofz")) {
5036 Node *Ex = getDerived().parseExpr();
5037 if (!Ex)
5038 return nullptr;
5039 return make<UUIDOfExpr>(Ex);
5040 }
5041
5042 return nullptr;5048 return nullptr;
5043}5049}
50445050
lib/libcxxabi/src/stdlib_new_delete.cpp+2-5
...@@ -93,8 +93,7 @@ _LIBCXXABI_WEAK...@@ -93,8 +93,7 @@ _LIBCXXABI_WEAK
93void93void
94operator delete(void* ptr) _NOEXCEPT94operator delete(void* ptr) _NOEXCEPT
95{95{
96 if (ptr)96 ::free(ptr);
97 ::free(ptr);
98}97}
9998
100_LIBCXXABI_WEAK99_LIBCXXABI_WEAK
...@@ -215,9 +214,7 @@ _LIBCXXABI_WEAK...@@ -215,9 +214,7 @@ _LIBCXXABI_WEAK
215void214void
216operator delete(void* ptr, std::align_val_t) _NOEXCEPT215operator delete(void* ptr, std::align_val_t) _NOEXCEPT
217{216{
218 if (ptr) {217 std::__libcpp_aligned_free(ptr);
219 std::__libcpp_aligned_free(ptr);
220 }
221}218}
222219
223_LIBCXXABI_WEAK220_LIBCXXABI_WEAK
lib/libunwind/include/__libunwind_config.h+10
...@@ -25,8 +25,12 @@...@@ -25,8 +25,12 @@
25#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 3125#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_SPARC 31
26#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 3426#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_HEXAGON 34
27#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 6427#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV 64
28#define _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE 143
2829
29#if defined(_LIBUNWIND_IS_NATIVE_ONLY)30#if defined(_LIBUNWIND_IS_NATIVE_ONLY)
31# if defined(__linux__)
32# define _LIBUNWIND_TARGET_LINUX 1
33# endif
30# if defined(__i386__)34# if defined(__i386__)
31# define _LIBUNWIND_TARGET_I38635# define _LIBUNWIND_TARGET_I386
32# define _LIBUNWIND_CONTEXT_SIZE 836# define _LIBUNWIND_CONTEXT_SIZE 8
...@@ -135,6 +139,11 @@...@@ -135,6 +139,11 @@
135# error "Unsupported RISC-V ABI"139# error "Unsupported RISC-V ABI"
136# endif140# endif
137# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV141# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_RISCV
142# elif defined(__ve__)
143# define _LIBUNWIND_TARGET_VE 1
144# define _LIBUNWIND_CONTEXT_SIZE 67
145# define _LIBUNWIND_CURSOR_SIZE 79
146# define _LIBUNWIND_HIGHEST_DWARF_REGISTER _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE
138# else147# else
139# error "Unsupported architecture."148# error "Unsupported architecture."
140# endif149# endif
...@@ -151,6 +160,7 @@...@@ -151,6 +160,7 @@
151# define _LIBUNWIND_TARGET_SPARC 1160# define _LIBUNWIND_TARGET_SPARC 1
152# define _LIBUNWIND_TARGET_HEXAGON 1161# define _LIBUNWIND_TARGET_HEXAGON 1
153# define _LIBUNWIND_TARGET_RISCV 1162# define _LIBUNWIND_TARGET_RISCV 1
163# define _LIBUNWIND_TARGET_VE 1
154# define _LIBUNWIND_CONTEXT_SIZE 167164# define _LIBUNWIND_CONTEXT_SIZE 167
155# define _LIBUNWIND_CURSOR_SIZE 179165# define _LIBUNWIND_CURSOR_SIZE 179
156# define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287166# define _LIBUNWIND_HIGHEST_DWARF_REGISTER 287
lib/libunwind/include/libunwind.h+152
...@@ -947,4 +947,156 @@ enum {...@@ -947,4 +947,156 @@ enum {
947 UNW_RISCV_F31 = 63,947 UNW_RISCV_F31 = 63,
948};948};
949949
950// VE register numbers
951enum {
952 UNW_VE_S0 = 0,
953 UNW_VE_S1 = 1,
954 UNW_VE_S2 = 2,
955 UNW_VE_S3 = 3,
956 UNW_VE_S4 = 4,
957 UNW_VE_S5 = 5,
958 UNW_VE_S6 = 6,
959 UNW_VE_S7 = 7,
960 UNW_VE_S8 = 8,
961 UNW_VE_S9 = 9,
962 UNW_VE_S10 = 10,
963 UNW_VE_S11 = 11,
964 UNW_VE_S12 = 12,
965 UNW_VE_S13 = 13,
966 UNW_VE_S14 = 14,
967 UNW_VE_S15 = 15,
968 UNW_VE_S16 = 16,
969 UNW_VE_S17 = 17,
970 UNW_VE_S18 = 18,
971 UNW_VE_S19 = 19,
972 UNW_VE_S20 = 20,
973 UNW_VE_S21 = 21,
974 UNW_VE_S22 = 22,
975 UNW_VE_S23 = 23,
976 UNW_VE_S24 = 24,
977 UNW_VE_S25 = 25,
978 UNW_VE_S26 = 26,
979 UNW_VE_S27 = 27,
980 UNW_VE_S28 = 28,
981 UNW_VE_S29 = 29,
982 UNW_VE_S30 = 30,
983 UNW_VE_S31 = 31,
984 UNW_VE_S32 = 32,
985 UNW_VE_S33 = 33,
986 UNW_VE_S34 = 34,
987 UNW_VE_S35 = 35,
988 UNW_VE_S36 = 36,
989 UNW_VE_S37 = 37,
990 UNW_VE_S38 = 38,
991 UNW_VE_S39 = 39,
992 UNW_VE_S40 = 40,
993 UNW_VE_S41 = 41,
994 UNW_VE_S42 = 42,
995 UNW_VE_S43 = 43,
996 UNW_VE_S44 = 44,
997 UNW_VE_S45 = 45,
998 UNW_VE_S46 = 46,
999 UNW_VE_S47 = 47,
1000 UNW_VE_S48 = 48,
1001 UNW_VE_S49 = 49,
1002 UNW_VE_S50 = 50,
1003 UNW_VE_S51 = 51,
1004 UNW_VE_S52 = 52,
1005 UNW_VE_S53 = 53,
1006 UNW_VE_S54 = 54,
1007 UNW_VE_S55 = 55,
1008 UNW_VE_S56 = 56,
1009 UNW_VE_S57 = 57,
1010 UNW_VE_S58 = 58,
1011 UNW_VE_S59 = 59,
1012 UNW_VE_S60 = 60,
1013 UNW_VE_S61 = 61,
1014 UNW_VE_S62 = 62,
1015 UNW_VE_S63 = 63,
1016 UNW_VE_V0 = 64 + 0,
1017 UNW_VE_V1 = 64 + 1,
1018 UNW_VE_V2 = 64 + 2,
1019 UNW_VE_V3 = 64 + 3,
1020 UNW_VE_V4 = 64 + 4,
1021 UNW_VE_V5 = 64 + 5,
1022 UNW_VE_V6 = 64 + 6,
1023 UNW_VE_V7 = 64 + 7,
1024 UNW_VE_V8 = 64 + 8,
1025 UNW_VE_V9 = 64 + 9,
1026 UNW_VE_V10 = 64 + 10,
1027 UNW_VE_V11 = 64 + 11,
1028 UNW_VE_V12 = 64 + 12,
1029 UNW_VE_V13 = 64 + 13,
1030 UNW_VE_V14 = 64 + 14,
1031 UNW_VE_V15 = 64 + 15,
1032 UNW_VE_V16 = 64 + 16,
1033 UNW_VE_V17 = 64 + 17,
1034 UNW_VE_V18 = 64 + 18,
1035 UNW_VE_V19 = 64 + 19,
1036 UNW_VE_V20 = 64 + 20,
1037 UNW_VE_V21 = 64 + 21,
1038 UNW_VE_V22 = 64 + 22,
1039 UNW_VE_V23 = 64 + 23,
1040 UNW_VE_V24 = 64 + 24,
1041 UNW_VE_V25 = 64 + 25,
1042 UNW_VE_V26 = 64 + 26,
1043 UNW_VE_V27 = 64 + 27,
1044 UNW_VE_V28 = 64 + 28,
1045 UNW_VE_V29 = 64 + 29,
1046 UNW_VE_V30 = 64 + 30,
1047 UNW_VE_V31 = 64 + 31,
1048 UNW_VE_V32 = 64 + 32,
1049 UNW_VE_V33 = 64 + 33,
1050 UNW_VE_V34 = 64 + 34,
1051 UNW_VE_V35 = 64 + 35,
1052 UNW_VE_V36 = 64 + 36,
1053 UNW_VE_V37 = 64 + 37,
1054 UNW_VE_V38 = 64 + 38,
1055 UNW_VE_V39 = 64 + 39,
1056 UNW_VE_V40 = 64 + 40,
1057 UNW_VE_V41 = 64 + 41,
1058 UNW_VE_V42 = 64 + 42,
1059 UNW_VE_V43 = 64 + 43,
1060 UNW_VE_V44 = 64 + 44,
1061 UNW_VE_V45 = 64 + 45,
1062 UNW_VE_V46 = 64 + 46,
1063 UNW_VE_V47 = 64 + 47,
1064 UNW_VE_V48 = 64 + 48,
1065 UNW_VE_V49 = 64 + 49,
1066 UNW_VE_V50 = 64 + 50,
1067 UNW_VE_V51 = 64 + 51,
1068 UNW_VE_V52 = 64 + 52,
1069 UNW_VE_V53 = 64 + 53,
1070 UNW_VE_V54 = 64 + 54,
1071 UNW_VE_V55 = 64 + 55,
1072 UNW_VE_V56 = 64 + 56,
1073 UNW_VE_V57 = 64 + 57,
1074 UNW_VE_V58 = 64 + 58,
1075 UNW_VE_V59 = 64 + 59,
1076 UNW_VE_V60 = 64 + 60,
1077 UNW_VE_V61 = 64 + 61,
1078 UNW_VE_V62 = 64 + 62,
1079 UNW_VE_V63 = 64 + 63,
1080 UNW_VE_VM0 = 128 + 0,
1081 UNW_VE_VM1 = 128 + 1,
1082 UNW_VE_VM2 = 128 + 2,
1083 UNW_VE_VM3 = 128 + 3,
1084 UNW_VE_VM4 = 128 + 4,
1085 UNW_VE_VM5 = 128 + 5,
1086 UNW_VE_VM6 = 128 + 6,
1087 UNW_VE_VM7 = 128 + 7,
1088 UNW_VE_VM8 = 128 + 8,
1089 UNW_VE_VM9 = 128 + 9,
1090 UNW_VE_VM10 = 128 + 10,
1091 UNW_VE_VM11 = 128 + 11,
1092 UNW_VE_VM12 = 128 + 12,
1093 UNW_VE_VM13 = 128 + 13,
1094 UNW_VE_VM14 = 128 + 14,
1095 UNW_VE_VM15 = 128 + 15, // = 143
1096
1097 // Following registers don't have DWARF register numbers.
1098 UNW_VE_VIXR = 144,
1099 UNW_VE_VL = 145,
1100};
1101
950#endif1102#endif
lib/libunwind/src/Registers.hpp+442
...@@ -36,6 +36,7 @@ enum {...@@ -36,6 +36,7 @@ enum {
36 REGISTERS_SPARC,36 REGISTERS_SPARC,
37 REGISTERS_HEXAGON,37 REGISTERS_HEXAGON,
38 REGISTERS_RISCV,38 REGISTERS_RISCV,
39 REGISTERS_VE,
39};40};
4041
41#if defined(_LIBUNWIND_TARGET_I386)42#if defined(_LIBUNWIND_TARGET_I386)
...@@ -3983,6 +3984,447 @@ inline void Registers_riscv::setVectorRegister(int, v128) {...@@ -3983,6 +3984,447 @@ inline void Registers_riscv::setVectorRegister(int, v128) {
3983 _LIBUNWIND_ABORT("no riscv vector register support yet");3984 _LIBUNWIND_ABORT("no riscv vector register support yet");
3984}3985}
3985#endif // _LIBUNWIND_TARGET_RISCV3986#endif // _LIBUNWIND_TARGET_RISCV
3987
3988#if defined(_LIBUNWIND_TARGET_VE)
3989/// Registers_ve holds the register state of a thread in a VE process.
3990class _LIBUNWIND_HIDDEN Registers_ve {
3991public:
3992 Registers_ve();
3993 Registers_ve(const void *registers);
3994
3995 bool validRegister(int num) const;
3996 uint64_t getRegister(int num) const;
3997 void setRegister(int num, uint64_t value);
3998 bool validFloatRegister(int num) const;
3999 double getFloatRegister(int num) const;
4000 void setFloatRegister(int num, double value);
4001 bool validVectorRegister(int num) const;
4002 v128 getVectorRegister(int num) const;
4003 void setVectorRegister(int num, v128 value);
4004 static const char *getRegisterName(int num);
4005 void jumpto();
4006 static int lastDwarfRegNum() { return _LIBUNWIND_HIGHEST_DWARF_REGISTER_VE; }
4007 static int getArch() { return REGISTERS_VE; }
4008
4009 uint64_t getSP() const { return _registers.__s[11]; }
4010 void setSP(uint64_t value) { _registers.__s[11] = value; }
4011 uint64_t getIP() const { return _registers.__ic; }
4012 void setIP(uint64_t value) { _registers.__ic = value; }
4013
4014private:
4015 // FIXME: Need to store not only scalar registers but also vector and vector
4016 // mask registers. VEOS uses mcontext_t defined in ucontext.h. It takes
4017 // 524288 bytes (65536*8 bytes), though. Currently, we use libunwind for
4018 // SjLj exception support only, so Registers_ve is not implemented completely.
4019 struct ve_thread_state_t {
4020 uint64_t __s[64]; // s0-s64
4021 uint64_t __ic; // Instruction counter (IC)
4022 uint64_t __vixr; // Vector Index Register
4023 uint64_t __vl; // Vector Length Register
4024 };
4025
4026 ve_thread_state_t _registers; // total 67 registers
4027
4028 // Currently no vector register is preserved.
4029};
4030
4031inline Registers_ve::Registers_ve(const void *registers) {
4032 static_assert((check_fit<Registers_ve, unw_context_t>::does_fit),
4033 "ve registers do not fit into unw_context_t");
4034 memcpy(&_registers, static_cast<const uint8_t *>(registers),
4035 sizeof(_registers));
4036 static_assert(sizeof(_registers) == 536,
4037 "expected vector register offset to be 536");
4038}
4039
4040inline Registers_ve::Registers_ve() {
4041 memset(&_registers, 0, sizeof(_registers));
4042}
4043
4044inline bool Registers_ve::validRegister(int regNum) const {
4045 if (regNum >= UNW_VE_S0 && regNum <= UNW_VE_S63)
4046 return true;
4047
4048 switch (regNum) {
4049 case UNW_REG_IP:
4050 case UNW_REG_SP:
4051 case UNW_VE_VIXR:
4052 case UNW_VE_VL:
4053 return true;
4054 default:
4055 return false;
4056 }
4057}
4058
4059inline uint64_t Registers_ve::getRegister(int regNum) const {
4060 if (regNum >= UNW_VE_S0 && regNum <= UNW_VE_S63)
4061 return _registers.__s[regNum - UNW_VE_S0];
4062
4063 switch (regNum) {
4064 case UNW_REG_IP:
4065 return _registers.__ic;
4066 case UNW_REG_SP:
4067 return _registers.__s[11];
4068 case UNW_VE_VIXR:
4069 return _registers.__vixr;
4070 case UNW_VE_VL:
4071 return _registers.__vl;
4072 }
4073 _LIBUNWIND_ABORT("unsupported ve register");
4074}
4075
4076inline void Registers_ve::setRegister(int regNum, uint64_t value) {
4077 if (regNum >= UNW_VE_S0 && regNum <= UNW_VE_S63) {
4078 _registers.__s[regNum - UNW_VE_S0] = value;
4079 return;
4080 }
4081
4082 switch (regNum) {
4083 case UNW_REG_IP:
4084 _registers.__ic = value;
4085 return;
4086 case UNW_REG_SP:
4087 _registers.__s[11] = value;
4088 return;
4089 case UNW_VE_VIXR:
4090 _registers.__vixr = value;
4091 return;
4092 case UNW_VE_VL:
4093 _registers.__vl = value;
4094 return;
4095 }
4096 _LIBUNWIND_ABORT("unsupported ve register");
4097}
4098
4099inline bool Registers_ve::validFloatRegister(int /* regNum */) const {
4100 return false;
4101}
4102
4103inline double Registers_ve::getFloatRegister(int /* regNum */) const {
4104 _LIBUNWIND_ABORT("VE doesn't have float registers");
4105}
4106
4107inline void Registers_ve::setFloatRegister(int /* regNum */,
4108 double /* value */) {
4109 _LIBUNWIND_ABORT("VE doesn't have float registers");
4110}
4111
4112inline bool Registers_ve::validVectorRegister(int /* regNum */) const {
4113 return false;
4114}
4115
4116inline v128 Registers_ve::getVectorRegister(int /* regNum */) const {
4117 _LIBUNWIND_ABORT("VE vector support not implemented");
4118}
4119
4120inline void Registers_ve::setVectorRegister(int /* regNum */,
4121 v128 /* value */) {
4122 _LIBUNWIND_ABORT("VE vector support not implemented");
4123}
4124
4125inline const char *Registers_ve::getRegisterName(int regNum) {
4126 switch (regNum) {
4127 case UNW_REG_IP:
4128 return "ip";
4129 case UNW_REG_SP:
4130 return "sp";
4131 case UNW_VE_VIXR:
4132 return "vixr";
4133 case UNW_VE_VL:
4134 return "vl";
4135 case UNW_VE_S0:
4136 return "s0";
4137 case UNW_VE_S1:
4138 return "s1";
4139 case UNW_VE_S2:
4140 return "s2";
4141 case UNW_VE_S3:
4142 return "s3";
4143 case UNW_VE_S4:
4144 return "s4";
4145 case UNW_VE_S5:
4146 return "s5";
4147 case UNW_VE_S6:
4148 return "s6";
4149 case UNW_VE_S7:
4150 return "s7";
4151 case UNW_VE_S8:
4152 return "s8";
4153 case UNW_VE_S9:
4154 return "s9";
4155 case UNW_VE_S10:
4156 return "s10";
4157 case UNW_VE_S11:
4158 return "s11";
4159 case UNW_VE_S12:
4160 return "s12";
4161 case UNW_VE_S13:
4162 return "s13";
4163 case UNW_VE_S14:
4164 return "s14";
4165 case UNW_VE_S15:
4166 return "s15";
4167 case UNW_VE_S16:
4168 return "s16";
4169 case UNW_VE_S17:
4170 return "s17";
4171 case UNW_VE_S18:
4172 return "s18";
4173 case UNW_VE_S19:
4174 return "s19";
4175 case UNW_VE_S20:
4176 return "s20";
4177 case UNW_VE_S21:
4178 return "s21";
4179 case UNW_VE_S22:
4180 return "s22";
4181 case UNW_VE_S23:
4182 return "s23";
4183 case UNW_VE_S24:
4184 return "s24";
4185 case UNW_VE_S25:
4186 return "s25";
4187 case UNW_VE_S26:
4188 return "s26";
4189 case UNW_VE_S27:
4190 return "s27";
4191 case UNW_VE_S28:
4192 return "s28";
4193 case UNW_VE_S29:
4194 return "s29";
4195 case UNW_VE_S30:
4196 return "s30";
4197 case UNW_VE_S31:
4198 return "s31";
4199 case UNW_VE_S32:
4200 return "s32";
4201 case UNW_VE_S33:
4202 return "s33";
4203 case UNW_VE_S34:
4204 return "s34";
4205 case UNW_VE_S35:
4206 return "s35";
4207 case UNW_VE_S36:
4208 return "s36";
4209 case UNW_VE_S37:
4210 return "s37";
4211 case UNW_VE_S38:
4212 return "s38";
4213 case UNW_VE_S39:
4214 return "s39";
4215 case UNW_VE_S40:
4216 return "s40";
4217 case UNW_VE_S41:
4218 return "s41";
4219 case UNW_VE_S42:
4220 return "s42";
4221 case UNW_VE_S43:
4222 return "s43";
4223 case UNW_VE_S44:
4224 return "s44";
4225 case UNW_VE_S45:
4226 return "s45";
4227 case UNW_VE_S46:
4228 return "s46";
4229 case UNW_VE_S47:
4230 return "s47";
4231 case UNW_VE_S48:
4232 return "s48";
4233 case UNW_VE_S49:
4234 return "s49";
4235 case UNW_VE_S50:
4236 return "s50";
4237 case UNW_VE_S51:
4238 return "s51";
4239 case UNW_VE_S52:
4240 return "s52";
4241 case UNW_VE_S53:
4242 return "s53";
4243 case UNW_VE_S54:
4244 return "s54";
4245 case UNW_VE_S55:
4246 return "s55";
4247 case UNW_VE_S56:
4248 return "s56";
4249 case UNW_VE_S57:
4250 return "s57";
4251 case UNW_VE_S58:
4252 return "s58";
4253 case UNW_VE_S59:
4254 return "s59";
4255 case UNW_VE_S60:
4256 return "s60";
4257 case UNW_VE_S61:
4258 return "s61";
4259 case UNW_VE_S62:
4260 return "s62";
4261 case UNW_VE_S63:
4262 return "s63";
4263 case UNW_VE_V0:
4264 return "v0";
4265 case UNW_VE_V1:
4266 return "v1";
4267 case UNW_VE_V2:
4268 return "v2";
4269 case UNW_VE_V3:
4270 return "v3";
4271 case UNW_VE_V4:
4272 return "v4";
4273 case UNW_VE_V5:
4274 return "v5";
4275 case UNW_VE_V6:
4276 return "v6";
4277 case UNW_VE_V7:
4278 return "v7";
4279 case UNW_VE_V8:
4280 return "v8";
4281 case UNW_VE_V9:
4282 return "v9";
4283 case UNW_VE_V10:
4284 return "v10";
4285 case UNW_VE_V11:
4286 return "v11";
4287 case UNW_VE_V12:
4288 return "v12";
4289 case UNW_VE_V13:
4290 return "v13";
4291 case UNW_VE_V14:
4292 return "v14";
4293 case UNW_VE_V15:
4294 return "v15";
4295 case UNW_VE_V16:
4296 return "v16";
4297 case UNW_VE_V17:
4298 return "v17";
4299 case UNW_VE_V18:
4300 return "v18";
4301 case UNW_VE_V19:
4302 return "v19";
4303 case UNW_VE_V20:
4304 return "v20";
4305 case UNW_VE_V21:
4306 return "v21";
4307 case UNW_VE_V22:
4308 return "v22";
4309 case UNW_VE_V23:
4310 return "v23";
4311 case UNW_VE_V24:
4312 return "v24";
4313 case UNW_VE_V25:
4314 return "v25";
4315 case UNW_VE_V26:
4316 return "v26";
4317 case UNW_VE_V27:
4318 return "v27";
4319 case UNW_VE_V28:
4320 return "v28";
4321 case UNW_VE_V29:
4322 return "v29";
4323 case UNW_VE_V30:
4324 return "v30";
4325 case UNW_VE_V31:
4326 return "v31";
4327 case UNW_VE_V32:
4328 return "v32";
4329 case UNW_VE_V33:
4330 return "v33";
4331 case UNW_VE_V34:
4332 return "v34";
4333 case UNW_VE_V35:
4334 return "v35";
4335 case UNW_VE_V36:
4336 return "v36";
4337 case UNW_VE_V37:
4338 return "v37";
4339 case UNW_VE_V38:
4340 return "v38";
4341 case UNW_VE_V39:
4342 return "v39";
4343 case UNW_VE_V40:
4344 return "v40";
4345 case UNW_VE_V41:
4346 return "v41";
4347 case UNW_VE_V42:
4348 return "v42";
4349 case UNW_VE_V43:
4350 return "v43";
4351 case UNW_VE_V44:
4352 return "v44";
4353 case UNW_VE_V45:
4354 return "v45";
4355 case UNW_VE_V46:
4356 return "v46";
4357 case UNW_VE_V47:
4358 return "v47";
4359 case UNW_VE_V48:
4360 return "v48";
4361 case UNW_VE_V49:
4362 return "v49";
4363 case UNW_VE_V50:
4364 return "v50";
4365 case UNW_VE_V51:
4366 return "v51";
4367 case UNW_VE_V52:
4368 return "v52";
4369 case UNW_VE_V53:
4370 return "v53";
4371 case UNW_VE_V54:
4372 return "v54";
4373 case UNW_VE_V55:
4374 return "v55";
4375 case UNW_VE_V56:
4376 return "v56";
4377 case UNW_VE_V57:
4378 return "v57";
4379 case UNW_VE_V58:
4380 return "v58";
4381 case UNW_VE_V59:
4382 return "v59";
4383 case UNW_VE_V60:
4384 return "v60";
4385 case UNW_VE_V61:
4386 return "v61";
4387 case UNW_VE_V62:
4388 return "v62";
4389 case UNW_VE_V63:
4390 return "v63";
4391 case UNW_VE_VM0:
4392 return "vm0";
4393 case UNW_VE_VM1:
4394 return "vm1";
4395 case UNW_VE_VM2:
4396 return "vm2";
4397 case UNW_VE_VM3:
4398 return "vm3";
4399 case UNW_VE_VM4:
4400 return "vm4";
4401 case UNW_VE_VM5:
4402 return "vm5";
4403 case UNW_VE_VM6:
4404 return "vm6";
4405 case UNW_VE_VM7:
4406 return "vm7";
4407 case UNW_VE_VM8:
4408 return "vm8";
4409 case UNW_VE_VM9:
4410 return "vm9";
4411 case UNW_VE_VM10:
4412 return "vm10";
4413 case UNW_VE_VM11:
4414 return "vm11";
4415 case UNW_VE_VM12:
4416 return "vm12";
4417 case UNW_VE_VM13:
4418 return "vm13";
4419 case UNW_VE_VM14:
4420 return "vm14";
4421 case UNW_VE_VM15:
4422 return "vm15";
4423 }
4424 return "unknown register";
4425}
4426#endif // _LIBUNWIND_TARGET_VE
4427
3986} // namespace libunwind4428} // namespace libunwind
39874429
3988#endif // __REGISTERS_HPP__4430#endif // __REGISTERS_HPP__
lib/libunwind/src/Unwind-sjlj.c+12
...@@ -32,11 +32,23 @@ struct _Unwind_FunctionContext {...@@ -32,11 +32,23 @@ struct _Unwind_FunctionContext {
32 // next function in stack of handlers32 // next function in stack of handlers
33 struct _Unwind_FunctionContext *prev;33 struct _Unwind_FunctionContext *prev;
3434
35#if defined(__ve__)
36 // VE requires to store 64 bit pointers in the buffer for SjLj execption.
37 // We expand the size of values defined here. This size must be matched
38 // to the size returned by TargetMachine::getSjLjDataSize().
39
40 // set by calling function before registering to be the landing pad
41 uint64_t resumeLocation;
42
43 // set by personality handler to be parameters passed to landing pad function
44 uint64_t resumeParameters[4];
45#else
35 // set by calling function before registering to be the landing pad46 // set by calling function before registering to be the landing pad
36 uint32_t resumeLocation;47 uint32_t resumeLocation;
3748
38 // set by personality handler to be parameters passed to landing pad function49 // set by personality handler to be parameters passed to landing pad function
39 uint32_t resumeParameters[4];50 uint32_t resumeParameters[4];
51#endif
4052
41 // set by calling function before registering53 // set by calling function before registering
42 _Unwind_Personality_Fn personality; // arm offset=2454 _Unwind_Personality_Fn personality; // arm offset=24
lib/libunwind/src/UnwindCursor.hpp+105-5
...@@ -925,6 +925,25 @@ private:...@@ -925,6 +925,25 @@ private:
925 }925 }
926#endif926#endif
927927
928#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
929 bool setInfoForSigReturn() {
930 R dummy;
931 return setInfoForSigReturn(dummy);
932 }
933 int stepThroughSigReturn() {
934 R dummy;
935 return stepThroughSigReturn(dummy);
936 }
937 bool setInfoForSigReturn(Registers_arm64 &);
938 int stepThroughSigReturn(Registers_arm64 &);
939 template <typename Registers> bool setInfoForSigReturn(Registers &) {
940 return false;
941 }
942 template <typename Registers> int stepThroughSigReturn(Registers &) {
943 return UNW_STEP_END;
944 }
945#endif
946
928#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)947#if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
929 bool getInfoFromFdeCie(const typename CFI_Parser<A>::FDE_Info &fdeInfo,948 bool getInfoFromFdeCie(const typename CFI_Parser<A>::FDE_Info &fdeInfo,
930 const typename CFI_Parser<A>::CIE_Info &cieInfo,949 const typename CFI_Parser<A>::CIE_Info &cieInfo,
...@@ -1179,6 +1198,9 @@ private:...@@ -1179,6 +1198,9 @@ private:
1179 unw_proc_info_t _info;1198 unw_proc_info_t _info;
1180 bool _unwindInfoMissing;1199 bool _unwindInfoMissing;
1181 bool _isSignalFrame;1200 bool _isSignalFrame;
1201#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
1202 bool _isSigReturn = false;
1203#endif
1182};1204};
11831205
11841206
...@@ -1873,7 +1895,11 @@ bool UnwindCursor<A, R>::getInfoFromSEH(pint_t pc) {...@@ -1873,7 +1895,11 @@ bool UnwindCursor<A, R>::getInfoFromSEH(pint_t pc) {
18731895
1874template <typename A, typename R>1896template <typename A, typename R>
1875void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) {1897void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) {
1876 pint_t pc = (pint_t)this->getReg(UNW_REG_IP);1898#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
1899 _isSigReturn = false;
1900#endif
1901
1902 pint_t pc = static_cast<pint_t>(this->getReg(UNW_REG_IP));
1877#if defined(_LIBUNWIND_ARM_EHABI)1903#if defined(_LIBUNWIND_ARM_EHABI)
1878 // Remove the thumb bit so the IP represents the actual instruction address.1904 // Remove the thumb bit so the IP represents the actual instruction address.
1879 // This matches the behaviour of _Unwind_GetIP on arm.1905 // This matches the behaviour of _Unwind_GetIP on arm.
...@@ -1971,10 +1997,77 @@ void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) {...@@ -1971,10 +1997,77 @@ void UnwindCursor<A, R>::setInfoBasedOnIPRegister(bool isReturnAddress) {
1971 }1997 }
1972#endif // #if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)1998#endif // #if defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
19731999
2000#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
2001 if (setInfoForSigReturn())
2002 return;
2003#endif
2004
1974 // no unwind info, flag that we can't reliably unwind2005 // no unwind info, flag that we can't reliably unwind
1975 _unwindInfoMissing = true;2006 _unwindInfoMissing = true;
1976}2007}
19772008
2009#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
2010template <typename A, typename R>
2011bool UnwindCursor<A, R>::setInfoForSigReturn(Registers_arm64 &) {
2012 // Look for the sigreturn trampoline. The trampoline's body is two
2013 // specific instructions (see below). Typically the trampoline comes from the
2014 // vDSO[1] (i.e. the __kernel_rt_sigreturn function). A libc might provide its
2015 // own restorer function, though, or user-mode QEMU might write a trampoline
2016 // onto the stack.
2017 //
2018 // This special code path is a fallback that is only used if the trampoline
2019 // lacks proper (e.g. DWARF) unwind info. On AArch64, a new DWARF register
2020 // constant for the PC needs to be defined before DWARF can handle a signal
2021 // trampoline. This code may segfault if the target PC is unreadable, e.g.:
2022 // - The PC points at a function compiled without unwind info, and which is
2023 // part of an execute-only mapping (e.g. using -Wl,--execute-only).
2024 // - The PC is invalid and happens to point to unreadable or unmapped memory.
2025 //
2026 // [1] https://github.com/torvalds/linux/blob/master/arch/arm64/kernel/vdso/sigreturn.S
2027 const pint_t pc = static_cast<pint_t>(this->getReg(UNW_REG_IP));
2028 // Look for instructions: mov x8, #0x8b; svc #0x0
2029 if (_addressSpace.get32(pc) == 0xd2801168 &&
2030 _addressSpace.get32(pc + 4) == 0xd4000001) {
2031 _info = {};
2032 _isSigReturn = true;
2033 return true;
2034 }
2035 return false;
2036}
2037
2038template <typename A, typename R>
2039int UnwindCursor<A, R>::stepThroughSigReturn(Registers_arm64 &) {
2040 // In the signal trampoline frame, sp points to an rt_sigframe[1], which is:
2041 // - 128-byte siginfo struct
2042 // - ucontext struct:
2043 // - 8-byte long (uc_flags)
2044 // - 8-byte pointer (uc_link)
2045 // - 24-byte stack_t
2046 // - 128-byte signal set
2047 // - 8 bytes of padding because sigcontext has 16-byte alignment
2048 // - sigcontext/mcontext_t
2049 // [1] https://github.com/torvalds/linux/blob/master/arch/arm64/kernel/signal.c
2050 const pint_t kOffsetSpToSigcontext = (128 + 8 + 8 + 24 + 128 + 8); // 304
2051
2052 // Offsets from sigcontext to each register.
2053 const pint_t kOffsetGprs = 8; // offset to "__u64 regs[31]" field
2054 const pint_t kOffsetSp = 256; // offset to "__u64 sp" field
2055 const pint_t kOffsetPc = 264; // offset to "__u64 pc" field
2056
2057 pint_t sigctx = _registers.getSP() + kOffsetSpToSigcontext;
2058
2059 for (int i = 0; i <= 30; ++i) {
2060 uint64_t value = _addressSpace.get64(sigctx + kOffsetGprs +
2061 static_cast<pint_t>(i * 8));
2062 _registers.setRegister(UNW_ARM64_X0 + i, value);
2063 }
2064 _registers.setSP(_addressSpace.get64(sigctx + kOffsetSp));
2065 _registers.setIP(_addressSpace.get64(sigctx + kOffsetPc));
2066 _isSignalFrame = true;
2067 return UNW_STEP_SUCCESS;
2068}
2069#endif // defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
2070
1978template <typename A, typename R>2071template <typename A, typename R>
1979int UnwindCursor<A, R>::step() {2072int UnwindCursor<A, R>::step() {
1980 // Bottom of stack is defined is when unwind info cannot be found.2073 // Bottom of stack is defined is when unwind info cannot be found.
...@@ -1983,20 +2076,27 @@ int UnwindCursor<A, R>::step() {...@@ -1983,20 +2076,27 @@ int UnwindCursor<A, R>::step() {
19832076
1984 // Use unwinding info to modify register set as if function returned.2077 // Use unwinding info to modify register set as if function returned.
1985 int result;2078 int result;
2079#if defined(_LIBUNWIND_TARGET_LINUX) && defined(_LIBUNWIND_TARGET_AARCH64)
2080 if (_isSigReturn) {
2081 result = this->stepThroughSigReturn();
2082 } else
2083#endif
2084 {
1986#if defined(_LIBUNWIND_SUPPORT_COMPACT_UNWIND)2085#if defined(_LIBUNWIND_SUPPORT_COMPACT_UNWIND)
1987 result = this->stepWithCompactEncoding();2086 result = this->stepWithCompactEncoding();
1988#elif defined(_LIBUNWIND_SUPPORT_SEH_UNWIND)2087#elif defined(_LIBUNWIND_SUPPORT_SEH_UNWIND)
1989 result = this->stepWithSEHData();2088 result = this->stepWithSEHData();
1990#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)2089#elif defined(_LIBUNWIND_SUPPORT_DWARF_UNWIND)
1991 result = this->stepWithDwarfFDE();2090 result = this->stepWithDwarfFDE();
1992#elif defined(_LIBUNWIND_ARM_EHABI)2091#elif defined(_LIBUNWIND_ARM_EHABI)
1993 result = this->stepWithEHABI();2092 result = this->stepWithEHABI();
1994#else2093#else
1995 #error Need _LIBUNWIND_SUPPORT_COMPACT_UNWIND or \2094 #error Need _LIBUNWIND_SUPPORT_COMPACT_UNWIND or \
1996 _LIBUNWIND_SUPPORT_SEH_UNWIND or \2095 _LIBUNWIND_SUPPORT_SEH_UNWIND or \
1997 _LIBUNWIND_SUPPORT_DWARF_UNWIND or \2096 _LIBUNWIND_SUPPORT_DWARF_UNWIND or \
1998 _LIBUNWIND_ARM_EHABI2097 _LIBUNWIND_ARM_EHABI
1999#endif2098#endif
2099 }
20002100
2001 // update info based on new PC2101 // update info based on new PC
2002 if (result == UNW_STEP_SUCCESS) {2102 if (result == UNW_STEP_SUCCESS) {
lib/libunwind/src/libunwind.cpp+2
...@@ -62,6 +62,8 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor,...@@ -62,6 +62,8 @@ _LIBUNWIND_HIDDEN int __unw_init_local(unw_cursor_t *cursor,
62# define REGISTER_KIND Registers_sparc62# define REGISTER_KIND Registers_sparc
63#elif defined(__riscv) && __riscv_xlen == 6463#elif defined(__riscv) && __riscv_xlen == 64
64# define REGISTER_KIND Registers_riscv64# define REGISTER_KIND Registers_riscv
65#elif defined(__ve__)
66# define REGISTER_KIND Registers_ve
65#else67#else
66# error Architecture not supported68# error Architecture not supported
67#endif69#endif