1*bed243d3SAndroid Build Coastguard Worker /*===---- arm_cde.h - ARM CDE intrinsics -----------------------------------=== 2*bed243d3SAndroid Build Coastguard Worker * 3*bed243d3SAndroid Build Coastguard Worker * 4*bed243d3SAndroid Build Coastguard Worker * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*bed243d3SAndroid Build Coastguard Worker * See https://llvm.org/LICENSE.txt for license information. 6*bed243d3SAndroid Build Coastguard Worker * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*bed243d3SAndroid Build Coastguard Worker * 8*bed243d3SAndroid Build Coastguard Worker *===-----------------------------------------------------------------------=== 9*bed243d3SAndroid Build Coastguard Worker */ 10*bed243d3SAndroid Build Coastguard Worker 11*bed243d3SAndroid Build Coastguard Worker #ifndef __ARM_CDE_H 12*bed243d3SAndroid Build Coastguard Worker #define __ARM_CDE_H 13*bed243d3SAndroid Build Coastguard Worker 14*bed243d3SAndroid Build Coastguard Worker #if !__ARM_FEATURE_CDE 15*bed243d3SAndroid Build Coastguard Worker #error "CDE support not enabled" 16*bed243d3SAndroid Build Coastguard Worker #endif 17*bed243d3SAndroid Build Coastguard Worker 18*bed243d3SAndroid Build Coastguard Worker #include <stdint.h> 19*bed243d3SAndroid Build Coastguard Worker 20*bed243d3SAndroid Build Coastguard Worker #ifdef __cplusplus 21*bed243d3SAndroid Build Coastguard Worker extern "C" { 22*bed243d3SAndroid Build Coastguard Worker #endif 23*bed243d3SAndroid Build Coastguard Worker 24*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1))) 25*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx1(int, uint32_t); 26*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1a))) 27*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx1a(int, uint32_t, uint32_t); 28*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1d))) 29*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx1d(int, uint32_t); 30*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx1da))) 31*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx1da(int, uint64_t, uint32_t); 32*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2))) 33*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx2(int, uint32_t, uint32_t); 34*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2a))) 35*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx2a(int, uint32_t, uint32_t, uint32_t); 36*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2d))) 37*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx2d(int, uint32_t, uint32_t); 38*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx2da))) 39*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx2da(int, uint64_t, uint32_t, uint32_t); 40*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3))) 41*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx3(int, uint32_t, uint32_t, uint32_t); 42*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3a))) 43*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_cx3a(int, uint32_t, uint32_t, uint32_t, uint32_t); 44*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3d))) 45*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx3d(int, uint32_t, uint32_t, uint32_t); 46*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_cx3da))) 47*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_cx3da(int, uint64_t, uint32_t, uint32_t, uint32_t); 48*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1_u32))) 49*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx1_u32(int, uint32_t); 50*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1a_u32))) 51*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx1a_u32(int, uint32_t, uint32_t); 52*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1d_u64))) 53*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx1d_u64(int, uint32_t); 54*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1da_u64))) 55*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx1da_u64(int, uint64_t, uint32_t); 56*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2_u32))) 57*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx2_u32(int, uint32_t, uint32_t); 58*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2a_u32))) 59*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx2a_u32(int, uint32_t, uint32_t, uint32_t); 60*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2d_u64))) 61*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx2d_u64(int, uint64_t, uint32_t); 62*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx2da_u64))) 63*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx2da_u64(int, uint64_t, uint64_t, uint32_t); 64*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3_u32))) 65*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx3_u32(int, uint32_t, uint32_t, uint32_t); 66*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3a_u32))) 67*bed243d3SAndroid Build Coastguard Worker uint32_t __arm_vcx3a_u32(int, uint32_t, uint32_t, uint32_t, uint32_t); 68*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3d_u64))) 69*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx3d_u64(int, uint64_t, uint64_t, uint32_t); 70*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx3da_u64))) 71*bed243d3SAndroid Build Coastguard Worker uint64_t __arm_vcx3da_u64(int, uint64_t, uint64_t, uint64_t, uint32_t); 72*bed243d3SAndroid Build Coastguard Worker 73*bed243d3SAndroid Build Coastguard Worker #if __ARM_FEATURE_MVE 74*bed243d3SAndroid Build Coastguard Worker 75*bed243d3SAndroid Build Coastguard Worker typedef uint16_t mve_pred16_t; 76*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) int16_t int16x8_t; 77*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) int32_t int32x4_t; 78*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(2), __clang_arm_mve_strict_polymorphism)) int64_t int64x2_t; 79*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(16), __clang_arm_mve_strict_polymorphism)) int8_t int8x16_t; 80*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) uint16_t uint16x8_t; 81*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) uint32_t uint32x4_t; 82*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(2), __clang_arm_mve_strict_polymorphism)) uint64_t uint64x2_t; 83*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(16), __clang_arm_mve_strict_polymorphism)) uint8_t uint8x16_t; 84*bed243d3SAndroid Build Coastguard Worker 85*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s16))) 86*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1q_m(int, int16x8_t, uint32_t, mve_pred16_t); 87*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s32))) 88*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1q_m(int, int32x4_t, uint32_t, mve_pred16_t); 89*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s64))) 90*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1q_m(int, int64x2_t, uint32_t, mve_pred16_t); 91*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_s8))) 92*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1q_m(int, int8x16_t, uint32_t, mve_pred16_t); 93*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u16))) 94*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1q_m(int, uint16x8_t, uint32_t, mve_pred16_t); 95*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u32))) 96*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1q_m(int, uint32x4_t, uint32_t, mve_pred16_t); 97*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u64))) 98*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1q_m(int, uint64x2_t, uint32_t, mve_pred16_t); 99*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_u8))) 100*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1q_m(int, uint8x16_t, uint32_t, mve_pred16_t); 101*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_u8))) 102*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1q_u8(int, uint32_t); 103*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s16))) 104*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1qa_m(int, int16x8_t, uint32_t, mve_pred16_t); 105*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s32))) 106*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1qa_m(int, int32x4_t, uint32_t, mve_pred16_t); 107*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s64))) 108*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1qa_m(int, int64x2_t, uint32_t, mve_pred16_t); 109*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_s8))) 110*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1qa_m(int, int8x16_t, uint32_t, mve_pred16_t); 111*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u16))) 112*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1qa_m(int, uint16x8_t, uint32_t, mve_pred16_t); 113*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u32))) 114*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1qa_m(int, uint32x4_t, uint32_t, mve_pred16_t); 115*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u64))) 116*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1qa_m(int, uint64x2_t, uint32_t, mve_pred16_t); 117*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_u8))) 118*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1qa_m(int, uint8x16_t, uint32_t, mve_pred16_t); 119*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s16))) 120*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx1qa(int, int16x8_t, uint32_t); 121*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s32))) 122*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx1qa(int, int32x4_t, uint32_t); 123*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s64))) 124*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx1qa(int, int64x2_t, uint32_t); 125*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_s8))) 126*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx1qa(int, int8x16_t, uint32_t); 127*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u16))) 128*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx1qa(int, uint16x8_t, uint32_t); 129*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u32))) 130*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx1qa(int, uint32x4_t, uint32_t); 131*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u64))) 132*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx1qa(int, uint64x2_t, uint32_t); 133*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_u8))) 134*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx1qa(int, uint8x16_t, uint32_t); 135*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s16))) 136*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2q_m_impl(int, int16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 137*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s32))) 138*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2q_m_impl(int, int32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 139*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s64))) 140*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2q_m_impl(int, int64x2_t, uint8x16_t, uint32_t, mve_pred16_t); 141*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_s8))) 142*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2q_m_impl(int, int8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 143*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u16))) 144*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2q_m_impl(int, uint16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 145*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u32))) 146*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2q_m_impl(int, uint32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 147*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u64))) 148*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2q_m_impl(int, uint64x2_t, uint8x16_t, uint32_t, mve_pred16_t); 149*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_u8))) 150*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_m_impl(int, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 151*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s16))) 152*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2q(int, int16x8_t, uint32_t); 153*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s32))) 154*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2q(int, int32x4_t, uint32_t); 155*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s64))) 156*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2q(int, int64x2_t, uint32_t); 157*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_s8))) 158*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2q(int, int8x16_t, uint32_t); 159*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u16))) 160*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2q(int, uint16x8_t, uint32_t); 161*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u32))) 162*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2q(int, uint32x4_t, uint32_t); 163*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u64))) 164*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2q(int, uint64x2_t, uint32_t); 165*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8))) 166*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q(int, uint8x16_t, uint32_t); 167*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s16))) 168*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int16x8_t, uint32_t); 169*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s32))) 170*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int32x4_t, uint32_t); 171*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s64))) 172*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int64x2_t, uint32_t); 173*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_s8))) 174*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, int8x16_t, uint32_t); 175*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u16))) 176*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint16x8_t, uint32_t); 177*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u32))) 178*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint32x4_t, uint32_t); 179*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u64))) 180*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint64x2_t, uint32_t); 181*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_u8))) 182*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, uint8x16_t, uint32_t); 183*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s16))) 184*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2qa_impl(int, int16x8_t, uint8x16_t, uint32_t); 185*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s32))) 186*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2qa_impl(int, int32x4_t, uint8x16_t, uint32_t); 187*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s64))) 188*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2qa_impl(int, int64x2_t, uint8x16_t, uint32_t); 189*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_s8))) 190*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2qa_impl(int, int8x16_t, uint8x16_t, uint32_t); 191*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u16))) 192*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2qa_impl(int, uint16x8_t, uint8x16_t, uint32_t); 193*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u32))) 194*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2qa_impl(int, uint32x4_t, uint8x16_t, uint32_t); 195*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u64))) 196*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2qa_impl(int, uint64x2_t, uint8x16_t, uint32_t); 197*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_u8))) 198*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2qa_impl(int, uint8x16_t, uint8x16_t, uint32_t); 199*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s16))) 200*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx2qa_m_impl(int, int16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 201*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s32))) 202*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx2qa_m_impl(int, int32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 203*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s64))) 204*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx2qa_m_impl(int, int64x2_t, uint8x16_t, uint32_t, mve_pred16_t); 205*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_s8))) 206*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx2qa_m_impl(int, int8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 207*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u16))) 208*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx2qa_m_impl(int, uint16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 209*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u32))) 210*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx2qa_m_impl(int, uint32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 211*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u64))) 212*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx2qa_m_impl(int, uint64x2_t, uint8x16_t, uint32_t, mve_pred16_t); 213*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_u8))) 214*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2qa_m_impl(int, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 215*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s16))) 216*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3q_impl(int, int16x8_t, uint8x16_t, uint32_t); 217*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s32))) 218*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3q_impl(int, int32x4_t, uint8x16_t, uint32_t); 219*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s64))) 220*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3q_impl(int, int64x2_t, uint8x16_t, uint32_t); 221*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_s8))) 222*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3q_impl(int, int8x16_t, uint8x16_t, uint32_t); 223*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u16))) 224*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3q_impl(int, uint16x8_t, uint8x16_t, uint32_t); 225*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u32))) 226*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3q_impl(int, uint32x4_t, uint8x16_t, uint32_t); 227*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u64))) 228*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3q_impl(int, uint64x2_t, uint8x16_t, uint32_t); 229*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_u8))) 230*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_impl(int, uint8x16_t, uint8x16_t, uint32_t); 231*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s16))) 232*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3q_m_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 233*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s32))) 234*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3q_m_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 235*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s64))) 236*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3q_m_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 237*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_s8))) 238*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3q_m_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 239*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u16))) 240*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3q_m_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 241*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u32))) 242*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3q_m_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 243*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u64))) 244*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3q_m_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 245*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_u8))) 246*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_m_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 247*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s16))) 248*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int16x8_t, uint8x16_t, uint32_t); 249*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s32))) 250*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int32x4_t, uint8x16_t, uint32_t); 251*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s64))) 252*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int64x2_t, uint8x16_t, uint32_t); 253*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_s8))) 254*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, int8x16_t, uint8x16_t, uint32_t); 255*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u16))) 256*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint16x8_t, uint8x16_t, uint32_t); 257*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u32))) 258*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint32x4_t, uint8x16_t, uint32_t); 259*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u64))) 260*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint64x2_t, uint8x16_t, uint32_t); 261*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_u8))) 262*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, uint8x16_t, uint8x16_t, uint32_t); 263*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s16))) 264*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3qa_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t); 265*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s32))) 266*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3qa_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t); 267*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s64))) 268*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3qa_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t); 269*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_s8))) 270*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3qa_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t); 271*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u16))) 272*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3qa_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t); 273*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u32))) 274*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3qa_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t); 275*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u64))) 276*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3qa_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t); 277*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_u8))) 278*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3qa_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t); 279*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s16))) 280*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vcx3qa_m_impl(int, int16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 281*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s32))) 282*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vcx3qa_m_impl(int, int32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 283*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s64))) 284*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vcx3qa_m_impl(int, int64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 285*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_s8))) 286*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vcx3qa_m_impl(int, int8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 287*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u16))) 288*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vcx3qa_m_impl(int, uint16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 289*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u32))) 290*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vcx3qa_m_impl(int, uint32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 291*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u64))) 292*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vcx3qa_m_impl(int, uint64x2_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 293*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_u8))) 294*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3qa_m_impl(int, uint8x16_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 295*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s16_u8))) 296*bed243d3SAndroid Build Coastguard Worker int16x8_t __arm_vreinterpretq_s16_u8(uint8x16_t); 297*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s32_u8))) 298*bed243d3SAndroid Build Coastguard Worker int32x4_t __arm_vreinterpretq_s32_u8(uint8x16_t); 299*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s64_u8))) 300*bed243d3SAndroid Build Coastguard Worker int64x2_t __arm_vreinterpretq_s64_u8(uint8x16_t); 301*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_s8_u8))) 302*bed243d3SAndroid Build Coastguard Worker int8x16_t __arm_vreinterpretq_s8_u8(uint8x16_t); 303*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u16_u8))) 304*bed243d3SAndroid Build Coastguard Worker uint16x8_t __arm_vreinterpretq_u16_u8(uint8x16_t); 305*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u32_u8))) 306*bed243d3SAndroid Build Coastguard Worker uint32x4_t __arm_vreinterpretq_u32_u8(uint8x16_t); 307*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u64_u8))) 308*bed243d3SAndroid Build Coastguard Worker uint64x2_t __arm_vreinterpretq_u64_u8(uint8x16_t); 309*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s16))) 310*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int16x8_t); 311*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s32))) 312*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int32x4_t); 313*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s64))) 314*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int64x2_t); 315*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_s8))) 316*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(int8x16_t); 317*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u16))) 318*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint16x8_t); 319*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u32))) 320*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint32x4_t); 321*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_u64))) 322*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint64x2_t); 323*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vreinterpretq_u8_u8))) 324*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(uint8x16_t); 325*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2q_m(cp, inactive, n, imm, pred) __arm_vcx2q_m_impl((cp), (inactive), __arm_vreinterpretq_u8(n), (imm), (pred)) 326*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2qa(cp, acc, n, imm) __arm_vcx2qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm)) 327*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx2qa_m(cp, acc, n, imm, pred) __arm_vcx2qa_m_impl((cp), (acc), __arm_vreinterpretq_u8(n), (imm), (pred)) 328*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3q(cp, n, m, imm) __arm_vcx3q_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm)) 329*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3q_m(cp, inactive, n, m, imm, pred) __arm_vcx3q_m_impl((cp), (inactive), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm), (pred)) 330*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3q_u8(cp, n, m, imm) __arm_vcx3q_u8_impl((cp), (n), __arm_vreinterpretq_u8(m), (imm)) 331*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3qa(cp, acc, n, m, imm) __arm_vcx3qa_impl((cp), (acc), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm)) 332*bed243d3SAndroid Build Coastguard Worker #define __arm_vcx3qa_m(cp, acc, n, m, imm, pred) __arm_vcx3qa_m_impl((cp), (acc), __arm_vreinterpretq_u8(n), __arm_vreinterpretq_u8(m), (imm), (pred)) 333*bed243d3SAndroid Build Coastguard Worker 334*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_FEATURE_MVE */ 335*bed243d3SAndroid Build Coastguard Worker 336*bed243d3SAndroid Build Coastguard Worker #if __ARM_FEATURE_MVE & 2 337*bed243d3SAndroid Build Coastguard Worker 338*bed243d3SAndroid Build Coastguard Worker typedef __fp16 float16_t; 339*bed243d3SAndroid Build Coastguard Worker typedef float float32_t; 340*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(8), __clang_arm_mve_strict_polymorphism)) float16_t float16x8_t; 341*bed243d3SAndroid Build Coastguard Worker typedef __attribute__((__neon_vector_type__(4), __clang_arm_mve_strict_polymorphism)) float32_t float32x4_t; 342*bed243d3SAndroid Build Coastguard Worker 343*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_f16))) 344*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1q_m(int, float16x8_t, uint32_t, mve_pred16_t); 345*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1q_m_f32))) 346*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1q_m(int, float32x4_t, uint32_t, mve_pred16_t); 347*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_f16))) 348*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1qa(int, float16x8_t, uint32_t); 349*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_f32))) 350*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1qa(int, float32x4_t, uint32_t); 351*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_f16))) 352*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx1qa_m(int, float16x8_t, uint32_t, mve_pred16_t); 353*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx1qa_m_f32))) 354*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx1qa_m(int, float32x4_t, uint32_t, mve_pred16_t); 355*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_f16))) 356*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2q(int, float16x8_t, uint32_t); 357*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_f32))) 358*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2q(int, float32x4_t, uint32_t); 359*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_f16))) 360*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2q_m_impl(int, float16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 361*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_m_impl_f32))) 362*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2q_m_impl(int, float32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 363*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_f16))) 364*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, float16x8_t, uint32_t); 365*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2q_u8_f32))) 366*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx2q_u8(int, float32x4_t, uint32_t); 367*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_f16))) 368*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2qa_impl(int, float16x8_t, uint8x16_t, uint32_t); 369*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_impl_f32))) 370*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2qa_impl(int, float32x4_t, uint8x16_t, uint32_t); 371*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_f16))) 372*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx2qa_m_impl(int, float16x8_t, uint8x16_t, uint32_t, mve_pred16_t); 373*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx2qa_m_impl_f32))) 374*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx2qa_m_impl(int, float32x4_t, uint8x16_t, uint32_t, mve_pred16_t); 375*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_f16))) 376*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3q_impl(int, float16x8_t, uint8x16_t, uint32_t); 377*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_impl_f32))) 378*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3q_impl(int, float32x4_t, uint8x16_t, uint32_t); 379*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_f16))) 380*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3q_m_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 381*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_m_impl_f32))) 382*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3q_m_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 383*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_f16))) 384*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, float16x8_t, uint8x16_t, uint32_t); 385*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3q_u8_impl_f32))) 386*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vcx3q_u8_impl(int, float32x4_t, uint8x16_t, uint32_t); 387*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_f16))) 388*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3qa_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t); 389*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_impl_f32))) 390*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3qa_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t); 391*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_f16))) 392*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vcx3qa_m_impl(int, float16x8_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 393*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_cde_vcx3qa_m_impl_f32))) 394*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vcx3qa_m_impl(int, float32x4_t, uint8x16_t, uint8x16_t, uint32_t, mve_pred16_t); 395*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f16_u8))) 396*bed243d3SAndroid Build Coastguard Worker float16x8_t __arm_vreinterpretq_f16_u8(uint8x16_t); 397*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_f32_u8))) 398*bed243d3SAndroid Build Coastguard Worker float32x4_t __arm_vreinterpretq_f32_u8(uint8x16_t); 399*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_f16))) 400*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(float16x8_t); 401*bed243d3SAndroid Build Coastguard Worker static __inline__ __attribute__((__overloadable__, __clang_arm_builtin_alias(__builtin_arm_mve_vreinterpretq_u8_f32))) 402*bed243d3SAndroid Build Coastguard Worker uint8x16_t __arm_vreinterpretq_u8(float32x4_t); 403*bed243d3SAndroid Build Coastguard Worker 404*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_FEATURE_MVE & 2 */ 405*bed243d3SAndroid Build Coastguard Worker 406*bed243d3SAndroid Build Coastguard Worker #ifdef __cplusplus 407*bed243d3SAndroid Build Coastguard Worker } /* extern "C" */ 408*bed243d3SAndroid Build Coastguard Worker #endif 409*bed243d3SAndroid Build Coastguard Worker 410*bed243d3SAndroid Build Coastguard Worker #endif /* __ARM_CDE_H */ 411