/*!***************************************************************************** * \internal Automatically maintained copyright banner \endinternal * * \author FC/ASW TP-15 Seeker Software * * \file libs/fft/c7x/benchmark_float.c * * \ingroup Libraries * * \copyright Copyright (c) MBDA UK Limited 2023 * The source code contained herein is property of MBDA UK and shall * not be disclosed or reproduced in whole or in part without the * prior authorisation of MBDA UK. ******************************************************************************/ /*****************************************************************************/ /* C7X.H */ /* */ /* Copyright (c) 2015 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /* * Copyright (c) 2000 Jeroen Ruigrok van der Werven * All rights reserved. * * Copyright (c) 2014-2014 Texas Instruments Incorporated * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD: release/10.0.0/include/stdbool.h 228878 2011-12-25 20:15:41Z ed $ */ /* If this file is included in C99 mode, _Bool is a builtin, so no definition. */ /* If this is C89 mode and this file is included, _Bool is pre-defined in C89 */ /* relaxed mode by the EDG parser, so it needs to be defined in strict mode. */ /*****************************************************************************/ /* _ti_config.h */ /* */ /* Copyright (c) 2017 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*Unsupported pragmas are omitted */ # pragma diag_push # pragma CHECK_MISRA("-19.7") # pragma CHECK_MISRA("-19.4") # pragma CHECK_MISRA("-19.1") # pragma CHECK_MISRA("-19.15") # pragma diag_pop _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") _Pragma("CHECK_MISRA(\"-19.1\")") _Pragma("CHECK_MISRA(\"-19.6\")") /* Hide uses of the TI proprietary macros behind other macros. Implementations that don't implement these features should leave these macros undefined. */ /* Common definitions */ /* C */ /* C89/C99 */ /* _TI_NOEXCEPT_CPP14 is defined to noexcept only when compiling for C++14. It is intended to be used for functions like abort and atexit that are supposed to be declared noexcept only in C++14 mode. */ /* Target-specific definitions */ /*****************************************************************************/ /* linkage.h */ /* */ /* Copyright (c) 1998 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ #pragma diag_push #pragma CHECK_MISRA("-19.4") /* No modifiers are needed to access code or data */ /*--------------------------------------------------------------------------*/ /* Define _IDECL ==> how inline functions are declared */ /*--------------------------------------------------------------------------*/ #pragma diag_pop _Pragma("diag_pop") _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") _Pragma("CHECK_MISRA(\"-19.11\")") _Pragma("diag_pop") /*****************************************************************************/ /* VECTOR POINTER CONVERSION INTRINSICS */ /* (Deprecated in favor of C-style casts) */ /* */ /* These intrinsics are used to convert between vector type pointers and */ /* component element type pointers. Use of these intrinsics is required when */ /* using the host emulation package and are defined here for compatiblity */ /* when porting programs to the C7000 compiler. */ /*****************************************************************************/ /* C-style cast: uchar64* p = (uchar64*)(pointer); */ /* C-style cast: uint8_t *p = (uint8_t*)(pointer); */ /* C-style cast: cint* p = (cint*)(pointer); */ /* C-style cast: int32_t* p = (int32_t*)(pointer); */ /*****************************************************************************/ /* Include the CR (Control Register) set. */ /*****************************************************************************/ /*****************************************************************************/ /* C7X_CR.H */ /* */ /* Copyright (c) 2021 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* The following is a list of CPU control registers available on C7000. */ /* NOTE: Some reset values may not be exact depending on external factors */ /* such as silicon version and configuration. */ /* */ /* The CPU control register may be read and written through normal */ /* assignments where permissions allow. To read or write a specific index */ /* of a CPU control register, use the following APIs: */ /* */ /* unsigned long __get_indexed(__CR_NAME, unsigned int index); */ /* void __set_indexed(__CR_NAME, unsigned int index, unsigned long val); */ /* */ /*****************************************************************************/ /******************************************************************************/ /* CR: CPUID */ /* DESCRIPTION: CPU ID register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x60C00000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __CPUID; /******************************************************************************/ /* CR: PMR */ /* DESCRIPTION: Power Management register, not functional */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __PMR; /******************************************************************************/ /* CR: DNUM */ /* DESCRIPTION: DSP core number register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __DNUM; /******************************************************************************/ /* CR: TSC */ /* DESCRIPTION: Time-stamp counter register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __TSC; /******************************************************************************/ /* CR: TSR */ /* DESCRIPTION: Task state register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x100000000101FF05 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __TSR; /******************************************************************************/ /* CR: RP */ /* DESCRIPTION: Return pointer register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __RP; /******************************************************************************/ /* CR: BPCR */ /* DESCRIPTION: Branch Predictor Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __BPCR; /******************************************************************************/ /* CR: FPCR */ /* DESCRIPTION: Floating-point control register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x10 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __FPCR; /******************************************************************************/ /* CR: FSR */ /* DESCRIPTION: Flag status register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __FSR; /******************************************************************************/ /* CR: ECLMR */ /* DESCRIPTION: Event Claim Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFFFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECLMR; /******************************************************************************/ /* CR: EASGR */ /* DESCRIPTION: Event Assign Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __EASGR; /******************************************************************************/ /* CR: EPRI */ /* DESCRIPTION: Event Priority Register Event priority Register */ /* INDEX RANGE: [0,63] */ /* GENERAL RESET VALUE: 0xE0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __EPRI; /******************************************************************************/ /* CR: EER */ /* DESCRIPTION: Event Enable Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __EER; /******************************************************************************/ /* CR: EESET */ /* DESCRIPTION: Event Enable Set Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __EESET; /******************************************************************************/ /* CR: EECLR */ /* DESCRIPTION: Event Enable Clear Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __EECLR; /******************************************************************************/ /* CR: DEPR */ /* DESCRIPTION: Debug Event Priority Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __DEPR; /******************************************************************************/ /* CR: EFR */ /* DESCRIPTION: Event Flag Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __EFR; /******************************************************************************/ /* CR: EFSET */ /* DESCRIPTION: Event Flag Set Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __EFSET; /******************************************************************************/ /* CR: EFCLR */ /* DESCRIPTION: Event Flag Clear Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __EFCLR; /******************************************************************************/ /* CR: IESET */ /* DESCRIPTION: Internal Exception Event Set Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __IESET; /******************************************************************************/ /* CR: ESTP_SS */ /* DESCRIPTION: Event Service Table Pointer Register, Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ESTP_SS; /******************************************************************************/ /* CR: ESTP_S */ /* DESCRIPTION: Event Service Table Pointer Register, Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ESTP_S; /******************************************************************************/ /* CR: ESTP_GS */ /* DESCRIPTION: Event Service Table Pointer Register, Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ESTP_GS; /******************************************************************************/ /* CR: EDR */ /* DESCRIPTION: Event Dropped Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __EDR; /******************************************************************************/ /* CR: ECSP_SS */ /* DESCRIPTION: Event Context Save Pointer, Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECSP_SS; /******************************************************************************/ /* CR: ECSP_S */ /* DESCRIPTION: Event Context Save Pointer, Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECSP_S; /******************************************************************************/ /* CR: ECSP_GS */ /* DESCRIPTION: Event Context Save Pointer, Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECSP_GS; /******************************************************************************/ /* CR: TCSP */ /* DESCRIPTION: Task Context Save Pointer */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __TCSP; /******************************************************************************/ /* CR: RXMR_SS */ /* DESCRIPTION: Returning Execution Mode Register, Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __RXMR_SS; /******************************************************************************/ /* CR: RXMR_S */ /* DESCRIPTION: Returning Execution Mode Register, Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __RXMR_S; /******************************************************************************/ /* CR: AHPEE */ /* DESCRIPTION: Highest Priority Enabled Event, Currently in service */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __AHPEE; /******************************************************************************/ /* CR: PHPEE */ /* DESCRIPTION: Pending HPEE */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __PHPEE; /******************************************************************************/ /* CR: IPE */ /* DESCRIPTION: Inter-processor Events Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __IPE; /******************************************************************************/ /* CR: IERR */ /* DESCRIPTION: Internal exception report register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __IERR; /******************************************************************************/ /* CR: IEAR */ /* DESCRIPTION: Internal Exception Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __IEAR; /******************************************************************************/ /* CR: IESR */ /* DESCRIPTION: Internal exception Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __IESR; /******************************************************************************/ /* CR: IEDR */ /* DESCRIPTION: Internal Exception Data Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __IEDR; /******************************************************************************/ /* CR: TCR */ /* DESCRIPTION: Test Count register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __TCR; /******************************************************************************/ /* CR: TCCR */ /* DESCRIPTION: Test Count Config register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __TCCR; /******************************************************************************/ /* CR: GMER */ /* DESCRIPTION: Guest Mode Enable Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __GMER; /******************************************************************************/ /* CR: UMER */ /* DESCRIPTION: User Mask Enable Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __UMER; /******************************************************************************/ /* CR: SPBR */ /* DESCRIPTION: Stack pointer boundary Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __SPBR; /******************************************************************************/ /* CR: LTBR0 */ /* DESCRIPTION: Lookup Table Base Address register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTBR0; /******************************************************************************/ /* CR: LTBR1 */ /* DESCRIPTION: Lookup Table Base Address register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTBR1; /******************************************************************************/ /* CR: LTBR2 */ /* DESCRIPTION: Lookup Table Base Address register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTBR2; /******************************************************************************/ /* CR: LTBR3 */ /* DESCRIPTION: Lookup Table Base Address register 3 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTBR3; /******************************************************************************/ /* CR: LTCR0 */ /* DESCRIPTION: Lookup Table configuration register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTCR0; /******************************************************************************/ /* CR: LTCR1 */ /* DESCRIPTION: Lookup Table configuration register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTCR1; /******************************************************************************/ /* CR: LTCR2 */ /* DESCRIPTION: Lookup Table configuration register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTCR2; /******************************************************************************/ /* CR: LTCR3 */ /* DESCRIPTION: Lookup Table configuration register 3 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __LTCR3; /******************************************************************************/ /* CR: LTER */ /* DESCRIPTION: Lookup Table Enable register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __LTER; /******************************************************************************/ /* CR: DBGCTXT */ /* DESCRIPTION: Debug Context (Overlay) Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __DBGCTXT; /******************************************************************************/ /* CR: GPLY */ /* DESCRIPTION: Galois Polynomial Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __GPLY; /******************************************************************************/ /* CR: GFPGFR */ /* DESCRIPTION: Galois Field Polynomial Generator Function Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x700001D */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __GFPGFR; /******************************************************************************/ /* CR: GTSC */ /* DESCRIPTION: Global Time Stamp Counter */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __GTSC; /******************************************************************************/ /* CR: STSC */ /* DESCRIPTION: Shadow Time Stamp Counter */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __STSC; /******************************************************************************/ /* CR: UFCMR */ /* DESCRIPTION: User Flag Clear Mask Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __UFCMR; /*****************************************************************************/ /* Include the ECR (Extended Control Register) set. */ /*****************************************************************************/ /*****************************************************************************/ /* C7X_ECR.H */ /* */ /* Copyright (c) 2016 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* The following is a list of extended control register available on C7000. */ /* NOTE: Some reset values may not be exact depending on external factors */ /* such as silicon version and configuration. */ /* */ /* The extended control registers may be read and written through normal */ /* assignments where permissions allow. To read or write a specific index */ /* of an extended control register, use the following APIs: */ /* */ /* unsigned long __get_indexed(__ECR_NAME, unsigned int index); */ /* void __set_indexed(__ECR_NAME, unsigned int index, unsigned long val); */ /* */ /*****************************************************************************/ extern volatile __cregister unsigned long __ECR0; /******************************************************************************/ /* ECR: DBG_CAP */ /* DESCRIPTION: DEVICE CAPABILITY Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xDEC00440 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR1; /******************************************************************************/ /* ECR: DBG_PID */ /* DESCRIPTION: DEVICE PID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x62020400 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2; extern volatile __cregister unsigned long __ECR3; extern volatile __cregister unsigned long __ECR4; /******************************************************************************/ /* ECR: DBG_CNTL */ /* DESCRIPTION: Debug control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x200 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR5; /******************************************************************************/ /* ECR: DBG_STAT */ /* DESCRIPTION: Debug Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR6; /******************************************************************************/ /* ECR: DBG_OWN */ /* DESCRIPTION: Ownership Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR7; extern volatile __cregister unsigned long __ECR8; /******************************************************************************/ /* ECR: DBG_INDRCT_CAP0 */ /* DESCRIPTION: Indirect Access Port Capabilities Register for pages 0-3 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x121212 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR9; /******************************************************************************/ /* ECR: DBG_INDRCT_CAP1 */ /* DESCRIPTION: Indirect Access Port Capabilities Register for pages 4-7 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR10; extern volatile __cregister unsigned long __ECR11; extern volatile __cregister unsigned long __ECR12; /******************************************************************************/ /* ECR: DBG_INDRCT_CNTL */ /* DESCRIPTION: Indirect Memory Control and Status register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x40080000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR13; /******************************************************************************/ /* ECR: DBG_INDRCT_CTXT0 */ /* DESCRIPTION: Indirect Memory Context ID Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR14; /******************************************************************************/ /* ECR: DBG_INDRCT_CTXT1 */ /* DESCRIPTION: Indirect Memory Context ID Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR15; /******************************************************************************/ /* ECR: DBG_INDRCT_CTXT2 */ /* DESCRIPTION: Indirect Memory Context ID Register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR16; /******************************************************************************/ /* ECR: DBG_INDRCT_ADDR0 */ /* DESCRIPTION: Indirect Memory Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR17; /******************************************************************************/ /* ECR: DBG_INDRCT_ADDR1 */ /* DESCRIPTION: Indirect Memory Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR18; /******************************************************************************/ /* ECR: DBG_INDRCT_DATA0 */ /* DESCRIPTION: Indirect Memory Data Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR19; /******************************************************************************/ /* ECR: DBG_INDRCT_DATA1 */ /* DESCRIPTION: Indirect Memory Data Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR20; extern volatile __cregister unsigned long __ECR21; extern volatile __cregister unsigned long __ECR22; extern volatile __cregister unsigned long __ECR23; extern volatile __cregister unsigned long __ECR24; extern volatile __cregister unsigned long __ECR25; extern volatile __cregister unsigned long __ECR26; extern volatile __cregister unsigned long __ECR27; extern volatile __cregister unsigned long __ECR28; extern volatile __cregister unsigned long __ECR29; extern volatile __cregister unsigned long __ECR30; extern volatile __cregister unsigned long __ECR31; extern volatile __cregister unsigned long __ECR32; extern volatile __cregister unsigned long __ECR33; extern volatile __cregister unsigned long __ECR34; extern volatile __cregister unsigned long __ECR35; extern volatile __cregister unsigned long __ECR36; extern volatile __cregister unsigned long __ECR37; extern volatile __cregister unsigned long __ECR38; extern volatile __cregister unsigned long __ECR39; extern volatile __cregister unsigned long __ECR40; extern volatile __cregister unsigned long __ECR41; extern volatile __cregister unsigned long __ECR42; extern volatile __cregister unsigned long __ECR43; extern volatile __cregister unsigned long __ECR44; extern volatile __cregister unsigned long __ECR45; extern volatile __cregister unsigned long __ECR46; extern volatile __cregister unsigned long __ECR47; extern volatile __cregister unsigned long __ECR48; extern volatile __cregister unsigned long __ECR49; extern volatile __cregister unsigned long __ECR50; extern volatile __cregister unsigned long __ECR51; extern volatile __cregister unsigned long __ECR52; extern volatile __cregister unsigned long __ECR53; extern volatile __cregister unsigned long __ECR54; extern volatile __cregister unsigned long __ECR55; extern volatile __cregister unsigned long __ECR56; extern volatile __cregister unsigned long __ECR57; extern volatile __cregister unsigned long __ECR58; extern volatile __cregister unsigned long __ECR59; extern volatile __cregister unsigned long __ECR60; extern volatile __cregister unsigned long __ECR61; extern volatile __cregister unsigned long __ECR62; extern volatile __cregister unsigned long __ECR63; extern volatile __cregister unsigned long __ECR64; /******************************************************************************/ /* ECR: DBG_HWBP_0_CNTL */ /* DESCRIPTION: HWBP_0 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x800 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR65; extern volatile __cregister unsigned long __ECR66; /******************************************************************************/ /* ECR: DBG_HWBP_0_CTXT0 */ /* DESCRIPTION: HWBP_0 Context ID register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR67; /******************************************************************************/ /* ECR: DBG_HWBP_0_CTXT1 */ /* DESCRIPTION: HWBP_0 Context ID register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR68; /******************************************************************************/ /* ECR: DBG_HWBP_0_CTXT2 */ /* DESCRIPTION: HWBP_0 Context ID register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR69; extern volatile __cregister unsigned long __ECR70; /******************************************************************************/ /* ECR: DBG_HWBP_0_ADDR0 */ /* DESCRIPTION: HWBP_0 Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR71; /******************************************************************************/ /* ECR: DBG_HWBP_0_ADDR1 */ /* DESCRIPTION: HWBP_0 Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR72; /******************************************************************************/ /* ECR: DBG_HWBP_0_AMASK0 */ /* DESCRIPTION: HWBP_0 Address Mask Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFC */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR73; /******************************************************************************/ /* ECR: DBG_HWBP_0_AMASK1 */ /* DESCRIPTION: HWBP_0 Address Mask Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR74; extern volatile __cregister unsigned long __ECR75; extern volatile __cregister unsigned long __ECR76; extern volatile __cregister unsigned long __ECR77; extern volatile __cregister unsigned long __ECR78; extern volatile __cregister unsigned long __ECR79; extern volatile __cregister unsigned long __ECR80; extern volatile __cregister unsigned long __ECR81; extern volatile __cregister unsigned long __ECR82; extern volatile __cregister unsigned long __ECR83; extern volatile __cregister unsigned long __ECR84; extern volatile __cregister unsigned long __ECR85; extern volatile __cregister unsigned long __ECR86; extern volatile __cregister unsigned long __ECR87; extern volatile __cregister unsigned long __ECR88; extern volatile __cregister unsigned long __ECR89; extern volatile __cregister unsigned long __ECR90; extern volatile __cregister unsigned long __ECR91; extern volatile __cregister unsigned long __ECR92; extern volatile __cregister unsigned long __ECR93; extern volatile __cregister unsigned long __ECR94; extern volatile __cregister unsigned long __ECR95; extern volatile __cregister unsigned long __ECR96; /******************************************************************************/ /* ECR: DBG_HWBP_1_CNTL */ /* DESCRIPTION: HWBP_1 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x800 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR97; extern volatile __cregister unsigned long __ECR98; /******************************************************************************/ /* ECR: DBG_HWBP_1_CTXT0 */ /* DESCRIPTION: HWBP_1 Context ID register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR99; /******************************************************************************/ /* ECR: DBG_HWBP_1_CTXT1 */ /* DESCRIPTION: HWBP_1 Context ID register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR100; /******************************************************************************/ /* ECR: DBG_HWBP_1_CTXT2 */ /* DESCRIPTION: HWBP_1 Context ID register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR101; extern volatile __cregister unsigned long __ECR102; /******************************************************************************/ /* ECR: DBG_HWBP_1_ADDR0 */ /* DESCRIPTION: HWBP_1 Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR103; /******************************************************************************/ /* ECR: DBG_HWBP_1_ADDR1 */ /* DESCRIPTION: HWBP_1 Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR104; /******************************************************************************/ /* ECR: DBG_HWBP_1_AMASK0 */ /* DESCRIPTION: HWBP_1 Address Mask Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFC */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR105; /******************************************************************************/ /* ECR: DBG_HWBP_1_AMASK1 */ /* DESCRIPTION: HWBP_1 Address Mask Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR106; extern volatile __cregister unsigned long __ECR107; extern volatile __cregister unsigned long __ECR108; extern volatile __cregister unsigned long __ECR109; extern volatile __cregister unsigned long __ECR110; extern volatile __cregister unsigned long __ECR111; extern volatile __cregister unsigned long __ECR112; extern volatile __cregister unsigned long __ECR113; extern volatile __cregister unsigned long __ECR114; extern volatile __cregister unsigned long __ECR115; extern volatile __cregister unsigned long __ECR116; extern volatile __cregister unsigned long __ECR117; extern volatile __cregister unsigned long __ECR118; extern volatile __cregister unsigned long __ECR119; extern volatile __cregister unsigned long __ECR120; extern volatile __cregister unsigned long __ECR121; extern volatile __cregister unsigned long __ECR122; extern volatile __cregister unsigned long __ECR123; extern volatile __cregister unsigned long __ECR124; extern volatile __cregister unsigned long __ECR125; extern volatile __cregister unsigned long __ECR126; extern volatile __cregister unsigned long __ECR127; extern volatile __cregister unsigned long __ECR128; /******************************************************************************/ /* ECR: DBG_HWBP_2_CNTL */ /* DESCRIPTION: HWBP_2 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR129; extern volatile __cregister unsigned long __ECR130; /******************************************************************************/ /* ECR: DBG_HWBP_2_CTXT0 */ /* DESCRIPTION: HWBP_2 Context ID register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR131; /******************************************************************************/ /* ECR: DBG_HWBP_2_CTXT1 */ /* DESCRIPTION: HWBP_2 Context ID register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR132; /******************************************************************************/ /* ECR: DBG_HWBP_2_CTXT2 */ /* DESCRIPTION: HWBP_2 Context ID register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR133; extern volatile __cregister unsigned long __ECR134; /******************************************************************************/ /* ECR: DBG_HWBP_2_ADDR0 */ /* DESCRIPTION: HWBP_2 Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR135; /******************************************************************************/ /* ECR: DBG_HWBP_2_ADDR1 */ /* DESCRIPTION: HWBP_2 Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR136; /******************************************************************************/ /* ECR: DBG_HWBP_2_AMASK0 */ /* DESCRIPTION: HWBP_2 Address Mask Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFC */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR137; /******************************************************************************/ /* ECR: DBG_HWBP_2_AMASK1 */ /* DESCRIPTION: HWBP_2 Address Mask Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR138; extern volatile __cregister unsigned long __ECR139; extern volatile __cregister unsigned long __ECR140; extern volatile __cregister unsigned long __ECR141; extern volatile __cregister unsigned long __ECR142; extern volatile __cregister unsigned long __ECR143; extern volatile __cregister unsigned long __ECR144; extern volatile __cregister unsigned long __ECR145; extern volatile __cregister unsigned long __ECR146; extern volatile __cregister unsigned long __ECR147; extern volatile __cregister unsigned long __ECR148; extern volatile __cregister unsigned long __ECR149; extern volatile __cregister unsigned long __ECR150; extern volatile __cregister unsigned long __ECR151; extern volatile __cregister unsigned long __ECR152; extern volatile __cregister unsigned long __ECR153; extern volatile __cregister unsigned long __ECR154; extern volatile __cregister unsigned long __ECR155; extern volatile __cregister unsigned long __ECR156; extern volatile __cregister unsigned long __ECR157; extern volatile __cregister unsigned long __ECR158; extern volatile __cregister unsigned long __ECR159; extern volatile __cregister unsigned long __ECR160; /******************************************************************************/ /* ECR: DBG_HWBP_3_CNTL */ /* DESCRIPTION: HWBP_3 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR161; extern volatile __cregister unsigned long __ECR162; /******************************************************************************/ /* ECR: DBG_HWBP_3_CTXT0 */ /* DESCRIPTION: HWBP_3 Context ID register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR163; /******************************************************************************/ /* ECR: DBG_HWBP_3_CTXT1 */ /* DESCRIPTION: HWBP_3 Context ID register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR164; /******************************************************************************/ /* ECR: DBG_HWBP_3_CTXT2 */ /* DESCRIPTION: HWBP_3 Context ID register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR165; extern volatile __cregister unsigned long __ECR166; /******************************************************************************/ /* ECR: DBG_HWBP_3_ADDR0 */ /* DESCRIPTION: HWBP_3 Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR167; /******************************************************************************/ /* ECR: DBG_HWBP_3_ADDR1 */ /* DESCRIPTION: HWBP_3 Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR168; /******************************************************************************/ /* ECR: DBG_HWBP_3_AMASK0 */ /* DESCRIPTION: HWBP_3 Address Mask Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFC */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR169; /******************************************************************************/ /* ECR: DBG_HWBP_3_AMASK1 */ /* DESCRIPTION: HWBP_3 Address Mask Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR170; extern volatile __cregister unsigned long __ECR171; extern volatile __cregister unsigned long __ECR172; extern volatile __cregister unsigned long __ECR173; extern volatile __cregister unsigned long __ECR174; extern volatile __cregister unsigned long __ECR175; extern volatile __cregister unsigned long __ECR176; extern volatile __cregister unsigned long __ECR177; extern volatile __cregister unsigned long __ECR178; extern volatile __cregister unsigned long __ECR179; extern volatile __cregister unsigned long __ECR180; extern volatile __cregister unsigned long __ECR181; extern volatile __cregister unsigned long __ECR182; extern volatile __cregister unsigned long __ECR183; extern volatile __cregister unsigned long __ECR184; extern volatile __cregister unsigned long __ECR185; extern volatile __cregister unsigned long __ECR186; extern volatile __cregister unsigned long __ECR187; extern volatile __cregister unsigned long __ECR188; extern volatile __cregister unsigned long __ECR189; extern volatile __cregister unsigned long __ECR190; extern volatile __cregister unsigned long __ECR191; extern volatile __cregister unsigned long __ECR192; /******************************************************************************/ /* ECR: DBG_HWWP_0_CNTL */ /* DESCRIPTION: HWWP_0 control and status register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR193; extern volatile __cregister unsigned long __ECR194; /******************************************************************************/ /* ECR: DBG_HWWP_0_CTXT0 */ /* DESCRIPTION: HWWP_0 Context ID Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR195; /******************************************************************************/ /* ECR: DBG_HWWP_0_CTXT1 */ /* DESCRIPTION: HWWP_0 Context ID Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR196; /******************************************************************************/ /* ECR: DBG_HWWP_0_CTXT2 */ /* DESCRIPTION: HWWP_0 Context ID Register 2 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR197; extern volatile __cregister unsigned long __ECR198; /******************************************************************************/ /* ECR: DBG_HWWP_0_ADDR0 */ /* DESCRIPTION: HWWP_0 Address Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR199; /******************************************************************************/ /* ECR: DBG_HWWP_0_ADDR1 */ /* DESCRIPTION: HWWP_0 Address Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR200; /******************************************************************************/ /* ECR: DBG_HWWP_0_MASK0 */ /* DESCRIPTION: HWWP_0 Address Qualification Mask Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR201; /******************************************************************************/ /* ECR: DBG_HWWP_0_MASK1 */ /* DESCRIPTION: HWWP_0 Address Qualification Mask Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0xFFFFFFFF */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR202; extern volatile __cregister unsigned long __ECR203; extern volatile __cregister unsigned long __ECR204; extern volatile __cregister unsigned long __ECR205; extern volatile __cregister unsigned long __ECR206; extern volatile __cregister unsigned long __ECR207; extern volatile __cregister unsigned long __ECR208; extern volatile __cregister unsigned long __ECR209; extern volatile __cregister unsigned long __ECR210; extern volatile __cregister unsigned long __ECR211; extern volatile __cregister unsigned long __ECR212; extern volatile __cregister unsigned long __ECR213; extern volatile __cregister unsigned long __ECR214; extern volatile __cregister unsigned long __ECR215; extern volatile __cregister unsigned long __ECR216; extern volatile __cregister unsigned long __ECR217; extern volatile __cregister unsigned long __ECR218; extern volatile __cregister unsigned long __ECR219; extern volatile __cregister unsigned long __ECR220; extern volatile __cregister unsigned long __ECR221; extern volatile __cregister unsigned long __ECR222; extern volatile __cregister unsigned long __ECR223; extern volatile __cregister unsigned long __ECR224; extern volatile __cregister unsigned long __ECR225; extern volatile __cregister unsigned long __ECR226; extern volatile __cregister unsigned long __ECR227; extern volatile __cregister unsigned long __ECR228; extern volatile __cregister unsigned long __ECR229; extern volatile __cregister unsigned long __ECR230; extern volatile __cregister unsigned long __ECR231; extern volatile __cregister unsigned long __ECR232; extern volatile __cregister unsigned long __ECR233; extern volatile __cregister unsigned long __ECR234; extern volatile __cregister unsigned long __ECR235; extern volatile __cregister unsigned long __ECR236; extern volatile __cregister unsigned long __ECR237; extern volatile __cregister unsigned long __ECR238; extern volatile __cregister unsigned long __ECR239; extern volatile __cregister unsigned long __ECR240; extern volatile __cregister unsigned long __ECR241; extern volatile __cregister unsigned long __ECR242; extern volatile __cregister unsigned long __ECR243; extern volatile __cregister unsigned long __ECR244; extern volatile __cregister unsigned long __ECR245; extern volatile __cregister unsigned long __ECR246; extern volatile __cregister unsigned long __ECR247; extern volatile __cregister unsigned long __ECR248; extern volatile __cregister unsigned long __ECR249; extern volatile __cregister unsigned long __ECR250; extern volatile __cregister unsigned long __ECR251; extern volatile __cregister unsigned long __ECR252; extern volatile __cregister unsigned long __ECR253; extern volatile __cregister unsigned long __ECR254; extern volatile __cregister unsigned long __ECR255; extern volatile __cregister unsigned long __ECR256; /******************************************************************************/ /* ECR: L1DCFG */ /* DESCRIPTION: L1D Cache Configuration Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x7 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR257; extern volatile __cregister unsigned long __ECR258; /******************************************************************************/ /* ECR: L1DWB */ /* DESCRIPTION: L1D Global Writeback Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR259; /******************************************************************************/ /* ECR: L1DWBINV */ /* DESCRIPTION: L1D Global Writeback Invalidate Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR260; /******************************************************************************/ /* ECR: L1DINV */ /* DESCRIPTION: L1D Invalidate Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR261; extern volatile __cregister unsigned long __ECR262; /******************************************************************************/ /* ECR: L1DCTAG */ /* DESCRIPTION: L1D Cache tag View */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR263; extern volatile __cregister unsigned long __ECR264; extern volatile __cregister unsigned long __ECR265; extern volatile __cregister unsigned long __ECR266; extern volatile __cregister unsigned long __ECR267; extern volatile __cregister unsigned long __ECR268; extern volatile __cregister unsigned long __ECR269; extern volatile __cregister unsigned long __ECR270; extern volatile __cregister unsigned long __ECR271; extern volatile __cregister unsigned long __ECR272; extern volatile __cregister unsigned long __ECR273; /******************************************************************************/ /* ECR: L1DADDREEA */ /* DESCRIPTION: L1D Addressing Error Event Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR274; /******************************************************************************/ /* ECR: L1DADDREES */ /* DESCRIPTION: L1D Addressing Error Event Status */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR275; /******************************************************************************/ /* ECR: L1DADDREER */ /* DESCRIPTION: L1D Addressing Error Event Reset */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Supervisor: WO */ /* Secure User: WO */ /* Supervisor: WO */ /* User: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR276; /******************************************************************************/ /* ECR: L1DCMDEEA */ /* DESCRIPTION: L1D CMD Error Event Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR277; /******************************************************************************/ /* ECR: L1DCMDEES */ /* DESCRIPTION: L1D CMD Error Event Status */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR278; /******************************************************************************/ /* ECR: L1DCMDEER */ /* DESCRIPTION: L1D CMD Error Event Reset */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Supervisor: WO */ /* Secure User: WO */ /* Supervisor: WO */ /* User: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR279; extern volatile __cregister unsigned long __ECR280; extern volatile __cregister unsigned long __ECR281; extern volatile __cregister unsigned long __ECR282; extern volatile __cregister unsigned long __ECR283; extern volatile __cregister unsigned long __ECR284; extern volatile __cregister unsigned long __ECR285; extern volatile __cregister unsigned long __ECR286; extern volatile __cregister unsigned long __ECR287; extern volatile __cregister unsigned long __ECR288; extern volatile __cregister unsigned long __ECR289; extern volatile __cregister unsigned long __ECR290; extern volatile __cregister unsigned long __ECR291; extern volatile __cregister unsigned long __ECR292; extern volatile __cregister unsigned long __ECR293; extern volatile __cregister unsigned long __ECR294; extern volatile __cregister unsigned long __ECR295; extern volatile __cregister unsigned long __ECR296; extern volatile __cregister unsigned long __ECR297; extern volatile __cregister unsigned long __ECR298; extern volatile __cregister unsigned long __ECR299; extern volatile __cregister unsigned long __ECR300; extern volatile __cregister unsigned long __ECR301; extern volatile __cregister unsigned long __ECR302; extern volatile __cregister unsigned long __ECR303; extern volatile __cregister unsigned long __ECR304; extern volatile __cregister unsigned long __ECR305; extern volatile __cregister unsigned long __ECR306; extern volatile __cregister unsigned long __ECR307; extern volatile __cregister unsigned long __ECR308; extern volatile __cregister unsigned long __ECR309; extern volatile __cregister unsigned long __ECR310; extern volatile __cregister unsigned long __ECR311; extern volatile __cregister unsigned long __ECR312; extern volatile __cregister unsigned long __ECR313; extern volatile __cregister unsigned long __ECR314; extern volatile __cregister unsigned long __ECR315; extern volatile __cregister unsigned long __ECR316; extern volatile __cregister unsigned long __ECR317; extern volatile __cregister unsigned long __ECR318; extern volatile __cregister unsigned long __ECR319; extern volatile __cregister unsigned long __ECR320; extern volatile __cregister unsigned long __ECR321; extern volatile __cregister unsigned long __ECR322; extern volatile __cregister unsigned long __ECR323; extern volatile __cregister unsigned long __ECR324; /******************************************************************************/ /* ECR: L1PCTAG */ /* DESCRIPTION: L1P Cache Tag View */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR325; extern volatile __cregister unsigned long __ECR326; extern volatile __cregister unsigned long __ECR327; extern volatile __cregister unsigned long __ECR328; extern volatile __cregister unsigned long __ECR329; extern volatile __cregister unsigned long __ECR330; extern volatile __cregister unsigned long __ECR331; extern volatile __cregister unsigned long __ECR332; extern volatile __cregister unsigned long __ECR333; extern volatile __cregister unsigned long __ECR334; extern volatile __cregister unsigned long __ECR335; extern volatile __cregister unsigned long __ECR336; extern volatile __cregister unsigned long __ECR337; extern volatile __cregister unsigned long __ECR338; extern volatile __cregister unsigned long __ECR339; extern volatile __cregister unsigned long __ECR340; extern volatile __cregister unsigned long __ECR341; extern volatile __cregister unsigned long __ECR342; extern volatile __cregister unsigned long __ECR343; extern volatile __cregister unsigned long __ECR344; extern volatile __cregister unsigned long __ECR345; extern volatile __cregister unsigned long __ECR346; extern volatile __cregister unsigned long __ECR347; extern volatile __cregister unsigned long __ECR348; extern volatile __cregister unsigned long __ECR349; extern volatile __cregister unsigned long __ECR350; extern volatile __cregister unsigned long __ECR351; extern volatile __cregister unsigned long __ECR352; extern volatile __cregister unsigned long __ECR353; extern volatile __cregister unsigned long __ECR354; extern volatile __cregister unsigned long __ECR355; extern volatile __cregister unsigned long __ECR356; extern volatile __cregister unsigned long __ECR357; extern volatile __cregister unsigned long __ECR358; extern volatile __cregister unsigned long __ECR359; extern volatile __cregister unsigned long __ECR360; extern volatile __cregister unsigned long __ECR361; extern volatile __cregister unsigned long __ECR362; extern volatile __cregister unsigned long __ECR363; extern volatile __cregister unsigned long __ECR364; extern volatile __cregister unsigned long __ECR365; extern volatile __cregister unsigned long __ECR366; extern volatile __cregister unsigned long __ECR367; extern volatile __cregister unsigned long __ECR368; extern volatile __cregister unsigned long __ECR369; extern volatile __cregister unsigned long __ECR370; extern volatile __cregister unsigned long __ECR371; extern volatile __cregister unsigned long __ECR372; extern volatile __cregister unsigned long __ECR373; extern volatile __cregister unsigned long __ECR374; extern volatile __cregister unsigned long __ECR375; extern volatile __cregister unsigned long __ECR376; extern volatile __cregister unsigned long __ECR377; extern volatile __cregister unsigned long __ECR378; extern volatile __cregister unsigned long __ECR379; extern volatile __cregister unsigned long __ECR380; extern volatile __cregister unsigned long __ECR381; extern volatile __cregister unsigned long __ECR382; extern volatile __cregister unsigned long __ECR383; extern volatile __cregister unsigned long __ECR384; /******************************************************************************/ /* ECR: L2CFG */ /* DESCRIPTION: L2 Cache Configuration Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR385; /******************************************************************************/ /* ECR: L2CC */ /* DESCRIPTION: L2 Cache Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x10C60A00000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RW */ /* User: RO */ /* Guest Supervisor: RW */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR386; /******************************************************************************/ /* ECR: L2WB */ /* DESCRIPTION: L2 Global Writeback Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR387; /******************************************************************************/ /* ECR: L2WBINV */ /* DESCRIPTION: L2 Global Writeback Invalidate Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR388; /******************************************************************************/ /* ECR: L2INV */ /* DESCRIPTION: L2 Invalidate Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR389; extern volatile __cregister unsigned long __ECR390; /******************************************************************************/ /* ECR: L2CTAG */ /* DESCRIPTION: L2 Cache tag View */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR391; /******************************************************************************/ /* ECR: L2EDCFG */ /* DESCRIPTION: L2 EDC Configuration Control */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x8000000004000001 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR392; extern volatile __cregister unsigned long __ECR393; extern volatile __cregister unsigned long __ECR394; extern volatile __cregister unsigned long __ECR395; extern volatile __cregister unsigned long __ECR396; extern volatile __cregister unsigned long __ECR397; extern volatile __cregister unsigned long __ECR398; extern volatile __cregister unsigned long __ECR399; extern volatile __cregister unsigned long __ECR400; extern volatile __cregister unsigned long __ECR401; /******************************************************************************/ /* ECR: L2ADDREEA */ /* DESCRIPTION: L2 Addressing Error Event Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR402; /******************************************************************************/ /* ECR: L2ADDREES */ /* DESCRIPTION: L2 Addressing Error Event Status */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR403; /******************************************************************************/ /* ECR: L2ADDREER */ /* DESCRIPTION: L2 Addressing Error Event Reset */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR404; /******************************************************************************/ /* ECR: L2ALLOCEEA */ /* DESCRIPTION: L2 CMD Error Event Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR405; /******************************************************************************/ /* ECR: L2ALLOCEES */ /* DESCRIPTION: L2 CMD Error Event Status */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR406; /******************************************************************************/ /* ECR: L2ALLOCEER */ /* DESCRIPTION: L2 CMD Error Event Reset */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR407; /******************************************************************************/ /* ECR: L2MEMMAP */ /* DESCRIPTION: L2 Memory Map Control */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR408; /******************************************************************************/ /* ECR: L2MSWCTL */ /* DESCRIPTION: L2 Memory Switch Control */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR409; /******************************************************************************/ /* ECR: L2MEMMAPIBUFA */ /* DESCRIPTION: L2 IBUFA Memory Base Control */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR410; /******************************************************************************/ /* ECR: L2MEMMAPIBUFB */ /* DESCRIPTION: L2 IBUFB Memory Base Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR411; /******************************************************************************/ /* ECR: L2MEMMAPWBUF */ /* DESCRIPTION: L2 WBUF Memory Base Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR412; /******************************************************************************/ /* ECR: L2MSWERRSTAT */ /* DESCRIPTION: L2 Memory Switch Error Status */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR413; /******************************************************************************/ /* ECR: L2MSWERRCLR */ /* DESCRIPTION: L2 Memory Switch Error Clear */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR414; /******************************************************************************/ /* ECR: L2MSWERRADDR */ /* DESCRIPTION: L2 Memory Switch Error Address */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR415; /******************************************************************************/ /* ECR: L2EDTST */ /* DESCRIPTION: L2 EDC Test Control */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RW */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR416; extern volatile __cregister unsigned long __ECR417; extern volatile __cregister unsigned long __ECR418; extern volatile __cregister unsigned long __ECR419; extern volatile __cregister unsigned long __ECR420; extern volatile __cregister unsigned long __ECR421; extern volatile __cregister unsigned long __ECR422; extern volatile __cregister unsigned long __ECR423; extern volatile __cregister unsigned long __ECR424; extern volatile __cregister unsigned long __ECR425; extern volatile __cregister unsigned long __ECR426; extern volatile __cregister unsigned long __ECR427; extern volatile __cregister unsigned long __ECR428; extern volatile __cregister unsigned long __ECR429; extern volatile __cregister unsigned long __ECR430; extern volatile __cregister unsigned long __ECR431; extern volatile __cregister unsigned long __ECR432; extern volatile __cregister unsigned long __ECR433; extern volatile __cregister unsigned long __ECR434; extern volatile __cregister unsigned long __ECR435; extern volatile __cregister unsigned long __ECR436; extern volatile __cregister unsigned long __ECR437; extern volatile __cregister unsigned long __ECR438; extern volatile __cregister unsigned long __ECR439; extern volatile __cregister unsigned long __ECR440; extern volatile __cregister unsigned long __ECR441; extern volatile __cregister unsigned long __ECR442; extern volatile __cregister unsigned long __ECR443; extern volatile __cregister unsigned long __ECR444; extern volatile __cregister unsigned long __ECR445; extern volatile __cregister unsigned long __ECR446; extern volatile __cregister unsigned long __ECR447; extern volatile __cregister unsigned long __ECR448; extern volatile __cregister unsigned long __ECR449; extern volatile __cregister unsigned long __ECR450; extern volatile __cregister unsigned long __ECR451; extern volatile __cregister unsigned long __ECR452; extern volatile __cregister unsigned long __ECR453; extern volatile __cregister unsigned long __ECR454; extern volatile __cregister unsigned long __ECR455; extern volatile __cregister unsigned long __ECR456; extern volatile __cregister unsigned long __ECR457; extern volatile __cregister unsigned long __ECR458; extern volatile __cregister unsigned long __ECR459; extern volatile __cregister unsigned long __ECR460; extern volatile __cregister unsigned long __ECR461; extern volatile __cregister unsigned long __ECR462; extern volatile __cregister unsigned long __ECR463; extern volatile __cregister unsigned long __ECR464; extern volatile __cregister unsigned long __ECR465; extern volatile __cregister unsigned long __ECR466; extern volatile __cregister unsigned long __ECR467; extern volatile __cregister unsigned long __ECR468; extern volatile __cregister unsigned long __ECR469; extern volatile __cregister unsigned long __ECR470; extern volatile __cregister unsigned long __ECR471; extern volatile __cregister unsigned long __ECR472; extern volatile __cregister unsigned long __ECR473; extern volatile __cregister unsigned long __ECR474; extern volatile __cregister unsigned long __ECR475; extern volatile __cregister unsigned long __ECR476; extern volatile __cregister unsigned long __ECR477; extern volatile __cregister unsigned long __ECR478; extern volatile __cregister unsigned long __ECR479; extern volatile __cregister unsigned long __ECR480; extern volatile __cregister unsigned long __ECR481; extern volatile __cregister unsigned long __ECR482; extern volatile __cregister unsigned long __ECR483; extern volatile __cregister unsigned long __ECR484; extern volatile __cregister unsigned long __ECR485; extern volatile __cregister unsigned long __ECR486; extern volatile __cregister unsigned long __ECR487; extern volatile __cregister unsigned long __ECR488; extern volatile __cregister unsigned long __ECR489; extern volatile __cregister unsigned long __ECR490; extern volatile __cregister unsigned long __ECR491; extern volatile __cregister unsigned long __ECR492; extern volatile __cregister unsigned long __ECR493; extern volatile __cregister unsigned long __ECR494; extern volatile __cregister unsigned long __ECR495; extern volatile __cregister unsigned long __ECR496; extern volatile __cregister unsigned long __ECR497; extern volatile __cregister unsigned long __ECR498; extern volatile __cregister unsigned long __ECR499; extern volatile __cregister unsigned long __ECR500; extern volatile __cregister unsigned long __ECR501; extern volatile __cregister unsigned long __ECR502; extern volatile __cregister unsigned long __ECR503; extern volatile __cregister unsigned long __ECR504; extern volatile __cregister unsigned long __ECR505; extern volatile __cregister unsigned long __ECR506; extern volatile __cregister unsigned long __ECR507; extern volatile __cregister unsigned long __ECR508; extern volatile __cregister unsigned long __ECR509; extern volatile __cregister unsigned long __ECR510; extern volatile __cregister unsigned long __ECR511; extern volatile __cregister unsigned long __ECR512; /******************************************************************************/ /* ECR: SE0_PID */ /* DESCRIPTION: Stream 0 PID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x60E00800 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR513; /******************************************************************************/ /* ECR: SE0_FAR */ /* DESCRIPTION: Stream 0 Fail Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR514; /******************************************************************************/ /* ECR: SE0_FSR */ /* DESCRIPTION: Stream 0 Fail Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR515; extern volatile __cregister unsigned long __ECR516; extern volatile __cregister unsigned long __ECR517; extern volatile __cregister unsigned long __ECR518; extern volatile __cregister unsigned long __ECR519; extern volatile __cregister unsigned long __ECR520; /******************************************************************************/ /* ECR: SE0_TAG */ /* DESCRIPTION: Stream 0 Tag Data and Metadata Register */ /* INDEX RANGE: [0,15] */ /* GENERAL RESET VALUE: 0x6 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR521; /******************************************************************************/ /* ECR: SE0_ICNT */ /* DESCRIPTION: Stream 0 Iteration Count Register */ /* INDEX RANGE: [0,28] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR522; /******************************************************************************/ /* ECR: SE0_DIM */ /* DESCRIPTION: Stream 0 Dimension Register */ /* INDEX RANGE: [0,4] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR523; /******************************************************************************/ /* ECR: SE0_ADDR */ /* DESCRIPTION: Stream 0 Address Register */ /* INDEX RANGE: [0,13] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR524; /******************************************************************************/ /* ECR: SE0_STATUS */ /* DESCRIPTION: Stream 0 Status and Flag Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR525; extern volatile __cregister unsigned long __ECR526; extern volatile __cregister unsigned long __ECR527; extern volatile __cregister unsigned long __ECR528; /******************************************************************************/ /* ECR: SE1_PID */ /* DESCRIPTION: Stream 1 PID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x60E00800 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR529; /******************************************************************************/ /* ECR: SE1_FAR */ /* DESCRIPTION: Stream 1 Fail Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR530; /******************************************************************************/ /* ECR: SE1_FSR */ /* DESCRIPTION: Stream 1 Fail Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR531; extern volatile __cregister unsigned long __ECR532; extern volatile __cregister unsigned long __ECR533; extern volatile __cregister unsigned long __ECR534; extern volatile __cregister unsigned long __ECR535; extern volatile __cregister unsigned long __ECR536; /******************************************************************************/ /* ECR: SE1_TAG */ /* DESCRIPTION: Stream 1 Tag Data and Metadata Register */ /* INDEX RANGE: [0,15] */ /* GENERAL RESET VALUE: 0x6 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR537; /******************************************************************************/ /* ECR: SE1_ICNT */ /* DESCRIPTION: Stream 1 Iteration Count Register */ /* INDEX RANGE: [0,28] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR538; /******************************************************************************/ /* ECR: SE1_DIM */ /* DESCRIPTION: Stream 1 Dimension Register */ /* INDEX RANGE: [0,4] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR539; /******************************************************************************/ /* ECR: SE1_ADDR */ /* DESCRIPTION: Stream 1 Address Register */ /* INDEX RANGE: [0,13] */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR540; /******************************************************************************/ /* ECR: SE1_STATUS */ /* DESCRIPTION: Stream 1 Status and Flag Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR541; extern volatile __cregister unsigned long __ECR542; extern volatile __cregister unsigned long __ECR543; extern volatile __cregister unsigned long __ECR544; /******************************************************************************/ /* ECR: SE2_PID */ /* DESCRIPTION: Stream 2 PID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR545; extern volatile __cregister unsigned long __ECR546; extern volatile __cregister unsigned long __ECR547; extern volatile __cregister unsigned long __ECR548; extern volatile __cregister unsigned long __ECR549; extern volatile __cregister unsigned long __ECR550; extern volatile __cregister unsigned long __ECR551; extern volatile __cregister unsigned long __ECR552; extern volatile __cregister unsigned long __ECR553; extern volatile __cregister unsigned long __ECR554; extern volatile __cregister unsigned long __ECR555; extern volatile __cregister unsigned long __ECR556; extern volatile __cregister unsigned long __ECR557; extern volatile __cregister unsigned long __ECR558; extern volatile __cregister unsigned long __ECR559; extern volatile __cregister unsigned long __ECR560; /******************************************************************************/ /* ECR: SE3_PID */ /* DESCRIPTION: Stream 3 PID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR561; extern volatile __cregister unsigned long __ECR562; extern volatile __cregister unsigned long __ECR563; extern volatile __cregister unsigned long __ECR564; extern volatile __cregister unsigned long __ECR565; extern volatile __cregister unsigned long __ECR566; extern volatile __cregister unsigned long __ECR567; extern volatile __cregister unsigned long __ECR568; extern volatile __cregister unsigned long __ECR569; extern volatile __cregister unsigned long __ECR570; extern volatile __cregister unsigned long __ECR571; extern volatile __cregister unsigned long __ECR572; extern volatile __cregister unsigned long __ECR573; extern volatile __cregister unsigned long __ECR574; extern volatile __cregister unsigned long __ECR575; extern volatile __cregister unsigned long __ECR576; extern volatile __cregister unsigned long __ECR577; extern volatile __cregister unsigned long __ECR578; extern volatile __cregister unsigned long __ECR579; extern volatile __cregister unsigned long __ECR580; extern volatile __cregister unsigned long __ECR581; extern volatile __cregister unsigned long __ECR582; extern volatile __cregister unsigned long __ECR583; extern volatile __cregister unsigned long __ECR584; extern volatile __cregister unsigned long __ECR585; extern volatile __cregister unsigned long __ECR586; extern volatile __cregister unsigned long __ECR587; extern volatile __cregister unsigned long __ECR588; extern volatile __cregister unsigned long __ECR589; extern volatile __cregister unsigned long __ECR590; extern volatile __cregister unsigned long __ECR591; extern volatile __cregister unsigned long __ECR592; extern volatile __cregister unsigned long __ECR593; extern volatile __cregister unsigned long __ECR594; extern volatile __cregister unsigned long __ECR595; extern volatile __cregister unsigned long __ECR596; extern volatile __cregister unsigned long __ECR597; extern volatile __cregister unsigned long __ECR598; extern volatile __cregister unsigned long __ECR599; extern volatile __cregister unsigned long __ECR600; extern volatile __cregister unsigned long __ECR601; extern volatile __cregister unsigned long __ECR602; extern volatile __cregister unsigned long __ECR603; extern volatile __cregister unsigned long __ECR604; extern volatile __cregister unsigned long __ECR605; extern volatile __cregister unsigned long __ECR606; extern volatile __cregister unsigned long __ECR607; extern volatile __cregister unsigned long __ECR608; extern volatile __cregister unsigned long __ECR609; extern volatile __cregister unsigned long __ECR610; extern volatile __cregister unsigned long __ECR611; extern volatile __cregister unsigned long __ECR612; extern volatile __cregister unsigned long __ECR613; extern volatile __cregister unsigned long __ECR614; extern volatile __cregister unsigned long __ECR615; extern volatile __cregister unsigned long __ECR616; extern volatile __cregister unsigned long __ECR617; extern volatile __cregister unsigned long __ECR618; extern volatile __cregister unsigned long __ECR619; extern volatile __cregister unsigned long __ECR620; extern volatile __cregister unsigned long __ECR621; extern volatile __cregister unsigned long __ECR622; extern volatile __cregister unsigned long __ECR623; extern volatile __cregister unsigned long __ECR624; extern volatile __cregister unsigned long __ECR625; extern volatile __cregister unsigned long __ECR626; extern volatile __cregister unsigned long __ECR627; extern volatile __cregister unsigned long __ECR628; extern volatile __cregister unsigned long __ECR629; extern volatile __cregister unsigned long __ECR630; extern volatile __cregister unsigned long __ECR631; extern volatile __cregister unsigned long __ECR632; extern volatile __cregister unsigned long __ECR633; extern volatile __cregister unsigned long __ECR634; extern volatile __cregister unsigned long __ECR635; extern volatile __cregister unsigned long __ECR636; extern volatile __cregister unsigned long __ECR637; extern volatile __cregister unsigned long __ECR638; extern volatile __cregister unsigned long __ECR639; extern volatile __cregister unsigned long __ECR640; extern volatile __cregister unsigned long __ECR641; extern volatile __cregister unsigned long __ECR642; extern volatile __cregister unsigned long __ECR643; extern volatile __cregister unsigned long __ECR644; extern volatile __cregister unsigned long __ECR645; extern volatile __cregister unsigned long __ECR646; extern volatile __cregister unsigned long __ECR647; extern volatile __cregister unsigned long __ECR648; extern volatile __cregister unsigned long __ECR649; extern volatile __cregister unsigned long __ECR650; extern volatile __cregister unsigned long __ECR651; extern volatile __cregister unsigned long __ECR652; extern volatile __cregister unsigned long __ECR653; extern volatile __cregister unsigned long __ECR654; extern volatile __cregister unsigned long __ECR655; extern volatile __cregister unsigned long __ECR656; extern volatile __cregister unsigned long __ECR657; extern volatile __cregister unsigned long __ECR658; extern volatile __cregister unsigned long __ECR659; extern volatile __cregister unsigned long __ECR660; extern volatile __cregister unsigned long __ECR661; extern volatile __cregister unsigned long __ECR662; extern volatile __cregister unsigned long __ECR663; extern volatile __cregister unsigned long __ECR664; extern volatile __cregister unsigned long __ECR665; extern volatile __cregister unsigned long __ECR666; extern volatile __cregister unsigned long __ECR667; extern volatile __cregister unsigned long __ECR668; extern volatile __cregister unsigned long __ECR669; extern volatile __cregister unsigned long __ECR670; extern volatile __cregister unsigned long __ECR671; extern volatile __cregister unsigned long __ECR672; extern volatile __cregister unsigned long __ECR673; extern volatile __cregister unsigned long __ECR674; extern volatile __cregister unsigned long __ECR675; extern volatile __cregister unsigned long __ECR676; extern volatile __cregister unsigned long __ECR677; extern volatile __cregister unsigned long __ECR678; extern volatile __cregister unsigned long __ECR679; extern volatile __cregister unsigned long __ECR680; extern volatile __cregister unsigned long __ECR681; extern volatile __cregister unsigned long __ECR682; extern volatile __cregister unsigned long __ECR683; extern volatile __cregister unsigned long __ECR684; extern volatile __cregister unsigned long __ECR685; extern volatile __cregister unsigned long __ECR686; extern volatile __cregister unsigned long __ECR687; extern volatile __cregister unsigned long __ECR688; extern volatile __cregister unsigned long __ECR689; extern volatile __cregister unsigned long __ECR690; extern volatile __cregister unsigned long __ECR691; extern volatile __cregister unsigned long __ECR692; extern volatile __cregister unsigned long __ECR693; extern volatile __cregister unsigned long __ECR694; extern volatile __cregister unsigned long __ECR695; extern volatile __cregister unsigned long __ECR696; extern volatile __cregister unsigned long __ECR697; extern volatile __cregister unsigned long __ECR698; extern volatile __cregister unsigned long __ECR699; extern volatile __cregister unsigned long __ECR700; extern volatile __cregister unsigned long __ECR701; extern volatile __cregister unsigned long __ECR702; extern volatile __cregister unsigned long __ECR703; extern volatile __cregister unsigned long __ECR704; extern volatile __cregister unsigned long __ECR705; extern volatile __cregister unsigned long __ECR706; extern volatile __cregister unsigned long __ECR707; extern volatile __cregister unsigned long __ECR708; extern volatile __cregister unsigned long __ECR709; extern volatile __cregister unsigned long __ECR710; extern volatile __cregister unsigned long __ECR711; extern volatile __cregister unsigned long __ECR712; extern volatile __cregister unsigned long __ECR713; extern volatile __cregister unsigned long __ECR714; extern volatile __cregister unsigned long __ECR715; extern volatile __cregister unsigned long __ECR716; extern volatile __cregister unsigned long __ECR717; extern volatile __cregister unsigned long __ECR718; extern volatile __cregister unsigned long __ECR719; extern volatile __cregister unsigned long __ECR720; extern volatile __cregister unsigned long __ECR721; extern volatile __cregister unsigned long __ECR722; extern volatile __cregister unsigned long __ECR723; extern volatile __cregister unsigned long __ECR724; extern volatile __cregister unsigned long __ECR725; extern volatile __cregister unsigned long __ECR726; extern volatile __cregister unsigned long __ECR727; extern volatile __cregister unsigned long __ECR728; extern volatile __cregister unsigned long __ECR729; extern volatile __cregister unsigned long __ECR730; extern volatile __cregister unsigned long __ECR731; extern volatile __cregister unsigned long __ECR732; extern volatile __cregister unsigned long __ECR733; extern volatile __cregister unsigned long __ECR734; extern volatile __cregister unsigned long __ECR735; extern volatile __cregister unsigned long __ECR736; extern volatile __cregister unsigned long __ECR737; extern volatile __cregister unsigned long __ECR738; extern volatile __cregister unsigned long __ECR739; extern volatile __cregister unsigned long __ECR740; extern volatile __cregister unsigned long __ECR741; extern volatile __cregister unsigned long __ECR742; extern volatile __cregister unsigned long __ECR743; extern volatile __cregister unsigned long __ECR744; extern volatile __cregister unsigned long __ECR745; extern volatile __cregister unsigned long __ECR746; extern volatile __cregister unsigned long __ECR747; extern volatile __cregister unsigned long __ECR748; extern volatile __cregister unsigned long __ECR749; extern volatile __cregister unsigned long __ECR750; extern volatile __cregister unsigned long __ECR751; extern volatile __cregister unsigned long __ECR752; extern volatile __cregister unsigned long __ECR753; extern volatile __cregister unsigned long __ECR754; extern volatile __cregister unsigned long __ECR755; extern volatile __cregister unsigned long __ECR756; extern volatile __cregister unsigned long __ECR757; extern volatile __cregister unsigned long __ECR758; extern volatile __cregister unsigned long __ECR759; extern volatile __cregister unsigned long __ECR760; extern volatile __cregister unsigned long __ECR761; extern volatile __cregister unsigned long __ECR762; extern volatile __cregister unsigned long __ECR763; extern volatile __cregister unsigned long __ECR764; extern volatile __cregister unsigned long __ECR765; extern volatile __cregister unsigned long __ECR766; extern volatile __cregister unsigned long __ECR767; extern volatile __cregister unsigned long __ECR768; /******************************************************************************/ /* ECR: MMU_PID */ /* DESCRIPTION: Physical ID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x60F00000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Supervisor: RO */ /* Guest Supervisor: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR769; extern volatile __cregister unsigned long __ECR770; /******************************************************************************/ /* ECR: MMU_REPL */ /* DESCRIPTION: Replacement Policy Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR771; extern volatile __cregister unsigned long __ECR772; /******************************************************************************/ /* ECR: TDRR */ /* DESCRIPTION: Translation Debug Response Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR773; /******************************************************************************/ /* ECR: TDFAR */ /* DESCRIPTION: Translation Debug Fault Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR774; extern volatile __cregister unsigned long __ECR775; extern volatile __cregister unsigned long __ECR776; /******************************************************************************/ /* ECR: TLB_INV */ /* DESCRIPTION: TLB Invalidation Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR777; extern volatile __cregister unsigned long __ECR778; /******************************************************************************/ /* ECR: TLB_INVC */ /* DESCRIPTION: TLB Complete Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR779; /******************************************************************************/ /* ECR: TLB_DBG */ /* DESCRIPTION: TLB Debug Access Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR780; /******************************************************************************/ /* ECR: TLB_DBG_DATA0 */ /* DESCRIPTION: TLB Debug Data 0 Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR781; /******************************************************************************/ /* ECR: TLB_DBG_DATA1 */ /* DESCRIPTION: TLB Debug Data 1 Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /******************************************************************************/ /* Debug only; no macro provided. */ extern volatile __cregister unsigned long __ECR782; extern volatile __cregister unsigned long __ECR783; extern volatile __cregister unsigned long __ECR784; /******************************************************************************/ /* ECR: SCR */ /* DESCRIPTION: System Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR785; /******************************************************************************/ /* ECR: TCR0 */ /* DESCRIPTION: Table Control Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR786; /******************************************************************************/ /* ECR: TCR1 */ /* DESCRIPTION: Table Control Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR787; /******************************************************************************/ /* ECR: TBR0 */ /* DESCRIPTION: Table Base Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR788; /******************************************************************************/ /* ECR: TBR1 */ /* DESCRIPTION: Table Base Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR789; /******************************************************************************/ /* ECR: MAR */ /* DESCRIPTION: Memory Attribute Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /* Guest Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR790; /******************************************************************************/ /* ECR: TDAR */ /* DESCRIPTION: Translation Debug Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /* Guest Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR791; extern volatile __cregister unsigned long __ECR792; extern volatile __cregister unsigned long __ECR793; extern volatile __cregister unsigned long __ECR794; extern volatile __cregister unsigned long __ECR795; extern volatile __cregister unsigned long __ECR796; extern volatile __cregister unsigned long __ECR797; extern volatile __cregister unsigned long __ECR798; extern volatile __cregister unsigned long __ECR799; extern volatile __cregister unsigned long __ECR800; /******************************************************************************/ /* ECR: SCR_GS */ /* DESCRIPTION: System Control Register - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR801; /******************************************************************************/ /* ECR: TCR0_GS */ /* DESCRIPTION: Table Control Register 0 - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR802; /******************************************************************************/ /* ECR: TCR1_GS */ /* DESCRIPTION: Table Control Register 1 - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR803; /******************************************************************************/ /* ECR: TBR0_GS */ /* DESCRIPTION: Table Base Register 0 - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR804; /******************************************************************************/ /* ECR: TBR1_GS */ /* DESCRIPTION: Table Base Register 1 - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR805; /******************************************************************************/ /* ECR: MAR_GS */ /* DESCRIPTION: Memory Attribute Register - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR806; /******************************************************************************/ /* ECR: TDAR_GS */ /* DESCRIPTION: Translation Debug Address Register - Non-Secure Guest Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR807; extern volatile __cregister unsigned long __ECR808; extern volatile __cregister unsigned long __ECR809; extern volatile __cregister unsigned long __ECR810; extern volatile __cregister unsigned long __ECR811; extern volatile __cregister unsigned long __ECR812; extern volatile __cregister unsigned long __ECR813; extern volatile __cregister unsigned long __ECR814; extern volatile __cregister unsigned long __ECR815; extern volatile __cregister unsigned long __ECR816; /******************************************************************************/ /* ECR: SCR_S */ /* DESCRIPTION: System Control Register - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR817; /******************************************************************************/ /* ECR: TCR0_S */ /* DESCRIPTION: Table Control Register 0 - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR818; /******************************************************************************/ /* ECR: TCR1_S */ /* DESCRIPTION: Table Control Register 1 - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR819; /******************************************************************************/ /* ECR: TBR0_S */ /* DESCRIPTION: Table Base Register 0 - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR820; /******************************************************************************/ /* ECR: TBR1_S */ /* DESCRIPTION: Table Base Register 1 - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR821; /******************************************************************************/ /* ECR: MAR_S */ /* DESCRIPTION: Memory Attribute Register - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Secure Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR822; /******************************************************************************/ /* ECR: TDAR_S */ /* DESCRIPTION: Translation Debug Address Register - Non-Secure Supervisor */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Secure Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR823; extern volatile __cregister unsigned long __ECR824; extern volatile __cregister unsigned long __ECR825; extern volatile __cregister unsigned long __ECR826; extern volatile __cregister unsigned long __ECR827; extern volatile __cregister unsigned long __ECR828; extern volatile __cregister unsigned long __ECR829; extern volatile __cregister unsigned long __ECR830; extern volatile __cregister unsigned long __ECR831; extern volatile __cregister unsigned long __ECR832; extern volatile __cregister unsigned long __ECR833; extern volatile __cregister unsigned long __ECR834; extern volatile __cregister unsigned long __ECR835; extern volatile __cregister unsigned long __ECR836; extern volatile __cregister unsigned long __ECR837; extern volatile __cregister unsigned long __ECR838; extern volatile __cregister unsigned long __ECR839; extern volatile __cregister unsigned long __ECR840; extern volatile __cregister unsigned long __ECR841; extern volatile __cregister unsigned long __ECR842; extern volatile __cregister unsigned long __ECR843; extern volatile __cregister unsigned long __ECR844; extern volatile __cregister unsigned long __ECR845; extern volatile __cregister unsigned long __ECR846; extern volatile __cregister unsigned long __ECR847; extern volatile __cregister unsigned long __ECR848; extern volatile __cregister unsigned long __ECR849; extern volatile __cregister unsigned long __ECR850; extern volatile __cregister unsigned long __ECR851; extern volatile __cregister unsigned long __ECR852; extern volatile __cregister unsigned long __ECR853; extern volatile __cregister unsigned long __ECR854; extern volatile __cregister unsigned long __ECR855; extern volatile __cregister unsigned long __ECR856; extern volatile __cregister unsigned long __ECR857; extern volatile __cregister unsigned long __ECR858; extern volatile __cregister unsigned long __ECR859; extern volatile __cregister unsigned long __ECR860; extern volatile __cregister unsigned long __ECR861; extern volatile __cregister unsigned long __ECR862; extern volatile __cregister unsigned long __ECR863; extern volatile __cregister unsigned long __ECR864; /******************************************************************************/ /* ECR: VCR */ /* DESCRIPTION: Virtualization Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR865; /******************************************************************************/ /* ECR: VTCR */ /* DESCRIPTION: Virtualization Table Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR866; /******************************************************************************/ /* ECR: VTBR */ /* DESCRIPTION: Virtualization Table Base Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Supervisor: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR867; /******************************************************************************/ /* ECR: VTDAR */ /* DESCRIPTION: Virtualization Translation Debug Address Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: WO */ /* Non-Secure Debug: WO */ /* Secure Supervisor: WO */ /* Supervisor: WO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR868; extern volatile __cregister unsigned long __ECR869; extern volatile __cregister unsigned long __ECR870; extern volatile __cregister unsigned long __ECR871; extern volatile __cregister unsigned long __ECR872; extern volatile __cregister unsigned long __ECR873; extern volatile __cregister unsigned long __ECR874; extern volatile __cregister unsigned long __ECR875; extern volatile __cregister unsigned long __ECR876; extern volatile __cregister unsigned long __ECR877; extern volatile __cregister unsigned long __ECR878; extern volatile __cregister unsigned long __ECR879; extern volatile __cregister unsigned long __ECR880; extern volatile __cregister unsigned long __ECR881; extern volatile __cregister unsigned long __ECR882; extern volatile __cregister unsigned long __ECR883; extern volatile __cregister unsigned long __ECR884; extern volatile __cregister unsigned long __ECR885; extern volatile __cregister unsigned long __ECR886; extern volatile __cregister unsigned long __ECR887; extern volatile __cregister unsigned long __ECR888; extern volatile __cregister unsigned long __ECR889; extern volatile __cregister unsigned long __ECR890; extern volatile __cregister unsigned long __ECR891; extern volatile __cregister unsigned long __ECR892; extern volatile __cregister unsigned long __ECR893; extern volatile __cregister unsigned long __ECR894; extern volatile __cregister unsigned long __ECR895; extern volatile __cregister unsigned long __ECR896; /******************************************************************************/ /* ECR: L1D_UTLB_MATCH */ /* DESCRIPTION: Indexed uTLB Page Match Entry */ /* INDEX RANGE: [0,15] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0xF000070000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR897; extern volatile __cregister unsigned long __ECR898; /******************************************************************************/ /* ECR: L1D_UTLB_ATTR */ /* DESCRIPTION: Indexed uTLB Page Attribute Entry */ /* INDEX RANGE: [0,15] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0x8000500000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR899; extern volatile __cregister unsigned long __ECR900; /******************************************************************************/ /* ECR: L1D_UTLB_REPL */ /* DESCRIPTION: uTLB Replacement Policy Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR901; extern volatile __cregister unsigned long __ECR902; extern volatile __cregister unsigned long __ECR903; extern volatile __cregister unsigned long __ECR904; /******************************************************************************/ /* ECR: L1P_UTLB_MATCH */ /* DESCRIPTION: Indexed uTLB Page Match Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0xF000070000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR905; extern volatile __cregister unsigned long __ECR906; /******************************************************************************/ /* ECR: L1P_UTLB_ATTR */ /* DESCRIPTION: Indexed uTLB Page Attribute Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0x8000500000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR907; extern volatile __cregister unsigned long __ECR908; /******************************************************************************/ /* ECR: L1P_UTLB_REPL */ /* DESCRIPTION: uTLB Replacement Policy Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR909; extern volatile __cregister unsigned long __ECR910; extern volatile __cregister unsigned long __ECR911; extern volatile __cregister unsigned long __ECR912; /******************************************************************************/ /* ECR: SE0_UTLB_MATCH */ /* DESCRIPTION: Indexed uTLB Page Match Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0xF000070000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR913; extern volatile __cregister unsigned long __ECR914; /******************************************************************************/ /* ECR: SE0_UTLB_ATTR */ /* DESCRIPTION: Indexed uTLB Page Attribute Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0x8000500000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR915; extern volatile __cregister unsigned long __ECR916; /******************************************************************************/ /* ECR: SE0_UTLB_REPL */ /* DESCRIPTION: uTLB Replacement Policy Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR917; extern volatile __cregister unsigned long __ECR918; extern volatile __cregister unsigned long __ECR919; extern volatile __cregister unsigned long __ECR920; /******************************************************************************/ /* ECR: SE1_UTLB_MATCH */ /* DESCRIPTION: Indexed uTLB Page Match Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0xF000070000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR921; extern volatile __cregister unsigned long __ECR922; /******************************************************************************/ /* ECR: SE1_UTLB_ATTR */ /* DESCRIPTION: Indexed uTLB Page Attribute Entry */ /* INDEX RANGE: [0,7] */ /* GENERAL RESET VALUE: 0x0 */ /* INDEX 0 RESET VALUE: 0x8000500000000000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR923; extern volatile __cregister unsigned long __ECR924; /******************************************************************************/ /* ECR: SE1_UTLB_REPL */ /* DESCRIPTION: uTLB Replacement Policy Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR925; extern volatile __cregister unsigned long __ECR926; extern volatile __cregister unsigned long __ECR927; extern volatile __cregister unsigned long __ECR928; extern volatile __cregister unsigned long __ECR929; extern volatile __cregister unsigned long __ECR930; extern volatile __cregister unsigned long __ECR931; extern volatile __cregister unsigned long __ECR932; extern volatile __cregister unsigned long __ECR933; extern volatile __cregister unsigned long __ECR934; extern volatile __cregister unsigned long __ECR935; extern volatile __cregister unsigned long __ECR936; extern volatile __cregister unsigned long __ECR937; extern volatile __cregister unsigned long __ECR938; extern volatile __cregister unsigned long __ECR939; extern volatile __cregister unsigned long __ECR940; extern volatile __cregister unsigned long __ECR941; extern volatile __cregister unsigned long __ECR942; extern volatile __cregister unsigned long __ECR943; extern volatile __cregister unsigned long __ECR944; extern volatile __cregister unsigned long __ECR945; extern volatile __cregister unsigned long __ECR946; extern volatile __cregister unsigned long __ECR947; extern volatile __cregister unsigned long __ECR948; extern volatile __cregister unsigned long __ECR949; extern volatile __cregister unsigned long __ECR950; extern volatile __cregister unsigned long __ECR951; extern volatile __cregister unsigned long __ECR952; extern volatile __cregister unsigned long __ECR953; extern volatile __cregister unsigned long __ECR954; extern volatile __cregister unsigned long __ECR955; extern volatile __cregister unsigned long __ECR956; extern volatile __cregister unsigned long __ECR957; extern volatile __cregister unsigned long __ECR958; extern volatile __cregister unsigned long __ECR959; extern volatile __cregister unsigned long __ECR960; extern volatile __cregister unsigned long __ECR961; extern volatile __cregister unsigned long __ECR962; extern volatile __cregister unsigned long __ECR963; extern volatile __cregister unsigned long __ECR964; extern volatile __cregister unsigned long __ECR965; extern volatile __cregister unsigned long __ECR966; extern volatile __cregister unsigned long __ECR967; extern volatile __cregister unsigned long __ECR968; extern volatile __cregister unsigned long __ECR969; extern volatile __cregister unsigned long __ECR970; extern volatile __cregister unsigned long __ECR971; extern volatile __cregister unsigned long __ECR972; extern volatile __cregister unsigned long __ECR973; extern volatile __cregister unsigned long __ECR974; extern volatile __cregister unsigned long __ECR975; extern volatile __cregister unsigned long __ECR976; extern volatile __cregister unsigned long __ECR977; extern volatile __cregister unsigned long __ECR978; extern volatile __cregister unsigned long __ECR979; extern volatile __cregister unsigned long __ECR980; extern volatile __cregister unsigned long __ECR981; extern volatile __cregister unsigned long __ECR982; extern volatile __cregister unsigned long __ECR983; extern volatile __cregister unsigned long __ECR984; extern volatile __cregister unsigned long __ECR985; extern volatile __cregister unsigned long __ECR986; extern volatile __cregister unsigned long __ECR987; extern volatile __cregister unsigned long __ECR988; extern volatile __cregister unsigned long __ECR989; extern volatile __cregister unsigned long __ECR990; extern volatile __cregister unsigned long __ECR991; extern volatile __cregister unsigned long __ECR992; extern volatile __cregister unsigned long __ECR993; extern volatile __cregister unsigned long __ECR994; extern volatile __cregister unsigned long __ECR995; extern volatile __cregister unsigned long __ECR996; extern volatile __cregister unsigned long __ECR997; extern volatile __cregister unsigned long __ECR998; extern volatile __cregister unsigned long __ECR999; extern volatile __cregister unsigned long __ECR1000; extern volatile __cregister unsigned long __ECR1001; extern volatile __cregister unsigned long __ECR1002; extern volatile __cregister unsigned long __ECR1003; extern volatile __cregister unsigned long __ECR1004; extern volatile __cregister unsigned long __ECR1005; extern volatile __cregister unsigned long __ECR1006; extern volatile __cregister unsigned long __ECR1007; extern volatile __cregister unsigned long __ECR1008; extern volatile __cregister unsigned long __ECR1009; extern volatile __cregister unsigned long __ECR1010; extern volatile __cregister unsigned long __ECR1011; extern volatile __cregister unsigned long __ECR1012; extern volatile __cregister unsigned long __ECR1013; extern volatile __cregister unsigned long __ECR1014; extern volatile __cregister unsigned long __ECR1015; extern volatile __cregister unsigned long __ECR1016; extern volatile __cregister unsigned long __ECR1017; extern volatile __cregister unsigned long __ECR1018; extern volatile __cregister unsigned long __ECR1019; extern volatile __cregister unsigned long __ECR1020; extern volatile __cregister unsigned long __ECR1021; extern volatile __cregister unsigned long __ECR1022; extern volatile __cregister unsigned long __ECR1023; extern volatile __cregister unsigned long __ECR1024; extern volatile __cregister unsigned long __ECR1025; extern volatile __cregister unsigned long __ECR1026; extern volatile __cregister unsigned long __ECR1027; extern volatile __cregister unsigned long __ECR1028; extern volatile __cregister unsigned long __ECR1029; extern volatile __cregister unsigned long __ECR1030; extern volatile __cregister unsigned long __ECR1031; extern volatile __cregister unsigned long __ECR1032; extern volatile __cregister unsigned long __ECR1033; extern volatile __cregister unsigned long __ECR1034; extern volatile __cregister unsigned long __ECR1035; extern volatile __cregister unsigned long __ECR1036; extern volatile __cregister unsigned long __ECR1037; extern volatile __cregister unsigned long __ECR1038; extern volatile __cregister unsigned long __ECR1039; extern volatile __cregister unsigned long __ECR1040; extern volatile __cregister unsigned long __ECR1041; extern volatile __cregister unsigned long __ECR1042; extern volatile __cregister unsigned long __ECR1043; extern volatile __cregister unsigned long __ECR1044; extern volatile __cregister unsigned long __ECR1045; extern volatile __cregister unsigned long __ECR1046; extern volatile __cregister unsigned long __ECR1047; extern volatile __cregister unsigned long __ECR1048; extern volatile __cregister unsigned long __ECR1049; extern volatile __cregister unsigned long __ECR1050; extern volatile __cregister unsigned long __ECR1051; extern volatile __cregister unsigned long __ECR1052; extern volatile __cregister unsigned long __ECR1053; extern volatile __cregister unsigned long __ECR1054; extern volatile __cregister unsigned long __ECR1055; extern volatile __cregister unsigned long __ECR1056; extern volatile __cregister unsigned long __ECR1057; extern volatile __cregister unsigned long __ECR1058; extern volatile __cregister unsigned long __ECR1059; extern volatile __cregister unsigned long __ECR1060; extern volatile __cregister unsigned long __ECR1061; extern volatile __cregister unsigned long __ECR1062; extern volatile __cregister unsigned long __ECR1063; extern volatile __cregister unsigned long __ECR1064; extern volatile __cregister unsigned long __ECR1065; extern volatile __cregister unsigned long __ECR1066; extern volatile __cregister unsigned long __ECR1067; extern volatile __cregister unsigned long __ECR1068; extern volatile __cregister unsigned long __ECR1069; extern volatile __cregister unsigned long __ECR1070; extern volatile __cregister unsigned long __ECR1071; extern volatile __cregister unsigned long __ECR1072; extern volatile __cregister unsigned long __ECR1073; extern volatile __cregister unsigned long __ECR1074; extern volatile __cregister unsigned long __ECR1075; extern volatile __cregister unsigned long __ECR1076; extern volatile __cregister unsigned long __ECR1077; extern volatile __cregister unsigned long __ECR1078; extern volatile __cregister unsigned long __ECR1079; extern volatile __cregister unsigned long __ECR1080; extern volatile __cregister unsigned long __ECR1081; extern volatile __cregister unsigned long __ECR1082; extern volatile __cregister unsigned long __ECR1083; extern volatile __cregister unsigned long __ECR1084; extern volatile __cregister unsigned long __ECR1085; extern volatile __cregister unsigned long __ECR1086; extern volatile __cregister unsigned long __ECR1087; extern volatile __cregister unsigned long __ECR1088; extern volatile __cregister unsigned long __ECR1089; extern volatile __cregister unsigned long __ECR1090; extern volatile __cregister unsigned long __ECR1091; extern volatile __cregister unsigned long __ECR1092; extern volatile __cregister unsigned long __ECR1093; extern volatile __cregister unsigned long __ECR1094; extern volatile __cregister unsigned long __ECR1095; extern volatile __cregister unsigned long __ECR1096; extern volatile __cregister unsigned long __ECR1097; extern volatile __cregister unsigned long __ECR1098; extern volatile __cregister unsigned long __ECR1099; extern volatile __cregister unsigned long __ECR1100; extern volatile __cregister unsigned long __ECR1101; extern volatile __cregister unsigned long __ECR1102; extern volatile __cregister unsigned long __ECR1103; extern volatile __cregister unsigned long __ECR1104; extern volatile __cregister unsigned long __ECR1105; extern volatile __cregister unsigned long __ECR1106; extern volatile __cregister unsigned long __ECR1107; extern volatile __cregister unsigned long __ECR1108; extern volatile __cregister unsigned long __ECR1109; extern volatile __cregister unsigned long __ECR1110; extern volatile __cregister unsigned long __ECR1111; extern volatile __cregister unsigned long __ECR1112; extern volatile __cregister unsigned long __ECR1113; extern volatile __cregister unsigned long __ECR1114; extern volatile __cregister unsigned long __ECR1115; extern volatile __cregister unsigned long __ECR1116; extern volatile __cregister unsigned long __ECR1117; extern volatile __cregister unsigned long __ECR1118; extern volatile __cregister unsigned long __ECR1119; extern volatile __cregister unsigned long __ECR1120; extern volatile __cregister unsigned long __ECR1121; extern volatile __cregister unsigned long __ECR1122; extern volatile __cregister unsigned long __ECR1123; extern volatile __cregister unsigned long __ECR1124; extern volatile __cregister unsigned long __ECR1125; extern volatile __cregister unsigned long __ECR1126; extern volatile __cregister unsigned long __ECR1127; extern volatile __cregister unsigned long __ECR1128; extern volatile __cregister unsigned long __ECR1129; extern volatile __cregister unsigned long __ECR1130; extern volatile __cregister unsigned long __ECR1131; extern volatile __cregister unsigned long __ECR1132; extern volatile __cregister unsigned long __ECR1133; extern volatile __cregister unsigned long __ECR1134; extern volatile __cregister unsigned long __ECR1135; extern volatile __cregister unsigned long __ECR1136; extern volatile __cregister unsigned long __ECR1137; extern volatile __cregister unsigned long __ECR1138; extern volatile __cregister unsigned long __ECR1139; extern volatile __cregister unsigned long __ECR1140; extern volatile __cregister unsigned long __ECR1141; extern volatile __cregister unsigned long __ECR1142; extern volatile __cregister unsigned long __ECR1143; extern volatile __cregister unsigned long __ECR1144; extern volatile __cregister unsigned long __ECR1145; extern volatile __cregister unsigned long __ECR1146; extern volatile __cregister unsigned long __ECR1147; extern volatile __cregister unsigned long __ECR1148; extern volatile __cregister unsigned long __ECR1149; extern volatile __cregister unsigned long __ECR1150; extern volatile __cregister unsigned long __ECR1151; extern volatile __cregister unsigned long __ECR1152; extern volatile __cregister unsigned long __ECR1153; extern volatile __cregister unsigned long __ECR1154; extern volatile __cregister unsigned long __ECR1155; extern volatile __cregister unsigned long __ECR1156; extern volatile __cregister unsigned long __ECR1157; extern volatile __cregister unsigned long __ECR1158; extern volatile __cregister unsigned long __ECR1159; extern volatile __cregister unsigned long __ECR1160; extern volatile __cregister unsigned long __ECR1161; extern volatile __cregister unsigned long __ECR1162; extern volatile __cregister unsigned long __ECR1163; extern volatile __cregister unsigned long __ECR1164; extern volatile __cregister unsigned long __ECR1165; extern volatile __cregister unsigned long __ECR1166; extern volatile __cregister unsigned long __ECR1167; extern volatile __cregister unsigned long __ECR1168; extern volatile __cregister unsigned long __ECR1169; extern volatile __cregister unsigned long __ECR1170; extern volatile __cregister unsigned long __ECR1171; extern volatile __cregister unsigned long __ECR1172; extern volatile __cregister unsigned long __ECR1173; extern volatile __cregister unsigned long __ECR1174; extern volatile __cregister unsigned long __ECR1175; extern volatile __cregister unsigned long __ECR1176; extern volatile __cregister unsigned long __ECR1177; extern volatile __cregister unsigned long __ECR1178; extern volatile __cregister unsigned long __ECR1179; extern volatile __cregister unsigned long __ECR1180; extern volatile __cregister unsigned long __ECR1181; extern volatile __cregister unsigned long __ECR1182; extern volatile __cregister unsigned long __ECR1183; extern volatile __cregister unsigned long __ECR1184; extern volatile __cregister unsigned long __ECR1185; extern volatile __cregister unsigned long __ECR1186; extern volatile __cregister unsigned long __ECR1187; extern volatile __cregister unsigned long __ECR1188; extern volatile __cregister unsigned long __ECR1189; extern volatile __cregister unsigned long __ECR1190; extern volatile __cregister unsigned long __ECR1191; extern volatile __cregister unsigned long __ECR1192; extern volatile __cregister unsigned long __ECR1193; extern volatile __cregister unsigned long __ECR1194; extern volatile __cregister unsigned long __ECR1195; extern volatile __cregister unsigned long __ECR1196; extern volatile __cregister unsigned long __ECR1197; extern volatile __cregister unsigned long __ECR1198; extern volatile __cregister unsigned long __ECR1199; extern volatile __cregister unsigned long __ECR1200; extern volatile __cregister unsigned long __ECR1201; extern volatile __cregister unsigned long __ECR1202; extern volatile __cregister unsigned long __ECR1203; extern volatile __cregister unsigned long __ECR1204; extern volatile __cregister unsigned long __ECR1205; extern volatile __cregister unsigned long __ECR1206; extern volatile __cregister unsigned long __ECR1207; extern volatile __cregister unsigned long __ECR1208; extern volatile __cregister unsigned long __ECR1209; extern volatile __cregister unsigned long __ECR1210; extern volatile __cregister unsigned long __ECR1211; extern volatile __cregister unsigned long __ECR1212; extern volatile __cregister unsigned long __ECR1213; extern volatile __cregister unsigned long __ECR1214; extern volatile __cregister unsigned long __ECR1215; extern volatile __cregister unsigned long __ECR1216; extern volatile __cregister unsigned long __ECR1217; extern volatile __cregister unsigned long __ECR1218; extern volatile __cregister unsigned long __ECR1219; extern volatile __cregister unsigned long __ECR1220; extern volatile __cregister unsigned long __ECR1221; extern volatile __cregister unsigned long __ECR1222; extern volatile __cregister unsigned long __ECR1223; extern volatile __cregister unsigned long __ECR1224; extern volatile __cregister unsigned long __ECR1225; extern volatile __cregister unsigned long __ECR1226; extern volatile __cregister unsigned long __ECR1227; extern volatile __cregister unsigned long __ECR1228; extern volatile __cregister unsigned long __ECR1229; extern volatile __cregister unsigned long __ECR1230; extern volatile __cregister unsigned long __ECR1231; extern volatile __cregister unsigned long __ECR1232; extern volatile __cregister unsigned long __ECR1233; extern volatile __cregister unsigned long __ECR1234; extern volatile __cregister unsigned long __ECR1235; extern volatile __cregister unsigned long __ECR1236; extern volatile __cregister unsigned long __ECR1237; extern volatile __cregister unsigned long __ECR1238; extern volatile __cregister unsigned long __ECR1239; extern volatile __cregister unsigned long __ECR1240; extern volatile __cregister unsigned long __ECR1241; extern volatile __cregister unsigned long __ECR1242; extern volatile __cregister unsigned long __ECR1243; extern volatile __cregister unsigned long __ECR1244; extern volatile __cregister unsigned long __ECR1245; extern volatile __cregister unsigned long __ECR1246; extern volatile __cregister unsigned long __ECR1247; extern volatile __cregister unsigned long __ECR1248; extern volatile __cregister unsigned long __ECR1249; extern volatile __cregister unsigned long __ECR1250; extern volatile __cregister unsigned long __ECR1251; extern volatile __cregister unsigned long __ECR1252; extern volatile __cregister unsigned long __ECR1253; extern volatile __cregister unsigned long __ECR1254; extern volatile __cregister unsigned long __ECR1255; extern volatile __cregister unsigned long __ECR1256; extern volatile __cregister unsigned long __ECR1257; extern volatile __cregister unsigned long __ECR1258; extern volatile __cregister unsigned long __ECR1259; extern volatile __cregister unsigned long __ECR1260; extern volatile __cregister unsigned long __ECR1261; extern volatile __cregister unsigned long __ECR1262; extern volatile __cregister unsigned long __ECR1263; extern volatile __cregister unsigned long __ECR1264; extern volatile __cregister unsigned long __ECR1265; extern volatile __cregister unsigned long __ECR1266; extern volatile __cregister unsigned long __ECR1267; extern volatile __cregister unsigned long __ECR1268; extern volatile __cregister unsigned long __ECR1269; extern volatile __cregister unsigned long __ECR1270; extern volatile __cregister unsigned long __ECR1271; extern volatile __cregister unsigned long __ECR1272; extern volatile __cregister unsigned long __ECR1273; extern volatile __cregister unsigned long __ECR1274; extern volatile __cregister unsigned long __ECR1275; extern volatile __cregister unsigned long __ECR1276; extern volatile __cregister unsigned long __ECR1277; extern volatile __cregister unsigned long __ECR1278; extern volatile __cregister unsigned long __ECR1279; extern volatile __cregister unsigned long __ECR1280; extern volatile __cregister unsigned long __ECR1281; extern volatile __cregister unsigned long __ECR1282; extern volatile __cregister unsigned long __ECR1283; extern volatile __cregister unsigned long __ECR1284; extern volatile __cregister unsigned long __ECR1285; extern volatile __cregister unsigned long __ECR1286; extern volatile __cregister unsigned long __ECR1287; extern volatile __cregister unsigned long __ECR1288; extern volatile __cregister unsigned long __ECR1289; extern volatile __cregister unsigned long __ECR1290; extern volatile __cregister unsigned long __ECR1291; extern volatile __cregister unsigned long __ECR1292; extern volatile __cregister unsigned long __ECR1293; extern volatile __cregister unsigned long __ECR1294; extern volatile __cregister unsigned long __ECR1295; extern volatile __cregister unsigned long __ECR1296; extern volatile __cregister unsigned long __ECR1297; extern volatile __cregister unsigned long __ECR1298; extern volatile __cregister unsigned long __ECR1299; extern volatile __cregister unsigned long __ECR1300; extern volatile __cregister unsigned long __ECR1301; extern volatile __cregister unsigned long __ECR1302; extern volatile __cregister unsigned long __ECR1303; extern volatile __cregister unsigned long __ECR1304; extern volatile __cregister unsigned long __ECR1305; extern volatile __cregister unsigned long __ECR1306; extern volatile __cregister unsigned long __ECR1307; extern volatile __cregister unsigned long __ECR1308; extern volatile __cregister unsigned long __ECR1309; extern volatile __cregister unsigned long __ECR1310; extern volatile __cregister unsigned long __ECR1311; extern volatile __cregister unsigned long __ECR1312; extern volatile __cregister unsigned long __ECR1313; extern volatile __cregister unsigned long __ECR1314; extern volatile __cregister unsigned long __ECR1315; extern volatile __cregister unsigned long __ECR1316; extern volatile __cregister unsigned long __ECR1317; extern volatile __cregister unsigned long __ECR1318; extern volatile __cregister unsigned long __ECR1319; extern volatile __cregister unsigned long __ECR1320; extern volatile __cregister unsigned long __ECR1321; extern volatile __cregister unsigned long __ECR1322; extern volatile __cregister unsigned long __ECR1323; extern volatile __cregister unsigned long __ECR1324; extern volatile __cregister unsigned long __ECR1325; extern volatile __cregister unsigned long __ECR1326; extern volatile __cregister unsigned long __ECR1327; extern volatile __cregister unsigned long __ECR1328; extern volatile __cregister unsigned long __ECR1329; extern volatile __cregister unsigned long __ECR1330; extern volatile __cregister unsigned long __ECR1331; extern volatile __cregister unsigned long __ECR1332; extern volatile __cregister unsigned long __ECR1333; extern volatile __cregister unsigned long __ECR1334; extern volatile __cregister unsigned long __ECR1335; extern volatile __cregister unsigned long __ECR1336; extern volatile __cregister unsigned long __ECR1337; extern volatile __cregister unsigned long __ECR1338; extern volatile __cregister unsigned long __ECR1339; extern volatile __cregister unsigned long __ECR1340; extern volatile __cregister unsigned long __ECR1341; extern volatile __cregister unsigned long __ECR1342; extern volatile __cregister unsigned long __ECR1343; extern volatile __cregister unsigned long __ECR1344; extern volatile __cregister unsigned long __ECR1345; extern volatile __cregister unsigned long __ECR1346; extern volatile __cregister unsigned long __ECR1347; extern volatile __cregister unsigned long __ECR1348; extern volatile __cregister unsigned long __ECR1349; extern volatile __cregister unsigned long __ECR1350; extern volatile __cregister unsigned long __ECR1351; extern volatile __cregister unsigned long __ECR1352; extern volatile __cregister unsigned long __ECR1353; extern volatile __cregister unsigned long __ECR1354; extern volatile __cregister unsigned long __ECR1355; extern volatile __cregister unsigned long __ECR1356; extern volatile __cregister unsigned long __ECR1357; extern volatile __cregister unsigned long __ECR1358; extern volatile __cregister unsigned long __ECR1359; extern volatile __cregister unsigned long __ECR1360; extern volatile __cregister unsigned long __ECR1361; extern volatile __cregister unsigned long __ECR1362; extern volatile __cregister unsigned long __ECR1363; extern volatile __cregister unsigned long __ECR1364; extern volatile __cregister unsigned long __ECR1365; extern volatile __cregister unsigned long __ECR1366; extern volatile __cregister unsigned long __ECR1367; extern volatile __cregister unsigned long __ECR1368; extern volatile __cregister unsigned long __ECR1369; extern volatile __cregister unsigned long __ECR1370; extern volatile __cregister unsigned long __ECR1371; extern volatile __cregister unsigned long __ECR1372; extern volatile __cregister unsigned long __ECR1373; extern volatile __cregister unsigned long __ECR1374; extern volatile __cregister unsigned long __ECR1375; extern volatile __cregister unsigned long __ECR1376; extern volatile __cregister unsigned long __ECR1377; extern volatile __cregister unsigned long __ECR1378; extern volatile __cregister unsigned long __ECR1379; extern volatile __cregister unsigned long __ECR1380; extern volatile __cregister unsigned long __ECR1381; extern volatile __cregister unsigned long __ECR1382; extern volatile __cregister unsigned long __ECR1383; extern volatile __cregister unsigned long __ECR1384; extern volatile __cregister unsigned long __ECR1385; extern volatile __cregister unsigned long __ECR1386; extern volatile __cregister unsigned long __ECR1387; extern volatile __cregister unsigned long __ECR1388; extern volatile __cregister unsigned long __ECR1389; extern volatile __cregister unsigned long __ECR1390; extern volatile __cregister unsigned long __ECR1391; extern volatile __cregister unsigned long __ECR1392; extern volatile __cregister unsigned long __ECR1393; extern volatile __cregister unsigned long __ECR1394; extern volatile __cregister unsigned long __ECR1395; extern volatile __cregister unsigned long __ECR1396; extern volatile __cregister unsigned long __ECR1397; extern volatile __cregister unsigned long __ECR1398; extern volatile __cregister unsigned long __ECR1399; extern volatile __cregister unsigned long __ECR1400; extern volatile __cregister unsigned long __ECR1401; extern volatile __cregister unsigned long __ECR1402; extern volatile __cregister unsigned long __ECR1403; extern volatile __cregister unsigned long __ECR1404; extern volatile __cregister unsigned long __ECR1405; extern volatile __cregister unsigned long __ECR1406; extern volatile __cregister unsigned long __ECR1407; extern volatile __cregister unsigned long __ECR1408; extern volatile __cregister unsigned long __ECR1409; extern volatile __cregister unsigned long __ECR1410; extern volatile __cregister unsigned long __ECR1411; extern volatile __cregister unsigned long __ECR1412; extern volatile __cregister unsigned long __ECR1413; extern volatile __cregister unsigned long __ECR1414; extern volatile __cregister unsigned long __ECR1415; extern volatile __cregister unsigned long __ECR1416; extern volatile __cregister unsigned long __ECR1417; extern volatile __cregister unsigned long __ECR1418; extern volatile __cregister unsigned long __ECR1419; extern volatile __cregister unsigned long __ECR1420; extern volatile __cregister unsigned long __ECR1421; extern volatile __cregister unsigned long __ECR1422; extern volatile __cregister unsigned long __ECR1423; extern volatile __cregister unsigned long __ECR1424; extern volatile __cregister unsigned long __ECR1425; extern volatile __cregister unsigned long __ECR1426; extern volatile __cregister unsigned long __ECR1427; extern volatile __cregister unsigned long __ECR1428; extern volatile __cregister unsigned long __ECR1429; extern volatile __cregister unsigned long __ECR1430; extern volatile __cregister unsigned long __ECR1431; extern volatile __cregister unsigned long __ECR1432; extern volatile __cregister unsigned long __ECR1433; extern volatile __cregister unsigned long __ECR1434; extern volatile __cregister unsigned long __ECR1435; extern volatile __cregister unsigned long __ECR1436; extern volatile __cregister unsigned long __ECR1437; extern volatile __cregister unsigned long __ECR1438; extern volatile __cregister unsigned long __ECR1439; extern volatile __cregister unsigned long __ECR1440; extern volatile __cregister unsigned long __ECR1441; extern volatile __cregister unsigned long __ECR1442; extern volatile __cregister unsigned long __ECR1443; extern volatile __cregister unsigned long __ECR1444; extern volatile __cregister unsigned long __ECR1445; extern volatile __cregister unsigned long __ECR1446; extern volatile __cregister unsigned long __ECR1447; extern volatile __cregister unsigned long __ECR1448; extern volatile __cregister unsigned long __ECR1449; extern volatile __cregister unsigned long __ECR1450; extern volatile __cregister unsigned long __ECR1451; extern volatile __cregister unsigned long __ECR1452; extern volatile __cregister unsigned long __ECR1453; extern volatile __cregister unsigned long __ECR1454; extern volatile __cregister unsigned long __ECR1455; extern volatile __cregister unsigned long __ECR1456; extern volatile __cregister unsigned long __ECR1457; extern volatile __cregister unsigned long __ECR1458; extern volatile __cregister unsigned long __ECR1459; extern volatile __cregister unsigned long __ECR1460; extern volatile __cregister unsigned long __ECR1461; extern volatile __cregister unsigned long __ECR1462; extern volatile __cregister unsigned long __ECR1463; extern volatile __cregister unsigned long __ECR1464; extern volatile __cregister unsigned long __ECR1465; extern volatile __cregister unsigned long __ECR1466; extern volatile __cregister unsigned long __ECR1467; extern volatile __cregister unsigned long __ECR1468; extern volatile __cregister unsigned long __ECR1469; extern volatile __cregister unsigned long __ECR1470; extern volatile __cregister unsigned long __ECR1471; extern volatile __cregister unsigned long __ECR1472; extern volatile __cregister unsigned long __ECR1473; extern volatile __cregister unsigned long __ECR1474; extern volatile __cregister unsigned long __ECR1475; extern volatile __cregister unsigned long __ECR1476; extern volatile __cregister unsigned long __ECR1477; extern volatile __cregister unsigned long __ECR1478; extern volatile __cregister unsigned long __ECR1479; extern volatile __cregister unsigned long __ECR1480; extern volatile __cregister unsigned long __ECR1481; extern volatile __cregister unsigned long __ECR1482; extern volatile __cregister unsigned long __ECR1483; extern volatile __cregister unsigned long __ECR1484; extern volatile __cregister unsigned long __ECR1485; extern volatile __cregister unsigned long __ECR1486; extern volatile __cregister unsigned long __ECR1487; extern volatile __cregister unsigned long __ECR1488; extern volatile __cregister unsigned long __ECR1489; extern volatile __cregister unsigned long __ECR1490; extern volatile __cregister unsigned long __ECR1491; extern volatile __cregister unsigned long __ECR1492; extern volatile __cregister unsigned long __ECR1493; extern volatile __cregister unsigned long __ECR1494; extern volatile __cregister unsigned long __ECR1495; extern volatile __cregister unsigned long __ECR1496; extern volatile __cregister unsigned long __ECR1497; extern volatile __cregister unsigned long __ECR1498; extern volatile __cregister unsigned long __ECR1499; extern volatile __cregister unsigned long __ECR1500; extern volatile __cregister unsigned long __ECR1501; extern volatile __cregister unsigned long __ECR1502; extern volatile __cregister unsigned long __ECR1503; extern volatile __cregister unsigned long __ECR1504; extern volatile __cregister unsigned long __ECR1505; extern volatile __cregister unsigned long __ECR1506; extern volatile __cregister unsigned long __ECR1507; extern volatile __cregister unsigned long __ECR1508; extern volatile __cregister unsigned long __ECR1509; extern volatile __cregister unsigned long __ECR1510; extern volatile __cregister unsigned long __ECR1511; extern volatile __cregister unsigned long __ECR1512; extern volatile __cregister unsigned long __ECR1513; extern volatile __cregister unsigned long __ECR1514; extern volatile __cregister unsigned long __ECR1515; extern volatile __cregister unsigned long __ECR1516; extern volatile __cregister unsigned long __ECR1517; extern volatile __cregister unsigned long __ECR1518; extern volatile __cregister unsigned long __ECR1519; extern volatile __cregister unsigned long __ECR1520; extern volatile __cregister unsigned long __ECR1521; extern volatile __cregister unsigned long __ECR1522; extern volatile __cregister unsigned long __ECR1523; extern volatile __cregister unsigned long __ECR1524; extern volatile __cregister unsigned long __ECR1525; extern volatile __cregister unsigned long __ECR1526; extern volatile __cregister unsigned long __ECR1527; extern volatile __cregister unsigned long __ECR1528; extern volatile __cregister unsigned long __ECR1529; extern volatile __cregister unsigned long __ECR1530; extern volatile __cregister unsigned long __ECR1531; extern volatile __cregister unsigned long __ECR1532; extern volatile __cregister unsigned long __ECR1533; extern volatile __cregister unsigned long __ECR1534; extern volatile __cregister unsigned long __ECR1535; extern volatile __cregister unsigned long __ECR1536; extern volatile __cregister unsigned long __ECR1537; extern volatile __cregister unsigned long __ECR1538; extern volatile __cregister unsigned long __ECR1539; extern volatile __cregister unsigned long __ECR1540; extern volatile __cregister unsigned long __ECR1541; extern volatile __cregister unsigned long __ECR1542; extern volatile __cregister unsigned long __ECR1543; extern volatile __cregister unsigned long __ECR1544; extern volatile __cregister unsigned long __ECR1545; extern volatile __cregister unsigned long __ECR1546; extern volatile __cregister unsigned long __ECR1547; extern volatile __cregister unsigned long __ECR1548; extern volatile __cregister unsigned long __ECR1549; extern volatile __cregister unsigned long __ECR1550; extern volatile __cregister unsigned long __ECR1551; extern volatile __cregister unsigned long __ECR1552; extern volatile __cregister unsigned long __ECR1553; extern volatile __cregister unsigned long __ECR1554; extern volatile __cregister unsigned long __ECR1555; extern volatile __cregister unsigned long __ECR1556; extern volatile __cregister unsigned long __ECR1557; extern volatile __cregister unsigned long __ECR1558; extern volatile __cregister unsigned long __ECR1559; extern volatile __cregister unsigned long __ECR1560; extern volatile __cregister unsigned long __ECR1561; extern volatile __cregister unsigned long __ECR1562; extern volatile __cregister unsigned long __ECR1563; extern volatile __cregister unsigned long __ECR1564; extern volatile __cregister unsigned long __ECR1565; extern volatile __cregister unsigned long __ECR1566; extern volatile __cregister unsigned long __ECR1567; extern volatile __cregister unsigned long __ECR1568; extern volatile __cregister unsigned long __ECR1569; extern volatile __cregister unsigned long __ECR1570; extern volatile __cregister unsigned long __ECR1571; extern volatile __cregister unsigned long __ECR1572; extern volatile __cregister unsigned long __ECR1573; extern volatile __cregister unsigned long __ECR1574; extern volatile __cregister unsigned long __ECR1575; extern volatile __cregister unsigned long __ECR1576; extern volatile __cregister unsigned long __ECR1577; extern volatile __cregister unsigned long __ECR1578; extern volatile __cregister unsigned long __ECR1579; extern volatile __cregister unsigned long __ECR1580; extern volatile __cregister unsigned long __ECR1581; extern volatile __cregister unsigned long __ECR1582; extern volatile __cregister unsigned long __ECR1583; extern volatile __cregister unsigned long __ECR1584; extern volatile __cregister unsigned long __ECR1585; extern volatile __cregister unsigned long __ECR1586; extern volatile __cregister unsigned long __ECR1587; extern volatile __cregister unsigned long __ECR1588; extern volatile __cregister unsigned long __ECR1589; extern volatile __cregister unsigned long __ECR1590; extern volatile __cregister unsigned long __ECR1591; extern volatile __cregister unsigned long __ECR1592; extern volatile __cregister unsigned long __ECR1593; extern volatile __cregister unsigned long __ECR1594; extern volatile __cregister unsigned long __ECR1595; extern volatile __cregister unsigned long __ECR1596; extern volatile __cregister unsigned long __ECR1597; extern volatile __cregister unsigned long __ECR1598; extern volatile __cregister unsigned long __ECR1599; extern volatile __cregister unsigned long __ECR1600; extern volatile __cregister unsigned long __ECR1601; extern volatile __cregister unsigned long __ECR1602; extern volatile __cregister unsigned long __ECR1603; extern volatile __cregister unsigned long __ECR1604; extern volatile __cregister unsigned long __ECR1605; extern volatile __cregister unsigned long __ECR1606; extern volatile __cregister unsigned long __ECR1607; extern volatile __cregister unsigned long __ECR1608; extern volatile __cregister unsigned long __ECR1609; extern volatile __cregister unsigned long __ECR1610; extern volatile __cregister unsigned long __ECR1611; extern volatile __cregister unsigned long __ECR1612; extern volatile __cregister unsigned long __ECR1613; extern volatile __cregister unsigned long __ECR1614; extern volatile __cregister unsigned long __ECR1615; extern volatile __cregister unsigned long __ECR1616; extern volatile __cregister unsigned long __ECR1617; extern volatile __cregister unsigned long __ECR1618; extern volatile __cregister unsigned long __ECR1619; extern volatile __cregister unsigned long __ECR1620; extern volatile __cregister unsigned long __ECR1621; extern volatile __cregister unsigned long __ECR1622; extern volatile __cregister unsigned long __ECR1623; extern volatile __cregister unsigned long __ECR1624; extern volatile __cregister unsigned long __ECR1625; extern volatile __cregister unsigned long __ECR1626; extern volatile __cregister unsigned long __ECR1627; extern volatile __cregister unsigned long __ECR1628; extern volatile __cregister unsigned long __ECR1629; extern volatile __cregister unsigned long __ECR1630; extern volatile __cregister unsigned long __ECR1631; extern volatile __cregister unsigned long __ECR1632; extern volatile __cregister unsigned long __ECR1633; extern volatile __cregister unsigned long __ECR1634; extern volatile __cregister unsigned long __ECR1635; extern volatile __cregister unsigned long __ECR1636; extern volatile __cregister unsigned long __ECR1637; extern volatile __cregister unsigned long __ECR1638; extern volatile __cregister unsigned long __ECR1639; extern volatile __cregister unsigned long __ECR1640; extern volatile __cregister unsigned long __ECR1641; extern volatile __cregister unsigned long __ECR1642; extern volatile __cregister unsigned long __ECR1643; extern volatile __cregister unsigned long __ECR1644; extern volatile __cregister unsigned long __ECR1645; extern volatile __cregister unsigned long __ECR1646; extern volatile __cregister unsigned long __ECR1647; extern volatile __cregister unsigned long __ECR1648; extern volatile __cregister unsigned long __ECR1649; extern volatile __cregister unsigned long __ECR1650; extern volatile __cregister unsigned long __ECR1651; extern volatile __cregister unsigned long __ECR1652; extern volatile __cregister unsigned long __ECR1653; extern volatile __cregister unsigned long __ECR1654; extern volatile __cregister unsigned long __ECR1655; extern volatile __cregister unsigned long __ECR1656; extern volatile __cregister unsigned long __ECR1657; extern volatile __cregister unsigned long __ECR1658; extern volatile __cregister unsigned long __ECR1659; extern volatile __cregister unsigned long __ECR1660; extern volatile __cregister unsigned long __ECR1661; extern volatile __cregister unsigned long __ECR1662; extern volatile __cregister unsigned long __ECR1663; extern volatile __cregister unsigned long __ECR1664; extern volatile __cregister unsigned long __ECR1665; extern volatile __cregister unsigned long __ECR1666; extern volatile __cregister unsigned long __ECR1667; extern volatile __cregister unsigned long __ECR1668; extern volatile __cregister unsigned long __ECR1669; extern volatile __cregister unsigned long __ECR1670; extern volatile __cregister unsigned long __ECR1671; extern volatile __cregister unsigned long __ECR1672; extern volatile __cregister unsigned long __ECR1673; extern volatile __cregister unsigned long __ECR1674; extern volatile __cregister unsigned long __ECR1675; extern volatile __cregister unsigned long __ECR1676; extern volatile __cregister unsigned long __ECR1677; extern volatile __cregister unsigned long __ECR1678; extern volatile __cregister unsigned long __ECR1679; extern volatile __cregister unsigned long __ECR1680; extern volatile __cregister unsigned long __ECR1681; extern volatile __cregister unsigned long __ECR1682; extern volatile __cregister unsigned long __ECR1683; extern volatile __cregister unsigned long __ECR1684; extern volatile __cregister unsigned long __ECR1685; extern volatile __cregister unsigned long __ECR1686; extern volatile __cregister unsigned long __ECR1687; extern volatile __cregister unsigned long __ECR1688; extern volatile __cregister unsigned long __ECR1689; extern volatile __cregister unsigned long __ECR1690; extern volatile __cregister unsigned long __ECR1691; extern volatile __cregister unsigned long __ECR1692; extern volatile __cregister unsigned long __ECR1693; extern volatile __cregister unsigned long __ECR1694; extern volatile __cregister unsigned long __ECR1695; extern volatile __cregister unsigned long __ECR1696; extern volatile __cregister unsigned long __ECR1697; extern volatile __cregister unsigned long __ECR1698; extern volatile __cregister unsigned long __ECR1699; extern volatile __cregister unsigned long __ECR1700; extern volatile __cregister unsigned long __ECR1701; extern volatile __cregister unsigned long __ECR1702; extern volatile __cregister unsigned long __ECR1703; extern volatile __cregister unsigned long __ECR1704; extern volatile __cregister unsigned long __ECR1705; extern volatile __cregister unsigned long __ECR1706; extern volatile __cregister unsigned long __ECR1707; extern volatile __cregister unsigned long __ECR1708; extern volatile __cregister unsigned long __ECR1709; extern volatile __cregister unsigned long __ECR1710; extern volatile __cregister unsigned long __ECR1711; extern volatile __cregister unsigned long __ECR1712; extern volatile __cregister unsigned long __ECR1713; extern volatile __cregister unsigned long __ECR1714; extern volatile __cregister unsigned long __ECR1715; extern volatile __cregister unsigned long __ECR1716; extern volatile __cregister unsigned long __ECR1717; extern volatile __cregister unsigned long __ECR1718; extern volatile __cregister unsigned long __ECR1719; extern volatile __cregister unsigned long __ECR1720; extern volatile __cregister unsigned long __ECR1721; extern volatile __cregister unsigned long __ECR1722; extern volatile __cregister unsigned long __ECR1723; extern volatile __cregister unsigned long __ECR1724; extern volatile __cregister unsigned long __ECR1725; extern volatile __cregister unsigned long __ECR1726; extern volatile __cregister unsigned long __ECR1727; extern volatile __cregister unsigned long __ECR1728; extern volatile __cregister unsigned long __ECR1729; extern volatile __cregister unsigned long __ECR1730; extern volatile __cregister unsigned long __ECR1731; extern volatile __cregister unsigned long __ECR1732; extern volatile __cregister unsigned long __ECR1733; extern volatile __cregister unsigned long __ECR1734; extern volatile __cregister unsigned long __ECR1735; extern volatile __cregister unsigned long __ECR1736; extern volatile __cregister unsigned long __ECR1737; extern volatile __cregister unsigned long __ECR1738; extern volatile __cregister unsigned long __ECR1739; extern volatile __cregister unsigned long __ECR1740; extern volatile __cregister unsigned long __ECR1741; extern volatile __cregister unsigned long __ECR1742; extern volatile __cregister unsigned long __ECR1743; extern volatile __cregister unsigned long __ECR1744; extern volatile __cregister unsigned long __ECR1745; extern volatile __cregister unsigned long __ECR1746; extern volatile __cregister unsigned long __ECR1747; extern volatile __cregister unsigned long __ECR1748; extern volatile __cregister unsigned long __ECR1749; extern volatile __cregister unsigned long __ECR1750; extern volatile __cregister unsigned long __ECR1751; extern volatile __cregister unsigned long __ECR1752; extern volatile __cregister unsigned long __ECR1753; extern volatile __cregister unsigned long __ECR1754; extern volatile __cregister unsigned long __ECR1755; extern volatile __cregister unsigned long __ECR1756; extern volatile __cregister unsigned long __ECR1757; extern volatile __cregister unsigned long __ECR1758; extern volatile __cregister unsigned long __ECR1759; extern volatile __cregister unsigned long __ECR1760; extern volatile __cregister unsigned long __ECR1761; extern volatile __cregister unsigned long __ECR1762; extern volatile __cregister unsigned long __ECR1763; extern volatile __cregister unsigned long __ECR1764; extern volatile __cregister unsigned long __ECR1765; extern volatile __cregister unsigned long __ECR1766; extern volatile __cregister unsigned long __ECR1767; extern volatile __cregister unsigned long __ECR1768; extern volatile __cregister unsigned long __ECR1769; extern volatile __cregister unsigned long __ECR1770; extern volatile __cregister unsigned long __ECR1771; extern volatile __cregister unsigned long __ECR1772; extern volatile __cregister unsigned long __ECR1773; extern volatile __cregister unsigned long __ECR1774; extern volatile __cregister unsigned long __ECR1775; extern volatile __cregister unsigned long __ECR1776; extern volatile __cregister unsigned long __ECR1777; extern volatile __cregister unsigned long __ECR1778; extern volatile __cregister unsigned long __ECR1779; extern volatile __cregister unsigned long __ECR1780; extern volatile __cregister unsigned long __ECR1781; extern volatile __cregister unsigned long __ECR1782; extern volatile __cregister unsigned long __ECR1783; extern volatile __cregister unsigned long __ECR1784; extern volatile __cregister unsigned long __ECR1785; extern volatile __cregister unsigned long __ECR1786; extern volatile __cregister unsigned long __ECR1787; extern volatile __cregister unsigned long __ECR1788; extern volatile __cregister unsigned long __ECR1789; extern volatile __cregister unsigned long __ECR1790; extern volatile __cregister unsigned long __ECR1791; extern volatile __cregister unsigned long __ECR1792; extern volatile __cregister unsigned long __ECR1793; extern volatile __cregister unsigned long __ECR1794; extern volatile __cregister unsigned long __ECR1795; extern volatile __cregister unsigned long __ECR1796; extern volatile __cregister unsigned long __ECR1797; extern volatile __cregister unsigned long __ECR1798; extern volatile __cregister unsigned long __ECR1799; extern volatile __cregister unsigned long __ECR1800; extern volatile __cregister unsigned long __ECR1801; extern volatile __cregister unsigned long __ECR1802; extern volatile __cregister unsigned long __ECR1803; extern volatile __cregister unsigned long __ECR1804; extern volatile __cregister unsigned long __ECR1805; extern volatile __cregister unsigned long __ECR1806; extern volatile __cregister unsigned long __ECR1807; extern volatile __cregister unsigned long __ECR1808; extern volatile __cregister unsigned long __ECR1809; extern volatile __cregister unsigned long __ECR1810; extern volatile __cregister unsigned long __ECR1811; extern volatile __cregister unsigned long __ECR1812; extern volatile __cregister unsigned long __ECR1813; extern volatile __cregister unsigned long __ECR1814; extern volatile __cregister unsigned long __ECR1815; extern volatile __cregister unsigned long __ECR1816; extern volatile __cregister unsigned long __ECR1817; extern volatile __cregister unsigned long __ECR1818; extern volatile __cregister unsigned long __ECR1819; extern volatile __cregister unsigned long __ECR1820; extern volatile __cregister unsigned long __ECR1821; extern volatile __cregister unsigned long __ECR1822; extern volatile __cregister unsigned long __ECR1823; extern volatile __cregister unsigned long __ECR1824; extern volatile __cregister unsigned long __ECR1825; extern volatile __cregister unsigned long __ECR1826; extern volatile __cregister unsigned long __ECR1827; extern volatile __cregister unsigned long __ECR1828; extern volatile __cregister unsigned long __ECR1829; extern volatile __cregister unsigned long __ECR1830; extern volatile __cregister unsigned long __ECR1831; extern volatile __cregister unsigned long __ECR1832; extern volatile __cregister unsigned long __ECR1833; extern volatile __cregister unsigned long __ECR1834; extern volatile __cregister unsigned long __ECR1835; extern volatile __cregister unsigned long __ECR1836; extern volatile __cregister unsigned long __ECR1837; extern volatile __cregister unsigned long __ECR1838; extern volatile __cregister unsigned long __ECR1839; extern volatile __cregister unsigned long __ECR1840; extern volatile __cregister unsigned long __ECR1841; extern volatile __cregister unsigned long __ECR1842; extern volatile __cregister unsigned long __ECR1843; extern volatile __cregister unsigned long __ECR1844; extern volatile __cregister unsigned long __ECR1845; extern volatile __cregister unsigned long __ECR1846; extern volatile __cregister unsigned long __ECR1847; extern volatile __cregister unsigned long __ECR1848; extern volatile __cregister unsigned long __ECR1849; extern volatile __cregister unsigned long __ECR1850; extern volatile __cregister unsigned long __ECR1851; extern volatile __cregister unsigned long __ECR1852; extern volatile __cregister unsigned long __ECR1853; extern volatile __cregister unsigned long __ECR1854; extern volatile __cregister unsigned long __ECR1855; extern volatile __cregister unsigned long __ECR1856; extern volatile __cregister unsigned long __ECR1857; extern volatile __cregister unsigned long __ECR1858; extern volatile __cregister unsigned long __ECR1859; extern volatile __cregister unsigned long __ECR1860; extern volatile __cregister unsigned long __ECR1861; extern volatile __cregister unsigned long __ECR1862; extern volatile __cregister unsigned long __ECR1863; extern volatile __cregister unsigned long __ECR1864; extern volatile __cregister unsigned long __ECR1865; extern volatile __cregister unsigned long __ECR1866; extern volatile __cregister unsigned long __ECR1867; extern volatile __cregister unsigned long __ECR1868; extern volatile __cregister unsigned long __ECR1869; extern volatile __cregister unsigned long __ECR1870; extern volatile __cregister unsigned long __ECR1871; extern volatile __cregister unsigned long __ECR1872; extern volatile __cregister unsigned long __ECR1873; extern volatile __cregister unsigned long __ECR1874; extern volatile __cregister unsigned long __ECR1875; extern volatile __cregister unsigned long __ECR1876; extern volatile __cregister unsigned long __ECR1877; extern volatile __cregister unsigned long __ECR1878; extern volatile __cregister unsigned long __ECR1879; extern volatile __cregister unsigned long __ECR1880; extern volatile __cregister unsigned long __ECR1881; extern volatile __cregister unsigned long __ECR1882; extern volatile __cregister unsigned long __ECR1883; extern volatile __cregister unsigned long __ECR1884; extern volatile __cregister unsigned long __ECR1885; extern volatile __cregister unsigned long __ECR1886; extern volatile __cregister unsigned long __ECR1887; extern volatile __cregister unsigned long __ECR1888; extern volatile __cregister unsigned long __ECR1889; extern volatile __cregister unsigned long __ECR1890; extern volatile __cregister unsigned long __ECR1891; extern volatile __cregister unsigned long __ECR1892; extern volatile __cregister unsigned long __ECR1893; extern volatile __cregister unsigned long __ECR1894; extern volatile __cregister unsigned long __ECR1895; extern volatile __cregister unsigned long __ECR1896; extern volatile __cregister unsigned long __ECR1897; extern volatile __cregister unsigned long __ECR1898; extern volatile __cregister unsigned long __ECR1899; extern volatile __cregister unsigned long __ECR1900; extern volatile __cregister unsigned long __ECR1901; extern volatile __cregister unsigned long __ECR1902; extern volatile __cregister unsigned long __ECR1903; extern volatile __cregister unsigned long __ECR1904; extern volatile __cregister unsigned long __ECR1905; extern volatile __cregister unsigned long __ECR1906; extern volatile __cregister unsigned long __ECR1907; extern volatile __cregister unsigned long __ECR1908; extern volatile __cregister unsigned long __ECR1909; extern volatile __cregister unsigned long __ECR1910; extern volatile __cregister unsigned long __ECR1911; extern volatile __cregister unsigned long __ECR1912; extern volatile __cregister unsigned long __ECR1913; extern volatile __cregister unsigned long __ECR1914; extern volatile __cregister unsigned long __ECR1915; extern volatile __cregister unsigned long __ECR1916; extern volatile __cregister unsigned long __ECR1917; extern volatile __cregister unsigned long __ECR1918; extern volatile __cregister unsigned long __ECR1919; extern volatile __cregister unsigned long __ECR1920; extern volatile __cregister unsigned long __ECR1921; extern volatile __cregister unsigned long __ECR1922; extern volatile __cregister unsigned long __ECR1923; extern volatile __cregister unsigned long __ECR1924; extern volatile __cregister unsigned long __ECR1925; extern volatile __cregister unsigned long __ECR1926; extern volatile __cregister unsigned long __ECR1927; extern volatile __cregister unsigned long __ECR1928; extern volatile __cregister unsigned long __ECR1929; extern volatile __cregister unsigned long __ECR1930; extern volatile __cregister unsigned long __ECR1931; extern volatile __cregister unsigned long __ECR1932; extern volatile __cregister unsigned long __ECR1933; extern volatile __cregister unsigned long __ECR1934; extern volatile __cregister unsigned long __ECR1935; extern volatile __cregister unsigned long __ECR1936; extern volatile __cregister unsigned long __ECR1937; extern volatile __cregister unsigned long __ECR1938; extern volatile __cregister unsigned long __ECR1939; extern volatile __cregister unsigned long __ECR1940; extern volatile __cregister unsigned long __ECR1941; extern volatile __cregister unsigned long __ECR1942; extern volatile __cregister unsigned long __ECR1943; extern volatile __cregister unsigned long __ECR1944; extern volatile __cregister unsigned long __ECR1945; extern volatile __cregister unsigned long __ECR1946; extern volatile __cregister unsigned long __ECR1947; extern volatile __cregister unsigned long __ECR1948; extern volatile __cregister unsigned long __ECR1949; extern volatile __cregister unsigned long __ECR1950; extern volatile __cregister unsigned long __ECR1951; extern volatile __cregister unsigned long __ECR1952; extern volatile __cregister unsigned long __ECR1953; extern volatile __cregister unsigned long __ECR1954; extern volatile __cregister unsigned long __ECR1955; extern volatile __cregister unsigned long __ECR1956; extern volatile __cregister unsigned long __ECR1957; extern volatile __cregister unsigned long __ECR1958; extern volatile __cregister unsigned long __ECR1959; extern volatile __cregister unsigned long __ECR1960; extern volatile __cregister unsigned long __ECR1961; extern volatile __cregister unsigned long __ECR1962; extern volatile __cregister unsigned long __ECR1963; extern volatile __cregister unsigned long __ECR1964; extern volatile __cregister unsigned long __ECR1965; extern volatile __cregister unsigned long __ECR1966; extern volatile __cregister unsigned long __ECR1967; extern volatile __cregister unsigned long __ECR1968; extern volatile __cregister unsigned long __ECR1969; extern volatile __cregister unsigned long __ECR1970; extern volatile __cregister unsigned long __ECR1971; extern volatile __cregister unsigned long __ECR1972; extern volatile __cregister unsigned long __ECR1973; extern volatile __cregister unsigned long __ECR1974; extern volatile __cregister unsigned long __ECR1975; extern volatile __cregister unsigned long __ECR1976; extern volatile __cregister unsigned long __ECR1977; extern volatile __cregister unsigned long __ECR1978; extern volatile __cregister unsigned long __ECR1979; extern volatile __cregister unsigned long __ECR1980; extern volatile __cregister unsigned long __ECR1981; extern volatile __cregister unsigned long __ECR1982; extern volatile __cregister unsigned long __ECR1983; extern volatile __cregister unsigned long __ECR1984; extern volatile __cregister unsigned long __ECR1985; extern volatile __cregister unsigned long __ECR1986; extern volatile __cregister unsigned long __ECR1987; extern volatile __cregister unsigned long __ECR1988; extern volatile __cregister unsigned long __ECR1989; extern volatile __cregister unsigned long __ECR1990; extern volatile __cregister unsigned long __ECR1991; extern volatile __cregister unsigned long __ECR1992; extern volatile __cregister unsigned long __ECR1993; extern volatile __cregister unsigned long __ECR1994; extern volatile __cregister unsigned long __ECR1995; extern volatile __cregister unsigned long __ECR1996; extern volatile __cregister unsigned long __ECR1997; extern volatile __cregister unsigned long __ECR1998; extern volatile __cregister unsigned long __ECR1999; extern volatile __cregister unsigned long __ECR2000; extern volatile __cregister unsigned long __ECR2001; extern volatile __cregister unsigned long __ECR2002; extern volatile __cregister unsigned long __ECR2003; extern volatile __cregister unsigned long __ECR2004; extern volatile __cregister unsigned long __ECR2005; extern volatile __cregister unsigned long __ECR2006; extern volatile __cregister unsigned long __ECR2007; extern volatile __cregister unsigned long __ECR2008; extern volatile __cregister unsigned long __ECR2009; extern volatile __cregister unsigned long __ECR2010; extern volatile __cregister unsigned long __ECR2011; extern volatile __cregister unsigned long __ECR2012; extern volatile __cregister unsigned long __ECR2013; extern volatile __cregister unsigned long __ECR2014; extern volatile __cregister unsigned long __ECR2015; extern volatile __cregister unsigned long __ECR2016; extern volatile __cregister unsigned long __ECR2017; extern volatile __cregister unsigned long __ECR2018; extern volatile __cregister unsigned long __ECR2019; extern volatile __cregister unsigned long __ECR2020; extern volatile __cregister unsigned long __ECR2021; extern volatile __cregister unsigned long __ECR2022; extern volatile __cregister unsigned long __ECR2023; extern volatile __cregister unsigned long __ECR2024; extern volatile __cregister unsigned long __ECR2025; extern volatile __cregister unsigned long __ECR2026; extern volatile __cregister unsigned long __ECR2027; extern volatile __cregister unsigned long __ECR2028; extern volatile __cregister unsigned long __ECR2029; extern volatile __cregister unsigned long __ECR2030; extern volatile __cregister unsigned long __ECR2031; extern volatile __cregister unsigned long __ECR2032; extern volatile __cregister unsigned long __ECR2033; extern volatile __cregister unsigned long __ECR2034; extern volatile __cregister unsigned long __ECR2035; extern volatile __cregister unsigned long __ECR2036; extern volatile __cregister unsigned long __ECR2037; extern volatile __cregister unsigned long __ECR2038; extern volatile __cregister unsigned long __ECR2039; extern volatile __cregister unsigned long __ECR2040; extern volatile __cregister unsigned long __ECR2041; extern volatile __cregister unsigned long __ECR2042; extern volatile __cregister unsigned long __ECR2043; extern volatile __cregister unsigned long __ECR2044; extern volatile __cregister unsigned long __ECR2045; extern volatile __cregister unsigned long __ECR2046; extern volatile __cregister unsigned long __ECR2047; extern volatile __cregister unsigned long __ECR2048; extern volatile __cregister unsigned long __ECR2049; extern volatile __cregister unsigned long __ECR2050; extern volatile __cregister unsigned long __ECR2051; extern volatile __cregister unsigned long __ECR2052; extern volatile __cregister unsigned long __ECR2053; extern volatile __cregister unsigned long __ECR2054; extern volatile __cregister unsigned long __ECR2055; extern volatile __cregister unsigned long __ECR2056; extern volatile __cregister unsigned long __ECR2057; extern volatile __cregister unsigned long __ECR2058; extern volatile __cregister unsigned long __ECR2059; extern volatile __cregister unsigned long __ECR2060; extern volatile __cregister unsigned long __ECR2061; extern volatile __cregister unsigned long __ECR2062; extern volatile __cregister unsigned long __ECR2063; extern volatile __cregister unsigned long __ECR2064; extern volatile __cregister unsigned long __ECR2065; extern volatile __cregister unsigned long __ECR2066; extern volatile __cregister unsigned long __ECR2067; extern volatile __cregister unsigned long __ECR2068; extern volatile __cregister unsigned long __ECR2069; extern volatile __cregister unsigned long __ECR2070; extern volatile __cregister unsigned long __ECR2071; extern volatile __cregister unsigned long __ECR2072; extern volatile __cregister unsigned long __ECR2073; extern volatile __cregister unsigned long __ECR2074; extern volatile __cregister unsigned long __ECR2075; extern volatile __cregister unsigned long __ECR2076; extern volatile __cregister unsigned long __ECR2077; extern volatile __cregister unsigned long __ECR2078; extern volatile __cregister unsigned long __ECR2079; extern volatile __cregister unsigned long __ECR2080; extern volatile __cregister unsigned long __ECR2081; extern volatile __cregister unsigned long __ECR2082; extern volatile __cregister unsigned long __ECR2083; extern volatile __cregister unsigned long __ECR2084; extern volatile __cregister unsigned long __ECR2085; extern volatile __cregister unsigned long __ECR2086; extern volatile __cregister unsigned long __ECR2087; extern volatile __cregister unsigned long __ECR2088; extern volatile __cregister unsigned long __ECR2089; extern volatile __cregister unsigned long __ECR2090; extern volatile __cregister unsigned long __ECR2091; extern volatile __cregister unsigned long __ECR2092; extern volatile __cregister unsigned long __ECR2093; extern volatile __cregister unsigned long __ECR2094; extern volatile __cregister unsigned long __ECR2095; extern volatile __cregister unsigned long __ECR2096; extern volatile __cregister unsigned long __ECR2097; extern volatile __cregister unsigned long __ECR2098; extern volatile __cregister unsigned long __ECR2099; extern volatile __cregister unsigned long __ECR2100; extern volatile __cregister unsigned long __ECR2101; extern volatile __cregister unsigned long __ECR2102; extern volatile __cregister unsigned long __ECR2103; extern volatile __cregister unsigned long __ECR2104; extern volatile __cregister unsigned long __ECR2105; extern volatile __cregister unsigned long __ECR2106; extern volatile __cregister unsigned long __ECR2107; extern volatile __cregister unsigned long __ECR2108; extern volatile __cregister unsigned long __ECR2109; extern volatile __cregister unsigned long __ECR2110; extern volatile __cregister unsigned long __ECR2111; extern volatile __cregister unsigned long __ECR2112; extern volatile __cregister unsigned long __ECR2113; extern volatile __cregister unsigned long __ECR2114; extern volatile __cregister unsigned long __ECR2115; extern volatile __cregister unsigned long __ECR2116; extern volatile __cregister unsigned long __ECR2117; extern volatile __cregister unsigned long __ECR2118; extern volatile __cregister unsigned long __ECR2119; extern volatile __cregister unsigned long __ECR2120; extern volatile __cregister unsigned long __ECR2121; extern volatile __cregister unsigned long __ECR2122; extern volatile __cregister unsigned long __ECR2123; extern volatile __cregister unsigned long __ECR2124; extern volatile __cregister unsigned long __ECR2125; extern volatile __cregister unsigned long __ECR2126; extern volatile __cregister unsigned long __ECR2127; extern volatile __cregister unsigned long __ECR2128; extern volatile __cregister unsigned long __ECR2129; extern volatile __cregister unsigned long __ECR2130; extern volatile __cregister unsigned long __ECR2131; extern volatile __cregister unsigned long __ECR2132; extern volatile __cregister unsigned long __ECR2133; extern volatile __cregister unsigned long __ECR2134; extern volatile __cregister unsigned long __ECR2135; extern volatile __cregister unsigned long __ECR2136; extern volatile __cregister unsigned long __ECR2137; extern volatile __cregister unsigned long __ECR2138; extern volatile __cregister unsigned long __ECR2139; extern volatile __cregister unsigned long __ECR2140; extern volatile __cregister unsigned long __ECR2141; extern volatile __cregister unsigned long __ECR2142; extern volatile __cregister unsigned long __ECR2143; extern volatile __cregister unsigned long __ECR2144; extern volatile __cregister unsigned long __ECR2145; extern volatile __cregister unsigned long __ECR2146; extern volatile __cregister unsigned long __ECR2147; extern volatile __cregister unsigned long __ECR2148; extern volatile __cregister unsigned long __ECR2149; extern volatile __cregister unsigned long __ECR2150; extern volatile __cregister unsigned long __ECR2151; extern volatile __cregister unsigned long __ECR2152; extern volatile __cregister unsigned long __ECR2153; extern volatile __cregister unsigned long __ECR2154; extern volatile __cregister unsigned long __ECR2155; extern volatile __cregister unsigned long __ECR2156; extern volatile __cregister unsigned long __ECR2157; extern volatile __cregister unsigned long __ECR2158; extern volatile __cregister unsigned long __ECR2159; extern volatile __cregister unsigned long __ECR2160; extern volatile __cregister unsigned long __ECR2161; extern volatile __cregister unsigned long __ECR2162; extern volatile __cregister unsigned long __ECR2163; extern volatile __cregister unsigned long __ECR2164; extern volatile __cregister unsigned long __ECR2165; extern volatile __cregister unsigned long __ECR2166; extern volatile __cregister unsigned long __ECR2167; extern volatile __cregister unsigned long __ECR2168; extern volatile __cregister unsigned long __ECR2169; extern volatile __cregister unsigned long __ECR2170; extern volatile __cregister unsigned long __ECR2171; extern volatile __cregister unsigned long __ECR2172; extern volatile __cregister unsigned long __ECR2173; extern volatile __cregister unsigned long __ECR2174; extern volatile __cregister unsigned long __ECR2175; extern volatile __cregister unsigned long __ECR2176; /******************************************************************************/ /* ECR: TRC_ID */ /* DESCRIPTION: Trace ID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x62010000 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2177; /******************************************************************************/ /* ECR: TRC_OWN */ /* DESCRIPTION: Trace OWN Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2178; /******************************************************************************/ /* ECR: TRC_CNTL */ /* DESCRIPTION: Trace Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2179; /******************************************************************************/ /* ECR: TRC_PER_CNT */ /* DESCRIPTION: Trace Periodic Counter Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x400 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2180; /******************************************************************************/ /* ECR: TRC_STAT */ /* DESCRIPTION: Trace Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x7F */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2181; /******************************************************************************/ /* ECR: TRC_TRIG0_CNTL_STAT */ /* DESCRIPTION: Trace Trigger0 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2182; /******************************************************************************/ /* ECR: TRC_TRIG1_CNTL_STAT */ /* DESCRIPTION: Trace Trigger0 Control and Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2183; /******************************************************************************/ /* ECR: TRC_TIMESTAMP_CNT_REG0 */ /* DESCRIPTION: Trace Time Stamp Counter Register 0 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2184; /******************************************************************************/ /* ECR: TRC_TIMESTAMP_CNT_REG1 */ /* DESCRIPTION: Trace Time Stamp Counter Register 1 */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2185; /******************************************************************************/ /* ECR: TRC_EXPT_CNTL */ /* DESCRIPTION: Trace Export Control Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2186; /******************************************************************************/ /* ECR: TRC_EXPT_STAT */ /* DESCRIPTION: Trace Export Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x80000002 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2187; /******************************************************************************/ /* ECR: TRC_EXPT_ATID */ /* DESCRIPTION: Trace Export Trace ID Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2188; extern volatile __cregister unsigned long __ECR2189; extern volatile __cregister unsigned long __ECR2190; extern volatile __cregister unsigned long __ECR2191; extern volatile __cregister unsigned long __ECR2192; extern volatile __cregister unsigned long __ECR2193; extern volatile __cregister unsigned long __ECR2194; extern volatile __cregister unsigned long __ECR2195; extern volatile __cregister unsigned long __ECR2196; extern volatile __cregister unsigned long __ECR2197; extern volatile __cregister unsigned long __ECR2198; extern volatile __cregister unsigned long __ECR2199; extern volatile __cregister unsigned long __ECR2200; extern volatile __cregister unsigned long __ECR2201; extern volatile __cregister unsigned long __ECR2202; extern volatile __cregister unsigned long __ECR2203; extern volatile __cregister unsigned long __ECR2204; extern volatile __cregister unsigned long __ECR2205; extern volatile __cregister unsigned long __ECR2206; extern volatile __cregister unsigned long __ECR2207; extern volatile __cregister unsigned long __ECR2208; extern volatile __cregister unsigned long __ECR2209; extern volatile __cregister unsigned long __ECR2210; extern volatile __cregister unsigned long __ECR2211; extern volatile __cregister unsigned long __ECR2212; extern volatile __cregister unsigned long __ECR2213; extern volatile __cregister unsigned long __ECR2214; extern volatile __cregister unsigned long __ECR2215; extern volatile __cregister unsigned long __ECR2216; extern volatile __cregister unsigned long __ECR2217; extern volatile __cregister unsigned long __ECR2218; extern volatile __cregister unsigned long __ECR2219; extern volatile __cregister unsigned long __ECR2220; extern volatile __cregister unsigned long __ECR2221; extern volatile __cregister unsigned long __ECR2222; extern volatile __cregister unsigned long __ECR2223; extern volatile __cregister unsigned long __ECR2224; extern volatile __cregister unsigned long __ECR2225; extern volatile __cregister unsigned long __ECR2226; extern volatile __cregister unsigned long __ECR2227; extern volatile __cregister unsigned long __ECR2228; extern volatile __cregister unsigned long __ECR2229; extern volatile __cregister unsigned long __ECR2230; extern volatile __cregister unsigned long __ECR2231; extern volatile __cregister unsigned long __ECR2232; extern volatile __cregister unsigned long __ECR2233; extern volatile __cregister unsigned long __ECR2234; extern volatile __cregister unsigned long __ECR2235; extern volatile __cregister unsigned long __ECR2236; extern volatile __cregister unsigned long __ECR2237; extern volatile __cregister unsigned long __ECR2238; extern volatile __cregister unsigned long __ECR2239; extern volatile __cregister unsigned long __ECR2240; extern volatile __cregister unsigned long __ECR2241; extern volatile __cregister unsigned long __ECR2242; extern volatile __cregister unsigned long __ECR2243; extern volatile __cregister unsigned long __ECR2244; extern volatile __cregister unsigned long __ECR2245; extern volatile __cregister unsigned long __ECR2246; extern volatile __cregister unsigned long __ECR2247; extern volatile __cregister unsigned long __ECR2248; extern volatile __cregister unsigned long __ECR2249; extern volatile __cregister unsigned long __ECR2250; extern volatile __cregister unsigned long __ECR2251; extern volatile __cregister unsigned long __ECR2252; extern volatile __cregister unsigned long __ECR2253; extern volatile __cregister unsigned long __ECR2254; extern volatile __cregister unsigned long __ECR2255; extern volatile __cregister unsigned long __ECR2256; extern volatile __cregister unsigned long __ECR2257; extern volatile __cregister unsigned long __ECR2258; extern volatile __cregister unsigned long __ECR2259; extern volatile __cregister unsigned long __ECR2260; extern volatile __cregister unsigned long __ECR2261; extern volatile __cregister unsigned long __ECR2262; extern volatile __cregister unsigned long __ECR2263; extern volatile __cregister unsigned long __ECR2264; extern volatile __cregister unsigned long __ECR2265; extern volatile __cregister unsigned long __ECR2266; extern volatile __cregister unsigned long __ECR2267; extern volatile __cregister unsigned long __ECR2268; extern volatile __cregister unsigned long __ECR2269; extern volatile __cregister unsigned long __ECR2270; extern volatile __cregister unsigned long __ECR2271; extern volatile __cregister unsigned long __ECR2272; extern volatile __cregister unsigned long __ECR2273; extern volatile __cregister unsigned long __ECR2274; extern volatile __cregister unsigned long __ECR2275; extern volatile __cregister unsigned long __ECR2276; extern volatile __cregister unsigned long __ECR2277; extern volatile __cregister unsigned long __ECR2278; extern volatile __cregister unsigned long __ECR2279; extern volatile __cregister unsigned long __ECR2280; extern volatile __cregister unsigned long __ECR2281; extern volatile __cregister unsigned long __ECR2282; extern volatile __cregister unsigned long __ECR2283; extern volatile __cregister unsigned long __ECR2284; extern volatile __cregister unsigned long __ECR2285; extern volatile __cregister unsigned long __ECR2286; extern volatile __cregister unsigned long __ECR2287; extern volatile __cregister unsigned long __ECR2288; extern volatile __cregister unsigned long __ECR2289; extern volatile __cregister unsigned long __ECR2290; extern volatile __cregister unsigned long __ECR2291; extern volatile __cregister unsigned long __ECR2292; extern volatile __cregister unsigned long __ECR2293; extern volatile __cregister unsigned long __ECR2294; extern volatile __cregister unsigned long __ECR2295; extern volatile __cregister unsigned long __ECR2296; extern volatile __cregister unsigned long __ECR2297; extern volatile __cregister unsigned long __ECR2298; extern volatile __cregister unsigned long __ECR2299; extern volatile __cregister unsigned long __ECR2300; extern volatile __cregister unsigned long __ECR2301; extern volatile __cregister unsigned long __ECR2302; extern volatile __cregister unsigned long __ECR2303; extern volatile __cregister unsigned long __ECR2304; /******************************************************************************/ /* ECR: AET_ID */ /* DESCRIPTION: AET ID */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x62000100 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2305; /******************************************************************************/ /* ECR: AET_OWN */ /* DESCRIPTION: AET Ownership Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2306; /******************************************************************************/ /* ECR: AET_STAT */ /* DESCRIPTION: AET Status Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2307; extern volatile __cregister unsigned long __ECR2308; /******************************************************************************/ /* ECR: AET_EVT */ /* DESCRIPTION: AET Event Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2309; /******************************************************************************/ /* ECR: AET_PC0 */ /* DESCRIPTION: AET PC0 Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2310; /******************************************************************************/ /* ECR: AET_PC1 */ /* DESCRIPTION: AET PC1 Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RO */ /* Non-Secure Debug: RO */ /* Secure Supervisor: RO */ /* Secure User: RO */ /* Supervisor: RO */ /* User: RO */ /* Guest Supervisor: RO */ /* Guest User: RO */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2311; extern volatile __cregister unsigned long __ECR2312; /******************************************************************************/ /* ECR: AET_IAR_ADD */ /* DESCRIPTION: AET Indirect ADDR Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2313; /******************************************************************************/ /* ECR: AET_IAR_DAT */ /* DESCRIPTION: AET Indirect Data Register */ /* INDEX RANGE: [0,0] (not indexed) */ /* GENERAL RESET VALUE: 0x0 */ /* PERMISSIONS (N/A not shown): */ /* Secure Debug: RW */ /* Non-Secure Debug: RW */ /* Secure Supervisor: RW */ /* Secure User: RW */ /* Supervisor: RW */ /* User: RW */ /* Guest Supervisor: RW */ /* Guest User: RW */ /******************************************************************************/ extern volatile __cregister unsigned long __ECR2314; extern volatile __cregister unsigned long __ECR2315; extern volatile __cregister unsigned long __ECR2316; extern volatile __cregister unsigned long __ECR2317; extern volatile __cregister unsigned long __ECR2318; extern volatile __cregister unsigned long __ECR2319; extern volatile __cregister unsigned long __ECR2320; extern volatile __cregister unsigned long __ECR2321; extern volatile __cregister unsigned long __ECR2322; extern volatile __cregister unsigned long __ECR2323; extern volatile __cregister unsigned long __ECR2324; extern volatile __cregister unsigned long __ECR2325; extern volatile __cregister unsigned long __ECR2326; extern volatile __cregister unsigned long __ECR2327; extern volatile __cregister unsigned long __ECR2328; extern volatile __cregister unsigned long __ECR2329; extern volatile __cregister unsigned long __ECR2330; extern volatile __cregister unsigned long __ECR2331; extern volatile __cregister unsigned long __ECR2332; extern volatile __cregister unsigned long __ECR2333; extern volatile __cregister unsigned long __ECR2334; extern volatile __cregister unsigned long __ECR2335; extern volatile __cregister unsigned long __ECR2336; extern volatile __cregister unsigned long __ECR2337; extern volatile __cregister unsigned long __ECR2338; extern volatile __cregister unsigned long __ECR2339; extern volatile __cregister unsigned long __ECR2340; extern volatile __cregister unsigned long __ECR2341; extern volatile __cregister unsigned long __ECR2342; extern volatile __cregister unsigned long __ECR2343; extern volatile __cregister unsigned long __ECR2344; extern volatile __cregister unsigned long __ECR2345; extern volatile __cregister unsigned long __ECR2346; extern volatile __cregister unsigned long __ECR2347; extern volatile __cregister unsigned long __ECR2348; extern volatile __cregister unsigned long __ECR2349; extern volatile __cregister unsigned long __ECR2350; extern volatile __cregister unsigned long __ECR2351; extern volatile __cregister unsigned long __ECR2352; extern volatile __cregister unsigned long __ECR2353; extern volatile __cregister unsigned long __ECR2354; extern volatile __cregister unsigned long __ECR2355; extern volatile __cregister unsigned long __ECR2356; extern volatile __cregister unsigned long __ECR2357; extern volatile __cregister unsigned long __ECR2358; extern volatile __cregister unsigned long __ECR2359; extern volatile __cregister unsigned long __ECR2360; extern volatile __cregister unsigned long __ECR2361; extern volatile __cregister unsigned long __ECR2362; extern volatile __cregister unsigned long __ECR2363; extern volatile __cregister unsigned long __ECR2364; extern volatile __cregister unsigned long __ECR2365; extern volatile __cregister unsigned long __ECR2366; extern volatile __cregister unsigned long __ECR2367; extern volatile __cregister unsigned long __ECR2368; extern volatile __cregister unsigned long __ECR2369; extern volatile __cregister unsigned long __ECR2370; extern volatile __cregister unsigned long __ECR2371; extern volatile __cregister unsigned long __ECR2372; extern volatile __cregister unsigned long __ECR2373; extern volatile __cregister unsigned long __ECR2374; extern volatile __cregister unsigned long __ECR2375; extern volatile __cregister unsigned long __ECR2376; extern volatile __cregister unsigned long __ECR2377; extern volatile __cregister unsigned long __ECR2378; extern volatile __cregister unsigned long __ECR2379; extern volatile __cregister unsigned long __ECR2380; extern volatile __cregister unsigned long __ECR2381; extern volatile __cregister unsigned long __ECR2382; extern volatile __cregister unsigned long __ECR2383; extern volatile __cregister unsigned long __ECR2384; extern volatile __cregister unsigned long __ECR2385; extern volatile __cregister unsigned long __ECR2386; extern volatile __cregister unsigned long __ECR2387; extern volatile __cregister unsigned long __ECR2388; extern volatile __cregister unsigned long __ECR2389; extern volatile __cregister unsigned long __ECR2390; extern volatile __cregister unsigned long __ECR2391; extern volatile __cregister unsigned long __ECR2392; extern volatile __cregister unsigned long __ECR2393; extern volatile __cregister unsigned long __ECR2394; extern volatile __cregister unsigned long __ECR2395; extern volatile __cregister unsigned long __ECR2396; extern volatile __cregister unsigned long __ECR2397; extern volatile __cregister unsigned long __ECR2398; extern volatile __cregister unsigned long __ECR2399; extern volatile __cregister unsigned long __ECR2400; extern volatile __cregister unsigned long __ECR2401; extern volatile __cregister unsigned long __ECR2402; extern volatile __cregister unsigned long __ECR2403; extern volatile __cregister unsigned long __ECR2404; extern volatile __cregister unsigned long __ECR2405; extern volatile __cregister unsigned long __ECR2406; extern volatile __cregister unsigned long __ECR2407; extern volatile __cregister unsigned long __ECR2408; extern volatile __cregister unsigned long __ECR2409; extern volatile __cregister unsigned long __ECR2410; extern volatile __cregister unsigned long __ECR2411; extern volatile __cregister unsigned long __ECR2412; extern volatile __cregister unsigned long __ECR2413; extern volatile __cregister unsigned long __ECR2414; extern volatile __cregister unsigned long __ECR2415; extern volatile __cregister unsigned long __ECR2416; extern volatile __cregister unsigned long __ECR2417; extern volatile __cregister unsigned long __ECR2418; extern volatile __cregister unsigned long __ECR2419; extern volatile __cregister unsigned long __ECR2420; extern volatile __cregister unsigned long __ECR2421; extern volatile __cregister unsigned long __ECR2422; extern volatile __cregister unsigned long __ECR2423; extern volatile __cregister unsigned long __ECR2424; extern volatile __cregister unsigned long __ECR2425; extern volatile __cregister unsigned long __ECR2426; extern volatile __cregister unsigned long __ECR2427; extern volatile __cregister unsigned long __ECR2428; extern volatile __cregister unsigned long __ECR2429; extern volatile __cregister unsigned long __ECR2430; extern volatile __cregister unsigned long __ECR2431; extern volatile __cregister unsigned long __ECR2432; extern volatile __cregister unsigned long __ECR2433; extern volatile __cregister unsigned long __ECR2434; extern volatile __cregister unsigned long __ECR2435; extern volatile __cregister unsigned long __ECR2436; extern volatile __cregister unsigned long __ECR2437; extern volatile __cregister unsigned long __ECR2438; extern volatile __cregister unsigned long __ECR2439; extern volatile __cregister unsigned long __ECR2440; extern volatile __cregister unsigned long __ECR2441; extern volatile __cregister unsigned long __ECR2442; extern volatile __cregister unsigned long __ECR2443; extern volatile __cregister unsigned long __ECR2444; extern volatile __cregister unsigned long __ECR2445; extern volatile __cregister unsigned long __ECR2446; extern volatile __cregister unsigned long __ECR2447; extern volatile __cregister unsigned long __ECR2448; extern volatile __cregister unsigned long __ECR2449; extern volatile __cregister unsigned long __ECR2450; extern volatile __cregister unsigned long __ECR2451; extern volatile __cregister unsigned long __ECR2452; extern volatile __cregister unsigned long __ECR2453; extern volatile __cregister unsigned long __ECR2454; extern volatile __cregister unsigned long __ECR2455; extern volatile __cregister unsigned long __ECR2456; extern volatile __cregister unsigned long __ECR2457; extern volatile __cregister unsigned long __ECR2458; extern volatile __cregister unsigned long __ECR2459; extern volatile __cregister unsigned long __ECR2460; extern volatile __cregister unsigned long __ECR2461; extern volatile __cregister unsigned long __ECR2462; extern volatile __cregister unsigned long __ECR2463; extern volatile __cregister unsigned long __ECR2464; extern volatile __cregister unsigned long __ECR2465; extern volatile __cregister unsigned long __ECR2466; extern volatile __cregister unsigned long __ECR2467; extern volatile __cregister unsigned long __ECR2468; extern volatile __cregister unsigned long __ECR2469; extern volatile __cregister unsigned long __ECR2470; extern volatile __cregister unsigned long __ECR2471; extern volatile __cregister unsigned long __ECR2472; extern volatile __cregister unsigned long __ECR2473; extern volatile __cregister unsigned long __ECR2474; extern volatile __cregister unsigned long __ECR2475; extern volatile __cregister unsigned long __ECR2476; extern volatile __cregister unsigned long __ECR2477; extern volatile __cregister unsigned long __ECR2478; extern volatile __cregister unsigned long __ECR2479; extern volatile __cregister unsigned long __ECR2480; extern volatile __cregister unsigned long __ECR2481; extern volatile __cregister unsigned long __ECR2482; extern volatile __cregister unsigned long __ECR2483; extern volatile __cregister unsigned long __ECR2484; extern volatile __cregister unsigned long __ECR2485; extern volatile __cregister unsigned long __ECR2486; extern volatile __cregister unsigned long __ECR2487; extern volatile __cregister unsigned long __ECR2488; extern volatile __cregister unsigned long __ECR2489; extern volatile __cregister unsigned long __ECR2490; extern volatile __cregister unsigned long __ECR2491; extern volatile __cregister unsigned long __ECR2492; extern volatile __cregister unsigned long __ECR2493; extern volatile __cregister unsigned long __ECR2494; extern volatile __cregister unsigned long __ECR2495; extern volatile __cregister unsigned long __ECR2496; extern volatile __cregister unsigned long __ECR2497; extern volatile __cregister unsigned long __ECR2498; extern volatile __cregister unsigned long __ECR2499; extern volatile __cregister unsigned long __ECR2500; extern volatile __cregister unsigned long __ECR2501; extern volatile __cregister unsigned long __ECR2502; extern volatile __cregister unsigned long __ECR2503; extern volatile __cregister unsigned long __ECR2504; extern volatile __cregister unsigned long __ECR2505; extern volatile __cregister unsigned long __ECR2506; extern volatile __cregister unsigned long __ECR2507; extern volatile __cregister unsigned long __ECR2508; extern volatile __cregister unsigned long __ECR2509; extern volatile __cregister unsigned long __ECR2510; extern volatile __cregister unsigned long __ECR2511; extern volatile __cregister unsigned long __ECR2512; extern volatile __cregister unsigned long __ECR2513; extern volatile __cregister unsigned long __ECR2514; extern volatile __cregister unsigned long __ECR2515; extern volatile __cregister unsigned long __ECR2516; extern volatile __cregister unsigned long __ECR2517; extern volatile __cregister unsigned long __ECR2518; extern volatile __cregister unsigned long __ECR2519; extern volatile __cregister unsigned long __ECR2520; extern volatile __cregister unsigned long __ECR2521; extern volatile __cregister unsigned long __ECR2522; extern volatile __cregister unsigned long __ECR2523; extern volatile __cregister unsigned long __ECR2524; extern volatile __cregister unsigned long __ECR2525; extern volatile __cregister unsigned long __ECR2526; extern volatile __cregister unsigned long __ECR2527; extern volatile __cregister unsigned long __ECR2528; extern volatile __cregister unsigned long __ECR2529; extern volatile __cregister unsigned long __ECR2530; extern volatile __cregister unsigned long __ECR2531; extern volatile __cregister unsigned long __ECR2532; extern volatile __cregister unsigned long __ECR2533; extern volatile __cregister unsigned long __ECR2534; extern volatile __cregister unsigned long __ECR2535; extern volatile __cregister unsigned long __ECR2536; extern volatile __cregister unsigned long __ECR2537; extern volatile __cregister unsigned long __ECR2538; extern volatile __cregister unsigned long __ECR2539; extern volatile __cregister unsigned long __ECR2540; extern volatile __cregister unsigned long __ECR2541; extern volatile __cregister unsigned long __ECR2542; extern volatile __cregister unsigned long __ECR2543; extern volatile __cregister unsigned long __ECR2544; extern volatile __cregister unsigned long __ECR2545; extern volatile __cregister unsigned long __ECR2546; extern volatile __cregister unsigned long __ECR2547; extern volatile __cregister unsigned long __ECR2548; extern volatile __cregister unsigned long __ECR2549; extern volatile __cregister unsigned long __ECR2550; extern volatile __cregister unsigned long __ECR2551; extern volatile __cregister unsigned long __ECR2552; extern volatile __cregister unsigned long __ECR2553; extern volatile __cregister unsigned long __ECR2554; extern volatile __cregister unsigned long __ECR2555; extern volatile __cregister unsigned long __ECR2556; extern volatile __cregister unsigned long __ECR2557; extern volatile __cregister unsigned long __ECR2558; extern volatile __cregister unsigned long __ECR2559; extern volatile __cregister unsigned long __ECR2560; extern volatile __cregister unsigned long __ECR2561; extern volatile __cregister unsigned long __ECR2562; extern volatile __cregister unsigned long __ECR2563; extern volatile __cregister unsigned long __ECR2564; extern volatile __cregister unsigned long __ECR2565; extern volatile __cregister unsigned long __ECR2566; extern volatile __cregister unsigned long __ECR2567; extern volatile __cregister unsigned long __ECR2568; extern volatile __cregister unsigned long __ECR2569; extern volatile __cregister unsigned long __ECR2570; extern volatile __cregister unsigned long __ECR2571; extern volatile __cregister unsigned long __ECR2572; extern volatile __cregister unsigned long __ECR2573; extern volatile __cregister unsigned long __ECR2574; extern volatile __cregister unsigned long __ECR2575; extern volatile __cregister unsigned long __ECR2576; extern volatile __cregister unsigned long __ECR2577; extern volatile __cregister unsigned long __ECR2578; extern volatile __cregister unsigned long __ECR2579; extern volatile __cregister unsigned long __ECR2580; extern volatile __cregister unsigned long __ECR2581; extern volatile __cregister unsigned long __ECR2582; extern volatile __cregister unsigned long __ECR2583; extern volatile __cregister unsigned long __ECR2584; extern volatile __cregister unsigned long __ECR2585; extern volatile __cregister unsigned long __ECR2586; extern volatile __cregister unsigned long __ECR2587; extern volatile __cregister unsigned long __ECR2588; extern volatile __cregister unsigned long __ECR2589; extern volatile __cregister unsigned long __ECR2590; extern volatile __cregister unsigned long __ECR2591; extern volatile __cregister unsigned long __ECR2592; extern volatile __cregister unsigned long __ECR2593; extern volatile __cregister unsigned long __ECR2594; extern volatile __cregister unsigned long __ECR2595; extern volatile __cregister unsigned long __ECR2596; extern volatile __cregister unsigned long __ECR2597; extern volatile __cregister unsigned long __ECR2598; extern volatile __cregister unsigned long __ECR2599; extern volatile __cregister unsigned long __ECR2600; extern volatile __cregister unsigned long __ECR2601; extern volatile __cregister unsigned long __ECR2602; extern volatile __cregister unsigned long __ECR2603; extern volatile __cregister unsigned long __ECR2604; extern volatile __cregister unsigned long __ECR2605; extern volatile __cregister unsigned long __ECR2606; extern volatile __cregister unsigned long __ECR2607; extern volatile __cregister unsigned long __ECR2608; extern volatile __cregister unsigned long __ECR2609; extern volatile __cregister unsigned long __ECR2610; extern volatile __cregister unsigned long __ECR2611; extern volatile __cregister unsigned long __ECR2612; extern volatile __cregister unsigned long __ECR2613; extern volatile __cregister unsigned long __ECR2614; extern volatile __cregister unsigned long __ECR2615; extern volatile __cregister unsigned long __ECR2616; extern volatile __cregister unsigned long __ECR2617; extern volatile __cregister unsigned long __ECR2618; extern volatile __cregister unsigned long __ECR2619; extern volatile __cregister unsigned long __ECR2620; extern volatile __cregister unsigned long __ECR2621; extern volatile __cregister unsigned long __ECR2622; extern volatile __cregister unsigned long __ECR2623; extern volatile __cregister unsigned long __ECR2624; extern volatile __cregister unsigned long __ECR2625; extern volatile __cregister unsigned long __ECR2626; extern volatile __cregister unsigned long __ECR2627; extern volatile __cregister unsigned long __ECR2628; extern volatile __cregister unsigned long __ECR2629; extern volatile __cregister unsigned long __ECR2630; extern volatile __cregister unsigned long __ECR2631; extern volatile __cregister unsigned long __ECR2632; extern volatile __cregister unsigned long __ECR2633; extern volatile __cregister unsigned long __ECR2634; extern volatile __cregister unsigned long __ECR2635; extern volatile __cregister unsigned long __ECR2636; extern volatile __cregister unsigned long __ECR2637; extern volatile __cregister unsigned long __ECR2638; extern volatile __cregister unsigned long __ECR2639; extern volatile __cregister unsigned long __ECR2640; extern volatile __cregister unsigned long __ECR2641; extern volatile __cregister unsigned long __ECR2642; extern volatile __cregister unsigned long __ECR2643; extern volatile __cregister unsigned long __ECR2644; extern volatile __cregister unsigned long __ECR2645; extern volatile __cregister unsigned long __ECR2646; extern volatile __cregister unsigned long __ECR2647; extern volatile __cregister unsigned long __ECR2648; extern volatile __cregister unsigned long __ECR2649; extern volatile __cregister unsigned long __ECR2650; extern volatile __cregister unsigned long __ECR2651; extern volatile __cregister unsigned long __ECR2652; extern volatile __cregister unsigned long __ECR2653; extern volatile __cregister unsigned long __ECR2654; extern volatile __cregister unsigned long __ECR2655; extern volatile __cregister unsigned long __ECR2656; extern volatile __cregister unsigned long __ECR2657; extern volatile __cregister unsigned long __ECR2658; extern volatile __cregister unsigned long __ECR2659; extern volatile __cregister unsigned long __ECR2660; extern volatile __cregister unsigned long __ECR2661; extern volatile __cregister unsigned long __ECR2662; extern volatile __cregister unsigned long __ECR2663; extern volatile __cregister unsigned long __ECR2664; extern volatile __cregister unsigned long __ECR2665; extern volatile __cregister unsigned long __ECR2666; extern volatile __cregister unsigned long __ECR2667; extern volatile __cregister unsigned long __ECR2668; extern volatile __cregister unsigned long __ECR2669; extern volatile __cregister unsigned long __ECR2670; extern volatile __cregister unsigned long __ECR2671; extern volatile __cregister unsigned long __ECR2672; extern volatile __cregister unsigned long __ECR2673; extern volatile __cregister unsigned long __ECR2674; extern volatile __cregister unsigned long __ECR2675; extern volatile __cregister unsigned long __ECR2676; extern volatile __cregister unsigned long __ECR2677; extern volatile __cregister unsigned long __ECR2678; extern volatile __cregister unsigned long __ECR2679; extern volatile __cregister unsigned long __ECR2680; extern volatile __cregister unsigned long __ECR2681; extern volatile __cregister unsigned long __ECR2682; extern volatile __cregister unsigned long __ECR2683; extern volatile __cregister unsigned long __ECR2684; extern volatile __cregister unsigned long __ECR2685; extern volatile __cregister unsigned long __ECR2686; extern volatile __cregister unsigned long __ECR2687; extern volatile __cregister unsigned long __ECR2688; extern volatile __cregister unsigned long __ECR2689; extern volatile __cregister unsigned long __ECR2690; extern volatile __cregister unsigned long __ECR2691; extern volatile __cregister unsigned long __ECR2692; extern volatile __cregister unsigned long __ECR2693; extern volatile __cregister unsigned long __ECR2694; extern volatile __cregister unsigned long __ECR2695; extern volatile __cregister unsigned long __ECR2696; extern volatile __cregister unsigned long __ECR2697; extern volatile __cregister unsigned long __ECR2698; extern volatile __cregister unsigned long __ECR2699; extern volatile __cregister unsigned long __ECR2700; extern volatile __cregister unsigned long __ECR2701; extern volatile __cregister unsigned long __ECR2702; extern volatile __cregister unsigned long __ECR2703; extern volatile __cregister unsigned long __ECR2704; extern volatile __cregister unsigned long __ECR2705; extern volatile __cregister unsigned long __ECR2706; extern volatile __cregister unsigned long __ECR2707; extern volatile __cregister unsigned long __ECR2708; extern volatile __cregister unsigned long __ECR2709; extern volatile __cregister unsigned long __ECR2710; extern volatile __cregister unsigned long __ECR2711; extern volatile __cregister unsigned long __ECR2712; extern volatile __cregister unsigned long __ECR2713; extern volatile __cregister unsigned long __ECR2714; extern volatile __cregister unsigned long __ECR2715; extern volatile __cregister unsigned long __ECR2716; extern volatile __cregister unsigned long __ECR2717; extern volatile __cregister unsigned long __ECR2718; extern volatile __cregister unsigned long __ECR2719; extern volatile __cregister unsigned long __ECR2720; extern volatile __cregister unsigned long __ECR2721; extern volatile __cregister unsigned long __ECR2722; extern volatile __cregister unsigned long __ECR2723; extern volatile __cregister unsigned long __ECR2724; extern volatile __cregister unsigned long __ECR2725; extern volatile __cregister unsigned long __ECR2726; extern volatile __cregister unsigned long __ECR2727; extern volatile __cregister unsigned long __ECR2728; extern volatile __cregister unsigned long __ECR2729; extern volatile __cregister unsigned long __ECR2730; extern volatile __cregister unsigned long __ECR2731; extern volatile __cregister unsigned long __ECR2732; extern volatile __cregister unsigned long __ECR2733; extern volatile __cregister unsigned long __ECR2734; extern volatile __cregister unsigned long __ECR2735; extern volatile __cregister unsigned long __ECR2736; extern volatile __cregister unsigned long __ECR2737; extern volatile __cregister unsigned long __ECR2738; extern volatile __cregister unsigned long __ECR2739; extern volatile __cregister unsigned long __ECR2740; extern volatile __cregister unsigned long __ECR2741; extern volatile __cregister unsigned long __ECR2742; extern volatile __cregister unsigned long __ECR2743; extern volatile __cregister unsigned long __ECR2744; extern volatile __cregister unsigned long __ECR2745; extern volatile __cregister unsigned long __ECR2746; extern volatile __cregister unsigned long __ECR2747; extern volatile __cregister unsigned long __ECR2748; extern volatile __cregister unsigned long __ECR2749; extern volatile __cregister unsigned long __ECR2750; extern volatile __cregister unsigned long __ECR2751; extern volatile __cregister unsigned long __ECR2752; extern volatile __cregister unsigned long __ECR2753; extern volatile __cregister unsigned long __ECR2754; extern volatile __cregister unsigned long __ECR2755; extern volatile __cregister unsigned long __ECR2756; extern volatile __cregister unsigned long __ECR2757; extern volatile __cregister unsigned long __ECR2758; extern volatile __cregister unsigned long __ECR2759; extern volatile __cregister unsigned long __ECR2760; extern volatile __cregister unsigned long __ECR2761; extern volatile __cregister unsigned long __ECR2762; extern volatile __cregister unsigned long __ECR2763; extern volatile __cregister unsigned long __ECR2764; extern volatile __cregister unsigned long __ECR2765; extern volatile __cregister unsigned long __ECR2766; extern volatile __cregister unsigned long __ECR2767; extern volatile __cregister unsigned long __ECR2768; extern volatile __cregister unsigned long __ECR2769; extern volatile __cregister unsigned long __ECR2770; extern volatile __cregister unsigned long __ECR2771; extern volatile __cregister unsigned long __ECR2772; extern volatile __cregister unsigned long __ECR2773; extern volatile __cregister unsigned long __ECR2774; extern volatile __cregister unsigned long __ECR2775; extern volatile __cregister unsigned long __ECR2776; extern volatile __cregister unsigned long __ECR2777; extern volatile __cregister unsigned long __ECR2778; extern volatile __cregister unsigned long __ECR2779; extern volatile __cregister unsigned long __ECR2780; extern volatile __cregister unsigned long __ECR2781; extern volatile __cregister unsigned long __ECR2782; extern volatile __cregister unsigned long __ECR2783; extern volatile __cregister unsigned long __ECR2784; extern volatile __cregister unsigned long __ECR2785; extern volatile __cregister unsigned long __ECR2786; extern volatile __cregister unsigned long __ECR2787; extern volatile __cregister unsigned long __ECR2788; extern volatile __cregister unsigned long __ECR2789; extern volatile __cregister unsigned long __ECR2790; extern volatile __cregister unsigned long __ECR2791; extern volatile __cregister unsigned long __ECR2792; extern volatile __cregister unsigned long __ECR2793; extern volatile __cregister unsigned long __ECR2794; extern volatile __cregister unsigned long __ECR2795; extern volatile __cregister unsigned long __ECR2796; extern volatile __cregister unsigned long __ECR2797; extern volatile __cregister unsigned long __ECR2798; extern volatile __cregister unsigned long __ECR2799; extern volatile __cregister unsigned long __ECR2800; extern volatile __cregister unsigned long __ECR2801; extern volatile __cregister unsigned long __ECR2802; extern volatile __cregister unsigned long __ECR2803; extern volatile __cregister unsigned long __ECR2804; extern volatile __cregister unsigned long __ECR2805; extern volatile __cregister unsigned long __ECR2806; extern volatile __cregister unsigned long __ECR2807; extern volatile __cregister unsigned long __ECR2808; extern volatile __cregister unsigned long __ECR2809; extern volatile __cregister unsigned long __ECR2810; extern volatile __cregister unsigned long __ECR2811; extern volatile __cregister unsigned long __ECR2812; extern volatile __cregister unsigned long __ECR2813; extern volatile __cregister unsigned long __ECR2814; extern volatile __cregister unsigned long __ECR2815; extern volatile __cregister unsigned long __ECR2816; extern volatile __cregister unsigned long __ECR2817; extern volatile __cregister unsigned long __ECR2818; extern volatile __cregister unsigned long __ECR2819; extern volatile __cregister unsigned long __ECR2820; extern volatile __cregister unsigned long __ECR2821; extern volatile __cregister unsigned long __ECR2822; extern volatile __cregister unsigned long __ECR2823; extern volatile __cregister unsigned long __ECR2824; extern volatile __cregister unsigned long __ECR2825; extern volatile __cregister unsigned long __ECR2826; extern volatile __cregister unsigned long __ECR2827; extern volatile __cregister unsigned long __ECR2828; extern volatile __cregister unsigned long __ECR2829; extern volatile __cregister unsigned long __ECR2830; extern volatile __cregister unsigned long __ECR2831; extern volatile __cregister unsigned long __ECR2832; extern volatile __cregister unsigned long __ECR2833; extern volatile __cregister unsigned long __ECR2834; extern volatile __cregister unsigned long __ECR2835; extern volatile __cregister unsigned long __ECR2836; extern volatile __cregister unsigned long __ECR2837; extern volatile __cregister unsigned long __ECR2838; extern volatile __cregister unsigned long __ECR2839; extern volatile __cregister unsigned long __ECR2840; extern volatile __cregister unsigned long __ECR2841; extern volatile __cregister unsigned long __ECR2842; extern volatile __cregister unsigned long __ECR2843; extern volatile __cregister unsigned long __ECR2844; extern volatile __cregister unsigned long __ECR2845; extern volatile __cregister unsigned long __ECR2846; extern volatile __cregister unsigned long __ECR2847; extern volatile __cregister unsigned long __ECR2848; extern volatile __cregister unsigned long __ECR2849; extern volatile __cregister unsigned long __ECR2850; extern volatile __cregister unsigned long __ECR2851; extern volatile __cregister unsigned long __ECR2852; extern volatile __cregister unsigned long __ECR2853; extern volatile __cregister unsigned long __ECR2854; extern volatile __cregister unsigned long __ECR2855; extern volatile __cregister unsigned long __ECR2856; extern volatile __cregister unsigned long __ECR2857; extern volatile __cregister unsigned long __ECR2858; extern volatile __cregister unsigned long __ECR2859; extern volatile __cregister unsigned long __ECR2860; extern volatile __cregister unsigned long __ECR2861; extern volatile __cregister unsigned long __ECR2862; extern volatile __cregister unsigned long __ECR2863; extern volatile __cregister unsigned long __ECR2864; extern volatile __cregister unsigned long __ECR2865; extern volatile __cregister unsigned long __ECR2866; extern volatile __cregister unsigned long __ECR2867; extern volatile __cregister unsigned long __ECR2868; extern volatile __cregister unsigned long __ECR2869; extern volatile __cregister unsigned long __ECR2870; extern volatile __cregister unsigned long __ECR2871; extern volatile __cregister unsigned long __ECR2872; extern volatile __cregister unsigned long __ECR2873; extern volatile __cregister unsigned long __ECR2874; extern volatile __cregister unsigned long __ECR2875; extern volatile __cregister unsigned long __ECR2876; extern volatile __cregister unsigned long __ECR2877; extern volatile __cregister unsigned long __ECR2878; extern volatile __cregister unsigned long __ECR2879; extern volatile __cregister unsigned long __ECR2880; extern volatile __cregister unsigned long __ECR2881; extern volatile __cregister unsigned long __ECR2882; extern volatile __cregister unsigned long __ECR2883; extern volatile __cregister unsigned long __ECR2884; extern volatile __cregister unsigned long __ECR2885; extern volatile __cregister unsigned long __ECR2886; extern volatile __cregister unsigned long __ECR2887; extern volatile __cregister unsigned long __ECR2888; extern volatile __cregister unsigned long __ECR2889; extern volatile __cregister unsigned long __ECR2890; extern volatile __cregister unsigned long __ECR2891; extern volatile __cregister unsigned long __ECR2892; extern volatile __cregister unsigned long __ECR2893; extern volatile __cregister unsigned long __ECR2894; extern volatile __cregister unsigned long __ECR2895; extern volatile __cregister unsigned long __ECR2896; extern volatile __cregister unsigned long __ECR2897; extern volatile __cregister unsigned long __ECR2898; extern volatile __cregister unsigned long __ECR2899; extern volatile __cregister unsigned long __ECR2900; extern volatile __cregister unsigned long __ECR2901; extern volatile __cregister unsigned long __ECR2902; extern volatile __cregister unsigned long __ECR2903; extern volatile __cregister unsigned long __ECR2904; extern volatile __cregister unsigned long __ECR2905; extern volatile __cregister unsigned long __ECR2906; extern volatile __cregister unsigned long __ECR2907; extern volatile __cregister unsigned long __ECR2908; extern volatile __cregister unsigned long __ECR2909; extern volatile __cregister unsigned long __ECR2910; extern volatile __cregister unsigned long __ECR2911; extern volatile __cregister unsigned long __ECR2912; extern volatile __cregister unsigned long __ECR2913; extern volatile __cregister unsigned long __ECR2914; extern volatile __cregister unsigned long __ECR2915; extern volatile __cregister unsigned long __ECR2916; extern volatile __cregister unsigned long __ECR2917; extern volatile __cregister unsigned long __ECR2918; extern volatile __cregister unsigned long __ECR2919; extern volatile __cregister unsigned long __ECR2920; extern volatile __cregister unsigned long __ECR2921; extern volatile __cregister unsigned long __ECR2922; extern volatile __cregister unsigned long __ECR2923; extern volatile __cregister unsigned long __ECR2924; extern volatile __cregister unsigned long __ECR2925; extern volatile __cregister unsigned long __ECR2926; extern volatile __cregister unsigned long __ECR2927; extern volatile __cregister unsigned long __ECR2928; extern volatile __cregister unsigned long __ECR2929; extern volatile __cregister unsigned long __ECR2930; extern volatile __cregister unsigned long __ECR2931; extern volatile __cregister unsigned long __ECR2932; extern volatile __cregister unsigned long __ECR2933; extern volatile __cregister unsigned long __ECR2934; extern volatile __cregister unsigned long __ECR2935; extern volatile __cregister unsigned long __ECR2936; extern volatile __cregister unsigned long __ECR2937; extern volatile __cregister unsigned long __ECR2938; extern volatile __cregister unsigned long __ECR2939; extern volatile __cregister unsigned long __ECR2940; extern volatile __cregister unsigned long __ECR2941; extern volatile __cregister unsigned long __ECR2942; extern volatile __cregister unsigned long __ECR2943; extern volatile __cregister unsigned long __ECR2944; extern volatile __cregister unsigned long __ECR2945; extern volatile __cregister unsigned long __ECR2946; extern volatile __cregister unsigned long __ECR2947; extern volatile __cregister unsigned long __ECR2948; extern volatile __cregister unsigned long __ECR2949; extern volatile __cregister unsigned long __ECR2950; extern volatile __cregister unsigned long __ECR2951; extern volatile __cregister unsigned long __ECR2952; extern volatile __cregister unsigned long __ECR2953; extern volatile __cregister unsigned long __ECR2954; extern volatile __cregister unsigned long __ECR2955; extern volatile __cregister unsigned long __ECR2956; extern volatile __cregister unsigned long __ECR2957; extern volatile __cregister unsigned long __ECR2958; extern volatile __cregister unsigned long __ECR2959; extern volatile __cregister unsigned long __ECR2960; extern volatile __cregister unsigned long __ECR2961; extern volatile __cregister unsigned long __ECR2962; extern volatile __cregister unsigned long __ECR2963; extern volatile __cregister unsigned long __ECR2964; extern volatile __cregister unsigned long __ECR2965; extern volatile __cregister unsigned long __ECR2966; extern volatile __cregister unsigned long __ECR2967; extern volatile __cregister unsigned long __ECR2968; extern volatile __cregister unsigned long __ECR2969; extern volatile __cregister unsigned long __ECR2970; extern volatile __cregister unsigned long __ECR2971; extern volatile __cregister unsigned long __ECR2972; extern volatile __cregister unsigned long __ECR2973; extern volatile __cregister unsigned long __ECR2974; extern volatile __cregister unsigned long __ECR2975; extern volatile __cregister unsigned long __ECR2976; extern volatile __cregister unsigned long __ECR2977; extern volatile __cregister unsigned long __ECR2978; extern volatile __cregister unsigned long __ECR2979; extern volatile __cregister unsigned long __ECR2980; extern volatile __cregister unsigned long __ECR2981; extern volatile __cregister unsigned long __ECR2982; extern volatile __cregister unsigned long __ECR2983; extern volatile __cregister unsigned long __ECR2984; extern volatile __cregister unsigned long __ECR2985; extern volatile __cregister unsigned long __ECR2986; extern volatile __cregister unsigned long __ECR2987; extern volatile __cregister unsigned long __ECR2988; extern volatile __cregister unsigned long __ECR2989; extern volatile __cregister unsigned long __ECR2990; extern volatile __cregister unsigned long __ECR2991; extern volatile __cregister unsigned long __ECR2992; extern volatile __cregister unsigned long __ECR2993; extern volatile __cregister unsigned long __ECR2994; extern volatile __cregister unsigned long __ECR2995; extern volatile __cregister unsigned long __ECR2996; extern volatile __cregister unsigned long __ECR2997; extern volatile __cregister unsigned long __ECR2998; extern volatile __cregister unsigned long __ECR2999; extern volatile __cregister unsigned long __ECR3000; extern volatile __cregister unsigned long __ECR3001; extern volatile __cregister unsigned long __ECR3002; extern volatile __cregister unsigned long __ECR3003; extern volatile __cregister unsigned long __ECR3004; extern volatile __cregister unsigned long __ECR3005; extern volatile __cregister unsigned long __ECR3006; extern volatile __cregister unsigned long __ECR3007; extern volatile __cregister unsigned long __ECR3008; extern volatile __cregister unsigned long __ECR3009; extern volatile __cregister unsigned long __ECR3010; extern volatile __cregister unsigned long __ECR3011; extern volatile __cregister unsigned long __ECR3012; extern volatile __cregister unsigned long __ECR3013; extern volatile __cregister unsigned long __ECR3014; extern volatile __cregister unsigned long __ECR3015; extern volatile __cregister unsigned long __ECR3016; extern volatile __cregister unsigned long __ECR3017; extern volatile __cregister unsigned long __ECR3018; extern volatile __cregister unsigned long __ECR3019; extern volatile __cregister unsigned long __ECR3020; extern volatile __cregister unsigned long __ECR3021; extern volatile __cregister unsigned long __ECR3022; extern volatile __cregister unsigned long __ECR3023; extern volatile __cregister unsigned long __ECR3024; extern volatile __cregister unsigned long __ECR3025; extern volatile __cregister unsigned long __ECR3026; extern volatile __cregister unsigned long __ECR3027; extern volatile __cregister unsigned long __ECR3028; extern volatile __cregister unsigned long __ECR3029; extern volatile __cregister unsigned long __ECR3030; extern volatile __cregister unsigned long __ECR3031; extern volatile __cregister unsigned long __ECR3032; extern volatile __cregister unsigned long __ECR3033; extern volatile __cregister unsigned long __ECR3034; extern volatile __cregister unsigned long __ECR3035; extern volatile __cregister unsigned long __ECR3036; extern volatile __cregister unsigned long __ECR3037; extern volatile __cregister unsigned long __ECR3038; extern volatile __cregister unsigned long __ECR3039; extern volatile __cregister unsigned long __ECR3040; extern volatile __cregister unsigned long __ECR3041; extern volatile __cregister unsigned long __ECR3042; extern volatile __cregister unsigned long __ECR3043; extern volatile __cregister unsigned long __ECR3044; extern volatile __cregister unsigned long __ECR3045; extern volatile __cregister unsigned long __ECR3046; extern volatile __cregister unsigned long __ECR3047; extern volatile __cregister unsigned long __ECR3048; extern volatile __cregister unsigned long __ECR3049; extern volatile __cregister unsigned long __ECR3050; extern volatile __cregister unsigned long __ECR3051; extern volatile __cregister unsigned long __ECR3052; extern volatile __cregister unsigned long __ECR3053; extern volatile __cregister unsigned long __ECR3054; extern volatile __cregister unsigned long __ECR3055; extern volatile __cregister unsigned long __ECR3056; extern volatile __cregister unsigned long __ECR3057; extern volatile __cregister unsigned long __ECR3058; extern volatile __cregister unsigned long __ECR3059; extern volatile __cregister unsigned long __ECR3060; extern volatile __cregister unsigned long __ECR3061; extern volatile __cregister unsigned long __ECR3062; extern volatile __cregister unsigned long __ECR3063; extern volatile __cregister unsigned long __ECR3064; extern volatile __cregister unsigned long __ECR3065; extern volatile __cregister unsigned long __ECR3066; extern volatile __cregister unsigned long __ECR3067; extern volatile __cregister unsigned long __ECR3068; extern volatile __cregister unsigned long __ECR3069; extern volatile __cregister unsigned long __ECR3070; extern volatile __cregister unsigned long __ECR3071; extern volatile __cregister unsigned long __ECR3072; extern volatile __cregister unsigned long __ECR3073; extern volatile __cregister unsigned long __ECR3074; extern volatile __cregister unsigned long __ECR3075; extern volatile __cregister unsigned long __ECR3076; extern volatile __cregister unsigned long __ECR3077; extern volatile __cregister unsigned long __ECR3078; extern volatile __cregister unsigned long __ECR3079; extern volatile __cregister unsigned long __ECR3080; extern volatile __cregister unsigned long __ECR3081; extern volatile __cregister unsigned long __ECR3082; extern volatile __cregister unsigned long __ECR3083; extern volatile __cregister unsigned long __ECR3084; extern volatile __cregister unsigned long __ECR3085; extern volatile __cregister unsigned long __ECR3086; extern volatile __cregister unsigned long __ECR3087; extern volatile __cregister unsigned long __ECR3088; extern volatile __cregister unsigned long __ECR3089; extern volatile __cregister unsigned long __ECR3090; extern volatile __cregister unsigned long __ECR3091; extern volatile __cregister unsigned long __ECR3092; extern volatile __cregister unsigned long __ECR3093; extern volatile __cregister unsigned long __ECR3094; extern volatile __cregister unsigned long __ECR3095; extern volatile __cregister unsigned long __ECR3096; extern volatile __cregister unsigned long __ECR3097; extern volatile __cregister unsigned long __ECR3098; extern volatile __cregister unsigned long __ECR3099; extern volatile __cregister unsigned long __ECR3100; extern volatile __cregister unsigned long __ECR3101; extern volatile __cregister unsigned long __ECR3102; extern volatile __cregister unsigned long __ECR3103; extern volatile __cregister unsigned long __ECR3104; extern volatile __cregister unsigned long __ECR3105; extern volatile __cregister unsigned long __ECR3106; extern volatile __cregister unsigned long __ECR3107; extern volatile __cregister unsigned long __ECR3108; extern volatile __cregister unsigned long __ECR3109; extern volatile __cregister unsigned long __ECR3110; extern volatile __cregister unsigned long __ECR3111; extern volatile __cregister unsigned long __ECR3112; extern volatile __cregister unsigned long __ECR3113; extern volatile __cregister unsigned long __ECR3114; extern volatile __cregister unsigned long __ECR3115; extern volatile __cregister unsigned long __ECR3116; extern volatile __cregister unsigned long __ECR3117; extern volatile __cregister unsigned long __ECR3118; extern volatile __cregister unsigned long __ECR3119; extern volatile __cregister unsigned long __ECR3120; extern volatile __cregister unsigned long __ECR3121; extern volatile __cregister unsigned long __ECR3122; extern volatile __cregister unsigned long __ECR3123; extern volatile __cregister unsigned long __ECR3124; extern volatile __cregister unsigned long __ECR3125; extern volatile __cregister unsigned long __ECR3126; extern volatile __cregister unsigned long __ECR3127; extern volatile __cregister unsigned long __ECR3128; extern volatile __cregister unsigned long __ECR3129; extern volatile __cregister unsigned long __ECR3130; extern volatile __cregister unsigned long __ECR3131; extern volatile __cregister unsigned long __ECR3132; extern volatile __cregister unsigned long __ECR3133; extern volatile __cregister unsigned long __ECR3134; extern volatile __cregister unsigned long __ECR3135; extern volatile __cregister unsigned long __ECR3136; extern volatile __cregister unsigned long __ECR3137; extern volatile __cregister unsigned long __ECR3138; extern volatile __cregister unsigned long __ECR3139; extern volatile __cregister unsigned long __ECR3140; extern volatile __cregister unsigned long __ECR3141; extern volatile __cregister unsigned long __ECR3142; extern volatile __cregister unsigned long __ECR3143; extern volatile __cregister unsigned long __ECR3144; extern volatile __cregister unsigned long __ECR3145; extern volatile __cregister unsigned long __ECR3146; extern volatile __cregister unsigned long __ECR3147; extern volatile __cregister unsigned long __ECR3148; extern volatile __cregister unsigned long __ECR3149; extern volatile __cregister unsigned long __ECR3150; extern volatile __cregister unsigned long __ECR3151; extern volatile __cregister unsigned long __ECR3152; extern volatile __cregister unsigned long __ECR3153; extern volatile __cregister unsigned long __ECR3154; extern volatile __cregister unsigned long __ECR3155; extern volatile __cregister unsigned long __ECR3156; extern volatile __cregister unsigned long __ECR3157; extern volatile __cregister unsigned long __ECR3158; extern volatile __cregister unsigned long __ECR3159; extern volatile __cregister unsigned long __ECR3160; extern volatile __cregister unsigned long __ECR3161; extern volatile __cregister unsigned long __ECR3162; extern volatile __cregister unsigned long __ECR3163; extern volatile __cregister unsigned long __ECR3164; extern volatile __cregister unsigned long __ECR3165; extern volatile __cregister unsigned long __ECR3166; extern volatile __cregister unsigned long __ECR3167; extern volatile __cregister unsigned long __ECR3168; extern volatile __cregister unsigned long __ECR3169; extern volatile __cregister unsigned long __ECR3170; extern volatile __cregister unsigned long __ECR3171; extern volatile __cregister unsigned long __ECR3172; extern volatile __cregister unsigned long __ECR3173; extern volatile __cregister unsigned long __ECR3174; extern volatile __cregister unsigned long __ECR3175; extern volatile __cregister unsigned long __ECR3176; extern volatile __cregister unsigned long __ECR3177; extern volatile __cregister unsigned long __ECR3178; extern volatile __cregister unsigned long __ECR3179; extern volatile __cregister unsigned long __ECR3180; extern volatile __cregister unsigned long __ECR3181; extern volatile __cregister unsigned long __ECR3182; extern volatile __cregister unsigned long __ECR3183; extern volatile __cregister unsigned long __ECR3184; extern volatile __cregister unsigned long __ECR3185; extern volatile __cregister unsigned long __ECR3186; extern volatile __cregister unsigned long __ECR3187; extern volatile __cregister unsigned long __ECR3188; extern volatile __cregister unsigned long __ECR3189; extern volatile __cregister unsigned long __ECR3190; extern volatile __cregister unsigned long __ECR3191; extern volatile __cregister unsigned long __ECR3192; extern volatile __cregister unsigned long __ECR3193; extern volatile __cregister unsigned long __ECR3194; extern volatile __cregister unsigned long __ECR3195; extern volatile __cregister unsigned long __ECR3196; extern volatile __cregister unsigned long __ECR3197; extern volatile __cregister unsigned long __ECR3198; extern volatile __cregister unsigned long __ECR3199; extern volatile __cregister unsigned long __ECR3200; extern volatile __cregister unsigned long __ECR3201; extern volatile __cregister unsigned long __ECR3202; extern volatile __cregister unsigned long __ECR3203; extern volatile __cregister unsigned long __ECR3204; extern volatile __cregister unsigned long __ECR3205; extern volatile __cregister unsigned long __ECR3206; extern volatile __cregister unsigned long __ECR3207; extern volatile __cregister unsigned long __ECR3208; extern volatile __cregister unsigned long __ECR3209; extern volatile __cregister unsigned long __ECR3210; extern volatile __cregister unsigned long __ECR3211; extern volatile __cregister unsigned long __ECR3212; extern volatile __cregister unsigned long __ECR3213; extern volatile __cregister unsigned long __ECR3214; extern volatile __cregister unsigned long __ECR3215; extern volatile __cregister unsigned long __ECR3216; extern volatile __cregister unsigned long __ECR3217; extern volatile __cregister unsigned long __ECR3218; extern volatile __cregister unsigned long __ECR3219; extern volatile __cregister unsigned long __ECR3220; extern volatile __cregister unsigned long __ECR3221; extern volatile __cregister unsigned long __ECR3222; extern volatile __cregister unsigned long __ECR3223; extern volatile __cregister unsigned long __ECR3224; extern volatile __cregister unsigned long __ECR3225; extern volatile __cregister unsigned long __ECR3226; extern volatile __cregister unsigned long __ECR3227; extern volatile __cregister unsigned long __ECR3228; extern volatile __cregister unsigned long __ECR3229; extern volatile __cregister unsigned long __ECR3230; extern volatile __cregister unsigned long __ECR3231; extern volatile __cregister unsigned long __ECR3232; extern volatile __cregister unsigned long __ECR3233; extern volatile __cregister unsigned long __ECR3234; extern volatile __cregister unsigned long __ECR3235; extern volatile __cregister unsigned long __ECR3236; extern volatile __cregister unsigned long __ECR3237; extern volatile __cregister unsigned long __ECR3238; extern volatile __cregister unsigned long __ECR3239; extern volatile __cregister unsigned long __ECR3240; extern volatile __cregister unsigned long __ECR3241; extern volatile __cregister unsigned long __ECR3242; extern volatile __cregister unsigned long __ECR3243; extern volatile __cregister unsigned long __ECR3244; extern volatile __cregister unsigned long __ECR3245; extern volatile __cregister unsigned long __ECR3246; extern volatile __cregister unsigned long __ECR3247; extern volatile __cregister unsigned long __ECR3248; extern volatile __cregister unsigned long __ECR3249; extern volatile __cregister unsigned long __ECR3250; extern volatile __cregister unsigned long __ECR3251; extern volatile __cregister unsigned long __ECR3252; extern volatile __cregister unsigned long __ECR3253; extern volatile __cregister unsigned long __ECR3254; extern volatile __cregister unsigned long __ECR3255; extern volatile __cregister unsigned long __ECR3256; extern volatile __cregister unsigned long __ECR3257; extern volatile __cregister unsigned long __ECR3258; extern volatile __cregister unsigned long __ECR3259; extern volatile __cregister unsigned long __ECR3260; extern volatile __cregister unsigned long __ECR3261; extern volatile __cregister unsigned long __ECR3262; extern volatile __cregister unsigned long __ECR3263; extern volatile __cregister unsigned long __ECR3264; extern volatile __cregister unsigned long __ECR3265; extern volatile __cregister unsigned long __ECR3266; extern volatile __cregister unsigned long __ECR3267; extern volatile __cregister unsigned long __ECR3268; extern volatile __cregister unsigned long __ECR3269; extern volatile __cregister unsigned long __ECR3270; extern volatile __cregister unsigned long __ECR3271; extern volatile __cregister unsigned long __ECR3272; extern volatile __cregister unsigned long __ECR3273; extern volatile __cregister unsigned long __ECR3274; extern volatile __cregister unsigned long __ECR3275; extern volatile __cregister unsigned long __ECR3276; extern volatile __cregister unsigned long __ECR3277; extern volatile __cregister unsigned long __ECR3278; extern volatile __cregister unsigned long __ECR3279; extern volatile __cregister unsigned long __ECR3280; extern volatile __cregister unsigned long __ECR3281; extern volatile __cregister unsigned long __ECR3282; extern volatile __cregister unsigned long __ECR3283; extern volatile __cregister unsigned long __ECR3284; extern volatile __cregister unsigned long __ECR3285; extern volatile __cregister unsigned long __ECR3286; extern volatile __cregister unsigned long __ECR3287; extern volatile __cregister unsigned long __ECR3288; extern volatile __cregister unsigned long __ECR3289; extern volatile __cregister unsigned long __ECR3290; extern volatile __cregister unsigned long __ECR3291; extern volatile __cregister unsigned long __ECR3292; extern volatile __cregister unsigned long __ECR3293; extern volatile __cregister unsigned long __ECR3294; extern volatile __cregister unsigned long __ECR3295; extern volatile __cregister unsigned long __ECR3296; extern volatile __cregister unsigned long __ECR3297; extern volatile __cregister unsigned long __ECR3298; extern volatile __cregister unsigned long __ECR3299; extern volatile __cregister unsigned long __ECR3300; extern volatile __cregister unsigned long __ECR3301; extern volatile __cregister unsigned long __ECR3302; extern volatile __cregister unsigned long __ECR3303; extern volatile __cregister unsigned long __ECR3304; extern volatile __cregister unsigned long __ECR3305; extern volatile __cregister unsigned long __ECR3306; extern volatile __cregister unsigned long __ECR3307; extern volatile __cregister unsigned long __ECR3308; extern volatile __cregister unsigned long __ECR3309; extern volatile __cregister unsigned long __ECR3310; extern volatile __cregister unsigned long __ECR3311; extern volatile __cregister unsigned long __ECR3312; extern volatile __cregister unsigned long __ECR3313; extern volatile __cregister unsigned long __ECR3314; extern volatile __cregister unsigned long __ECR3315; extern volatile __cregister unsigned long __ECR3316; extern volatile __cregister unsigned long __ECR3317; extern volatile __cregister unsigned long __ECR3318; extern volatile __cregister unsigned long __ECR3319; extern volatile __cregister unsigned long __ECR3320; extern volatile __cregister unsigned long __ECR3321; extern volatile __cregister unsigned long __ECR3322; extern volatile __cregister unsigned long __ECR3323; extern volatile __cregister unsigned long __ECR3324; extern volatile __cregister unsigned long __ECR3325; extern volatile __cregister unsigned long __ECR3326; extern volatile __cregister unsigned long __ECR3327; extern volatile __cregister unsigned long __ECR3328; extern volatile __cregister unsigned long __ECR3329; extern volatile __cregister unsigned long __ECR3330; extern volatile __cregister unsigned long __ECR3331; extern volatile __cregister unsigned long __ECR3332; extern volatile __cregister unsigned long __ECR3333; extern volatile __cregister unsigned long __ECR3334; extern volatile __cregister unsigned long __ECR3335; extern volatile __cregister unsigned long __ECR3336; extern volatile __cregister unsigned long __ECR3337; extern volatile __cregister unsigned long __ECR3338; extern volatile __cregister unsigned long __ECR3339; extern volatile __cregister unsigned long __ECR3340; extern volatile __cregister unsigned long __ECR3341; extern volatile __cregister unsigned long __ECR3342; extern volatile __cregister unsigned long __ECR3343; extern volatile __cregister unsigned long __ECR3344; extern volatile __cregister unsigned long __ECR3345; extern volatile __cregister unsigned long __ECR3346; extern volatile __cregister unsigned long __ECR3347; extern volatile __cregister unsigned long __ECR3348; extern volatile __cregister unsigned long __ECR3349; extern volatile __cregister unsigned long __ECR3350; extern volatile __cregister unsigned long __ECR3351; extern volatile __cregister unsigned long __ECR3352; extern volatile __cregister unsigned long __ECR3353; extern volatile __cregister unsigned long __ECR3354; extern volatile __cregister unsigned long __ECR3355; extern volatile __cregister unsigned long __ECR3356; extern volatile __cregister unsigned long __ECR3357; extern volatile __cregister unsigned long __ECR3358; extern volatile __cregister unsigned long __ECR3359; extern volatile __cregister unsigned long __ECR3360; extern volatile __cregister unsigned long __ECR3361; extern volatile __cregister unsigned long __ECR3362; extern volatile __cregister unsigned long __ECR3363; extern volatile __cregister unsigned long __ECR3364; extern volatile __cregister unsigned long __ECR3365; extern volatile __cregister unsigned long __ECR3366; extern volatile __cregister unsigned long __ECR3367; extern volatile __cregister unsigned long __ECR3368; extern volatile __cregister unsigned long __ECR3369; extern volatile __cregister unsigned long __ECR3370; extern volatile __cregister unsigned long __ECR3371; extern volatile __cregister unsigned long __ECR3372; extern volatile __cregister unsigned long __ECR3373; extern volatile __cregister unsigned long __ECR3374; extern volatile __cregister unsigned long __ECR3375; extern volatile __cregister unsigned long __ECR3376; extern volatile __cregister unsigned long __ECR3377; extern volatile __cregister unsigned long __ECR3378; extern volatile __cregister unsigned long __ECR3379; extern volatile __cregister unsigned long __ECR3380; extern volatile __cregister unsigned long __ECR3381; extern volatile __cregister unsigned long __ECR3382; extern volatile __cregister unsigned long __ECR3383; extern volatile __cregister unsigned long __ECR3384; extern volatile __cregister unsigned long __ECR3385; extern volatile __cregister unsigned long __ECR3386; extern volatile __cregister unsigned long __ECR3387; extern volatile __cregister unsigned long __ECR3388; extern volatile __cregister unsigned long __ECR3389; extern volatile __cregister unsigned long __ECR3390; extern volatile __cregister unsigned long __ECR3391; extern volatile __cregister unsigned long __ECR3392; extern volatile __cregister unsigned long __ECR3393; extern volatile __cregister unsigned long __ECR3394; extern volatile __cregister unsigned long __ECR3395; extern volatile __cregister unsigned long __ECR3396; extern volatile __cregister unsigned long __ECR3397; extern volatile __cregister unsigned long __ECR3398; extern volatile __cregister unsigned long __ECR3399; extern volatile __cregister unsigned long __ECR3400; extern volatile __cregister unsigned long __ECR3401; extern volatile __cregister unsigned long __ECR3402; extern volatile __cregister unsigned long __ECR3403; extern volatile __cregister unsigned long __ECR3404; extern volatile __cregister unsigned long __ECR3405; extern volatile __cregister unsigned long __ECR3406; extern volatile __cregister unsigned long __ECR3407; extern volatile __cregister unsigned long __ECR3408; extern volatile __cregister unsigned long __ECR3409; extern volatile __cregister unsigned long __ECR3410; extern volatile __cregister unsigned long __ECR3411; extern volatile __cregister unsigned long __ECR3412; extern volatile __cregister unsigned long __ECR3413; extern volatile __cregister unsigned long __ECR3414; extern volatile __cregister unsigned long __ECR3415; extern volatile __cregister unsigned long __ECR3416; extern volatile __cregister unsigned long __ECR3417; extern volatile __cregister unsigned long __ECR3418; extern volatile __cregister unsigned long __ECR3419; extern volatile __cregister unsigned long __ECR3420; extern volatile __cregister unsigned long __ECR3421; extern volatile __cregister unsigned long __ECR3422; extern volatile __cregister unsigned long __ECR3423; extern volatile __cregister unsigned long __ECR3424; extern volatile __cregister unsigned long __ECR3425; extern volatile __cregister unsigned long __ECR3426; extern volatile __cregister unsigned long __ECR3427; extern volatile __cregister unsigned long __ECR3428; extern volatile __cregister unsigned long __ECR3429; extern volatile __cregister unsigned long __ECR3430; extern volatile __cregister unsigned long __ECR3431; extern volatile __cregister unsigned long __ECR3432; extern volatile __cregister unsigned long __ECR3433; extern volatile __cregister unsigned long __ECR3434; extern volatile __cregister unsigned long __ECR3435; extern volatile __cregister unsigned long __ECR3436; extern volatile __cregister unsigned long __ECR3437; extern volatile __cregister unsigned long __ECR3438; extern volatile __cregister unsigned long __ECR3439; extern volatile __cregister unsigned long __ECR3440; extern volatile __cregister unsigned long __ECR3441; extern volatile __cregister unsigned long __ECR3442; extern volatile __cregister unsigned long __ECR3443; extern volatile __cregister unsigned long __ECR3444; extern volatile __cregister unsigned long __ECR3445; extern volatile __cregister unsigned long __ECR3446; extern volatile __cregister unsigned long __ECR3447; extern volatile __cregister unsigned long __ECR3448; extern volatile __cregister unsigned long __ECR3449; extern volatile __cregister unsigned long __ECR3450; extern volatile __cregister unsigned long __ECR3451; extern volatile __cregister unsigned long __ECR3452; extern volatile __cregister unsigned long __ECR3453; extern volatile __cregister unsigned long __ECR3454; extern volatile __cregister unsigned long __ECR3455; extern volatile __cregister unsigned long __ECR3456; extern volatile __cregister unsigned long __ECR3457; extern volatile __cregister unsigned long __ECR3458; extern volatile __cregister unsigned long __ECR3459; extern volatile __cregister unsigned long __ECR3460; extern volatile __cregister unsigned long __ECR3461; extern volatile __cregister unsigned long __ECR3462; extern volatile __cregister unsigned long __ECR3463; extern volatile __cregister unsigned long __ECR3464; extern volatile __cregister unsigned long __ECR3465; extern volatile __cregister unsigned long __ECR3466; extern volatile __cregister unsigned long __ECR3467; extern volatile __cregister unsigned long __ECR3468; extern volatile __cregister unsigned long __ECR3469; extern volatile __cregister unsigned long __ECR3470; extern volatile __cregister unsigned long __ECR3471; extern volatile __cregister unsigned long __ECR3472; extern volatile __cregister unsigned long __ECR3473; extern volatile __cregister unsigned long __ECR3474; extern volatile __cregister unsigned long __ECR3475; extern volatile __cregister unsigned long __ECR3476; extern volatile __cregister unsigned long __ECR3477; extern volatile __cregister unsigned long __ECR3478; extern volatile __cregister unsigned long __ECR3479; extern volatile __cregister unsigned long __ECR3480; extern volatile __cregister unsigned long __ECR3481; extern volatile __cregister unsigned long __ECR3482; extern volatile __cregister unsigned long __ECR3483; extern volatile __cregister unsigned long __ECR3484; extern volatile __cregister unsigned long __ECR3485; extern volatile __cregister unsigned long __ECR3486; extern volatile __cregister unsigned long __ECR3487; extern volatile __cregister unsigned long __ECR3488; extern volatile __cregister unsigned long __ECR3489; extern volatile __cregister unsigned long __ECR3490; extern volatile __cregister unsigned long __ECR3491; extern volatile __cregister unsigned long __ECR3492; extern volatile __cregister unsigned long __ECR3493; extern volatile __cregister unsigned long __ECR3494; extern volatile __cregister unsigned long __ECR3495; extern volatile __cregister unsigned long __ECR3496; extern volatile __cregister unsigned long __ECR3497; extern volatile __cregister unsigned long __ECR3498; extern volatile __cregister unsigned long __ECR3499; extern volatile __cregister unsigned long __ECR3500; extern volatile __cregister unsigned long __ECR3501; extern volatile __cregister unsigned long __ECR3502; extern volatile __cregister unsigned long __ECR3503; extern volatile __cregister unsigned long __ECR3504; extern volatile __cregister unsigned long __ECR3505; extern volatile __cregister unsigned long __ECR3506; extern volatile __cregister unsigned long __ECR3507; extern volatile __cregister unsigned long __ECR3508; extern volatile __cregister unsigned long __ECR3509; extern volatile __cregister unsigned long __ECR3510; extern volatile __cregister unsigned long __ECR3511; extern volatile __cregister unsigned long __ECR3512; extern volatile __cregister unsigned long __ECR3513; extern volatile __cregister unsigned long __ECR3514; extern volatile __cregister unsigned long __ECR3515; extern volatile __cregister unsigned long __ECR3516; extern volatile __cregister unsigned long __ECR3517; extern volatile __cregister unsigned long __ECR3518; extern volatile __cregister unsigned long __ECR3519; extern volatile __cregister unsigned long __ECR3520; extern volatile __cregister unsigned long __ECR3521; extern volatile __cregister unsigned long __ECR3522; extern volatile __cregister unsigned long __ECR3523; extern volatile __cregister unsigned long __ECR3524; extern volatile __cregister unsigned long __ECR3525; extern volatile __cregister unsigned long __ECR3526; extern volatile __cregister unsigned long __ECR3527; extern volatile __cregister unsigned long __ECR3528; extern volatile __cregister unsigned long __ECR3529; extern volatile __cregister unsigned long __ECR3530; extern volatile __cregister unsigned long __ECR3531; extern volatile __cregister unsigned long __ECR3532; extern volatile __cregister unsigned long __ECR3533; extern volatile __cregister unsigned long __ECR3534; extern volatile __cregister unsigned long __ECR3535; extern volatile __cregister unsigned long __ECR3536; extern volatile __cregister unsigned long __ECR3537; extern volatile __cregister unsigned long __ECR3538; extern volatile __cregister unsigned long __ECR3539; extern volatile __cregister unsigned long __ECR3540; extern volatile __cregister unsigned long __ECR3541; extern volatile __cregister unsigned long __ECR3542; extern volatile __cregister unsigned long __ECR3543; extern volatile __cregister unsigned long __ECR3544; extern volatile __cregister unsigned long __ECR3545; extern volatile __cregister unsigned long __ECR3546; extern volatile __cregister unsigned long __ECR3547; extern volatile __cregister unsigned long __ECR3548; extern volatile __cregister unsigned long __ECR3549; extern volatile __cregister unsigned long __ECR3550; extern volatile __cregister unsigned long __ECR3551; extern volatile __cregister unsigned long __ECR3552; extern volatile __cregister unsigned long __ECR3553; extern volatile __cregister unsigned long __ECR3554; extern volatile __cregister unsigned long __ECR3555; extern volatile __cregister unsigned long __ECR3556; extern volatile __cregister unsigned long __ECR3557; extern volatile __cregister unsigned long __ECR3558; extern volatile __cregister unsigned long __ECR3559; extern volatile __cregister unsigned long __ECR3560; extern volatile __cregister unsigned long __ECR3561; extern volatile __cregister unsigned long __ECR3562; extern volatile __cregister unsigned long __ECR3563; extern volatile __cregister unsigned long __ECR3564; extern volatile __cregister unsigned long __ECR3565; extern volatile __cregister unsigned long __ECR3566; extern volatile __cregister unsigned long __ECR3567; extern volatile __cregister unsigned long __ECR3568; extern volatile __cregister unsigned long __ECR3569; extern volatile __cregister unsigned long __ECR3570; extern volatile __cregister unsigned long __ECR3571; extern volatile __cregister unsigned long __ECR3572; extern volatile __cregister unsigned long __ECR3573; extern volatile __cregister unsigned long __ECR3574; extern volatile __cregister unsigned long __ECR3575; extern volatile __cregister unsigned long __ECR3576; extern volatile __cregister unsigned long __ECR3577; extern volatile __cregister unsigned long __ECR3578; extern volatile __cregister unsigned long __ECR3579; extern volatile __cregister unsigned long __ECR3580; extern volatile __cregister unsigned long __ECR3581; extern volatile __cregister unsigned long __ECR3582; extern volatile __cregister unsigned long __ECR3583; extern volatile __cregister unsigned long __ECR3584; extern volatile __cregister unsigned long __ECR3585; extern volatile __cregister unsigned long __ECR3586; extern volatile __cregister unsigned long __ECR3587; extern volatile __cregister unsigned long __ECR3588; extern volatile __cregister unsigned long __ECR3589; extern volatile __cregister unsigned long __ECR3590; extern volatile __cregister unsigned long __ECR3591; extern volatile __cregister unsigned long __ECR3592; extern volatile __cregister unsigned long __ECR3593; extern volatile __cregister unsigned long __ECR3594; extern volatile __cregister unsigned long __ECR3595; extern volatile __cregister unsigned long __ECR3596; extern volatile __cregister unsigned long __ECR3597; extern volatile __cregister unsigned long __ECR3598; extern volatile __cregister unsigned long __ECR3599; extern volatile __cregister unsigned long __ECR3600; extern volatile __cregister unsigned long __ECR3601; extern volatile __cregister unsigned long __ECR3602; extern volatile __cregister unsigned long __ECR3603; extern volatile __cregister unsigned long __ECR3604; extern volatile __cregister unsigned long __ECR3605; extern volatile __cregister unsigned long __ECR3606; extern volatile __cregister unsigned long __ECR3607; extern volatile __cregister unsigned long __ECR3608; extern volatile __cregister unsigned long __ECR3609; extern volatile __cregister unsigned long __ECR3610; extern volatile __cregister unsigned long __ECR3611; extern volatile __cregister unsigned long __ECR3612; extern volatile __cregister unsigned long __ECR3613; extern volatile __cregister unsigned long __ECR3614; extern volatile __cregister unsigned long __ECR3615; extern volatile __cregister unsigned long __ECR3616; extern volatile __cregister unsigned long __ECR3617; extern volatile __cregister unsigned long __ECR3618; extern volatile __cregister unsigned long __ECR3619; extern volatile __cregister unsigned long __ECR3620; extern volatile __cregister unsigned long __ECR3621; extern volatile __cregister unsigned long __ECR3622; extern volatile __cregister unsigned long __ECR3623; extern volatile __cregister unsigned long __ECR3624; extern volatile __cregister unsigned long __ECR3625; extern volatile __cregister unsigned long __ECR3626; extern volatile __cregister unsigned long __ECR3627; extern volatile __cregister unsigned long __ECR3628; extern volatile __cregister unsigned long __ECR3629; extern volatile __cregister unsigned long __ECR3630; extern volatile __cregister unsigned long __ECR3631; extern volatile __cregister unsigned long __ECR3632; extern volatile __cregister unsigned long __ECR3633; extern volatile __cregister unsigned long __ECR3634; extern volatile __cregister unsigned long __ECR3635; extern volatile __cregister unsigned long __ECR3636; extern volatile __cregister unsigned long __ECR3637; extern volatile __cregister unsigned long __ECR3638; extern volatile __cregister unsigned long __ECR3639; extern volatile __cregister unsigned long __ECR3640; extern volatile __cregister unsigned long __ECR3641; extern volatile __cregister unsigned long __ECR3642; extern volatile __cregister unsigned long __ECR3643; extern volatile __cregister unsigned long __ECR3644; extern volatile __cregister unsigned long __ECR3645; extern volatile __cregister unsigned long __ECR3646; extern volatile __cregister unsigned long __ECR3647; extern volatile __cregister unsigned long __ECR3648; extern volatile __cregister unsigned long __ECR3649; extern volatile __cregister unsigned long __ECR3650; extern volatile __cregister unsigned long __ECR3651; extern volatile __cregister unsigned long __ECR3652; extern volatile __cregister unsigned long __ECR3653; extern volatile __cregister unsigned long __ECR3654; extern volatile __cregister unsigned long __ECR3655; extern volatile __cregister unsigned long __ECR3656; extern volatile __cregister unsigned long __ECR3657; extern volatile __cregister unsigned long __ECR3658; extern volatile __cregister unsigned long __ECR3659; extern volatile __cregister unsigned long __ECR3660; extern volatile __cregister unsigned long __ECR3661; extern volatile __cregister unsigned long __ECR3662; extern volatile __cregister unsigned long __ECR3663; extern volatile __cregister unsigned long __ECR3664; extern volatile __cregister unsigned long __ECR3665; extern volatile __cregister unsigned long __ECR3666; extern volatile __cregister unsigned long __ECR3667; extern volatile __cregister unsigned long __ECR3668; extern volatile __cregister unsigned long __ECR3669; extern volatile __cregister unsigned long __ECR3670; extern volatile __cregister unsigned long __ECR3671; extern volatile __cregister unsigned long __ECR3672; extern volatile __cregister unsigned long __ECR3673; extern volatile __cregister unsigned long __ECR3674; extern volatile __cregister unsigned long __ECR3675; extern volatile __cregister unsigned long __ECR3676; extern volatile __cregister unsigned long __ECR3677; extern volatile __cregister unsigned long __ECR3678; extern volatile __cregister unsigned long __ECR3679; extern volatile __cregister unsigned long __ECR3680; extern volatile __cregister unsigned long __ECR3681; extern volatile __cregister unsigned long __ECR3682; extern volatile __cregister unsigned long __ECR3683; extern volatile __cregister unsigned long __ECR3684; extern volatile __cregister unsigned long __ECR3685; extern volatile __cregister unsigned long __ECR3686; extern volatile __cregister unsigned long __ECR3687; extern volatile __cregister unsigned long __ECR3688; extern volatile __cregister unsigned long __ECR3689; extern volatile __cregister unsigned long __ECR3690; extern volatile __cregister unsigned long __ECR3691; extern volatile __cregister unsigned long __ECR3692; extern volatile __cregister unsigned long __ECR3693; extern volatile __cregister unsigned long __ECR3694; extern volatile __cregister unsigned long __ECR3695; extern volatile __cregister unsigned long __ECR3696; extern volatile __cregister unsigned long __ECR3697; extern volatile __cregister unsigned long __ECR3698; extern volatile __cregister unsigned long __ECR3699; extern volatile __cregister unsigned long __ECR3700; extern volatile __cregister unsigned long __ECR3701; extern volatile __cregister unsigned long __ECR3702; extern volatile __cregister unsigned long __ECR3703; extern volatile __cregister unsigned long __ECR3704; extern volatile __cregister unsigned long __ECR3705; extern volatile __cregister unsigned long __ECR3706; extern volatile __cregister unsigned long __ECR3707; extern volatile __cregister unsigned long __ECR3708; extern volatile __cregister unsigned long __ECR3709; extern volatile __cregister unsigned long __ECR3710; extern volatile __cregister unsigned long __ECR3711; extern volatile __cregister unsigned long __ECR3712; extern volatile __cregister unsigned long __ECR3713; extern volatile __cregister unsigned long __ECR3714; extern volatile __cregister unsigned long __ECR3715; extern volatile __cregister unsigned long __ECR3716; extern volatile __cregister unsigned long __ECR3717; extern volatile __cregister unsigned long __ECR3718; extern volatile __cregister unsigned long __ECR3719; extern volatile __cregister unsigned long __ECR3720; extern volatile __cregister unsigned long __ECR3721; extern volatile __cregister unsigned long __ECR3722; extern volatile __cregister unsigned long __ECR3723; extern volatile __cregister unsigned long __ECR3724; extern volatile __cregister unsigned long __ECR3725; extern volatile __cregister unsigned long __ECR3726; extern volatile __cregister unsigned long __ECR3727; extern volatile __cregister unsigned long __ECR3728; extern volatile __cregister unsigned long __ECR3729; extern volatile __cregister unsigned long __ECR3730; extern volatile __cregister unsigned long __ECR3731; extern volatile __cregister unsigned long __ECR3732; extern volatile __cregister unsigned long __ECR3733; extern volatile __cregister unsigned long __ECR3734; extern volatile __cregister unsigned long __ECR3735; extern volatile __cregister unsigned long __ECR3736; extern volatile __cregister unsigned long __ECR3737; extern volatile __cregister unsigned long __ECR3738; extern volatile __cregister unsigned long __ECR3739; extern volatile __cregister unsigned long __ECR3740; extern volatile __cregister unsigned long __ECR3741; extern volatile __cregister unsigned long __ECR3742; extern volatile __cregister unsigned long __ECR3743; extern volatile __cregister unsigned long __ECR3744; extern volatile __cregister unsigned long __ECR3745; extern volatile __cregister unsigned long __ECR3746; extern volatile __cregister unsigned long __ECR3747; extern volatile __cregister unsigned long __ECR3748; extern volatile __cregister unsigned long __ECR3749; extern volatile __cregister unsigned long __ECR3750; extern volatile __cregister unsigned long __ECR3751; extern volatile __cregister unsigned long __ECR3752; extern volatile __cregister unsigned long __ECR3753; extern volatile __cregister unsigned long __ECR3754; extern volatile __cregister unsigned long __ECR3755; extern volatile __cregister unsigned long __ECR3756; extern volatile __cregister unsigned long __ECR3757; extern volatile __cregister unsigned long __ECR3758; extern volatile __cregister unsigned long __ECR3759; extern volatile __cregister unsigned long __ECR3760; extern volatile __cregister unsigned long __ECR3761; extern volatile __cregister unsigned long __ECR3762; extern volatile __cregister unsigned long __ECR3763; extern volatile __cregister unsigned long __ECR3764; extern volatile __cregister unsigned long __ECR3765; extern volatile __cregister unsigned long __ECR3766; extern volatile __cregister unsigned long __ECR3767; extern volatile __cregister unsigned long __ECR3768; extern volatile __cregister unsigned long __ECR3769; extern volatile __cregister unsigned long __ECR3770; extern volatile __cregister unsigned long __ECR3771; extern volatile __cregister unsigned long __ECR3772; extern volatile __cregister unsigned long __ECR3773; extern volatile __cregister unsigned long __ECR3774; extern volatile __cregister unsigned long __ECR3775; extern volatile __cregister unsigned long __ECR3776; extern volatile __cregister unsigned long __ECR3777; extern volatile __cregister unsigned long __ECR3778; extern volatile __cregister unsigned long __ECR3779; extern volatile __cregister unsigned long __ECR3780; extern volatile __cregister unsigned long __ECR3781; extern volatile __cregister unsigned long __ECR3782; extern volatile __cregister unsigned long __ECR3783; extern volatile __cregister unsigned long __ECR3784; extern volatile __cregister unsigned long __ECR3785; extern volatile __cregister unsigned long __ECR3786; extern volatile __cregister unsigned long __ECR3787; extern volatile __cregister unsigned long __ECR3788; extern volatile __cregister unsigned long __ECR3789; extern volatile __cregister unsigned long __ECR3790; extern volatile __cregister unsigned long __ECR3791; extern volatile __cregister unsigned long __ECR3792; extern volatile __cregister unsigned long __ECR3793; extern volatile __cregister unsigned long __ECR3794; extern volatile __cregister unsigned long __ECR3795; extern volatile __cregister unsigned long __ECR3796; extern volatile __cregister unsigned long __ECR3797; extern volatile __cregister unsigned long __ECR3798; extern volatile __cregister unsigned long __ECR3799; extern volatile __cregister unsigned long __ECR3800; extern volatile __cregister unsigned long __ECR3801; extern volatile __cregister unsigned long __ECR3802; extern volatile __cregister unsigned long __ECR3803; extern volatile __cregister unsigned long __ECR3804; extern volatile __cregister unsigned long __ECR3805; extern volatile __cregister unsigned long __ECR3806; extern volatile __cregister unsigned long __ECR3807; extern volatile __cregister unsigned long __ECR3808; extern volatile __cregister unsigned long __ECR3809; extern volatile __cregister unsigned long __ECR3810; extern volatile __cregister unsigned long __ECR3811; extern volatile __cregister unsigned long __ECR3812; extern volatile __cregister unsigned long __ECR3813; extern volatile __cregister unsigned long __ECR3814; extern volatile __cregister unsigned long __ECR3815; extern volatile __cregister unsigned long __ECR3816; extern volatile __cregister unsigned long __ECR3817; extern volatile __cregister unsigned long __ECR3818; extern volatile __cregister unsigned long __ECR3819; extern volatile __cregister unsigned long __ECR3820; extern volatile __cregister unsigned long __ECR3821; extern volatile __cregister unsigned long __ECR3822; extern volatile __cregister unsigned long __ECR3823; extern volatile __cregister unsigned long __ECR3824; extern volatile __cregister unsigned long __ECR3825; extern volatile __cregister unsigned long __ECR3826; extern volatile __cregister unsigned long __ECR3827; extern volatile __cregister unsigned long __ECR3828; extern volatile __cregister unsigned long __ECR3829; extern volatile __cregister unsigned long __ECR3830; extern volatile __cregister unsigned long __ECR3831; extern volatile __cregister unsigned long __ECR3832; extern volatile __cregister unsigned long __ECR3833; extern volatile __cregister unsigned long __ECR3834; extern volatile __cregister unsigned long __ECR3835; extern volatile __cregister unsigned long __ECR3836; extern volatile __cregister unsigned long __ECR3837; extern volatile __cregister unsigned long __ECR3838; extern volatile __cregister unsigned long __ECR3839; /*****************************************************************************/ /* Include low-level "vpred" operations, some of which are overloaded below. */ /*****************************************************************************/ /*****************************************************************************/ /* C7X_VPRED.H */ /* */ /* Copyright (c) 2015 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* CONVERT TO/FROM A VECTOR PREDICATE FROM/TO A BOOLEAN VECTOR */ /* */ /* Note: Because boolean vectors are always intepreted as vectors of single */ /* 1-bit values, the corresponding "__vpred" must be interpreted as "char" */ /* format. This means that the bits are scaled for halfword, word, or long. */ /*****************************************************************************/ __bool2 __attribute__((builtin)) __attribute__((overloadable)) __create_bool2(__vpred); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __create_bool3(__vpred); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __create_bool4(__vpred); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __create_bool8(__vpred); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __create_bool16(__vpred); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __create_bool32(__vpred); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __create_bool64(__vpred); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool2); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool3); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool4); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool8); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool16); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool32); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__bool64); __vpred __attribute__((builtin)) __attribute__((overloadable)) __create_vpred(__ulong); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__vpred); /*****************************************************************************/ /* VECTOR PREDICATE TO REGISTER INTERFACE */ /*****************************************************************************/ __vpred __attribute__((builtin)) _mvrp (long); long __attribute__((builtin)) _mvpb (__vpred); long __attribute__((builtin)) _mvph (__vpred); long __attribute__((builtin)) _mvpw (__vpred); long __attribute__((builtin)) _mvpd (__vpred); /*****************************************************************************/ /* VECTOR LOADS AND PREDICATED VECTOR LOADS */ /* */ /* On C7120 and later devices, implicit predication occurs on loads that use */ /* streaming address generator (SA) operands. If an SA may be used as an */ /* operand to a load AND that SA may generate predicates with one or more */ /* predicate bits off, then a predicated load must be used to avoid */ /* unexpected behavior. Use the following idiom with implicitly predicated */ /* SA loads: */ /* */ /* __vpred pred = __SA0_VPRED(char2); */ /* char2* ptr = __SA0ADV(char2, base_ptr); */ /* char2 data = __vload_pred(pred, ptr); */ /* */ /* If implicit predication is not available (C7100), the idiom is malformed, */ /* or the compiler fails to optimize the idiom, an equivalent series of */ /* instructions will instead be generated to load and then predicate. */ /*****************************************************************************/ /* VLD2B, VLD4B, VLD8B, VLD16B, VLD32B, VLD64B */ __char2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char2*); __char4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char4*); __char8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char8*); __char16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char16*); __char32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char32*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __char64*); __uchar2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar2*); __uchar4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar4*); __uchar8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar8*); __uchar16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar16*); __uchar32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar32*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uchar64*); /* VLD2H, VLD4H, VLD8H, VLD16H, VLD32H */ __short2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __short2*); __short4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __short4*); __short8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __short8*); __short16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __short16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __short32*); __ushort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ushort2*); __ushort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ushort4*); __ushort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ushort8*); __ushort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ushort16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ushort32*); /* VLDHSWAPB */ __cchar __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar*); __cchar2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar2*); __cchar4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar4*); __cchar8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar8*); __cchar16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar16*); __cchar32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cchar32*); /* VLD2W, VLD4W, VLD8W, VLD16W */ __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __int2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __int4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __int8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __int16*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uint2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uint4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uint8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __uint16*); __float2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __float2*); __float4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __float4*); __float8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __float8*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __float16*); /* VLDWSWAPH */ __cshort __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cshort*); __cshort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cshort2*); __cshort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cshort4*); __cshort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cshort8*); __cshort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cshort16*); /* VLD1D, VLD2D, VLD4D, VLD8D */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const long*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __long2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __long4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __long8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ulong*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ulong2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ulong4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __ulong8*); double __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const double*); __double2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __double2*); __double4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __double4*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __double8*); /* VLDDSWAPW */ __cint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cint*); __cint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cint2*); __cint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cint4*); __cint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cint8*); __cfloat __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cfloat*); __cfloat2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cfloat2*); __cfloat4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cfloat4*); __cfloat8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__vpred, __attribute__((memread)) const __cfloat8*); /* VLDDUP2B, VLDDUP4B, VLDDUP8B, VLDDUP16B, VLDDUP32B, VLDDUP64B */ __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __char32*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __char16*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __char8*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __char4*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __char2*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const signed char*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar32*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar16*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar8*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar4*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar2*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uchar*); /* VLDDUP2H, VLDDUP4H, VLDDUP8H, VLDDUP16H, VLDDUP32H */ __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __short16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __short8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __short4*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __short2*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const short*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ushort16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ushort8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ushort4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ushort2*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ushort*); /* VLDDUP2W, VLDDUP4W, VLDDUP8W, VLDDUP16W */ __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __int8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __int4*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __int2*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const int*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uint8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uint4*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uint2*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __uint*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __float8*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __float4*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __float2*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const float*); /* VLDDUP2D, VLDDUP4D, VLDDUP8D */ __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __long4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __long2*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const long*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ulong4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ulong2*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __ulong*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __double4*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const __double2*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__vpred, __attribute__((memread)) const double*); /* VLDDUP4G8H, VLDDUP8G4H */ /* these instructions are only on 512-bit architectures */ __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__vpred, __attribute__((memread)) const __short8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__vpred, __attribute__((memread)) const __ushort8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__vpred, __attribute__((memread)) const __short4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__vpred, __attribute__((memread)) const __ushort4*); /* VLDBUNPKH, VLDBUNPKHU */ short __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const signed char*); __short2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __char2*); __short4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __char4*); __short8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __char8*); __short16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __char16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __char32*); __ushort __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar*); __ushort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar2*); __ushort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar4*); __ushort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar8*); __ushort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__vpred, __attribute__((memread)) const __uchar32*); /* VLDBUNPKW, VLDBUNPKWU */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const signed char*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __char2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __char4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __char8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __char16*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __uchar*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __uchar2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __uchar4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __uchar8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __uchar16*); /* VLDHUNPKW, VLDHUNPKWU */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const short*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __short2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __short4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __short8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __short16*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __ushort*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __ushort2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __ushort4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __ushort8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__vpred, __attribute__((memread)) const __ushort16*); /* VLDBUNPKD, VLDBUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const signed char*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __char2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __char4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __char8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uchar*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uchar2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uchar4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uchar8*); /* VLDHUNPKD, VLDHUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const short*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __short2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __short4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __short8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __ushort*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __ushort2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __ushort4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __ushort8*); /* VLDWUNPKD, VLDWUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const int*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __int2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __int4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __int8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uint*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uint2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uint4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__vpred, __attribute__((memread)) const __uint8*); /* VLDEBUNPKW, VLDEHUNPKW */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __char2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __char4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __char8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __char16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __char32*); int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __short2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __short4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __short8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __short16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __short32*); /* VLDEBUNPKWU, VLDEHUNPKWU */ __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __uchar2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __uchar4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __uchar8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __uchar16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __uchar32*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __ushort2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __ushort4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __ushort8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __ushort16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__vpred, __attribute__((memread)) const __ushort32*); /* VLDEBUNPKD, VLDEHUNPKD */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __char2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __char4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __char8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __char16*); long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __short2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __short4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __short8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __short16*); /* VLDEBUNPKDU, VLDEHUNPKDU */ __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __uchar2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __uchar4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __uchar8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __uchar16*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __ushort2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __ushort4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __ushort8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__vpred, __attribute__((memread)) const __ushort16*); /*****************************************************************************/ /* VECTOR STORES AND PREDICATED VECTOR STORES */ /* */ /* On all C7000 devices, implicit predication occurs on stores that use */ /* streaming address generator (SA) operands. If an SA may be used as an */ /* operand to a store AND that SA may generate predicates with one or more */ /* predicate bits off, then a predicated store must be used to avoid */ /* unexpected behavior. Use the following idiom with implicitly predicated */ /* SA stores: */ /* */ /* __vpred pred = __SA0_VPRED(char2); */ /* char2 *ptr = __SA0ADV(char2, base_ptr); */ /* __vstore_pred(pred, ptr, data); */ /* */ /* If the idiom is malformed or the compiler fails to optimize the idiom, an */ /* equivalent series of instructions will instead be generated to create the */ /* predicate and then store with explicit predication. */ /*****************************************************************************/ /* VSTPINTLB, VSTPINTLH, VSTPINTLW, VSTPINLD - STORES EVERY EVEN ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __char64*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __short32*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __int16*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __uchar64*, __uchar64, __uchar64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __ushort32*,__ushort32,__ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __uint16*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__vpred, __attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); /* VSTPINTLB4 - STORES EVERY FOURTH ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave4(__vpred, __attribute__((memwrite)) __char32*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave4(__vpred, __attribute__((memwrite)) __uchar32*, __uchar64, __uchar64); /* VSTP2B, VSTP4B, VSTP8B, VSTP16B, VSTP32B, VSTP64B */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char2*, __char2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char4*, __char4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char8*, __char8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char16*, __char16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char32*, __char32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __char64*, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar2*, __uchar2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar4*, __uchar4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar8*, __uchar8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar16*, __uchar16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar32*, __uchar32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uchar64*, __uchar64); /* VSTP2H, VSTP4H, VSTP8H, VSTP16H, VSTP32H */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __short2*, __short2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __short4*, __short4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __short8*, __short8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __short16*, __short16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __short32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ushort2*, __ushort2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ushort4*, __ushort4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ushort8*, __ushort8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ushort16*, __ushort16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ushort32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cchar2*, __cchar2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cchar4*, __cchar4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cchar8*, __cchar8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cchar16*, __cchar16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cchar32*, __cchar32); /* VSTP2W, VSTP4W, VSTP8W, VSTP16W */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __int2*, __int2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __int4*, __int4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __int8*, __int8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __int16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uint2*, __uint2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uint4*, __uint4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uint8*, __uint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __uint16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __float2*, __float2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __float4*, __float4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __float8*, __float8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __float16*, __float16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cshort2*, __cshort2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cshort4*, __cshort4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cshort8*, __cshort8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cshort16*, __cshort16); /* VSTP2D, VSTP4D, VSTP8D */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) long*, long); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __long2*, __long2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __long4*, __long4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __long8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ulong*, __ulong); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ulong2*, __ulong2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ulong4*, __ulong4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __ulong8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) double*, double); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __double2*, __double2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __double4*, __double4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __double8*, __double8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cint*, __cint); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cint2*, __cint2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cint4*, __cint4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cint8*, __cint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cfloat*, __cfloat); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cfloat2*, __cfloat2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cfloat4*, __cfloat4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__vpred, __attribute__((memwrite)) __cfloat8*, __cfloat8); /* VSTPBSVPACKL, VSTPBSVPACKH, VSTPBSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __uchar32*, __ushort32); /* VSTPHSVPACKL, VSTPHSVPACKH, VSTPHSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __ushort16*, __uint16); /* VSTPWSVPACKB: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte(__vpred, __attribute__((memwrite)) __char16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte(__vpred, __attribute__((memwrite)) __uchar16*, __uint16); /* VSTPWSVPACKL, VSTPWSVPACKH, VSTPWSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__vpred, __attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__vpred, __attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__vpred, __attribute__((memwrite)) __uint8*, __ulong8); /* VSTPDSVPACKL, VSTPDSVPACKH, VSTPDSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long(__vpred, __attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long(__vpred, __attribute__((memwrite)) __ulong4*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long(__vpred, __attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long(__vpred, __attribute__((memwrite)) __ulong4*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long(__vpred, __attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long(__vpred, __attribute__((memwrite)) __ulong4*, __ulong8); /* VSTPBPACKL, VSTPBPACKH, VSTPBPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); /* VSTPHPACKL, VSTPHPACKH, VSTPHPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); /* VSTPWPACKB: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte_2src(__vpred, __attribute__((memwrite)) __char32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte_2src(__vpred, __attribute__((memwrite)) __uchar32*, __uint16, __uint16); /* VSTPWPACKL, VSTPWPACKH, VSTPWPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__vpred, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__vpred, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__vpred, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); /* VSTPDPACKL, VSTPDPACKH, VSTPDPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long_2src(__vpred, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long_2src(__vpred, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long_2src(__vpred, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long_2src(__vpred, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long_2src(__vpred, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long_2src(__vpred, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); /* VSTPBITRWH */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__vpred, __attribute__((memwrite)) __cshort16*, __cshort16); /* VSTPBITRDW */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__vpred, __attribute__((memwrite)) __cint8*, __cint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__vpred, __attribute__((memwrite)) __cfloat8*, __cfloat8); /* STPREDB (C syntax): __vpred src; *(__vpred *)ptr = src; */ /* STPREDB - store predicate according to type byte (every bit) */ void __attribute__((builtin)) __attribute__((impure)) __store_predicate_char(__attribute__((memwrite)) __ulong*, __vpred); /* STPREDH - store predicate according to type short (every 2-bits) */ void __attribute__((builtin)) __attribute__((impure)) __store_predicate_short(__attribute__((memwrite)) __uint*, __vpred); /* STPREDW - store predicate according to type int (every 4-bits) */ void __attribute__((builtin)) __attribute__((impure)) __store_predicate_int(__attribute__((memwrite)) __ushort*, __vpred); /* STPREDD - store predicate according to type long (every 8-bits) */ void __attribute__((builtin)) __attribute__((impure)) __store_predicate_long(__attribute__((memwrite)) __uchar*, __vpred); /*----------------------------------------------------------------------------*/ /* ID: __pack_vpred */ /*----------------------------------------------------------------------------*/ /* Non-Scaling Implementations (cannot vectorize) */ /* BITPACK __vpred = __pack_vpred(ulong, (uchar)(k={0-63})); __vpred = __pack_vpred(__vpred, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __expand_vpred */ /*----------------------------------------------------------------------------*/ /* Non-Scaling Implementations (cannot vectorize) */ /* BITXPND __vpred = __expand_vpred(ulong, (uchar)(k={0-63})); __vpred = __expand_vpred(__vpred, (uchar)(k={0-63})); */ /* AUTOGEN MARKER */ /*----------------------------------------------------------------------------*/ /* ID: __add */ /*----------------------------------------------------------------------------*/ /* VADDCB signed char = __add(__vpred, signed char, signed char); char2 = __add(__vpred, char2, char2); char3 = __add(__vpred, char3, char3); char4 = __add(__vpred, char4, char4); char8 = __add(__vpred, char8, char8); char16 = __add(__vpred, char16, char16); char32 = __add(__vpred, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __add(__vpred, char64, char64); #endif uchar = __add(__vpred, uchar, uchar); uchar2 = __add(__vpred, uchar2, uchar2); uchar3 = __add(__vpred, uchar3, uchar3); uchar4 = __add(__vpred, uchar4, uchar4); uchar8 = __add(__vpred, uchar8, uchar8); uchar16 = __add(__vpred, uchar16, uchar16); uchar32 = __add(__vpred, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __add(__vpred, uchar64, uchar64); #endif VADDCH short = __add(__vpred, short, short); short2 = __add(__vpred, short2, short2); short3 = __add(__vpred, short3, short3); short4 = __add(__vpred, short4, short4); short8 = __add(__vpred, short8, short8); short16 = __add(__vpred, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __add(__vpred, short32, short32); #endif ushort = __add(__vpred, ushort, ushort); ushort2 = __add(__vpred, ushort2, ushort2); ushort3 = __add(__vpred, ushort3, ushort3); ushort4 = __add(__vpred, ushort4, ushort4); ushort8 = __add(__vpred, ushort8, ushort8); ushort16 = __add(__vpred, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __add(__vpred, ushort32, ushort32); #endif VADDCW int = __add(__vpred, int, int); int2 = __add(__vpred, int2, int2); int3 = __add(__vpred, int3, int3); int4 = __add(__vpred, int4, int4); int8 = __add(__vpred, int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __add(__vpred, int16, int16); #endif uint = __add(__vpred, uint, uint); uint2 = __add(__vpred, uint2, uint2); uint3 = __add(__vpred, uint3, uint3); uint4 = __add(__vpred, uint4, uint4); uint8 = __add(__vpred, uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __add(__vpred, uint16, uint16); #endif VADDCD long = __add(__vpred, long, long); long2 = __add(__vpred, long2, long2); long3 = __add(__vpred, long3, long3); long4 = __add(__vpred, long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __add(__vpred, long8, long8); #endif ulong = __add(__vpred, ulong, ulong); ulong2 = __add(__vpred, ulong2, ulong2); ulong3 = __add(__vpred, ulong3, ulong3); ulong4 = __add(__vpred, ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __add(__vpred, ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __and */ /*----------------------------------------------------------------------------*/ /* AND __vpred = __and(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __andn */ /*----------------------------------------------------------------------------*/ /* ANDN __vpred = __andn(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __bit_reverse */ /*----------------------------------------------------------------------------*/ /* BITR __vpred = __bit_reverse(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_eq_pred */ /*----------------------------------------------------------------------------*/ /* VCMPEQB __vpred = __cmp_eq_pred(signed char, signed char); __vpred = __cmp_eq_pred(char2, char2); __vpred = __cmp_eq_pred(char3, char3); __vpred = __cmp_eq_pred(char4, char4); __vpred = __cmp_eq_pred(char8, char8); __vpred = __cmp_eq_pred(char16, char16); __vpred = __cmp_eq_pred(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(char64, char64); #endif __vpred = __cmp_eq_pred(uchar, uchar); __vpred = __cmp_eq_pred(uchar2, uchar2); __vpred = __cmp_eq_pred(uchar3, uchar3); __vpred = __cmp_eq_pred(uchar4, uchar4); __vpred = __cmp_eq_pred(uchar8, uchar8); __vpred = __cmp_eq_pred(uchar16, uchar16); __vpred = __cmp_eq_pred(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(uchar64, uchar64); #endif VCMPEQH __vpred = __cmp_eq_pred(short, short); __vpred = __cmp_eq_pred(short2, short2); __vpred = __cmp_eq_pred(short3, short3); __vpred = __cmp_eq_pred(short4, short4); __vpred = __cmp_eq_pred(short8, short8); __vpred = __cmp_eq_pred(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(short32, short32); #endif __vpred = __cmp_eq_pred(ushort, ushort); __vpred = __cmp_eq_pred(ushort2, ushort2); __vpred = __cmp_eq_pred(ushort3, ushort3); __vpred = __cmp_eq_pred(ushort4, ushort4); __vpred = __cmp_eq_pred(ushort8, ushort8); __vpred = __cmp_eq_pred(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(ushort32, ushort32); #endif VCMPEQW __vpred = __cmp_eq_pred(int, int); __vpred = __cmp_eq_pred(int2, int2); __vpred = __cmp_eq_pred(int3, int3); __vpred = __cmp_eq_pred(int4, int4); __vpred = __cmp_eq_pred(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(int16, int16); #endif __vpred = __cmp_eq_pred(uint, uint); __vpred = __cmp_eq_pred(uint2, uint2); __vpred = __cmp_eq_pred(uint3, uint3); __vpred = __cmp_eq_pred(uint4, uint4); __vpred = __cmp_eq_pred(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(uint16, uint16); #endif VCMPEQSP __vpred = __cmp_eq_pred(float, float); __vpred = __cmp_eq_pred(float2, float2); __vpred = __cmp_eq_pred(float3, float3); __vpred = __cmp_eq_pred(float4, float4); __vpred = __cmp_eq_pred(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(float16, float16); #endif VCMPEQD __vpred = __cmp_eq_pred(long, long); __vpred = __cmp_eq_pred(long2, long2); __vpred = __cmp_eq_pred(long3, long3); __vpred = __cmp_eq_pred(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(long8, long8); #endif __vpred = __cmp_eq_pred(ulong, ulong); __vpred = __cmp_eq_pred(ulong2, ulong2); __vpred = __cmp_eq_pred(ulong3, ulong3); __vpred = __cmp_eq_pred(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(ulong8, ulong8); #endif VCMPEQDP __vpred = __cmp_eq_pred(double, double); __vpred = __cmp_eq_pred(double2, double2); __vpred = __cmp_eq_pred(double3, double3); __vpred = __cmp_eq_pred(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_eq_pred(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_ge_pred */ /*----------------------------------------------------------------------------*/ /* VCMPGEB __vpred = __cmp_ge_pred(signed char, signed char); __vpred = __cmp_ge_pred(char2, char2); __vpred = __cmp_ge_pred(char3, char3); __vpred = __cmp_ge_pred(char4, char4); __vpred = __cmp_ge_pred(char8, char8); __vpred = __cmp_ge_pred(char16, char16); __vpred = __cmp_ge_pred(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(char64, char64); #endif VCMPGEUB __vpred = __cmp_ge_pred(uchar, uchar); __vpred = __cmp_ge_pred(uchar2, uchar2); __vpred = __cmp_ge_pred(uchar3, uchar3); __vpred = __cmp_ge_pred(uchar4, uchar4); __vpred = __cmp_ge_pred(uchar8, uchar8); __vpred = __cmp_ge_pred(uchar16, uchar16); __vpred = __cmp_ge_pred(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(uchar64, uchar64); #endif VCMPGEH __vpred = __cmp_ge_pred(short, short); __vpred = __cmp_ge_pred(short2, short2); __vpred = __cmp_ge_pred(short3, short3); __vpred = __cmp_ge_pred(short4, short4); __vpred = __cmp_ge_pred(short8, short8); __vpred = __cmp_ge_pred(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(short32, short32); #endif VCMPGEUH __vpred = __cmp_ge_pred(ushort, ushort); __vpred = __cmp_ge_pred(ushort2, ushort2); __vpred = __cmp_ge_pred(ushort3, ushort3); __vpred = __cmp_ge_pred(ushort4, ushort4); __vpred = __cmp_ge_pred(ushort8, ushort8); __vpred = __cmp_ge_pred(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(ushort32, ushort32); #endif VCMPGEW __vpred = __cmp_ge_pred(int, int); __vpred = __cmp_ge_pred(int2, int2); __vpred = __cmp_ge_pred(int3, int3); __vpred = __cmp_ge_pred(int4, int4); __vpred = __cmp_ge_pred(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(int16, int16); #endif VCMPGEUW __vpred = __cmp_ge_pred(uint, uint); __vpred = __cmp_ge_pred(uint2, uint2); __vpred = __cmp_ge_pred(uint3, uint3); __vpred = __cmp_ge_pred(uint4, uint4); __vpred = __cmp_ge_pred(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(uint16, uint16); #endif VCMPGED __vpred = __cmp_ge_pred(long, long); __vpred = __cmp_ge_pred(long2, long2); __vpred = __cmp_ge_pred(long3, long3); __vpred = __cmp_ge_pred(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(long8, long8); #endif VCMPGEUD __vpred = __cmp_ge_pred(ulong, ulong); __vpred = __cmp_ge_pred(ulong2, ulong2); __vpred = __cmp_ge_pred(ulong3, ulong3); __vpred = __cmp_ge_pred(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_ge_pred(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_gt_pred */ /*----------------------------------------------------------------------------*/ /* VCMPGTB __vpred = __cmp_gt_pred(signed char, signed char); __vpred = __cmp_gt_pred(char2, char2); __vpred = __cmp_gt_pred(char3, char3); __vpred = __cmp_gt_pred(char4, char4); __vpred = __cmp_gt_pred(char8, char8); __vpred = __cmp_gt_pred(char16, char16); __vpred = __cmp_gt_pred(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(char64, char64); #endif VCMPGTUB __vpred = __cmp_gt_pred(uchar, uchar); __vpred = __cmp_gt_pred(uchar2, uchar2); __vpred = __cmp_gt_pred(uchar3, uchar3); __vpred = __cmp_gt_pred(uchar4, uchar4); __vpred = __cmp_gt_pred(uchar8, uchar8); __vpred = __cmp_gt_pred(uchar16, uchar16); __vpred = __cmp_gt_pred(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(uchar64, uchar64); #endif VCMPGTH __vpred = __cmp_gt_pred(short, short); __vpred = __cmp_gt_pred(short2, short2); __vpred = __cmp_gt_pred(short3, short3); __vpred = __cmp_gt_pred(short4, short4); __vpred = __cmp_gt_pred(short8, short8); __vpred = __cmp_gt_pred(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(short32, short32); #endif VCMPGTUH __vpred = __cmp_gt_pred(ushort, ushort); __vpred = __cmp_gt_pred(ushort2, ushort2); __vpred = __cmp_gt_pred(ushort3, ushort3); __vpred = __cmp_gt_pred(ushort4, ushort4); __vpred = __cmp_gt_pred(ushort8, ushort8); __vpred = __cmp_gt_pred(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(ushort32, ushort32); #endif VCMPGTW __vpred = __cmp_gt_pred(int, int); __vpred = __cmp_gt_pred(int2, int2); __vpred = __cmp_gt_pred(int3, int3); __vpred = __cmp_gt_pred(int4, int4); __vpred = __cmp_gt_pred(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(int16, int16); #endif VCMPGTUW __vpred = __cmp_gt_pred(uint, uint); __vpred = __cmp_gt_pred(uint2, uint2); __vpred = __cmp_gt_pred(uint3, uint3); __vpred = __cmp_gt_pred(uint4, uint4); __vpred = __cmp_gt_pred(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(uint16, uint16); #endif VCMPGTD __vpred = __cmp_gt_pred(long, long); __vpred = __cmp_gt_pred(long2, long2); __vpred = __cmp_gt_pred(long3, long3); __vpred = __cmp_gt_pred(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(long8, long8); #endif VCMPGTUD __vpred = __cmp_gt_pred(ulong, ulong); __vpred = __cmp_gt_pred(ulong2, ulong2); __vpred = __cmp_gt_pred(ulong3, ulong3); __vpred = __cmp_gt_pred(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_gt_pred(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_le_pred */ /*----------------------------------------------------------------------------*/ /* VCMPLESP __vpred = __cmp_le_pred(float, float); __vpred = __cmp_le_pred(float2, float2); __vpred = __cmp_le_pred(float3, float3); __vpred = __cmp_le_pred(float4, float4); __vpred = __cmp_le_pred(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_le_pred(float16, float16); #endif VCMPLEDP __vpred = __cmp_le_pred(double, double); __vpred = __cmp_le_pred(double2, double2); __vpred = __cmp_le_pred(double3, double3); __vpred = __cmp_le_pred(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_le_pred(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_lt_pred */ /*----------------------------------------------------------------------------*/ /* VCMPLTSP __vpred = __cmp_lt_pred(float, float); __vpred = __cmp_lt_pred(float2, float2); __vpred = __cmp_lt_pred(float3, float3); __vpred = __cmp_lt_pred(float4, float4); __vpred = __cmp_lt_pred(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_lt_pred(float16, float16); #endif VCMPLTDP __vpred = __cmp_lt_pred(double, double); __vpred = __cmp_lt_pred(double2, double2); __vpred = __cmp_lt_pred(double3, double3); __vpred = __cmp_lt_pred(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __cmp_lt_pred(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __compress_set_bits_left */ /*----------------------------------------------------------------------------*/ /* COMPRESSL __vpred = __compress_set_bits_left(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __compress_set_bits_right */ /*----------------------------------------------------------------------------*/ /* COMPRESSR __vpred = __compress_set_bits_right(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimate_char */ /*----------------------------------------------------------------------------*/ /* DECIMATEB __vpred = __decimate_char(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimate_int */ /*----------------------------------------------------------------------------*/ /* DECIMATEW __vpred = __decimate_int(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimate_long */ /*----------------------------------------------------------------------------*/ /* DECIMATED __vpred = __decimate_long(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimate_short */ /*----------------------------------------------------------------------------*/ /* DECIMATEH __vpred = __decimate_short(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_high_char */ /*----------------------------------------------------------------------------*/ /* PDUPH2B __vpred = __duplicate_pred_high_char(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_high_int */ /*----------------------------------------------------------------------------*/ /* PDUPH2W __vpred = __duplicate_pred_high_int(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_high_long */ /*----------------------------------------------------------------------------*/ /* PDUPH2D __vpred = __duplicate_pred_high_long(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_high_short */ /*----------------------------------------------------------------------------*/ /* PDUPH2H __vpred = __duplicate_pred_high_short(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_low_char */ /*----------------------------------------------------------------------------*/ /* PDUPL2B __vpred = __duplicate_pred_low_char(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_low_int */ /*----------------------------------------------------------------------------*/ /* PDUPL2W __vpred = __duplicate_pred_low_int(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_low_long */ /*----------------------------------------------------------------------------*/ /* PDUPL2D __vpred = __duplicate_pred_low_long(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_low_short */ /*----------------------------------------------------------------------------*/ /* PDUPL2H __vpred = __duplicate_pred_low_short(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __expand */ /*----------------------------------------------------------------------------*/ /* VPXPND #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __expand(__vpred); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __expand(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __gather_set_bits */ /*----------------------------------------------------------------------------*/ /* VGATHERB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __gather_set_bits(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __gather_set_bits(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __gather_unset_bits */ /*----------------------------------------------------------------------------*/ /* VGATHERNB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __gather_unset_bits(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __gather_unset_bits(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mask_char */ /*----------------------------------------------------------------------------*/ /* MASKB __vpred = __mask_char((uchar)(k={0-63})); __vpred = __mask_char(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __mask_int */ /*----------------------------------------------------------------------------*/ /* MASKW __vpred = __mask_int((uchar)(k={0-63})); __vpred = __mask_int(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __mask_long */ /*----------------------------------------------------------------------------*/ /* MASKD __vpred = __mask_long((uchar)(k={0-63})); __vpred = __mask_long(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __mask_short */ /*----------------------------------------------------------------------------*/ /* MASKH __vpred = __mask_short((uchar)(k={0-63})); __vpred = __mask_short(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __max_circ_pred */ /*----------------------------------------------------------------------------*/ /* VCMAXPB __max_circ_pred(signed char, signed char&, __vpred&); __max_circ_pred(char2, char2&, __vpred&); __max_circ_pred(char3, char3&, __vpred&); __max_circ_pred(char4, char4&, __vpred&); __max_circ_pred(char8, char8&, __vpred&); __max_circ_pred(char16, char16&, __vpred&); __max_circ_pred(char32, char32&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_circ_pred(char64, char64&, __vpred&); #endif VCMAXPH __max_circ_pred(short, short&, __vpred&); __max_circ_pred(short2, short2&, __vpred&); __max_circ_pred(short3, short3&, __vpred&); __max_circ_pred(short4, short4&, __vpred&); __max_circ_pred(short8, short8&, __vpred&); __max_circ_pred(short16, short16&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_circ_pred(short32, short32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __max_index */ /*----------------------------------------------------------------------------*/ /* VMAXPB __max_index(signed char, signed char&, __vpred&); __max_index(char2, char2&, __vpred&); __max_index(char3, char3&, __vpred&); __max_index(char4, char4&, __vpred&); __max_index(char8, char8&, __vpred&); __max_index(char16, char16&, __vpred&); __max_index(char32, char32&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(char64, char64&, __vpred&); #endif VMAXUPB __max_index(uchar, uchar&, __vpred&); __max_index(uchar2, uchar2&, __vpred&); __max_index(uchar3, uchar3&, __vpred&); __max_index(uchar4, uchar4&, __vpred&); __max_index(uchar8, uchar8&, __vpred&); __max_index(uchar16, uchar16&, __vpred&); __max_index(uchar32, uchar32&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(uchar64, uchar64&, __vpred&); #endif VMAXPH __max_index(short, short&, __vpred&); __max_index(short2, short2&, __vpred&); __max_index(short3, short3&, __vpred&); __max_index(short4, short4&, __vpred&); __max_index(short8, short8&, __vpred&); __max_index(short16, short16&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(short32, short32&, __vpred&); #endif VMAXUPH __max_index(ushort, ushort&, __vpred&); __max_index(ushort2, ushort2&, __vpred&); __max_index(ushort3, ushort3&, __vpred&); __max_index(ushort4, ushort4&, __vpred&); __max_index(ushort8, ushort8&, __vpred&); __max_index(ushort16, ushort16&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(ushort32, ushort32&, __vpred&); #endif VMAXPW __max_index(int, int&, __vpred&); __max_index(int2, int2&, __vpred&); __max_index(int3, int3&, __vpred&); __max_index(int4, int4&, __vpred&); __max_index(int8, int8&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(int16, int16&, __vpred&); #endif VMAXUPW __max_index(uint, uint&, __vpred&); __max_index(uint2, uint2&, __vpred&); __max_index(uint3, uint3&, __vpred&); __max_index(uint4, uint4&, __vpred&); __max_index(uint8, uint8&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(uint16, uint16&, __vpred&); #endif VMAXPD __max_index(long, long&, __vpred&); __max_index(long2, long2&, __vpred&); __max_index(long3, long3&, __vpred&); __max_index(long4, long4&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(long8, long8&, __vpred&); #endif VMAXUPD __max_index(ulong, ulong&, __vpred&); __max_index(ulong2, ulong2&, __vpred&); __max_index(ulong3, ulong3&, __vpred&); __max_index(ulong4, ulong4&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index(ulong8, ulong8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __min_index */ /*----------------------------------------------------------------------------*/ /* VMINPB __min_index(signed char, signed char&, __vpred&); __min_index(char2, char2&, __vpred&); __min_index(char3, char3&, __vpred&); __min_index(char4, char4&, __vpred&); __min_index(char8, char8&, __vpred&); __min_index(char16, char16&, __vpred&); __min_index(char32, char32&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(char64, char64&, __vpred&); #endif VMINUPB __min_index(uchar, uchar&, __vpred&); __min_index(uchar2, uchar2&, __vpred&); __min_index(uchar3, uchar3&, __vpred&); __min_index(uchar4, uchar4&, __vpred&); __min_index(uchar8, uchar8&, __vpred&); __min_index(uchar16, uchar16&, __vpred&); __min_index(uchar32, uchar32&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(uchar64, uchar64&, __vpred&); #endif VMINPH __min_index(short, short&, __vpred&); __min_index(short2, short2&, __vpred&); __min_index(short3, short3&, __vpred&); __min_index(short4, short4&, __vpred&); __min_index(short8, short8&, __vpred&); __min_index(short16, short16&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(short32, short32&, __vpred&); #endif VMINUPH __min_index(ushort, ushort&, __vpred&); __min_index(ushort2, ushort2&, __vpred&); __min_index(ushort3, ushort3&, __vpred&); __min_index(ushort4, ushort4&, __vpred&); __min_index(ushort8, ushort8&, __vpred&); __min_index(ushort16, ushort16&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(ushort32, ushort32&, __vpred&); #endif VMINPW __min_index(int, int&, __vpred&); __min_index(int2, int2&, __vpred&); __min_index(int3, int3&, __vpred&); __min_index(int4, int4&, __vpred&); __min_index(int8, int8&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(int16, int16&, __vpred&); #endif VMINUPW __min_index(uint, uint&, __vpred&); __min_index(uint2, uint2&, __vpred&); __min_index(uint3, uint3&, __vpred&); __min_index(uint4, uint4&, __vpred&); __min_index(uint8, uint8&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(uint16, uint16&, __vpred&); #endif VMINPD __min_index(long, long&, __vpred&); __min_index(long2, long2&, __vpred&); __min_index(long3, long3&, __vpred&); __min_index(long4, long4&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(long8, long8&, __vpred&); #endif VMINUPD __min_index(ulong, ulong&, __vpred&); __min_index(ulong2, ulong2&, __vpred&); __min_index(ulong3, ulong3&, __vpred&); __min_index(ulong4, ulong4&, __vpred&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index(ulong8, ulong8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __nand */ /*----------------------------------------------------------------------------*/ /* NAND __vpred = __nand(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __negate */ /*----------------------------------------------------------------------------*/ /* NOT __vpred = __negate(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __nor */ /*----------------------------------------------------------------------------*/ /* NOR __vpred = __nor(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __or */ /*----------------------------------------------------------------------------*/ /* OR __vpred = __or(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __orn */ /*----------------------------------------------------------------------------*/ /* ORN __vpred = __orn(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __parallel_pack_dup_16way */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __parallel_pack_dup_16way(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __parallel_pack_dup_8way */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP8W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __parallel_pack_dup_8way(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_char */ /*----------------------------------------------------------------------------*/ /* PBITCNTB uint = __popcount_char(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_gather_char */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERB __popcount_gather_char(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_gather_int */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERW __popcount_gather_int(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_gather_long */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERD __popcount_gather_long(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_gather_short */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERH __popcount_gather_short(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_int */ /*----------------------------------------------------------------------------*/ /* PBITCNTW uint = __popcount_int(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_long */ /*----------------------------------------------------------------------------*/ /* PBITCNTD uint = __popcount_long(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_short */ /*----------------------------------------------------------------------------*/ /* PBITCNTH uint = __popcount_short(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __rightmost_bit_detect_char */ /*----------------------------------------------------------------------------*/ /* PRMBDB uint = __rightmost_bit_detect_char(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __rightmost_bit_detect_int */ /*----------------------------------------------------------------------------*/ /* PRMBDW uint = __rightmost_bit_detect_int(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __rightmost_bit_detect_long */ /*----------------------------------------------------------------------------*/ /* PRMBDD uint = __rightmost_bit_detect_long(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __rightmost_bit_detect_short */ /*----------------------------------------------------------------------------*/ /* PRMBDH uint = __rightmost_bit_detect_short(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __scatter_set_bits */ /*----------------------------------------------------------------------------*/ /* VSCATTERB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __scatter_set_bits(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __scatter_set_bits(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __scatter_unset_bits */ /*----------------------------------------------------------------------------*/ /* VSCATTERNB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __scatter_unset_bits(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __scatter_unset_bits(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __select */ /*----------------------------------------------------------------------------*/ /* VSEL signed char = __select(__vpred, signed char, signed char); char2 = __select(__vpred, char2, char2); char3 = __select(__vpred, char3, char3); char4 = __select(__vpred, char4, char4); char8 = __select(__vpred, char8, char8); char16 = __select(__vpred, char16, char16); char32 = __select(__vpred, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __select(__vpred, char64, char64); #endif uchar = __select(__vpred, uchar, uchar); uchar2 = __select(__vpred, uchar2, uchar2); uchar3 = __select(__vpred, uchar3, uchar3); uchar4 = __select(__vpred, uchar4, uchar4); uchar8 = __select(__vpred, uchar8, uchar8); uchar16 = __select(__vpred, uchar16, uchar16); uchar32 = __select(__vpred, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __select(__vpred, uchar64, uchar64); #endif cchar = __select(__vpred, cchar, cchar); cchar2 = __select(__vpred, cchar2, cchar2); cchar4 = __select(__vpred, cchar4, cchar4); cchar8 = __select(__vpred, cchar8, cchar8); cchar16 = __select(__vpred, cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __select(__vpred, cchar32, cchar32); #endif short = __select(__vpred, short, short); short2 = __select(__vpred, short2, short2); short3 = __select(__vpred, short3, short3); short4 = __select(__vpred, short4, short4); short8 = __select(__vpred, short8, short8); short16 = __select(__vpred, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __select(__vpred, short32, short32); #endif ushort = __select(__vpred, ushort, ushort); ushort2 = __select(__vpred, ushort2, ushort2); ushort3 = __select(__vpred, ushort3, ushort3); ushort4 = __select(__vpred, ushort4, ushort4); ushort8 = __select(__vpred, ushort8, ushort8); ushort16 = __select(__vpred, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __select(__vpred, ushort32, ushort32); #endif cshort = __select(__vpred, cshort, cshort); cshort2 = __select(__vpred, cshort2, cshort2); cshort4 = __select(__vpred, cshort4, cshort4); cshort8 = __select(__vpred, cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __select(__vpred, cshort16, cshort16); #endif int = __select(__vpred, int, int); int = __select(__vpred, int, (int)(k)); int2 = __select(__vpred, int2, int2); int2 = __select(__vpred, int2, (int2)(k)); int3 = __select(__vpred, int3, int3); int3 = __select(__vpred, int3, (int3)(k)); int4 = __select(__vpred, int4, int4); int4 = __select(__vpred, int4, (int4)(k)); int8 = __select(__vpred, int8, int8); int8 = __select(__vpred, int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __select(__vpred, int16, int16); int16 = __select(__vpred, int16, (int16)(k)); #endif uint = __select(__vpred, uint, uint); uint = __select(__vpred, uint, (uint)(k)); uint2 = __select(__vpred, uint2, uint2); uint2 = __select(__vpred, uint2, (uint2)(k)); uint3 = __select(__vpred, uint3, uint3); uint3 = __select(__vpred, uint3, (uint3)(k)); uint4 = __select(__vpred, uint4, uint4); uint4 = __select(__vpred, uint4, (uint4)(k)); uint8 = __select(__vpred, uint8, uint8); uint8 = __select(__vpred, uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __select(__vpred, uint16, uint16); uint16 = __select(__vpred, uint16, (uint16)(k)); #endif float = __select(__vpred, float, float); float = __select(__vpred, float, (float)(k)); float2 = __select(__vpred, float2, float2); float2 = __select(__vpred, float2, (float2)(k)); float3 = __select(__vpred, float3, float3); float3 = __select(__vpred, float3, (float3)(k)); float4 = __select(__vpred, float4, float4); float4 = __select(__vpred, float4, (float4)(k)); float8 = __select(__vpred, float8, float8); float8 = __select(__vpred, float8, (float8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __select(__vpred, float16, float16); float16 = __select(__vpred, float16, (float16)(k)); #endif cint = __select(__vpred, cint, cint); cint2 = __select(__vpred, cint2, cint2); cint4 = __select(__vpred, cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __select(__vpred, cint8, cint8); #endif cfloat = __select(__vpred, cfloat, cfloat); cfloat2 = __select(__vpred, cfloat2, cfloat2); cfloat4 = __select(__vpred, cfloat4, cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __select(__vpred, cfloat8, cfloat8); #endif long = __select(__vpred, long, long); long2 = __select(__vpred, long2, long2); long3 = __select(__vpred, long3, long3); long4 = __select(__vpred, long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __select(__vpred, long8, long8); #endif ulong = __select(__vpred, ulong, ulong); ulong2 = __select(__vpred, ulong2, ulong2); ulong3 = __select(__vpred, ulong3, ulong3); ulong4 = __select(__vpred, ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __select(__vpred, ulong8, ulong8); #endif double = __select(__vpred, double, double); double2 = __select(__vpred, double2, double2); double3 = __select(__vpred, double3, double3); double4 = __select(__vpred, double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __select(__vpred, double8, double8); #endif clong = __select(__vpred, clong, clong); clong2 = __select(__vpred, clong2, clong2); #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __select(__vpred, clong4, clong4); #endif cdouble = __select(__vpred, cdouble, cdouble); cdouble2 = __select(__vpred, cdouble2, cdouble2); #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __select(__vpred, cdouble4, cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_conditional */ /*----------------------------------------------------------------------------*/ /* VSHLCB signed char = __shift_left_conditional(__vpred, signed char, signed char); char2 = __shift_left_conditional(__vpred, char2, char2); char3 = __shift_left_conditional(__vpred, char3, char3); char4 = __shift_left_conditional(__vpred, char4, char4); char8 = __shift_left_conditional(__vpred, char8, char8); char16 = __shift_left_conditional(__vpred, char16, char16); char32 = __shift_left_conditional(__vpred, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_conditional(__vpred, char64, char64); #endif uchar = __shift_left_conditional(__vpred, uchar, uchar); uchar2 = __shift_left_conditional(__vpred, uchar2, uchar2); uchar3 = __shift_left_conditional(__vpred, uchar3, uchar3); uchar4 = __shift_left_conditional(__vpred, uchar4, uchar4); uchar8 = __shift_left_conditional(__vpred, uchar8, uchar8); uchar16 = __shift_left_conditional(__vpred, uchar16, uchar16); uchar32 = __shift_left_conditional(__vpred, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_conditional(__vpred, uchar64, uchar64); #endif VSHLCH short = __shift_left_conditional(__vpred, short, short); short2 = __shift_left_conditional(__vpred, short2, short2); short3 = __shift_left_conditional(__vpred, short3, short3); short4 = __shift_left_conditional(__vpred, short4, short4); short8 = __shift_left_conditional(__vpred, short8, short8); short16 = __shift_left_conditional(__vpred, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_conditional(__vpred, short32, short32); #endif ushort = __shift_left_conditional(__vpred, ushort, ushort); ushort2 = __shift_left_conditional(__vpred, ushort2, ushort2); ushort3 = __shift_left_conditional(__vpred, ushort3, ushort3); ushort4 = __shift_left_conditional(__vpred, ushort4, ushort4); ushort8 = __shift_left_conditional(__vpred, ushort8, ushort8); ushort16 = __shift_left_conditional(__vpred, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_conditional(__vpred, ushort32, ushort32); #endif VSHLCW int = __shift_left_conditional(__vpred, int, int); int2 = __shift_left_conditional(__vpred, int2, int2); int3 = __shift_left_conditional(__vpred, int3, int3); int4 = __shift_left_conditional(__vpred, int4, int4); int8 = __shift_left_conditional(__vpred, int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_conditional(__vpred, int16, int16); #endif uint = __shift_left_conditional(__vpred, uint, uint); uint2 = __shift_left_conditional(__vpred, uint2, uint2); uint3 = __shift_left_conditional(__vpred, uint3, uint3); uint4 = __shift_left_conditional(__vpred, uint4, uint4); uint8 = __shift_left_conditional(__vpred, uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_conditional(__vpred, uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __xnor */ /*----------------------------------------------------------------------------*/ /* XNOR __vpred = __xnor(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __xor */ /*----------------------------------------------------------------------------*/ /* XOR __vpred = __xor(__vpred, __vpred); */ /* AUTOGEN MARKER */ /*****************************************************************************/ /* FLAG STATUS REGISTER (FSR) CONTROL REGISTER ACCESS */ /* */ /* This API is provided to assist the user in extracting pertinent floating */ /* point status bit information for floating point instructions. The result */ /* is an 8bit value containing the following fields: */ /* */ /* Bit 7: SAT - NOT SUPPORTED FOR C7000 OPERATIONS */ /* Bit 6: UNORD - Compare result is unordered Floating Point Flag */ /* Bit 5: DEN - Source is a Denorm Floating Point Flag */ /* Bit 4: INEX - Result is inexact Floating Point Flag */ /* Bit 3: UNDER - Result is underflow Floating Point Flag */ /* Bit 2: OVER - Result is overflow Floating Point Flag */ /* Bit 1: DIV0 - Divide by zero Floating Point Flag */ /* Bit 0: INVAL - Invalid Operations Floating Point Flag */ /* */ /* Please specify the scalar or vector floating point type as an argument */ /* corresponding to the size of the pertinent floating point data, and the */ /* API will return an "OR" of the data bits for all pertinent vector lanes */ /* in a single, 8bit chunk of data. */ /* */ /* e.g.: */ /* float4 a = ... ; */ /* float4 b = ... ; */ /* float4 c = a * b; */ /* uint8_t fsr_val = __get_FSR(float4); */ /* */ /* NOTE: Accessing the SAT-bit is NOT SUPPORTED for C7000 operations. It is */ /* only supported for C6000 legacy operations to facilitate compatibility on */ /* legacy C6000 source code (see c6x_migration.h). */ /*****************************************************************************/ /*****************************************************************************/ /* GTSC CONTROL REGISTER ACCESS */ /*****************************************************************************/ /*****************************************************************************/ /* INSTRUCTION CACHE FLUSH AND REFRESH */ /*****************************************************************************/ typedef enum __attribute__((__packed__)) { __IINVAL_MMUNONE = 0, __IINVAL_MMU0 = 1, __IINVAL_MMU1 = 2, __IINVAL_MMUALL = 3 } __IINVAL_TYPE; void __attribute__((builtin)) __attribute__((impure)) __instr_cache_invalidate(__attribute__((constrange((0), (3)))) __IINVAL_TYPE); /*****************************************************************************/ /* BOOLEAN VECTOR CREATION */ /* */ /* Create a boolean vector as a mask of 'k' consecutive booleans set to true */ /*****************************************************************************/ /* bool2 = __mask_bool2(uint); bool2 = __mask_bool2((uchar)(k={0-2})); bool3 = __mask_bool3(uint); bool3 = __mask_bool3((uchar)(k={0-3})); bool4 = __mask_bool4(uint); bool4 = __mask_bool4((uchar)(k={0-4})); bool8 = __mask_bool8(uint); bool8 = __mask_bool8((uchar)(k={0-8})); bool16 = __mask_bool16(uint); bool16 = __mask_bool16((uchar)(k={0-16})); #if __C7X_VEC_SIZE_BITS__ >= 256 bool32 = __mask_bool32(uint); bool32 = __mask_bool32((uchar)(k={0-32})); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 bool64 = __mask_bool64(uint); bool64 = __mask_bool64((uchar)(k={0-64})); #endif */ /*****************************************************************************/ /* BOOLEAN VECTOR CONVERSION */ /*****************************************************************************/ __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool3); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool4); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool8); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool16); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool32); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool2(__bool64); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool3(__bool2); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool3(__bool4); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool3(__bool8); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool3(__bool16); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool3(__bool32); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool3(__bool64); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool4(__bool2); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool4(__bool3); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool4(__bool8); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool4(__bool16); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool4(__bool32); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool4(__bool64); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool8(__bool2); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool8(__bool3); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool8(__bool4); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool8(__bool16); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool8(__bool32); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool8(__bool64); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool16(__bool2); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool16(__bool3); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool16(__bool4); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool16(__bool8); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool16(__bool32); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool16(__bool64); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool32(__bool2); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool32(__bool3); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool32(__bool4); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool32(__bool8); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool32(__bool16); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __reduce_bool32(__bool64); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool2); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool3); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool4); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool8); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool16); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __extend_bool64(__bool32); __bool2 __attribute__((builtin)) __attribute__((overloadable)) __create_bool2(__ulong); __bool3 __attribute__((builtin)) __attribute__((overloadable)) __create_bool3(__ulong); __bool4 __attribute__((builtin)) __attribute__((overloadable)) __create_bool4(__ulong); __bool8 __attribute__((builtin)) __attribute__((overloadable)) __create_bool8(__ulong); __bool16 __attribute__((builtin)) __attribute__((overloadable)) __create_bool16(__ulong); __bool32 __attribute__((builtin)) __attribute__((overloadable)) __create_bool32(__ulong); __bool64 __attribute__((builtin)) __attribute__((overloadable)) __create_bool64(__ulong); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool2); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool3); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool4); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool8); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool16); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool32); __ulong __attribute__((builtin)) __attribute__((overloadable)) __create_scalar(__bool64); /*****************************************************************************/ /* STREAMING ENGINE / ADDRESS GENERATOR COMMON CONTROLS */ /* */ /* PLEASE REFER TO c7x_strm.h (INCLUDED BELOW) FOR MORE INFORMATION ON SETUP */ /* AND USE */ /*****************************************************************************/ /* LOOKUP TABLE / HISTOGRAM COMMON CONTROLS */ /* */ /* PLEASE REFER TO c7x_luthist.h (INCLUDED BELOW) FOR MORE INFORMATION ON */ /* SETUP AND USE */ /*****************************************************************************/ /*****************************************************************************/ /* */ /* Vector Data Types in TI Compiler */ /* */ /* A vector data type name consists of the following: */ /* - main part: char, short, int, long, float, double */ /* - prefix: 'c' for complex (TI extension!!) */ /* - prefix: 'u' for unsigned, can not be specified for complex vectors */ /* - suffix: digits for number of elements in the vector */ /* (valid values: 2,3,4,8,16,32,64) */ /* */ /* */ /* e.g. uint2: a 64-bit vector consisting of 2 unsigned int elements */ /* e.g. char4: a 32-bit vector consisting of 4 signed chars */ /* e.g. cfloat: a 64-bit complex float consisting of a float real (R) and */ /* a float imaginary (I) */ /* e.g. cshort4: a 128-bit vector consisting of 4 complex signed shorts */ /* */ /* - The TI compiler defines extended width vectors up to and including */ /* 512-bits, in addition to vectors with up to 16 elements. */ /* */ /* Note on complex: */ /* Complex values on C7000 follow C99 Standard rules in memory, with the */ /* real part in mem[0] and imaginary part in mem[1]. */ /* */ /* Two accessors are available. */ /* - .r() returns the real parts of each complex in a vector */ /* - .i() returns the imaginary parts of each complex in a vector */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* The following native vector types are defined by the compiler as of v1.0 */ /* of the C7000 compiler. */ /* In strict mode, only vector types beginning with double underscores are */ /* defined, otherwise equivalents with no underscores may be used. */ /*****************************************************************************/ /*****************************************************************************/ /* Built-in base types */ /* NOTE: When using host emulation, a host emulation compatible type must */ /* also be used. */ /*****************************************************************************/ /* Native cl7x type: Host emulation compatible type: */ /* signed char int8_t */ /* unsigned char uint8_t */ /* short int16_t */ /* unsigned short uint16_t */ /* int int32_t */ /* unsigned int uint32_t */ /* long int64_t */ /* unsigned long uint64_t */ /* float float */ /* double double */ /*****************************************************************************/ /* Non-complex vector data types */ /*****************************************************************************/ /* __uchar is equivalent to unsigned char */ /* __ushort is equivalent to unsigned short */ /* __uint is equivalent to unsigned int */ /* __ulong is equivalent to unsigned long */ /* */ /* __char2 is equivalent to a vector of 2 signed char */ /* __char3 is equivalent to a vector of 3 signed char */ /* __char4 is equivalent to a vector of 4 signed char */ /* __char8 is equivalent to a vector of 8 signed char */ /* __char16 is equivalent to a vector of 16 signed char */ /* __char32 is equivalent to a vector of 32 signed char */ /* __char64 is equivalent to a vector of 64 signed char */ /* */ /* __uchar2 is equivalent to a vector of 2 __uchar */ /* __uchar3 is equivalent to a vector of 3 __uchar */ /* __uchar4 is equivalent to a vector of 4 __uchar */ /* __uchar8 is equivalent to a vector of 8 __uchar */ /* __uchar16 is equivalent to a vector of 16 __uchar */ /* __uchar32 is equivalent to a vector of 32 __uchar */ /* __uchar64 is equivalent to a vector of 64 __uchar */ /* */ /* __short2 is equivalent to a vector of 2 short */ /* __short3 is equivalent to a vector of 3 short */ /* __short4 is equivalent to a vector of 4 short */ /* __short8 is equivalent to a vector of 8 short */ /* __short16 is equivalent to a vector of 16 short */ /* __short32 is equivalent to a vector of 32 short */ /* */ /* __ushort2 is equivalent to a vector of 2 __ushort */ /* __ushort3 is equivalent to a vector of 3 __ushort */ /* __ushort4 is equivalent to a vector of 4 __ushort */ /* __ushort8 is equivalent to a vector of 8 __ushort */ /* __ushort16 is equivalent to a vector of 16 __ushort */ /* __ushort32 is equivalent to a vector of 32 __ushort */ /* */ /* __int2 is equivalent to a vector of 2 int */ /* __int3 is equivalent to a vector of 3 int */ /* __int4 is equivalent to a vector of 4 int */ /* __int8 is equivalent to a vector of 8 int */ /* __int16 is equivalent to a vector of 16 int */ /* */ /* __uint2 is equivalent to a vector of 2 __uint */ /* __uint3 is equivalent to a vector of 3 __uint */ /* __uint4 is equivalent to a vector of 4 __uint */ /* __uint8 is equivalent to a vector of 8 __uint */ /* __uint16 is equivalent to a vector of 16 __uint */ /* */ /* __long2 is equivalent to a vector of 2 long */ /* __long3 is equivalent to a vector of 3 long */ /* __long4 is equivalent to a vector of 4 long */ /* __long8 is equivalent to a vector of 8 long */ /* */ /* __ulong2 is equivalent to a vector of 2 __ulong */ /* __ulong3 is equivalent to a vector of 3 __ulong */ /* __ulong4 is equivalent to a vector of 4 __ulong */ /* __ulong8 is equivalent to a vector of 8 __ulong */ /* */ /* __float2 is equivalent to a vector of 2 float */ /* __float3 is equivalent to a vector of 3 float */ /* __float4 is equivalent to a vector of 4 float */ /* __float8 is equivalent to a vector of 8 float */ /* __float16 is equivalent to a vector of 16 float */ /* */ /* __double2 is equivalent to a vector of 2 double */ /* __double3 is equivalent to a vector of 3 double */ /* __double4 is equivalent to a vector of 4 double */ /* __double8 is equivalent to a vector of 8 double */ /*****************************************************************************/ /* Complex data type and complex vector data types */ /*****************************************************************************/ /* __cchar is equivalent to a complex signed char */ /* __cchar2 is equivalent to a vector of 2 complex signed char */ /* __cchar4 is equivalent to a vector of 4 complex signed char */ /* __cchar8 is equivalent to a vector of 8 complex signed char */ /* __cchar16 is equivalent to a vector of 16 complex signed char */ /* __cchar32 is equivalent to a vector of 32 complex signed char */ /* */ /* __cshort is equivalent to a complex short */ /* __cshort2 is equivalent to a vector of 2 complex short */ /* __cshort4 is equivalent to a vector of 4 complex short */ /* __cshort8 is equivalent to a vector of 8 complex short */ /* __cshort16 is equivalent to a vector of 16 complex short */ /* */ /* __cint is equivalent to a complex int */ /* __cint2 is equivalent to a vector of 2 complex int */ /* __cint4 is equivalent to a vector of 4 complex int */ /* __cint8 is equivalent to a vector of 8 complex int */ /* */ /* __clong is equivalent to a complex long */ /* __clong2 is equivalent to a vector of 2 complex long */ /* __clong4 is equivalent to a vector of 4 complex long */ /* */ /* __cfloat is equivalent to a complex float */ /* __cfloat2 is equivalent to a vector of 2 complex float */ /* __cfloat4 is equivalent to a vector of 4 complex float */ /* __cfloat8 is equivalent to a vector of 8 complex float */ /* */ /* __cdouble is equivalent to a complex double */ /* __cdouble2 is equivalent to a vector of 2 complex double */ /* __cdouble4 is equivalent to a vector of 4 complex double */ /*****************************************************************************/ /* Complex multiply pseudo-instruction: VCMPYSP + VADDSP */ __cfloat __attribute__((builtin)) __attribute__((overloadable)) __complex_multiply (__cfloat, __cfloat); __cfloat2 __attribute__((builtin)) __attribute__((overloadable)) __complex_multiply (__cfloat2, __cfloat2); __cfloat4 __attribute__((builtin)) __attribute__((overloadable)) __complex_multiply (__cfloat4, __cfloat4); __cfloat8 __attribute__((builtin)) __attribute__((overloadable)) __complex_multiply (__cfloat8, __cfloat8); /* Complex Conjugate multiply pseudo-instruction: VCMPYSP + VSUBSP */ __cfloat __attribute__((builtin)) __attribute__((overloadable)) __complex_conjugate_multiply(__cfloat, __cfloat); __cfloat2 __attribute__((builtin)) __attribute__((overloadable)) __complex_conjugate_multiply(__cfloat2, __cfloat2); __cfloat4 __attribute__((builtin)) __attribute__((overloadable)) __complex_conjugate_multiply(__cfloat4, __cfloat4); __cfloat8 __attribute__((builtin)) __attribute__((overloadable)) __complex_conjugate_multiply(__cfloat8, __cfloat8); /* cfloat __OVBIF __conj_cmpy(__cfloat, __cfloat); cfloat2 __OVBIF __conj_cmpy(__cfloat2, __cfloat2); #if __C7X_VEC_SIZE_BITS__ >= 256 cfloat4 __OVBIF __conj_cmpy(__cfloat4, __cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 cfloat8 __OVBIF __conj_cmpy(__cfloat8, __cfloat8); #endif */ /* NOTE: this #define maps the conj_cmpy (created by the infix notation) to the complex_conjugate_multiply intrinsic (above) -- the immediately preceding (commented out) function calls are only here for exposition; all conj_cmpy versions are expected to go through this #define; this should be removed someday, and the Jira entry for just that eventuality is CODEGEN-9989 */ /* Floating point VMATMPY pseudo-instruction: VMATMPYSP + VADDSP */ /* The VMATMPYSP instruction does notexist on the 750[2|4] architectures */ /* Floating point VMATMPY pseudo-instruction: VMATMPYSP + VADDSP */ __float2 __attribute__((builtin)) __attribute__((overloadable)) __float_matmpy(__float2, __float4); __float4 __attribute__((builtin)) __attribute__((overloadable)) __float_matmpy(__float4, __float8); __float8 __attribute__((builtin)) __attribute__((overloadable)) __float_matmpy(__float8, __float16); /*****************************************************************************/ /* VECTOR LOADS AND PREDICATED VECTOR LOADS */ /* */ /* On C7120 and later devices, implicit predication occurs on loads that use */ /* streaming address generator (SA) operands. If an SA may be used as an */ /* operand to a load AND that SA may generate predicates with one or more */ /* predicate bits off, then a predicated load must be used to avoid */ /* unexpected behavior. Use the following idiom with implicitly predicated */ /* SA loads: */ /* */ /* bool2 pred = __SA0_BOOL(char2); */ /* char2* ptr = __SA0ADV(char2, base_ptr); */ /* char2 data = __vload_pred(pred, ptr); */ /* */ /* If implicit predication is not available (C7100), the idiom is malformed, */ /* or the compiler fails to optimize the idiom, an equivalent series of */ /* instructions will instead be generated to load and then predicate. */ /*****************************************************************************/ /* VLD8B, VLD16B, VLD32B, VLD64B */ __char2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __char2*); __char4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __char4*); __char8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __char8*); __char16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __char16*); __char32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool32, __attribute__((memread)) const __char32*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool64, __attribute__((memread)) const __char64*); __uchar2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __uchar2*); __uchar4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __uchar4*); __uchar8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __uchar8*); __uchar16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __uchar16*); __uchar32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool32, __attribute__((memread)) const __uchar32*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool64, __attribute__((memread)) const __uchar64*); /* VLD4H, VLD8H, VLD16H, VLD32H */ __short2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __short2*); __short4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __short4*); __short8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __short8*); __short16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __short16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool32, __attribute__((memread)) const __short32*); __ushort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __ushort2*); __ushort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __ushort4*); __ushort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __ushort8*); __ushort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __ushort16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool32, __attribute__((memread)) const __ushort32*); /* VLDHSWAPB */ __cchar2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __cchar2*); __cchar4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __cchar4*); __cchar8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __cchar8*); __cchar16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __cchar16*); __cchar32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool32, __attribute__((memread)) const __cchar32*); /* VLD2W, VLD4W, VLD8W, VLD16W */ __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __int2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __int4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __int8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __int16*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __uint2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __uint4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __uint8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __uint16*); __float2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __float2*); __float4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __float4*); __float8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __float8*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __float16*); /* VLDWSWAPH */ __cshort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __cshort2*); __cshort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __cshort4*); __cshort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __cshort8*); __cshort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool16, __attribute__((memread)) const __cshort16*); /* VLD2D, VLD4D, VLD8D */ __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __long2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __long4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __long8*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __ulong2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __ulong4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __ulong8*); __double2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __double2*); __double4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __double4*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __double8*); /* VLDDSWAPW */ __cint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __cint2*); __cint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __cint4*); __cint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __cint8*); __cfloat2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool2, __attribute__((memread)) const __cfloat2*); __cfloat4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool4, __attribute__((memread)) const __cfloat4*); __cfloat8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred(__bool8, __attribute__((memread)) const __cfloat8*); /* VLDDUP2B, VLDDUP4B, VLDDUP8B, VLDDUP16B, VLDDUP32B, VLDDUP64B */ __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __char32*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __char16*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __char8*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __char4*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __char2*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const signed char*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar32*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar16*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar8*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar4*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar2*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uchar*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool32, __attribute__((memread)) const __char32*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool16, __attribute__((memread)) const __char16*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __char8*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __char4*); __char64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __char2*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool32, __attribute__((memread)) const __uchar32*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool16, __attribute__((memread)) const __uchar16*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __uchar8*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __uchar4*); __uchar64 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __uchar2*); /* VLDDUP2H, VLDDUP4H, VLDDUP8H, VLDDUP16H, VLDDUP32H */ __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __short16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __short8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __short4*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __short2*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const short*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ushort16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ushort8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ushort4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ushort2*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ushort*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool16, __attribute__((memread)) const __short16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __short8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __short4*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __short2*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool16, __attribute__((memread)) const __ushort16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __ushort8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __ushort4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __ushort2*); /* VLDDUP2W, VLDDUP4W, VLDDUP8W, VLDDUP16W */ __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __int8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __int4*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __int2*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const int*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uint8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uint4*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uint2*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __uint*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __float8*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __float4*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __float2*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const float*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __int8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __int4*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __int2*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __uint8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __uint4*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __uint2*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool8, __attribute__((memread)) const __float8*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __float4*); __float16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __float2*); /* VLDDUP2D, VLDDUP4D, VLDDUP8D */ __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __long4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __long2*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const long*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ulong4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ulong2*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __ulong*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __double4*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const __double2*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup(__attribute__((memread)) const double*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __long4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __long2*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __ulong4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __ulong2*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool4, __attribute__((memread)) const __double4*); __double8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup(__bool2, __attribute__((memread)) const __double2*); /* VLDDUP4G8H, VLDDUP8G4H */ __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup_vec(__attribute__((memread)) const __short8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup_vec(__attribute__((memread)) const __ushort8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup_vec(__attribute__((memread)) const __short4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_dup_vec(__attribute__((memread)) const __ushort4*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__bool8, __attribute__((memread)) const __short8*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__bool8, __attribute__((memread)) const __ushort8*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__bool4, __attribute__((memread)) const __short4*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_dup_vec(__bool4, __attribute__((memread)) const __ushort4*); /* VLDBUNPKH, VLDBUNPKHU */ short __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const signed char*); __short2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __char2*); __short4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __char4*); __short8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __char8*); __short16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __char16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __char32*); __ushort __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar*); __ushort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar2*); __ushort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar4*); __ushort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar8*); __ushort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_short(__attribute__((memread)) const __uchar32*); __short2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool2, __attribute__((memread)) const __char2*); __short4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool4, __attribute__((memread)) const __char4*); __short8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool8, __attribute__((memread)) const __char8*); __short16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool16, __attribute__((memread)) const __char16*); __short32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool32, __attribute__((memread)) const __char32*); __ushort2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool2, __attribute__((memread)) const __uchar2*); __ushort4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool4, __attribute__((memread)) const __uchar4*); __ushort8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool8, __attribute__((memread)) const __uchar8*); __ushort16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool16, __attribute__((memread)) const __uchar16*); __ushort32 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_short(__bool32, __attribute__((memread)) const __uchar32*); /* VLDBUNPKW, VLDBUNPKWU */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const signed char*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __char2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __char4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __char8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __char16*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __uchar*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __uchar2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __uchar4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __uchar8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __uchar16*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool2, __attribute__((memread)) const __char2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool4, __attribute__((memread)) const __char4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool8, __attribute__((memread)) const __char8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool16, __attribute__((memread)) const __char16*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool2, __attribute__((memread)) const __uchar2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool4, __attribute__((memread)) const __uchar4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool8, __attribute__((memread)) const __uchar8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool16, __attribute__((memread)) const __uchar16*); /* VLDHUNPKW, VLDHUNPKWU */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const short*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __short2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __short4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __short8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __short16*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __ushort*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __ushort2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __ushort4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __ushort8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_int(__attribute__((memread)) const __ushort16*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool2, __attribute__((memread)) const __short2*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool4, __attribute__((memread)) const __short4*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool8, __attribute__((memread)) const __short8*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool16, __attribute__((memread)) const __short16*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool2, __attribute__((memread)) const __ushort2*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool4, __attribute__((memread)) const __ushort4*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool8, __attribute__((memread)) const __ushort8*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_int(__bool16, __attribute__((memread)) const __ushort16*); /* VLDBUNPKD, VLDBUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const signed char*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __char2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __char4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __char8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uchar*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uchar2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uchar4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uchar8*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __char2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __char4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __char8*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __uchar2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __uchar4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __uchar8*); /* VLDHUNPKD, VLDHUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const short*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __short2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __short4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __short8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __ushort*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __ushort2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __ushort4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __ushort8*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __short2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __short4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __short8*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __ushort2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __ushort4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __ushort8*); /* VLDWUNPKD, VLDWUNPKDU */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const int*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __int2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __int4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __int8*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uint*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uint2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uint4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_unpack_long(__attribute__((memread)) const __uint8*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __int2*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __int4*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __int8*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool2, __attribute__((memread)) const __uint2*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool4, __attribute__((memread)) const __uint4*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_unpack_long(__bool8, __attribute__((memread)) const __uint8*); /* VLDEBUNPKW, VLDEHUNPKW */ int __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __char2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __char4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __char8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __char16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __char32*); int __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __short2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __short4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __short8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __short16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __short32*); int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool2, __attribute__((memread)) const __char2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool4, __attribute__((memread)) const __char4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool8, __attribute__((memread)) const __char8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool16, __attribute__((memread)) const __char16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool32, __attribute__((memread)) const __char32*); int __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool2, __attribute__((memread)) const __short2*); __int2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool4, __attribute__((memread)) const __short4*); __int4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool8, __attribute__((memread)) const __short8*); __int8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool16, __attribute__((memread)) const __short16*); __int16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool32, __attribute__((memread)) const __short32*); /* VLDEBUNPKWU, VLDEHUNPKWU */ __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __uchar2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __uchar4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __uchar8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __uchar16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __uchar32*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __ushort2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __ushort4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __ushort8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __ushort16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_int(__attribute__((memread)) const __ushort32*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool2, __attribute__((memread)) const __uchar2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool4, __attribute__((memread)) const __uchar4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool8, __attribute__((memread)) const __uchar8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool16, __attribute__((memread)) const __uchar16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool32, __attribute__((memread)) const __uchar32*); __uint __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool2, __attribute__((memread)) const __ushort2*); __uint2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool4, __attribute__((memread)) const __ushort4*); __uint4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool8, __attribute__((memread)) const __ushort8*); __uint8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool16, __attribute__((memread)) const __ushort16*); __uint16 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_int(__bool32, __attribute__((memread)) const __ushort32*); /* VLDEBUNPKD, VLDEHUNPKD */ long __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __char2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __char4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __char8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __char16*); long __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __short2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __short4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __short8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __short16*); long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool2, __attribute__((memread)) const __char2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool4, __attribute__((memread)) const __char4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool8, __attribute__((memread)) const __char8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool16, __attribute__((memread)) const __char16*); long __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool2, __attribute__((memread)) const __short2*); __long2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool4, __attribute__((memread)) const __short4*); __long4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool8, __attribute__((memread)) const __short8*); __long8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool16, __attribute__((memread)) const __short16*); /* VLDEBUNPKDU, VLDEHUNPKDU */ __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __uchar2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __uchar4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __uchar8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __uchar16*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __ushort2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __ushort4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __ushort8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_deinterleave_long(__attribute__((memread)) const __ushort16*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool2, __attribute__((memread)) const __uchar2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool4, __attribute__((memread)) const __uchar4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool8, __attribute__((memread)) const __uchar8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool16, __attribute__((memread)) const __uchar16*); __ulong __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool2, __attribute__((memread)) const __ushort2*); __ulong2 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool4, __attribute__((memread)) const __ushort4*); __ulong4 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool8, __attribute__((memread)) const __ushort8*); __ulong8 __attribute__((builtin)) __attribute__((overloadable)) __vload_pred_deinterleave_long(__bool16, __attribute__((memread)) const __ushort16*); /*****************************************************************************/ /* VECTOR STORES AND PREDICATED VECTOR STORES */ /* */ /* On all C7000 devices, implicit predication occurs on stores that use */ /* streaming address generator (SA) operands. If an SA may be used as an */ /* operand to a store AND that SA may generate predicates with one or more */ /* predicate bits off, then a predicated store must be used to avoid */ /* unexpected behavior. Use the following idiom with implicitly predicated */ /* SA stores: */ /* */ /* bool2 pred = __SA0_BOOL(char2); */ /* char2* ptr = __SA0ADV(char2, base_ptr); */ /* __vstore_pred(pred, ptr, data); */ /* */ /* If the idiom is malformed or the compiler fails to optimize the idiom, an */ /* equivalent series of instructions will instead be generated to create the */ /* predicate and then store with explicit predication. */ /*****************************************************************************/ /* VSTINTLB, VSTINTLH, VSTINTLW, VSTINTLD - STORES EVERY EVEN ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __char64*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __short32*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __int16*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __uchar64*, __uchar64, __uchar64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __ushort32*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __uint16*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave(__attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); /* VSTINTLB4 - STORES EVERY FOURTH ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave4(__attribute__((memwrite)) __char32*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_interleave4(__attribute__((memwrite)) __uchar32*, __uchar64, __uchar64); /* VSTPINTLB, VSTPINTLH, VSTPINTLW, VSTPINTLD - STORES EVERY EVEN ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool64, __attribute__((memwrite)) __char64*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool32, __attribute__((memwrite)) __short32*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool16, __attribute__((memwrite)) __int16*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool8, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool64, __attribute__((memwrite)) __uchar64*, __uchar64, __uchar64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool32, __attribute__((memwrite)) __ushort32*,__ushort32,__ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool16, __attribute__((memwrite)) __uint16*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave(__bool8, __attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); /* VSTPINTLB4 - STORES EVERY FOURTH ELEMENT */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave4(__bool32, __attribute__((memwrite)) __char32*, __char64, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_interleave4(__bool32, __attribute__((memwrite)) __uchar32*, __uchar64, __uchar64); /* VSTP2B, VSTP4B, VSTP8B, VSTP16B, VSTP32B, VSTP64B */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __char2*, __char2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __char4*, __char4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __char8*, __char8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __char16*, __char16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool32, __attribute__((memwrite)) __char32*, __char32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool64, __attribute__((memwrite)) __char64*, __char64); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __uchar2*, __uchar2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __uchar4*, __uchar4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __uchar8*, __uchar8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __uchar16*, __uchar16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool32, __attribute__((memwrite)) __uchar32*, __uchar32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool64, __attribute__((memwrite)) __uchar64*, __uchar64); /* VSTP2H, VSTP4H, VSTP8H, VSTP16H, VSTP32H */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __short2*, __short2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __short4*, __short4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __short8*, __short8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __short16*, __short16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool32, __attribute__((memwrite)) __short32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __ushort2*, __ushort2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __ushort4*, __ushort4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __ushort8*, __ushort8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __ushort16*, __ushort16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool32, __attribute__((memwrite)) __ushort32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __cchar2*, __cchar2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __cchar4*, __cchar4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __cchar8*, __cchar8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __cchar16*, __cchar16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool32, __attribute__((memwrite)) __cchar32*, __cchar32); /* VSTP2W, VSTP4W, VSTP8W, VSTP16W */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __int2*, __int2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __int4*, __int4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __int8*, __int8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __int16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __uint2*, __uint2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __uint4*, __uint4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __uint8*, __uint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __uint16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __float2*, __float2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __float4*, __float4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __float8*, __float8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __float16*, __float16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __cshort2*, __cshort2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __cshort4*, __cshort4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __cshort8*, __cshort8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool16, __attribute__((memwrite)) __cshort16*, __cshort16); /* VSTP2D, VSTP4D, VSTP8D */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __long2*, __long2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __long4*, __long4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __long8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __ulong2*, __ulong2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __ulong4*, __ulong4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __ulong8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __double2*, __double2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __double4*, __double4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __double8*, __double8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __cint2*, __cint2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __cint4*, __cint4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __cint8*, __cint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool2, __attribute__((memwrite)) __cfloat2*, __cfloat2); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool4, __attribute__((memwrite)) __cfloat4*, __cfloat4); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred(__bool8, __attribute__((memwrite)) __cfloat8*, __cfloat8); /* VSTPBSVPACKL, VSTPBSVPACKH, VSTPBSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool32, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool32, __attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool32, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool32, __attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool32, __attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool32, __attribute__((memwrite)) __uchar32*, __ushort32); /* VSTPHSVPACKL, VSTPHSVPACKH, VSTPHSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool16, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool16, __attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool16, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool16, __attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool16, __attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool16, __attribute__((memwrite)) __ushort16*, __uint16); /* VSTPWSVPACKB: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte(__bool16, __attribute__((memwrite)) __char16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte(__bool16, __attribute__((memwrite)) __uchar16*, __uint16); /* VSTPWSVPACKL, VSTPWSVPACKH, VSTPWSVPACKHS1: PRED CORRESPONDS TO SRC DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool8, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl(__bool8, __attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool8, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh(__bool8, __attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool8, __attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1(__bool8, __attribute__((memwrite)) __uint8*, __ulong8); /* VSTPBPACKL, VSTPBPACKH, VSTPBPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool64, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool64, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool64, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool64, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool64, __attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool64, __attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); /* VSTPHPACKL, VSTPHPACKH, VSTPHPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool32, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool32, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool32, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool32, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool32, __attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool32, __attribute__((memwrite)) __ushort32*, __uint16, __uint16); /* VSTPWPACKB: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte_2src(__bool32, __attribute__((memwrite)) __char32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_pack_byte_2src(__bool32, __attribute__((memwrite)) __uchar32*, __uint16, __uint16); /* VSTPWPACKL, VSTPWPACKH, VSTPWPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool16, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_2src(__bool16, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool16, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_2src(__bool16, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool16, __attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_2src(__bool16, __attribute__((memwrite)) __uint16*, __ulong8, __ulong8); /* VSTPDPACKL, VSTPDPACKH, VSTPDPACKHS1: PRED CORRESPONDS TO PACKED DATA */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long_2src(__bool8, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packl_long_2src(__bool8, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long_2src(__bool8, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packh_long_2src(__bool8, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long_2src(__bool8, __attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_packhs1_long_2src(__bool8, __attribute__((memwrite)) __ulong8*, __ulong8,__ulong8); /* VSTPBITRWH */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__bool16, __attribute__((memwrite)) __cshort16*, __cshort16); /* VSTPBITRDW */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__bool8, __attribute__((memwrite)) __cint8*, __cint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pred_reverse_bit(__bool8, __attribute__((memwrite)) __cfloat8*, __cfloat8); /* STKW, ST0KW */ void __attribute__((builtin)) __attribute__((impure)) __vstore_const (__attribute__((memwrite)) __uint*, __attribute__((constrange((0), (0x7ffffff)))) __uint); /* VSTK2W, VST0K2W */ void __attribute__((builtin)) __attribute__((impure)) __vstore_const_uint2 (__attribute__((memwrite)) __uint2*, __attribute__((constrange((0), (0x7ffffff)))) __uint); /* VSTK4W, VST0K4W */ void __attribute__((builtin)) __attribute__((impure)) __vstore_const_uint4 (__attribute__((memwrite)) __uint4*, __attribute__((constrange((0), (0x7ffffff)))) __uint); /* VSTK8W, VST0K8W */ void __attribute__((builtin)) __attribute__((impure)) __vstore_const_uint8 (__attribute__((memwrite)) __uint8*, __attribute__((constrange((0), (0x7ffffff)))) __uint); /* VSTK16W, VST0K16W */ void __attribute__((builtin)) __attribute__((impure)) __vstore_const_uint16(__attribute__((memwrite)) __uint16*, __attribute__((constrange((0), (0x7ffffff)))) __uint); /* VSTBSVPACKL, VSTBSVPACKH, VSTBSVPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __uchar32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __char32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __uchar32*, __ushort32); /* VSTHSVPACKL, VSTHSVPACKH, VSTHSVPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __ushort16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __short16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __ushort16*, __uint16); /* VSTWSVPACKB */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pack_byte(__attribute__((memwrite)) __char16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pack_byte(__attribute__((memwrite)) __uchar16*, __uint16); /* VSTWSVPACKL, VSTWSVPACKH, VSTWSVPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __uint8*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __int8*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __uint8*, __ulong8); /* VSTDSVPACKL, VSTDSVPACKH, VSTDSVPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl(__attribute__((memwrite)) __ulong4*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh(__attribute__((memwrite)) __ulong4*, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __long4*, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1(__attribute__((memwrite)) __ulong4*, __ulong8); /* VSTBPACKL, VSTBPACKH, VSTBPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __char64*, __short32, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __uchar64*, __ushort32, __ushort32); /* VSTHPACKL, VSTHPACKH, VSTHPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __ushort32*, __uint16, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __short32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __ushort32*, __uint16, __uint16); /* VSTWPACKB */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pack_byte_2src(__attribute__((memwrite)) __char32*, __int16, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_pack_byte_2src(__attribute__((memwrite)) __uchar32*, __uint16, __uint16); /* VSTWPACKL, VSTWPACKH, VSTWPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __uint16*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __int16*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __uint16*, __ulong8, __ulong8); /* VSTDPACKL, VSTDPACKH, VSTDPACKHS1 */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packl_2src(__attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packh_2src(__attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __long8*, __long8, __long8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_packhs1_2src(__attribute__((memwrite)) __ulong8*, __ulong8, __ulong8); /* VSTBITRWH */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __short32*, __short32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __ushort32*, __ushort32); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __cshort16*, __cshort16); /* VSTBITRDW */ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __int16*, __int16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __uint16*, __uint16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __float16*, __float16); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __cint8*, __cint8); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __vstore_reverse_bit(__attribute__((memwrite)) __cfloat8*, __cfloat8); /* ASW */ int __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __atomic_swap(__attribute__((memwrite)) int*, int, int); /* ASD */ long __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __atomic_swap(__attribute__((memwrite)) long*, long, long); /* CASW */ int __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __atomic_compare_swap(__attribute__((memwrite)) int*, int, int); /* CASD */ long __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __atomic_compare_swap(__attribute__((memwrite)) long*, long, long); /* PFS */ void __attribute__((builtin)) __attribute__((impure)) __prefetch(void*, __attribute__((constrange((0), (31)))) unsigned); /* MTAG argument */ typedef enum __attribute__((__packed__)) { __MTAG_COLOR0 = 0x0, __MTAG_COLOR1 = 0x1, __MTAG_SWITCH_COLORS = 0x1f } __MTAG_COLOR; /* MTAG */ void __attribute__((builtin)) __attribute__((impure)) __mtag(__attribute__((constrange((0), (31)))) __MTAG_COLOR); /* MFENCE/MFENCEST argument */ typedef enum __attribute__((__packed__)) { __MFENCE_COLOR0 = 0x0, __MFENCE_COLOR1 = 0x1, __MFENCE_ALL_COLORS = 0x1f } __MFENCE_COLOR; /* MFENCE */ void __attribute__((builtin)) __attribute__((impure)) __memory_fence(__attribute__((constrange((0), (31)))) __MFENCE_COLOR); /* MFENCEST */ void __attribute__((builtin)) __attribute__((impure)) __memory_fence_store(__attribute__((constrange((0), (31)))) __MFENCE_COLOR); /*----------------------------------------------------------------------------- * Extract and Duplicate *----------------------------------------------------------------------------- * VGETDUPB (C syntax -- using intrinsic or cast): * char64 src, dst; * dst = __duplicate(src.s[10]); OR * dst = char64(src.s[10]); * * VGETDUPH (C syntax -- using intrinsic or cast): * short32 src, dst; * dst = __duplicate(src.s[10]); OR * dst = short32(src.s[10]); * * VGETDUPW (C syntax -- using intrinsic or cast): * int16 src, dst; * dst = __duplicate(src.s[7]); OR * dst = int16(src.s[7]); * * VGETDUPD (C syntax -- using intrinsic or cast): * long8 src, dst; * dst = __duplicate(src.s[7]); OR * dst = long8(src.s[7]); *----------------------------------------------------------------------------*/ /******************************************************************************/ /* The following is a full list of intrinsics and operations available using */ /* vector types. In addition, each example will also show the C7000 */ /* instruction to which the intrinsic will map. */ /* */ /* In cases of vectors, constants must be converted to the proper vector type */ /* for the intrinsic to match properly. */ /* E.g: For a vector addition of char8 a by constant 4, the code should be */ /* written: a + char8(4) */ /* */ /* NOTE: */ /* */ /* There are a handful of complicated instructions that cannot be accessed */ /* using the below vector intrinsics or C idioms. Please refer to the list of */ /* direct-mapped intrinsics listed in c7x_direct.h for the following */ /* instructions: */ /* */ /* 'EXTV' */ /* 'EXTUV' */ /* 'REPLACEV' */ /* 'VFIR8HD' */ /* 'VFIR8HW' */ /* 'VFIR8SUHD' */ /* 'VFIR8SUHW' */ /* 'VFIR8UHD' */ /* 'VFIR8UHW' */ /* 'VMATMPYHD' */ /* 'VMATMPYSP' */ /* 'VMATMPYSUHD' */ /* 'VMATMPYSUHW' */ /* 'VMATMPYUHD' */ /* 'VMATMPYUHW' */ /* 'VMATMPYUSHD' */ /* 'VSAD16OU16H16W' */ /* 'VSAD16OU8H16W' */ /* 'VSAD8OU16B32H' */ /* 'VSADM16OU16H16W' */ /* 'VSADM16OU8H16W' */ /* 'VSADM8OU16B32H' */ /* 'VDSAD16OU8H8W' */ /* 'VDSAD8OU16B16H' */ /* 'VDSADM16OU8H8W' */ /* 'VDSADM8OU16B16H' */ /* 'VCDOTPM2OPN16B32H' */ /* 'VCDOTPM2OPN1H32H' */ /* 'VCDOTPM2OPN8H16W' */ /* 'VCDOTPM2OPN8W16W' */ /* 'VCDOTPM32OPN16B32H' */ /* */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* ID: __gather_set_bits */ /*----------------------------------------------------------------------------*/ /* VGATHERB char2 = __gather_set_bits(bool2, char2); char3 = __gather_set_bits(bool3, char3); char4 = __gather_set_bits(bool4, char4); char8 = __gather_set_bits(bool8, char8); char16 = __gather_set_bits(bool16, char16); #if __C7X_VEC_SIZE_BITS__ >= 256 char32 = __gather_set_bits(bool32, char32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 char64 = __gather_set_bits(bool64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __gather_unset_bits */ /*----------------------------------------------------------------------------*/ /* VGATHERNB char2 = __gather_unset_bits(bool2, char2); char3 = __gather_unset_bits(bool3, char3); char4 = __gather_unset_bits(bool4, char4); char8 = __gather_unset_bits(bool8, char8); char16 = __gather_unset_bits(bool16, char16); #if __C7X_VEC_SIZE_BITS__ >= 256 char32 = __gather_unset_bits(bool32, char32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 char64 = __gather_unset_bits(bool64, char64); #endif */ /******************************************************************************/ /* __SE_REG and __SE_REG_PAIR Streaming Engine Operands */ /* */ /* Some intrinsics, such as __matmpy() and __matmpy_u2s() below, take a */ /* streaming engine operand, which is an enumeration with values representing */ /* which streaming engine to use as well as whether that streaming engine */ /* advances. All other values are invalid and will produce an error. */ /******************************************************************************/ typedef enum __attribute__((__packed__)) { __SE_REG_0 = 0, __SE_REG_0_ADV = 1, __SE_REG_1 = 2, __SE_REG_1_ADV = 3, __SE_REG_LAST = 3 /* Don't use directly. */ } __SE_REG; typedef enum __attribute__((__packed__)) { __SE_REG_PAIR_0 = 0, __SE_REG_PAIR_0_ADV = 1, __SE_REG_PAIR_LAST = 1 /* Don't use directly. */ } __SE_REG_PAIR; /*----------------------------------------------------------------------------*/ /* ID: __matmpy */ /*----------------------------------------------------------------------------*/ /* VMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __matmpy(__SE_REG, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __matmpy_u2s */ /*----------------------------------------------------------------------------*/ /* VMATMPYUSHW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __matmpy_u2s(__SE_REG, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __popcount_gather */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERB __popcount_gather(bool2, uint&, bool2&); __popcount_gather(bool3, uint&, bool3&); __popcount_gather(bool4, uint&, bool4&); __popcount_gather(bool8, uint&, bool8&); __popcount_gather(bool16, uint&, bool16&); #if __C7X_VEC_SIZE_BITS__ >= 256 __popcount_gather(bool32, uint&, bool32&); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 __popcount_gather(bool64, uint&, bool64&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __rightmost_bit_detect */ /*----------------------------------------------------------------------------*/ /* PRMBDB uint = __rightmost_bit_detect(bool2); uint = __rightmost_bit_detect(bool3); uint = __rightmost_bit_detect(bool4); uint = __rightmost_bit_detect(bool8); uint = __rightmost_bit_detect(bool16); #if __C7X_VEC_SIZE_BITS__ >= 256 uint = __rightmost_bit_detect(bool32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 uint = __rightmost_bit_detect(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __scatter_set_bits */ /*----------------------------------------------------------------------------*/ /* VSCATTERB char2 = __scatter_set_bits(bool2, char2); char3 = __scatter_set_bits(bool3, char3); char4 = __scatter_set_bits(bool4, char4); char8 = __scatter_set_bits(bool8, char8); char16 = __scatter_set_bits(bool16, char16); #if __C7X_VEC_SIZE_BITS__ >= 256 char32 = __scatter_set_bits(bool32, char32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 char64 = __scatter_set_bits(bool64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __scatter_unset_bits */ /*----------------------------------------------------------------------------*/ /* VSCATTERNB char2 = __scatter_unset_bits(bool2, char2); char3 = __scatter_unset_bits(bool3, char3); char4 = __scatter_unset_bits(bool4, char4); char8 = __scatter_unset_bits(bool8, char8); char16 = __scatter_unset_bits(bool16, char16); #if __C7X_VEC_SIZE_BITS__ >= 256 char32 = __scatter_unset_bits(bool32, char32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 char64 = __scatter_unset_bits(bool64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: SCONV */ /*----------------------------------------------------------------------------*/ /* VBUNPKD long = __convert_long(signed char); long2 = __convert_long2(char2); long3 = __convert_long3(char3); long4 = __convert_long4(char4); long8 = __convert_long8(char8); clong = __convert_clong(cchar); clong2 = __convert_clong2(cchar2); clong4 = __convert_clong4(cchar4); VBUNPKDU ulong = __convert_ulong(uchar); ulong2 = __convert_ulong2(uchar2); ulong3 = __convert_ulong3(uchar3); ulong4 = __convert_ulong4(uchar4); ulong8 = __convert_ulong8(uchar8); long = __convert_long(uchar); long2 = __convert_long2(uchar2); long3 = __convert_long3(uchar3); long4 = __convert_long4(uchar4); long8 = __convert_long8(uchar8); VBUNPKH short = __convert_short(signed char); short2 = __convert_short2(char2); short3 = __convert_short3(char3); short4 = __convert_short4(char4); short8 = __convert_short8(char8); short16 = __convert_short16(char16); short32 = __convert_short32(char32); cshort = __convert_cshort(cchar); cshort2 = __convert_cshort2(cchar2); cshort4 = __convert_cshort4(cchar4); cshort8 = __convert_cshort8(cchar8); cshort16 = __convert_cshort16(cchar16); VBUNPKHU ushort = __convert_ushort(uchar); ushort2 = __convert_ushort2(uchar2); ushort3 = __convert_ushort3(uchar3); ushort4 = __convert_ushort4(uchar4); ushort8 = __convert_ushort8(uchar8); ushort16 = __convert_ushort16(uchar16); ushort32 = __convert_ushort32(uchar32); short = __convert_short(uchar); short2 = __convert_short2(uchar2); short3 = __convert_short3(uchar3); short4 = __convert_short4(uchar4); short8 = __convert_short8(uchar8); short16 = __convert_short16(uchar16); short32 = __convert_short32(uchar32); VBUNPKW int = __convert_int(signed char); int2 = __convert_int2(char2); int3 = __convert_int3(char3); int4 = __convert_int4(char4); int8 = __convert_int8(char8); int16 = __convert_int16(char16); cint = __convert_cint(cchar); cint2 = __convert_cint2(cchar2); cint4 = __convert_cint4(cchar4); cint8 = __convert_cint8(cchar8); VBUNPKWU uint = __convert_uint(uchar); uint2 = __convert_uint2(uchar2); uint3 = __convert_uint3(uchar3); uint4 = __convert_uint4(uchar4); uint8 = __convert_uint8(uchar8); uint16 = __convert_uint16(uchar16); int = __convert_int(uchar); int2 = __convert_int2(uchar2); int3 = __convert_int3(uchar3); int4 = __convert_int4(uchar4); int8 = __convert_int8(uchar8); int16 = __convert_int16(uchar16); VHUNPKD long = __convert_long(short); long2 = __convert_long2(short2); long3 = __convert_long3(short3); long4 = __convert_long4(short4); long8 = __convert_long8(short8); clong = __convert_clong(cshort); clong2 = __convert_clong2(cshort2); clong4 = __convert_clong4(cshort4); VHUNPKDU ulong = __convert_ulong(ushort); ulong2 = __convert_ulong2(ushort2); ulong3 = __convert_ulong3(ushort3); ulong4 = __convert_ulong4(ushort4); ulong8 = __convert_ulong8(ushort8); long = __convert_long(ushort); long2 = __convert_long2(ushort2); long3 = __convert_long3(ushort3); long4 = __convert_long4(ushort4); long8 = __convert_long8(ushort8); VHUNPKW int = __convert_int(short); int2 = __convert_int2(short2); int3 = __convert_int3(short3); int4 = __convert_int4(short4); int8 = __convert_int8(short8); int16 = __convert_int16(short16); cint = __convert_cint(cshort); cint2 = __convert_cint2(cshort2); cint4 = __convert_cint4(cshort4); cint8 = __convert_cint8(cshort8); VHUNPKWU uint = __convert_uint(ushort); uint2 = __convert_uint2(ushort2); uint3 = __convert_uint3(ushort3); uint4 = __convert_uint4(ushort4); uint8 = __convert_uint8(ushort8); uint16 = __convert_uint16(ushort16); int = __convert_int(ushort); int2 = __convert_int2(ushort2); int3 = __convert_int3(ushort3); int4 = __convert_int4(ushort4); int8 = __convert_int8(ushort8); int16 = __convert_int16(ushort16); VINTSP float = __convert_float(int); float2 = __convert_float2(int2); float3 = __convert_float3(int3); float4 = __convert_float4(int4); float8 = __convert_float8(int8); float16 = __convert_float16(int16); VINTSPU float = __convert_float(uint); float2 = __convert_float2(uint2); float3 = __convert_float3(uint3); float4 = __convert_float4(uint4); float8 = __convert_float8(uint8); float16 = __convert_float16(uint16); VSPTRUNC int = __convert_int(float); int2 = __convert_int2(float2); int3 = __convert_int3(float3); int4 = __convert_int4(float4); int8 = __convert_int8(float8); int16 = __convert_int16(float16); VWUNPKD long = __convert_long(int); long2 = __convert_long2(int2); long3 = __convert_long3(int3); long4 = __convert_long4(int4); long8 = __convert_long8(int8); clong = __convert_clong(cint); clong2 = __convert_clong2(cint2); clong4 = __convert_clong4(cint4); VWUNPKDU ulong = __convert_ulong(uint); ulong2 = __convert_ulong2(uint2); ulong3 = __convert_ulong3(uint3); ulong4 = __convert_ulong4(uint4); ulong8 = __convert_ulong8(uint8); long = __convert_long(uint); long2 = __convert_long2(uint2); long3 = __convert_long3(uint3); long4 = __convert_long4(uint4); long8 = __convert_long8(uint8); */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle (Convenience form of __shuffle_stride2_low_low) */ /*----------------------------------------------------------------------------*/ /* VSHFL2DLL #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle(long2, long2); double4 = __shuffle(double2, double2); cfloat4 = __shuffle(cfloat2, cfloat2); ulong4 = __shuffle(ulong2, ulong2); cint4 = __shuffle(cint2, cint2); #elif __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle(long4, long4); double8 = __shuffle(double4, double4); cfloat8 = __shuffle(cfloat4, cfloat4); ulong8 = __shuffle(ulong4, ulong4); cint8 = __shuffle(cint4, cint4); #endif VSHFL2HLL #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __shuffle(short8, short8); ushort16 = __shuffle(ushort8, ushort8); cchar16 = __shuffle(cchar8, cchar8); #elif __C7X_VEC_SIZE_BITS__ == 512 short32 = __shuffle(short16, short16); ushort32 = __shuffle(ushort16, ushort16); cchar32 = __shuffle(cchar16, cchar16); #endif VSHFL2WLL #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __shuffle(int4, int4); float8 = __shuffle(float4, float4); uint8 = __shuffle(uint4, uint4); cshort8 = __shuffle(cshort4, cshort4); #elif __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle(int8, int8); float16 = __shuffle(float8, float8); uint16 = __shuffle(uint8, uint8); cshort16 = __shuffle(cshort8, cshort8); #endif */ /*----------------------------------------------------------------------------- * ID: __popcount *----------------------------------------------------------------------------*/ /* PBITCNTB uint = __popcount(bool2); uint = __popcount(bool3); uint = __popcount(bool4); uint = __popcount(bool8); uint = __popcount(bool16); #if __C7X_VEC_SIZE_BITS__ >= 256 uint = __popcount(bool32); #endif #if __C7X_VEC_SIZE_BITS__ >= 512 uint = __popcount(bool64); #endif */ /* AUTOGEN MARKER */ /*----------------------------------------------------------------------------*/ /* ID: ANDB */ /*----------------------------------------------------------------------------*/ /* ANDD, ANDW, VANDW signed char = signed char & signed char; signed char = signed char & (signed char)(k); char2 = char2 & char2; char2 = char2 & (char2)(k); char3 = char3 & char3; char3 = char3 & (char3)(k); char4 = char4 & char4; char4 = char4 & (char4)(k); char8 = char8 & char8; char16 = char16 & char16; char32 = char32 & char32; #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 & char64; #endif uchar = uchar & uchar; uchar = uchar & (uchar)(k); uchar2 = uchar2 & uchar2; uchar2 = uchar2 & (uchar2)(k); uchar3 = uchar3 & uchar3; uchar3 = uchar3 & (uchar3)(k); uchar4 = uchar4 & uchar4; uchar4 = uchar4 & (uchar4)(k); uchar8 = uchar8 & uchar8; uchar16 = uchar16 & uchar16; uchar32 = uchar32 & uchar32; #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 & uchar64; #endif short = short & short; short = short & (short)(k); short2 = short2 & short2; short2 = short2 & (short2)(k); short3 = short3 & short3; short4 = short4 & short4; short8 = short8 & short8; short16 = short16 & short16; #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 & short32; #endif ushort = ushort & ushort; ushort = ushort & (ushort)(k); ushort2 = ushort2 & ushort2; ushort2 = ushort2 & (ushort2)(k); ushort3 = ushort3 & ushort3; ushort4 = ushort4 & ushort4; ushort8 = ushort8 & ushort8; ushort16 = ushort16 & ushort16; #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 & ushort32; #endif int = int & int; int = int & (int)(k); int2 = int2 & int2; int2 = int2 & (int2)(k); int3 = int3 & int3; int3 = int3 & (int3)(k); int4 = int4 & int4; int4 = int4 & (int4)(k); int8 = int8 & int8; int8 = int8 & (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 & int16; int16 = int16 & (int16)(k); #endif uint = uint & uint; uint = uint & (uint)(k); uint2 = uint2 & uint2; uint2 = uint2 & (uint2)(k); uint3 = uint3 & uint3; uint3 = uint3 & (uint3)(k); uint4 = uint4 & uint4; uint4 = uint4 & (uint4)(k); uint8 = uint8 & uint8; uint8 = uint8 & (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 & uint16; uint16 = uint16 & (uint16)(k); #endif ANDD, VANDW long = long & long; long = long & (long)(k); long2 = long2 & long2; long3 = long3 & long3; long4 = long4 & long4; #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 & long8; #endif ulong = ulong & ulong; ulong = ulong & (ulong)(k); ulong2 = ulong2 & ulong2; ulong3 = ulong3 & ulong3; ulong4 = ulong4 & ulong4; #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 & ulong8; #endif */ /*----------------------------------------------------------------------------*/ /* ID: DIV */ /*----------------------------------------------------------------------------*/ /* DIVW int = int / int; DIVUW uint = uint / uint; DIVDW long = long / int; DIVUDW ulong = ulong / uint; */ /*----------------------------------------------------------------------------*/ /* ID: MINUS */ /*----------------------------------------------------------------------------*/ /* VSUBB signed char = signed char - signed char; signed char = signed char - (signed char)(k); char2 = char2 - char2; char2 = char2 - (char2)(k); char3 = char3 - char3; char3 = char3 - (char3)(k); char4 = char4 - char4; char4 = char4 - (char4)(k); char8 = char8 - char8; char8 = char8 - (char8)(k); char16 = char16 - char16; char16 = char16 - (char16)(k); char32 = char32 - char32; char32 = char32 - (char32)(k); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 - char64; char64 = char64 - (char64)(k); #endif uchar = uchar - uchar; uchar = uchar - (uchar)(k); uchar2 = uchar2 - uchar2; uchar2 = uchar2 - (uchar2)(k); uchar3 = uchar3 - uchar3; uchar3 = uchar3 - (uchar3)(k); uchar4 = uchar4 - uchar4; uchar4 = uchar4 - (uchar4)(k); uchar8 = uchar8 - uchar8; uchar8 = uchar8 - (uchar8)(k); uchar16 = uchar16 - uchar16; uchar16 = uchar16 - (uchar16)(k); uchar32 = uchar32 - uchar32; uchar32 = uchar32 - (uchar32)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 - uchar64; uchar64 = uchar64 - (uchar64)(k); #endif cchar = cchar - cchar; cchar2 = cchar2 - cchar2; cchar4 = cchar4 - cchar4; cchar8 = cchar8 - cchar8; cchar16 = cchar16 - cchar16; #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = cchar32 - cchar32; #endif VSUBH short = short - short; short = short - (short)(k); short2 = short2 - short2; short2 = short2 - (short2)(k); short3 = short3 - short3; short3 = short3 - (short3)(k); short4 = short4 - short4; short4 = short4 - (short4)(k); short8 = short8 - short8; short8 = short8 - (short8)(k); short16 = short16 - short16; short16 = short16 - (short16)(k); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 - short32; short32 = short32 - (short32)(k); #endif ushort = ushort - ushort; ushort = ushort - (ushort)(k); ushort2 = ushort2 - ushort2; ushort2 = ushort2 - (ushort2)(k); ushort3 = ushort3 - ushort3; ushort3 = ushort3 - (ushort3)(k); ushort4 = ushort4 - ushort4; ushort4 = ushort4 - (ushort4)(k); ushort8 = ushort8 - ushort8; ushort8 = ushort8 - (ushort8)(k); ushort16 = ushort16 - ushort16; ushort16 = ushort16 - (ushort16)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 - ushort32; ushort32 = ushort32 - (ushort32)(k); #endif cshort = cshort - cshort; cshort2 = cshort2 - cshort2; cshort4 = cshort4 - cshort4; cshort8 = cshort8 - cshort8; #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = cshort16 - cshort16; #endif SUBW, VSUBW int = int - int; int = int - (int)(k); int2 = int2 - int2; int2 = int2 - (int2)(k); int3 = int3 - int3; int3 = int3 - (int3)(k); int4 = int4 - int4; int4 = int4 - (int4)(k); int8 = int8 - int8; int8 = int8 - (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 - int16; int16 = int16 - (int16)(k); #endif uint = uint - uint; uint = uint - (uint)(k); uint2 = uint2 - uint2; uint2 = uint2 - (uint2)(k); uint3 = uint3 - uint3; uint3 = uint3 - (uint3)(k); uint4 = uint4 - uint4; uint4 = uint4 - (uint4)(k); uint8 = uint8 - uint8; uint8 = uint8 - (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 - uint16; uint16 = uint16 - (uint16)(k); #endif SUBSP, VSUBSP float = float - float; float2 = float2 - float2; float3 = float3 - float3; float4 = float4 - float4; float8 = float8 - float8; #if __C7X_VEC_SIZE_BITS__ == 512 float16 = float16 - float16; #endif VSUBW cint = cint - cint; cint2 = cint2 - cint2; cint4 = cint4 - cint4; #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = cint8 - cint8; #endif VSUBSP cfloat = cfloat - cfloat; cfloat2 = cfloat2 - cfloat2; cfloat4 = cfloat4 - cfloat4; #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = cfloat8 - cfloat8; #endif SUBD, VSUBD long = long - long; long = long - (long)(k); long2 = long2 - long2; long2 = long2 - (long2)(k); long3 = long3 - long3; long3 = long3 - (long3)(k); long4 = long4 - long4; long4 = long4 - (long4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 - long8; long8 = long8 - (long8)(k); #endif ulong = ulong - ulong; ulong = ulong - (ulong)(k); ulong2 = ulong2 - ulong2; ulong2 = ulong2 - (ulong2)(k); ulong3 = ulong3 - ulong3; ulong3 = ulong3 - (ulong3)(k); ulong4 = ulong4 - ulong4; ulong4 = ulong4 - (ulong4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 - ulong8; ulong8 = ulong8 - (ulong8)(k); #endif SUBDP, VSUBDP double = double - double; double2 = double2 - double2; double3 = double3 - double3; double4 = double4 - double4; #if __C7X_VEC_SIZE_BITS__ == 512 double8 = double8 - double8; #endif VSUBD clong = clong - clong; clong2 = clong2 - clong2; #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = clong4 - clong4; #endif VSUBDP cdouble = cdouble - cdouble; cdouble2 = cdouble2 - cdouble2; #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = cdouble4 - cdouble4; #endif */ /*----------------------------------------------------------------------------*/ /* ID: MOD */ /*----------------------------------------------------------------------------*/ /* MODW int = int % int; MODUW uint = uint % uint; MODDW long = long % int; MODUDW ulong = ulong % uint; */ /*----------------------------------------------------------------------------*/ /* ID: MULT */ /*----------------------------------------------------------------------------*/ /* VMPYBB signed char = signed char * signed char; char2 = char2 * char2; char3 = char3 * char3; char4 = char4 * char4; char8 = char8 * char8; char16 = char16 * char16; char32 = char32 * char32; #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 * char64; #endif uchar = uchar * uchar; uchar2 = uchar2 * uchar2; uchar3 = uchar3 * uchar3; uchar4 = uchar4 * uchar4; uchar8 = uchar8 * uchar8; uchar16 = uchar16 * uchar16; uchar32 = uchar32 * uchar32; #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 * uchar64; #endif VMPYHH short = short * short; short2 = short2 * short2; short3 = short3 * short3; short4 = short4 * short4; short8 = short8 * short8; short16 = short16 * short16; #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 * short32; #endif MPYHW int = short * short; MPYSUHW int = short * ushort; VMPYHH ushort = ushort * ushort; ushort2 = ushort2 * ushort2; ushort3 = ushort3 * ushort3; ushort4 = ushort4 * ushort4; ushort8 = ushort8 * ushort8; ushort16 = ushort16 * ushort16; #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 * ushort32; #endif MPYUHW uint = ushort * ushort; MPYWW, VMPYWW int = int * int; int2 = int2 * int2; int3 = int3 * int3; int4 = int4 * int4; int8 = int8 * int8; #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 * int16; #endif uint = uint * uint; uint2 = uint2 * uint2; uint3 = uint3 * uint3; uint4 = uint4 * uint4; uint8 = uint8 * uint8; #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 * uint16; #endif MPYSP, VMPYSP float = float * float; float2 = float2 * float2; float3 = float3 * float3; float4 = float4 * float4; float8 = float8 * float8; #if __C7X_VEC_SIZE_BITS__ == 512 float16 = float16 * float16; #endif MPYDD, VMPYDD long = long * long; long2 = long2 * long2; long3 = long3 * long3; long4 = long4 * long4; #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 * long8; #endif ulong = ulong * ulong; ulong2 = ulong2 * ulong2; ulong3 = ulong3 * ulong3; ulong4 = ulong4 * ulong4; #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 * ulong8; #endif MPYDP, VMPYDP double = double * double; double2 = double2 * double2; double3 = double3 * double3; double4 = double4 * double4; #if __C7X_VEC_SIZE_BITS__ == 512 double8 = double8 * double8; #endif */ /*----------------------------------------------------------------------------*/ /* ID: ORB */ /*----------------------------------------------------------------------------*/ /* ORD, ORW, VORW signed char = signed char | signed char; signed char = signed char | (signed char)(k); char2 = char2 | char2; char2 = char2 | (char2)(k); char3 = char3 | char3; char3 = char3 | (char3)(k); char4 = char4 | char4; char4 = char4 | (char4)(k); char8 = char8 | char8; char16 = char16 | char16; char32 = char32 | char32; #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 | char64; #endif uchar = uchar | uchar; uchar = uchar | (uchar)(k); uchar2 = uchar2 | uchar2; uchar2 = uchar2 | (uchar2)(k); uchar3 = uchar3 | uchar3; uchar3 = uchar3 | (uchar3)(k); uchar4 = uchar4 | uchar4; uchar4 = uchar4 | (uchar4)(k); uchar8 = uchar8 | uchar8; uchar16 = uchar16 | uchar16; uchar32 = uchar32 | uchar32; #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 | uchar64; #endif short = short | short; short = short | (short)(k); short2 = short2 | short2; short2 = short2 | (short2)(k); short3 = short3 | short3; short4 = short4 | short4; short8 = short8 | short8; short16 = short16 | short16; #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 | short32; #endif ushort = ushort | ushort; ushort = ushort | (ushort)(k); ushort2 = ushort2 | ushort2; ushort2 = ushort2 | (ushort2)(k); ushort3 = ushort3 | ushort3; ushort4 = ushort4 | ushort4; ushort8 = ushort8 | ushort8; ushort16 = ushort16 | ushort16; #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 | ushort32; #endif int = int | int; int = int | (int)(k); int2 = int2 | int2; int2 = int2 | (int2)(k); int3 = int3 | int3; int3 = int3 | (int3)(k); int4 = int4 | int4; int4 = int4 | (int4)(k); int8 = int8 | int8; int8 = int8 | (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 | int16; int16 = int16 | (int16)(k); #endif uint = uint | uint; uint = uint | (uint)(k); uint2 = uint2 | uint2; uint2 = uint2 | (uint2)(k); uint3 = uint3 | uint3; uint3 = uint3 | (uint3)(k); uint4 = uint4 | uint4; uint4 = uint4 | (uint4)(k); uint8 = uint8 | uint8; uint8 = uint8 | (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 | uint16; uint16 = uint16 | (uint16)(k); #endif ORD, VORW long = long | long; long = long | (long)(k); long2 = long2 | long2; long3 = long3 | long3; long4 = long4 | long4; #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 | long8; #endif ulong = ulong | ulong; ulong = ulong | (ulong)(k); ulong2 = ulong2 | ulong2; ulong3 = ulong3 | ulong3; ulong4 = ulong4 | ulong4; #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 | ulong8; #endif */ /*----------------------------------------------------------------------------*/ /* ID: PLUS */ /*----------------------------------------------------------------------------*/ /* VADDB signed char = signed char + signed char; signed char = signed char + (signed char)(k); char2 = char2 + char2; char2 = char2 + (char2)(k); char3 = char3 + char3; char3 = char3 + (char3)(k); char4 = char4 + char4; char4 = char4 + (char4)(k); char8 = char8 + char8; char8 = char8 + (char8)(k); char16 = char16 + char16; char16 = char16 + (char16)(k); char32 = char32 + char32; char32 = char32 + (char32)(k); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 + char64; char64 = char64 + (char64)(k); #endif uchar = uchar + uchar; uchar = uchar + (uchar)(k); uchar2 = uchar2 + uchar2; uchar2 = uchar2 + (uchar2)(k); uchar3 = uchar3 + uchar3; uchar3 = uchar3 + (uchar3)(k); uchar4 = uchar4 + uchar4; uchar4 = uchar4 + (uchar4)(k); uchar8 = uchar8 + uchar8; uchar8 = uchar8 + (uchar8)(k); uchar16 = uchar16 + uchar16; uchar16 = uchar16 + (uchar16)(k); uchar32 = uchar32 + uchar32; uchar32 = uchar32 + (uchar32)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 + uchar64; uchar64 = uchar64 + (uchar64)(k); #endif cchar = cchar + cchar; cchar2 = cchar2 + cchar2; cchar4 = cchar4 + cchar4; cchar8 = cchar8 + cchar8; cchar16 = cchar16 + cchar16; #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = cchar32 + cchar32; #endif VADDH short = short + short; short = short + (short)(k); short2 = short2 + short2; short2 = short2 + (short2)(k); short3 = short3 + short3; short3 = short3 + (short3)(k); short4 = short4 + short4; short4 = short4 + (short4)(k); short8 = short8 + short8; short8 = short8 + (short8)(k); short16 = short16 + short16; short16 = short16 + (short16)(k); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 + short32; short32 = short32 + (short32)(k); #endif ushort = ushort + ushort; ushort = ushort + (ushort)(k); ushort2 = ushort2 + ushort2; ushort2 = ushort2 + (ushort2)(k); ushort3 = ushort3 + ushort3; ushort3 = ushort3 + (ushort3)(k); ushort4 = ushort4 + ushort4; ushort4 = ushort4 + (ushort4)(k); ushort8 = ushort8 + ushort8; ushort8 = ushort8 + (ushort8)(k); ushort16 = ushort16 + ushort16; ushort16 = ushort16 + (ushort16)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 + ushort32; ushort32 = ushort32 + (ushort32)(k); #endif cshort = cshort + cshort; cshort2 = cshort2 + cshort2; cshort4 = cshort4 + cshort4; cshort8 = cshort8 + cshort8; #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = cshort16 + cshort16; #endif ADDW, VADDW int = int + int; int = int + (int)(k); int2 = int2 + int2; int2 = int2 + (int2)(k); int3 = int3 + int3; int3 = int3 + (int3)(k); int4 = int4 + int4; int4 = int4 + (int4)(k); int8 = int8 + int8; int8 = int8 + (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 + int16; int16 = int16 + (int16)(k); #endif uint = uint + uint; uint = uint + (uint)(k); uint2 = uint2 + uint2; uint2 = uint2 + (uint2)(k); uint3 = uint3 + uint3; uint3 = uint3 + (uint3)(k); uint4 = uint4 + uint4; uint4 = uint4 + (uint4)(k); uint8 = uint8 + uint8; uint8 = uint8 + (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 + uint16; uint16 = uint16 + (uint16)(k); #endif ADDSP, VADDSP float = float + float; float2 = float2 + float2; float3 = float3 + float3; float4 = float4 + float4; float8 = float8 + float8; #if __C7X_VEC_SIZE_BITS__ == 512 float16 = float16 + float16; #endif VADDW cint = cint + cint; cint2 = cint2 + cint2; cint4 = cint4 + cint4; #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = cint8 + cint8; #endif VADDSP cfloat = cfloat + cfloat; cfloat2 = cfloat2 + cfloat2; cfloat4 = cfloat4 + cfloat4; #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = cfloat8 + cfloat8; #endif ADDD, VADDD long = long + long; long = long + (long)(k); long2 = long2 + long2; long2 = long2 + (long2)(k); long3 = long3 + long3; long3 = long3 + (long3)(k); long4 = long4 + long4; long4 = long4 + (long4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 + long8; long8 = long8 + (long8)(k); #endif ulong = ulong + ulong; ulong = ulong + (ulong)(k); ulong2 = ulong2 + ulong2; ulong2 = ulong2 + (ulong2)(k); ulong3 = ulong3 + ulong3; ulong3 = ulong3 + (ulong3)(k); ulong4 = ulong4 + ulong4; ulong4 = ulong4 + (ulong4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 + ulong8; ulong8 = ulong8 + (ulong8)(k); #endif ADDDP, VADDDP double = double + double; double2 = double2 + double2; double3 = double3 + double3; double4 = double4 + double4; #if __C7X_VEC_SIZE_BITS__ == 512 double8 = double8 + double8; #endif VADDD clong = clong + clong; clong2 = clong2 + clong2; #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = clong4 + clong4; #endif VADDDP cdouble = cdouble + cdouble; cdouble2 = cdouble2 + cdouble2; #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = cdouble4 + cdouble4; #endif */ /*----------------------------------------------------------------------------*/ /* ID: SLL */ /*----------------------------------------------------------------------------*/ /* VSHLB signed char = signed char << (signed char)(k={0-63}); char2 = char2 << (char2)(k={0-63}); char3 = char3 << (char3)(k={0-63}); char4 = char4 << (char4)(k={0-63}); char8 = char8 << (char8)(k={0-63}); char16 = char16 << (char16)(k={0-63}); char32 = char32 << (char32)(k={0-63}); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 << (char64)(k={0-63}); #endif uchar = uchar << (uchar)(k={0-63}); uchar2 = uchar2 << (uchar2)(k={0-63}); uchar3 = uchar3 << (uchar3)(k={0-63}); uchar4 = uchar4 << (uchar4)(k={0-63}); uchar8 = uchar8 << (uchar8)(k={0-63}); uchar16 = uchar16 << (uchar16)(k={0-63}); uchar32 = uchar32 << (uchar32)(k={0-63}); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 << (uchar64)(k={0-63}); #endif VSHLH short = short << (short)(k={0-63}); short2 = short2 << (short2)(k={0-63}); short3 = short3 << (short3)(k={0-63}); short4 = short4 << (short4)(k={0-63}); short8 = short8 << (short8)(k={0-63}); short16 = short16 << (short16)(k={0-63}); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 << (short32)(k={0-63}); #endif ushort = ushort << (ushort)(k={0-63}); ushort2 = ushort2 << (ushort2)(k={0-63}); ushort3 = ushort3 << (ushort3)(k={0-63}); ushort4 = ushort4 << (ushort4)(k={0-63}); ushort8 = ushort8 << (ushort8)(k={0-63}); ushort16 = ushort16 << (ushort16)(k={0-63}); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 << (ushort32)(k={0-63}); #endif SHLW int = int << (uchar)(k={0-63}); SHLW, VSHLW int = int << int; int = int << (int)(k); int2 = int2 << int2; int2 = int2 << (int2)(k); int3 = int3 << int3; int3 = int3 << (int3)(k); int4 = int4 << int4; int4 = int4 << (int4)(k); int8 = int8 << int8; int8 = int8 << (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 << int16; int16 = int16 << (int16)(k); #endif SHLW uint = uint << (uchar)(k={0-63}); SHLW, VSHLW uint = uint << uint; uint = uint << (uint)(k); uint2 = uint2 << uint2; uint2 = uint2 << (uint2)(k); uint3 = uint3 << uint3; uint3 = uint3 << (uint3)(k); uint4 = uint4 << uint4; uint4 = uint4 << (uint4)(k); uint8 = uint8 << uint8; uint8 = uint8 << (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 << uint16; uint16 = uint16 << (uint16)(k); #endif SHLD long = long << (uchar)(k={0-63}); long = long << int; VSHLD long = long << long; long = long << (long)(k); long2 = long2 << long2; long2 = long2 << (long2)(k); long3 = long3 << long3; long3 = long3 << (long3)(k); long4 = long4 << long4; long4 = long4 << (long4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 << long8; long8 = long8 << (long8)(k); #endif SHLD ulong = ulong << (uchar)(k={0-63}); ulong = ulong << uint; VSHLD ulong = ulong << ulong; ulong = ulong << (ulong)(k); ulong2 = ulong2 << ulong2; ulong2 = ulong2 << (ulong2)(k); ulong3 = ulong3 << ulong3; ulong3 = ulong3 << (ulong3)(k); ulong4 = ulong4 << ulong4; ulong4 = ulong4 << (ulong4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 << ulong8; ulong8 = ulong8 << (ulong8)(k); #endif */ /*----------------------------------------------------------------------------*/ /* ID: SRL */ /*----------------------------------------------------------------------------*/ /* SHRW int = int >> (uchar)(k={0-63}); SHRW, VSHRW int = int >> int; int = int >> (int)(k); int2 = int2 >> int2; int2 = int2 >> (int2)(k); int3 = int3 >> int3; int3 = int3 >> (int3)(k); int4 = int4 >> int4; int4 = int4 >> (int4)(k); int8 = int8 >> int8; int8 = int8 >> (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 >> int16; int16 = int16 >> (int16)(k); #endif SHRUW uint = uint >> (uchar)(k={0-63}); SHRUW, VSHRUW uint = uint >> uint; uint = uint >> (uint)(k); uint2 = uint2 >> uint2; uint2 = uint2 >> (uint2)(k); uint3 = uint3 >> uint3; uint3 = uint3 >> (uint3)(k); uint4 = uint4 >> uint4; uint4 = uint4 >> (uint4)(k); uint8 = uint8 >> uint8; uint8 = uint8 >> (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 >> uint16; uint16 = uint16 >> (uint16)(k); #endif SHRD long = long >> (uchar)(k={0-63}); long = long >> int; VSHRD long = long >> long; long = long >> (long)(k); long2 = long2 >> long2; long2 = long2 >> (long2)(k); long3 = long3 >> long3; long3 = long3 >> (long3)(k); long4 = long4 >> long4; long4 = long4 >> (long4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 >> long8; long8 = long8 >> (long8)(k); #endif SHRUD ulong = ulong >> (uchar)(k={0-63}); ulong = ulong >> uint; VSHRUD ulong = ulong >> ulong; ulong = ulong >> (ulong)(k); ulong2 = ulong2 >> ulong2; ulong2 = ulong2 >> (ulong2)(k); ulong3 = ulong3 >> ulong3; ulong3 = ulong3 >> (ulong3)(k); ulong4 = ulong4 >> ulong4; ulong4 = ulong4 >> (ulong4)(k); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 >> ulong8; ulong8 = ulong8 >> (ulong8)(k); #endif */ /*----------------------------------------------------------------------------*/ /* ID: XORB */ /*----------------------------------------------------------------------------*/ /* VXORW, XORD, XORW signed char = signed char ^ signed char; signed char = signed char ^ (signed char)(k); char2 = char2 ^ char2; char2 = char2 ^ (char2)(k); char3 = char3 ^ char3; char3 = char3 ^ (char3)(k); char4 = char4 ^ char4; char4 = char4 ^ (char4)(k); char8 = char8 ^ char8; char16 = char16 ^ char16; char32 = char32 ^ char32; #if __C7X_VEC_SIZE_BITS__ == 512 char64 = char64 ^ char64; #endif uchar = uchar ^ uchar; uchar = uchar ^ (uchar)(k); uchar2 = uchar2 ^ uchar2; uchar2 = uchar2 ^ (uchar2)(k); uchar3 = uchar3 ^ uchar3; uchar3 = uchar3 ^ (uchar3)(k); uchar4 = uchar4 ^ uchar4; uchar4 = uchar4 ^ (uchar4)(k); uchar8 = uchar8 ^ uchar8; uchar16 = uchar16 ^ uchar16; uchar32 = uchar32 ^ uchar32; #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = uchar64 ^ uchar64; #endif short = short ^ short; short = short ^ (short)(k); short2 = short2 ^ short2; short2 = short2 ^ (short2)(k); short3 = short3 ^ short3; short4 = short4 ^ short4; short8 = short8 ^ short8; short16 = short16 ^ short16; #if __C7X_VEC_SIZE_BITS__ == 512 short32 = short32 ^ short32; #endif ushort = ushort ^ ushort; ushort = ushort ^ (ushort)(k); ushort2 = ushort2 ^ ushort2; ushort2 = ushort2 ^ (ushort2)(k); ushort3 = ushort3 ^ ushort3; ushort4 = ushort4 ^ ushort4; ushort8 = ushort8 ^ ushort8; ushort16 = ushort16 ^ ushort16; #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = ushort32 ^ ushort32; #endif int = int ^ int; int = int ^ (int)(k); int2 = int2 ^ int2; int2 = int2 ^ (int2)(k); int3 = int3 ^ int3; int3 = int3 ^ (int3)(k); int4 = int4 ^ int4; int4 = int4 ^ (int4)(k); int8 = int8 ^ int8; int8 = int8 ^ (int8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = int16 ^ int16; int16 = int16 ^ (int16)(k); #endif uint = uint ^ uint; uint = uint ^ (uint)(k); uint2 = uint2 ^ uint2; uint2 = uint2 ^ (uint2)(k); uint3 = uint3 ^ uint3; uint3 = uint3 ^ (uint3)(k); uint4 = uint4 ^ uint4; uint4 = uint4 ^ (uint4)(k); uint8 = uint8 ^ uint8; uint8 = uint8 ^ (uint8)(k); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = uint16 ^ uint16; uint16 = uint16 ^ (uint16)(k); #endif VXORW, XORD long = long ^ long; long = long ^ (long)(k); long2 = long2 ^ long2; long3 = long3 ^ long3; long4 = long4 ^ long4; #if __C7X_VEC_SIZE_BITS__ == 512 long8 = long8 ^ long8; #endif ulong = ulong ^ ulong; ulong = ulong ^ (ulong)(k); ulong2 = ulong2 ^ ulong2; ulong3 = ulong3 ^ ulong3; ulong4 = ulong4 ^ ulong4; #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = ulong8 ^ ulong8; #endif */ /*----------------------------------------------------------------------------*/ /* ID: __abs */ /*----------------------------------------------------------------------------*/ /* VABSB signed char = __abs(signed char); char2 = __abs(char2); char3 = __abs(char3); char4 = __abs(char4); char8 = __abs(char8); char16 = __abs(char16); char32 = __abs(char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __abs(char64); #endif cchar = __abs(cchar); cchar2 = __abs(cchar2); cchar4 = __abs(cchar4); cchar8 = __abs(cchar8); cchar16 = __abs(cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __abs(cchar32); #endif VABSH short = __abs(short); short2 = __abs(short2); short3 = __abs(short3); short4 = __abs(short4); short8 = __abs(short8); short16 = __abs(short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __abs(short32); #endif cshort = __abs(cshort); cshort2 = __abs(cshort2); cshort4 = __abs(cshort4); cshort8 = __abs(cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __abs(cshort16); #endif VABSW int = __abs(int); int2 = __abs(int2); int3 = __abs(int3); int4 = __abs(int4); int8 = __abs(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __abs(int16); #endif VABSSP float = __abs(float); float2 = __abs(float2); float3 = __abs(float3); float4 = __abs(float4); float8 = __abs(float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __abs(float16); #endif VABSW cint = __abs(cint); cint2 = __abs(cint2); cint4 = __abs(cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __abs(cint8); #endif VABSSP cfloat = __abs(cfloat); cfloat2 = __abs(cfloat2); cfloat4 = __abs(cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __abs(cfloat8); #endif VABSD long = __abs(long); long2 = __abs(long2); long3 = __abs(long3); long4 = __abs(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __abs(long8); #endif VABSDP double = __abs(double); double2 = __abs(double2); double3 = __abs(double3); double4 = __abs(double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __abs(double8); #endif VABSD clong = __abs(clong); clong2 = __abs(clong2); #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __abs(clong4); #endif VABSDP cdouble = __abs(cdouble); cdouble2 = __abs(cdouble2); #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __abs(cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __abs_diff */ /*----------------------------------------------------------------------------*/ /* VSUBABSB uchar = __abs_diff(uchar, uchar); uchar2 = __abs_diff(uchar2, uchar2); uchar3 = __abs_diff(uchar3, uchar3); uchar4 = __abs_diff(uchar4, uchar4); uchar8 = __abs_diff(uchar8, uchar8); uchar16 = __abs_diff(uchar16, uchar16); uchar32 = __abs_diff(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __abs_diff(uchar64, uchar64); #endif VSUBABSH ushort = __abs_diff(ushort, ushort); ushort2 = __abs_diff(ushort2, ushort2); ushort3 = __abs_diff(ushort3, ushort3); ushort4 = __abs_diff(ushort4, ushort4); ushort8 = __abs_diff(ushort8, ushort8); ushort16 = __abs_diff(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __abs_diff(ushort32, ushort32); #endif VSUBABSW uint = __abs_diff(uint, uint); uint2 = __abs_diff(uint2, uint2); uint3 = __abs_diff(uint3, uint3); uint4 = __abs_diff(uint4, uint4); uint8 = __abs_diff(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __abs_diff(uint16, uint16); #endif VSUBABSD ulong = __abs_diff(ulong, ulong); ulong2 = __abs_diff(ulong2, ulong2); ulong3 = __abs_diff(ulong3, ulong3); ulong4 = __abs_diff(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __abs_diff(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __add */ /*----------------------------------------------------------------------------*/ /* VADDCB char2 = __add(bool2, char2, char2); char3 = __add(bool3, char3, char3); char4 = __add(bool4, char4, char4); char8 = __add(bool8, char8, char8); char16 = __add(bool16, char16, char16); char32 = __add(bool32, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __add(bool64, char64, char64); #endif uchar2 = __add(bool2, uchar2, uchar2); uchar3 = __add(bool3, uchar3, uchar3); uchar4 = __add(bool4, uchar4, uchar4); uchar8 = __add(bool8, uchar8, uchar8); uchar16 = __add(bool16, uchar16, uchar16); uchar32 = __add(bool32, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __add(bool64, uchar64, uchar64); #endif VADDCH short2 = __add(bool2, short2, short2); short3 = __add(bool3, short3, short3); short4 = __add(bool4, short4, short4); short8 = __add(bool8, short8, short8); short16 = __add(bool16, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __add(bool32, short32, short32); #endif ushort2 = __add(bool2, ushort2, ushort2); ushort3 = __add(bool3, ushort3, ushort3); ushort4 = __add(bool4, ushort4, ushort4); ushort8 = __add(bool8, ushort8, ushort8); ushort16 = __add(bool16, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __add(bool32, ushort32, ushort32); #endif VADDCW int2 = __add(bool2, int2, int2); int3 = __add(bool3, int3, int3); int4 = __add(bool4, int4, int4); int8 = __add(bool8, int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __add(bool16, int16, int16); #endif uint2 = __add(bool2, uint2, uint2); uint3 = __add(bool3, uint3, uint3); uint4 = __add(bool4, uint4, uint4); uint8 = __add(bool8, uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __add(bool16, uint16, uint16); #endif VADDCD long2 = __add(bool2, long2, long2); long3 = __add(bool3, long3, long3); long4 = __add(bool4, long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __add(bool8, long8, long8); #endif ulong2 = __add(bool2, ulong2, ulong2); ulong3 = __add(bool3, ulong3, ulong3); ulong4 = __add(bool4, ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __add(bool8, ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __add_sat */ /*----------------------------------------------------------------------------*/ /* VSADDB signed char = __add_sat(signed char, signed char); signed char = __add_sat(signed char, (signed char)(k)); char2 = __add_sat(char2, char2); char2 = __add_sat(char2, (char2)(k)); char3 = __add_sat(char3, char3); char3 = __add_sat(char3, (char3)(k)); char4 = __add_sat(char4, char4); char4 = __add_sat(char4, (char4)(k)); char8 = __add_sat(char8, char8); char8 = __add_sat(char8, (char8)(k)); char16 = __add_sat(char16, char16); char16 = __add_sat(char16, (char16)(k)); char32 = __add_sat(char32, char32); char32 = __add_sat(char32, (char32)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __add_sat(char64, char64); char64 = __add_sat(char64, (char64)(k)); #endif VSADDUSB uchar = __add_sat(uchar, signed char); uchar2 = __add_sat(uchar2, char2); uchar3 = __add_sat(uchar3, char3); uchar4 = __add_sat(uchar4, char4); uchar8 = __add_sat(uchar8, char8); uchar16 = __add_sat(uchar16, char16); uchar32 = __add_sat(uchar32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __add_sat(uchar64, char64); #endif VSADDUB uchar = __add_sat(uchar, uchar); uchar2 = __add_sat(uchar2, uchar2); uchar3 = __add_sat(uchar3, uchar3); uchar4 = __add_sat(uchar4, uchar4); uchar8 = __add_sat(uchar8, uchar8); uchar16 = __add_sat(uchar16, uchar16); uchar32 = __add_sat(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __add_sat(uchar64, uchar64); #endif VSADDB cchar = __add_sat(cchar, cchar); cchar2 = __add_sat(cchar2, cchar2); cchar4 = __add_sat(cchar4, cchar4); cchar8 = __add_sat(cchar8, cchar8); cchar16 = __add_sat(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __add_sat(cchar32, cchar32); #endif VSADDH short = __add_sat(short, short); short = __add_sat(short, (short)(k)); short2 = __add_sat(short2, short2); short2 = __add_sat(short2, (short2)(k)); short3 = __add_sat(short3, short3); short3 = __add_sat(short3, (short3)(k)); short4 = __add_sat(short4, short4); short4 = __add_sat(short4, (short4)(k)); short8 = __add_sat(short8, short8); short8 = __add_sat(short8, (short8)(k)); short16 = __add_sat(short16, short16); short16 = __add_sat(short16, (short16)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __add_sat(short32, short32); short32 = __add_sat(short32, (short32)(k)); #endif VSADDUSH ushort = __add_sat(ushort, short); ushort2 = __add_sat(ushort2, short2); ushort3 = __add_sat(ushort3, short3); ushort4 = __add_sat(ushort4, short4); ushort8 = __add_sat(ushort8, short8); ushort16 = __add_sat(ushort16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __add_sat(ushort32, short32); #endif VSADDUH ushort = __add_sat(ushort, ushort); ushort2 = __add_sat(ushort2, ushort2); ushort3 = __add_sat(ushort3, ushort3); ushort4 = __add_sat(ushort4, ushort4); ushort8 = __add_sat(ushort8, ushort8); ushort16 = __add_sat(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __add_sat(ushort32, ushort32); #endif VSADDH cshort = __add_sat(cshort, cshort); cshort2 = __add_sat(cshort2, cshort2); cshort4 = __add_sat(cshort4, cshort4); cshort8 = __add_sat(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __add_sat(cshort16, cshort16); #endif VSADDW int = __add_sat(int, int); int = __add_sat(int, (int)(k)); int2 = __add_sat(int2, int2); int2 = __add_sat(int2, (int2)(k)); int3 = __add_sat(int3, int3); int3 = __add_sat(int3, (int3)(k)); int4 = __add_sat(int4, int4); int4 = __add_sat(int4, (int4)(k)); int8 = __add_sat(int8, int8); int8 = __add_sat(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __add_sat(int16, int16); int16 = __add_sat(int16, (int16)(k)); #endif VSADDUSW uint = __add_sat(uint, int); uint2 = __add_sat(uint2, int2); uint3 = __add_sat(uint3, int3); uint4 = __add_sat(uint4, int4); uint8 = __add_sat(uint8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __add_sat(uint16, int16); #endif VSADDUW uint = __add_sat(uint, uint); uint2 = __add_sat(uint2, uint2); uint3 = __add_sat(uint3, uint3); uint4 = __add_sat(uint4, uint4); uint8 = __add_sat(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __add_sat(uint16, uint16); #endif VSADDW cint = __add_sat(cint, cint); cint2 = __add_sat(cint2, cint2); cint4 = __add_sat(cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __add_sat(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __and */ /*----------------------------------------------------------------------------*/ /* AND bool2 = __and(bool2, bool2); bool3 = __and(bool3, bool3); bool4 = __and(bool4, bool4); bool8 = __and(bool8, bool8); bool16 = __and(bool16, bool16); bool32 = __and(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __and(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __andn */ /*----------------------------------------------------------------------------*/ /* ANDND, ANDNW, VANDNW signed char = __andn(signed char, signed char); signed char = __andn(signed char, (signed char)(k)); char2 = __andn(char2, char2); char2 = __andn(char2, (char2)(k)); char3 = __andn(char3, char3); char3 = __andn(char3, (char3)(k)); char4 = __andn(char4, char4); char4 = __andn(char4, (char4)(k)); char8 = __andn(char8, char8); char16 = __andn(char16, char16); char32 = __andn(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __andn(char64, char64); #endif uchar = __andn(uchar, uchar); uchar = __andn(uchar, (uchar)(k)); uchar2 = __andn(uchar2, uchar2); uchar2 = __andn(uchar2, (uchar2)(k)); uchar3 = __andn(uchar3, uchar3); uchar3 = __andn(uchar3, (uchar3)(k)); uchar4 = __andn(uchar4, uchar4); uchar4 = __andn(uchar4, (uchar4)(k)); uchar8 = __andn(uchar8, uchar8); uchar16 = __andn(uchar16, uchar16); uchar32 = __andn(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __andn(uchar64, uchar64); #endif short = __andn(short, short); short = __andn(short, (short)(k)); short2 = __andn(short2, short2); short2 = __andn(short2, (short2)(k)); short3 = __andn(short3, short3); short4 = __andn(short4, short4); short8 = __andn(short8, short8); short16 = __andn(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __andn(short32, short32); #endif ushort = __andn(ushort, ushort); ushort = __andn(ushort, (ushort)(k)); ushort2 = __andn(ushort2, ushort2); ushort2 = __andn(ushort2, (ushort2)(k)); ushort3 = __andn(ushort3, ushort3); ushort4 = __andn(ushort4, ushort4); ushort8 = __andn(ushort8, ushort8); ushort16 = __andn(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __andn(ushort32, ushort32); #endif int = __andn(int, int); int = __andn(int, (int)(k)); int2 = __andn(int2, int2); int2 = __andn(int2, (int2)(k)); int3 = __andn(int3, int3); int3 = __andn(int3, (int3)(k)); int4 = __andn(int4, int4); int4 = __andn(int4, (int4)(k)); int8 = __andn(int8, int8); int8 = __andn(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __andn(int16, int16); int16 = __andn(int16, (int16)(k)); #endif uint = __andn(uint, uint); uint = __andn(uint, (uint)(k)); uint2 = __andn(uint2, uint2); uint2 = __andn(uint2, (uint2)(k)); uint3 = __andn(uint3, uint3); uint3 = __andn(uint3, (uint3)(k)); uint4 = __andn(uint4, uint4); uint4 = __andn(uint4, (uint4)(k)); uint8 = __andn(uint8, uint8); uint8 = __andn(uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __andn(uint16, uint16); uint16 = __andn(uint16, (uint16)(k)); #endif ANDND, VANDNW long = __andn(long, long); long = __andn(long, (long)(k)); long2 = __andn(long2, long2); long3 = __andn(long3, long3); long4 = __andn(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __andn(long8, long8); #endif ulong = __andn(ulong, ulong); ulong = __andn(ulong, (ulong)(k)); ulong2 = __andn(ulong2, ulong2); ulong3 = __andn(ulong3, ulong3); ulong4 = __andn(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __andn(ulong8, ulong8); #endif ANDN bool2 = __andn(bool2, bool2); bool3 = __andn(bool3, bool3); bool4 = __andn(bool4, bool4); bool8 = __andn(bool8, bool8); bool16 = __andn(bool16, bool16); bool32 = __andn(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __andn(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __apply_sign */ /*----------------------------------------------------------------------------*/ /* VAPYSB signed char = __apply_sign(signed char, signed char); char2 = __apply_sign(char2, char2); char3 = __apply_sign(char3, char3); char4 = __apply_sign(char4, char4); char8 = __apply_sign(char8, char8); char16 = __apply_sign(char16, char16); char32 = __apply_sign(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __apply_sign(char64, char64); #endif VAPYSH short = __apply_sign(short, short); short2 = __apply_sign(short2, short2); short3 = __apply_sign(short3, short3); short4 = __apply_sign(short4, short4); short8 = __apply_sign(short8, short8); short16 = __apply_sign(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __apply_sign(short32, short32); #endif VAPYSW int = __apply_sign(int, int); int2 = __apply_sign(int2, int2); int3 = __apply_sign(int3, int3); int4 = __apply_sign(int4, int4); int8 = __apply_sign(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __apply_sign(int16, int16); #endif VAPYSD long = __apply_sign(long, long); long2 = __apply_sign(long2, long2); long3 = __apply_sign(long3, long3); long4 = __apply_sign(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __apply_sign(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __binary_log */ /*----------------------------------------------------------------------------*/ /* VBINLOGW uint = __binary_log(uint); uint2 = __binary_log(uint2); uint3 = __binary_log(uint3); uint4 = __binary_log(uint4); uint8 = __binary_log(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __binary_log(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __bit_reverse */ /*----------------------------------------------------------------------------*/ /* VBITRW int = __bit_reverse(int); int2 = __bit_reverse(int2); int3 = __bit_reverse(int3); int4 = __bit_reverse(int4); int8 = __bit_reverse(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __bit_reverse(int16); #endif uint = __bit_reverse(uint); uint2 = __bit_reverse(uint2); uint3 = __bit_reverse(uint3); uint4 = __bit_reverse(uint4); uint8 = __bit_reverse(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __bit_reverse(uint16); #endif VBITRD long = __bit_reverse(long); long2 = __bit_reverse(long2); long3 = __bit_reverse(long3); long4 = __bit_reverse(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __bit_reverse(long8); #endif ulong = __bit_reverse(ulong); ulong2 = __bit_reverse(ulong2); ulong3 = __bit_reverse(ulong3); ulong4 = __bit_reverse(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __bit_reverse(ulong8); #endif BITR #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __bit_reverse(bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __bit_reverse(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __bit_transpose */ /*----------------------------------------------------------------------------*/ /* VBITTRAN8B uchar8 = __bit_transpose(uchar8); uchar16 = __bit_transpose(uchar16); uchar32 = __bit_transpose(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __bit_transpose(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __classify */ /*----------------------------------------------------------------------------*/ /* VCLASSSP int = __classify(float); int2 = __classify(float2); int3 = __classify(float3); int4 = __classify(float4); int8 = __classify(float8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __classify(float16); #endif VCLASSDP long = __classify(double); long2 = __classify(double2); long3 = __classify(double3); long4 = __classify(double4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __classify(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __clear */ /*----------------------------------------------------------------------------*/ /* CLR uint = __clear(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __cmatmpy_ext */ /*----------------------------------------------------------------------------*/ /* VCMATMPYHW cint2 = __cmatmpy_ext(cshort2, cshort4); cint4 = __cmatmpy_ext(cshort4, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __cmatmpy_ext(cshort8, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmatmpy_fx */ /*----------------------------------------------------------------------------*/ /* VCMATMPYR1HH cshort2 = __cmatmpy_fx(cshort2, cshort4); cshort4 = __cmatmpy_fx(cshort4, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort8 = __cmatmpy_fx(cshort8, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_eq */ /*----------------------------------------------------------------------------*/ /* CMPEQW int = __cmp_eq(int, int); int = __cmp_eq(int, (int)(k)); CMPEQSP int = __cmp_eq(float, float); CMPEQD int = __cmp_eq(long, (int)(k)); int = __cmp_eq(long, long); CMPEQDP int = __cmp_eq(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_eq_bool */ /*----------------------------------------------------------------------------*/ /* VCMPEQB bool2 = __cmp_eq_bool(char2, char2); bool3 = __cmp_eq_bool(char3, char3); bool4 = __cmp_eq_bool(char4, char4); bool8 = __cmp_eq_bool(char8, char8); bool16 = __cmp_eq_bool(char16, char16); bool32 = __cmp_eq_bool(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_eq_bool(char64, char64); #endif bool2 = __cmp_eq_bool(uchar2, uchar2); bool3 = __cmp_eq_bool(uchar3, uchar3); bool4 = __cmp_eq_bool(uchar4, uchar4); bool8 = __cmp_eq_bool(uchar8, uchar8); bool16 = __cmp_eq_bool(uchar16, uchar16); bool32 = __cmp_eq_bool(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_eq_bool(uchar64, uchar64); #endif VCMPEQH bool2 = __cmp_eq_bool(short2, short2); bool3 = __cmp_eq_bool(short3, short3); bool4 = __cmp_eq_bool(short4, short4); bool8 = __cmp_eq_bool(short8, short8); bool16 = __cmp_eq_bool(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_eq_bool(short32, short32); #endif bool2 = __cmp_eq_bool(ushort2, ushort2); bool3 = __cmp_eq_bool(ushort3, ushort3); bool4 = __cmp_eq_bool(ushort4, ushort4); bool8 = __cmp_eq_bool(ushort8, ushort8); bool16 = __cmp_eq_bool(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_eq_bool(ushort32, ushort32); #endif VCMPEQW bool2 = __cmp_eq_bool(int2, int2); bool3 = __cmp_eq_bool(int3, int3); bool4 = __cmp_eq_bool(int4, int4); bool8 = __cmp_eq_bool(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_eq_bool(int16, int16); #endif bool2 = __cmp_eq_bool(uint2, uint2); bool3 = __cmp_eq_bool(uint3, uint3); bool4 = __cmp_eq_bool(uint4, uint4); bool8 = __cmp_eq_bool(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_eq_bool(uint16, uint16); #endif VCMPEQSP bool2 = __cmp_eq_bool(float2, float2); bool3 = __cmp_eq_bool(float3, float3); bool4 = __cmp_eq_bool(float4, float4); bool8 = __cmp_eq_bool(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_eq_bool(float16, float16); #endif VCMPEQD bool2 = __cmp_eq_bool(long2, long2); bool3 = __cmp_eq_bool(long3, long3); bool4 = __cmp_eq_bool(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_eq_bool(long8, long8); #endif bool2 = __cmp_eq_bool(ulong2, ulong2); bool3 = __cmp_eq_bool(ulong3, ulong3); bool4 = __cmp_eq_bool(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_eq_bool(ulong8, ulong8); #endif VCMPEQDP bool2 = __cmp_eq_bool(double2, double2); bool3 = __cmp_eq_bool(double3, double3); bool4 = __cmp_eq_bool(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_eq_bool(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_ge */ /*----------------------------------------------------------------------------*/ /* CMPGEW int = __cmp_ge(int, int); int = __cmp_ge(int, (int)(k)); CMPGEUW int = __cmp_ge(uint, uint); int = __cmp_ge(uint, (uint)(k)); CMPGED int = __cmp_ge(long, (int)(k)); int = __cmp_ge(long, long); CMPGEUD int = __cmp_ge(ulong, (uint)(k)); int = __cmp_ge(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_ge_bool */ /*----------------------------------------------------------------------------*/ /* VCMPGEB bool2 = __cmp_ge_bool(char2, char2); bool3 = __cmp_ge_bool(char3, char3); bool4 = __cmp_ge_bool(char4, char4); bool8 = __cmp_ge_bool(char8, char8); bool16 = __cmp_ge_bool(char16, char16); bool32 = __cmp_ge_bool(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_ge_bool(char64, char64); #endif VCMPGEUB bool2 = __cmp_ge_bool(uchar2, uchar2); bool3 = __cmp_ge_bool(uchar3, uchar3); bool4 = __cmp_ge_bool(uchar4, uchar4); bool8 = __cmp_ge_bool(uchar8, uchar8); bool16 = __cmp_ge_bool(uchar16, uchar16); bool32 = __cmp_ge_bool(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_ge_bool(uchar64, uchar64); #endif VCMPGEH bool2 = __cmp_ge_bool(short2, short2); bool3 = __cmp_ge_bool(short3, short3); bool4 = __cmp_ge_bool(short4, short4); bool8 = __cmp_ge_bool(short8, short8); bool16 = __cmp_ge_bool(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_ge_bool(short32, short32); #endif VCMPGEUH bool2 = __cmp_ge_bool(ushort2, ushort2); bool3 = __cmp_ge_bool(ushort3, ushort3); bool4 = __cmp_ge_bool(ushort4, ushort4); bool8 = __cmp_ge_bool(ushort8, ushort8); bool16 = __cmp_ge_bool(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_ge_bool(ushort32, ushort32); #endif VCMPGEW bool2 = __cmp_ge_bool(int2, int2); bool3 = __cmp_ge_bool(int3, int3); bool4 = __cmp_ge_bool(int4, int4); bool8 = __cmp_ge_bool(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_ge_bool(int16, int16); #endif VCMPGEUW bool2 = __cmp_ge_bool(uint2, uint2); bool3 = __cmp_ge_bool(uint3, uint3); bool4 = __cmp_ge_bool(uint4, uint4); bool8 = __cmp_ge_bool(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_ge_bool(uint16, uint16); #endif VCMPGED bool2 = __cmp_ge_bool(long2, long2); bool3 = __cmp_ge_bool(long3, long3); bool4 = __cmp_ge_bool(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_ge_bool(long8, long8); #endif VCMPGEUD bool2 = __cmp_ge_bool(ulong2, ulong2); bool3 = __cmp_ge_bool(ulong3, ulong3); bool4 = __cmp_ge_bool(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_ge_bool(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_gt */ /*----------------------------------------------------------------------------*/ /* CMPGTW int = __cmp_gt(int, int); int = __cmp_gt(int, (int)(k)); CMPGTUW int = __cmp_gt(uint, uint); int = __cmp_gt(uint, (uint)(k)); CMPGTD int = __cmp_gt(long, (int)(k)); int = __cmp_gt(long, long); CMPGTUD int = __cmp_gt(ulong, (uint)(k)); int = __cmp_gt(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_gt_bool */ /*----------------------------------------------------------------------------*/ /* VCMPGTB bool2 = __cmp_gt_bool(char2, char2); bool3 = __cmp_gt_bool(char3, char3); bool4 = __cmp_gt_bool(char4, char4); bool8 = __cmp_gt_bool(char8, char8); bool16 = __cmp_gt_bool(char16, char16); bool32 = __cmp_gt_bool(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_gt_bool(char64, char64); #endif VCMPGTUB bool2 = __cmp_gt_bool(uchar2, uchar2); bool3 = __cmp_gt_bool(uchar3, uchar3); bool4 = __cmp_gt_bool(uchar4, uchar4); bool8 = __cmp_gt_bool(uchar8, uchar8); bool16 = __cmp_gt_bool(uchar16, uchar16); bool32 = __cmp_gt_bool(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __cmp_gt_bool(uchar64, uchar64); #endif VCMPGTH bool2 = __cmp_gt_bool(short2, short2); bool3 = __cmp_gt_bool(short3, short3); bool4 = __cmp_gt_bool(short4, short4); bool8 = __cmp_gt_bool(short8, short8); bool16 = __cmp_gt_bool(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_gt_bool(short32, short32); #endif VCMPGTUH bool2 = __cmp_gt_bool(ushort2, ushort2); bool3 = __cmp_gt_bool(ushort3, ushort3); bool4 = __cmp_gt_bool(ushort4, ushort4); bool8 = __cmp_gt_bool(ushort8, ushort8); bool16 = __cmp_gt_bool(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 bool32 = __cmp_gt_bool(ushort32, ushort32); #endif VCMPGTW bool2 = __cmp_gt_bool(int2, int2); bool3 = __cmp_gt_bool(int3, int3); bool4 = __cmp_gt_bool(int4, int4); bool8 = __cmp_gt_bool(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_gt_bool(int16, int16); #endif VCMPGTUW bool2 = __cmp_gt_bool(uint2, uint2); bool3 = __cmp_gt_bool(uint3, uint3); bool4 = __cmp_gt_bool(uint4, uint4); bool8 = __cmp_gt_bool(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_gt_bool(uint16, uint16); #endif VCMPGTD bool2 = __cmp_gt_bool(long2, long2); bool3 = __cmp_gt_bool(long3, long3); bool4 = __cmp_gt_bool(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_gt_bool(long8, long8); #endif VCMPGTUD bool2 = __cmp_gt_bool(ulong2, ulong2); bool3 = __cmp_gt_bool(ulong3, ulong3); bool4 = __cmp_gt_bool(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_gt_bool(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_le */ /*----------------------------------------------------------------------------*/ /* CMPLESP int = __cmp_le(float, float); CMPLEDP int = __cmp_le(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_le_bool */ /*----------------------------------------------------------------------------*/ /* VCMPLESP bool2 = __cmp_le_bool(float2, float2); bool3 = __cmp_le_bool(float3, float3); bool4 = __cmp_le_bool(float4, float4); bool8 = __cmp_le_bool(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_le_bool(float16, float16); #endif VCMPLEDP bool2 = __cmp_le_bool(double2, double2); bool3 = __cmp_le_bool(double3, double3); bool4 = __cmp_le_bool(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_le_bool(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_lt */ /*----------------------------------------------------------------------------*/ /* CMPLTSP int = __cmp_lt(float, float); CMPLTDP int = __cmp_lt(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmp_lt_bool */ /*----------------------------------------------------------------------------*/ /* VCMPLTSP bool2 = __cmp_lt_bool(float2, float2); bool3 = __cmp_lt_bool(float3, float3); bool4 = __cmp_lt_bool(float4, float4); bool8 = __cmp_lt_bool(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 bool16 = __cmp_lt_bool(float16, float16); #endif VCMPLTDP bool2 = __cmp_lt_bool(double2, double2); bool3 = __cmp_lt_bool(double3, double3); bool4 = __cmp_lt_bool(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 bool8 = __cmp_lt_bool(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmpy_conj_ext */ /*----------------------------------------------------------------------------*/ /* VCCMPYHW cint = __cmpy_conj_ext(cshort, cshort); cint2 = __cmpy_conj_ext(cshort2, cshort2); cint4 = __cmpy_conj_ext(cshort4, cshort4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __cmpy_conj_ext(cshort8, cshort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmpy_conj_fx */ /*----------------------------------------------------------------------------*/ /* VCCMPYR1HH cshort = __cmpy_conj_fx(cshort, cshort); cshort2 = __cmpy_conj_fx(cshort2, cshort2); cshort4 = __cmpy_conj_fx(cshort4, cshort4); cshort8 = __cmpy_conj_fx(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __cmpy_conj_fx(cshort16, cshort16); #endif VCCMPYR1WW cint = __cmpy_conj_fx(cint, cint); cint2 = __cmpy_conj_fx(cint2, cint2); cint4 = __cmpy_conj_fx(cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __cmpy_conj_fx(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmpy_ext */ /*----------------------------------------------------------------------------*/ /* VCMPYHW cint = __cmpy_ext(cshort, cshort); cint2 = __cmpy_ext(cshort2, cshort2); cint4 = __cmpy_ext(cshort4, cshort4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __cmpy_ext(cshort8, cshort8); #endif VCMPYSP float4 = __cmpy_ext(cfloat, cfloat); float8 = __cmpy_ext(cfloat2, cfloat2); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __cmpy_ext(cfloat4, cfloat4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmpy_fx */ /*----------------------------------------------------------------------------*/ /* VCMPYR1HH cshort = __cmpy_fx(cshort, cshort); cshort2 = __cmpy_fx(cshort2, cshort2); cshort4 = __cmpy_fx(cshort4, cshort4); cshort8 = __cmpy_fx(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __cmpy_fx(cshort16, cshort16); #endif VCMPYR1WW cint = __cmpy_fx(cint, cint); cint2 = __cmpy_fx(cint2, cint2); cint4 = __cmpy_fx(cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __cmpy_fx(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __cmpyr_fx */ /*----------------------------------------------------------------------------*/ /* VCMPYRHH cshort = __cmpyr_fx(cshort, cshort); cshort2 = __cmpyr_fx(cshort2, cshort2); cshort4 = __cmpyr_fx(cshort4, cshort4); cshort8 = __cmpyr_fx(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __cmpyr_fx(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __compress_set_bits_left */ /*----------------------------------------------------------------------------*/ /* COMPRESSL #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __compress_set_bits_left(bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __compress_set_bits_left(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __compress_set_bits_right */ /*----------------------------------------------------------------------------*/ /* COMPRESSR #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __compress_set_bits_right(bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __compress_set_bits_right(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __conj_cmatmpy_ext */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYHW cint2 = __conj_cmatmpy_ext(cshort2, cshort4); cint4 = __conj_cmatmpy_ext(cshort4, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __conj_cmatmpy_ext(cshort8, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __conj_cmatmpy_fx */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYR1HH cshort2 = __conj_cmatmpy_fx(cshort2, cshort4); cshort4 = __conj_cmatmpy_fx(cshort4, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort8 = __conj_cmatmpy_fx(cshort8, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __crot270 */ /*----------------------------------------------------------------------------*/ /* VCROT270H cshort = __crot270(cshort); cshort2 = __crot270(cshort2); cshort4 = __crot270(cshort4); cshort8 = __crot270(cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __crot270(cshort16); #endif VCROT270W cint = __crot270(cint); cint2 = __crot270(cint2); cint4 = __crot270(cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __crot270(cint8); #endif VCROT270SP cfloat = __crot270(cfloat); cfloat2 = __crot270(cfloat2); cfloat4 = __crot270(cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __crot270(cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __crot90 */ /*----------------------------------------------------------------------------*/ /* VCROT90H cshort = __crot90(cshort); cshort2 = __crot90(cshort2); cshort4 = __crot90(cshort4); cshort8 = __crot90(cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __crot90(cshort16); #endif VCROT90W cint = __crot90(cint); cint2 = __crot90(cint2); cint4 = __crot90(cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __crot90(cint8); #endif VCROT90SP cfloat = __crot90(cfloat); cfloat2 = __crot90(cfloat2); cfloat4 = __crot90(cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __crot90(cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __deal_bit */ /*----------------------------------------------------------------------------*/ /* VBITDEALW int = __deal_bit(int); int2 = __deal_bit(int2); int3 = __deal_bit(int3); int4 = __deal_bit(int4); int8 = __deal_bit(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __deal_bit(int16); #endif uint = __deal_bit(uint); uint2 = __deal_bit(uint2); uint3 = __deal_bit(uint3); uint4 = __deal_bit(uint4); uint8 = __deal_bit(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __deal_bit(uint16); #endif VBITDEALD long = __deal_bit(long); long2 = __deal_bit(long2); long3 = __deal_bit(long3); long4 = __deal_bit(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __deal_bit(long8); #endif ulong = __deal_bit(ulong); ulong2 = __deal_bit(ulong2); ulong3 = __deal_bit(ulong3); ulong4 = __deal_bit(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __deal_bit(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __deal_stride2 */ /*----------------------------------------------------------------------------*/ /* VDEAL2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __deal_stride2(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __deal_stride2(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __deal_stride2(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __deal_stride2(uchar64); #endif VDEAL2H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __deal_stride2(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __deal_stride2(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __deal_stride2(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __deal_stride2(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __deal_stride2(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __deal_stride2(ushort32); #endif VDEAL2W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __deal_stride2(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __deal_stride2(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __deal_stride2(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __deal_stride2(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __deal_stride2(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __deal_stride2(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __deal_stride2(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __deal_stride2(float16); #endif VDEAL2D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __deal_stride2(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __deal_stride2(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __deal_stride2(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __deal_stride2(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __deal_stride2(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __deal_stride2(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __deal_stride2(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __deal_stride2(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __deal_stride2(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __deal_stride2(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __deal_stride4 */ /*----------------------------------------------------------------------------*/ /* VDEAL4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __deal_stride4(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __deal_stride4(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __deal_stride4(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __deal_stride4(uchar64); #endif VDEAL4H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __deal_stride4(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __deal_stride4(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __deal_stride4(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __deal_stride4(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __deal_stride4(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __deal_stride4(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __decimate */ /*----------------------------------------------------------------------------*/ /* DECIMATEB #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __decimate(bool32, bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __decimate(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dot_posneg128_mask */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16W8D #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dot_posneg128_mask(ushort32, ushort8, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dot_posneg128_mask_ext */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU16W8D #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __dot_posneg128_mask_ext(ushort32, ushort8, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dot_posneg256_mask */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16H16W #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dot_posneg256_mask(ushort32, ushort16, short16); #endif VDOTPMPNU16H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __dot_posneg256_mask(ushort32, ushort16, ushort16); #endif VDOTPMPN32H8W #if __C7X_VEC_SIZE_BITS__ == 512 int8 = __dot_posneg256_mask(uint8, uint8, short32); #endif VDOTPMPNU32H8W #if __C7X_VEC_SIZE_BITS__ == 512 uint8 = __dot_posneg256_mask(uint8, uint8, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dot_posneg512_mask */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16B32H #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __dot_posneg512_mask(ushort32, ushort32, char16); #endif VDOTPMPN32B16H #if __C7X_VEC_SIZE_BITS__ == 512 short16 = __dot_posneg512_mask(uint16, uint16, char32); #endif VDOTPMPNU32B16H #if __C7X_VEC_SIZE_BITS__ == 512 ushort16 = __dot_posneg512_mask(uint16, uint16, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dot_posneg512_mask_ext */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN32B16W #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dot_posneg512_mask_ext(uint16, uint16, char32); #endif VDOTPMPNU32B16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __dot_posneg512_mask_ext(uint16, uint16, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2 */ /*----------------------------------------------------------------------------*/ /* VDOTP2SUBH short = __dotp2(char2, uchar2); short2 = __dotp2(char4, uchar4); short4 = __dotp2(char8, uchar8); short8 = __dotp2(char16, uchar16); short16 = __dotp2(char32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __dotp2(char64, uchar64); #endif VDOTP2UBH ushort = __dotp2(uchar2, uchar2); ushort2 = __dotp2(uchar4, uchar4); ushort4 = __dotp2(uchar8, uchar8); ushort8 = __dotp2(uchar16, uchar16); ushort16 = __dotp2(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __dotp2(uchar64, uchar64); #endif VDOTP2HW int = __dotp2(short2, short2); int2 = __dotp2(short4, short4); int4 = __dotp2(short8, short8); int8 = __dotp2(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dotp2(short32, short32); #endif VDOTP2SUHW int = __dotp2(short2, ushort2); int2 = __dotp2(short4, ushort4); int4 = __dotp2(short8, ushort8); int8 = __dotp2(short16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dotp2(short32, ushort32); #endif VDOTP2UHW uint = __dotp2(ushort2, ushort2); uint2 = __dotp2(ushort4, ushort4); uint4 = __dotp2(ushort8, ushort8); uint8 = __dotp2(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __dotp2(ushort32, ushort32); #endif VCDOTP2HW cint = __dotp2(cshort2, cshort2); cint2 = __dotp2(cshort4, cshort4); cint4 = __dotp2(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __dotp2(cshort16, cshort16); #endif VDOTP2WD long = __dotp2(int2, int2); long2 = __dotp2(int4, int4); long4 = __dotp2(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_conj */ /*----------------------------------------------------------------------------*/ /* VCCDOTP2HW cint = __dotp2_conj(cshort2, cshort2); cint2 = __dotp2_conj(cshort4, cshort4); cint4 = __dotp2_conj(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __dotp2_conj(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_cross */ /*----------------------------------------------------------------------------*/ /* VDOTP2XWD long = __dotp2_cross(int2, int2); long2 = __dotp2_cross(int4, int4); long4 = __dotp2_cross(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2_cross(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_cross_negate */ /*----------------------------------------------------------------------------*/ /* VDOTP2NXWD long = __dotp2_cross_negate(int2, int2); long2 = __dotp2_cross_negate(int4, int4); long4 = __dotp2_cross_negate(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2_cross_negate(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_ext */ /*----------------------------------------------------------------------------*/ /* VDOTP2HD long = __dotp2_ext(short2, short2); long2 = __dotp2_ext(short4, short4); long4 = __dotp2_ext(short8, short8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2_ext(short16, short16); #endif VDOTP2SUHD long = __dotp2_ext(short2, ushort2); long2 = __dotp2_ext(short4, ushort4); long4 = __dotp2_ext(short8, ushort8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2_ext(short16, ushort16); #endif VDOTP2UHD ulong = __dotp2_ext(ushort2, ushort2); ulong2 = __dotp2_ext(ushort4, ushort4); ulong4 = __dotp2_ext(ushort8, ushort8); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __dotp2_ext(ushort16, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_fx_ext */ /*----------------------------------------------------------------------------*/ /* C6DOTP2RSUHW int = __dotp2_fx_ext(short2, ushort2); */ /*----------------------------------------------------------------------------*/ /* ID: __dotp2_negate */ /*----------------------------------------------------------------------------*/ /* C6DOTPN2HW int = __dotp2_negate(short2, short2); C6DOTPN2RSUHH int = __dotp2_negate(short2, ushort2); VDOTP2NWD long = __dotp2_negate(int2, int2); long2 = __dotp2_negate(int4, int4); long4 = __dotp2_negate(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp2_negate(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp4 */ /*----------------------------------------------------------------------------*/ /* VDOTP4HW int = __dotp4(short4, short4); int2 = __dotp4(short8, short8); int4 = __dotp4(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 int8 = __dotp4(short32, short32); #endif VDOTP4SUHW int = __dotp4(short4, ushort4); int2 = __dotp4(short8, ushort8); int4 = __dotp4(short16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 int8 = __dotp4(short32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp4_ext */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUBW int = __dotp4_ext(char4, uchar4); int2 = __dotp4_ext(char8, uchar8); int4 = __dotp4_ext(char16, uchar16); int8 = __dotp4_ext(char32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dotp4_ext(char64, uchar64); #endif VDOTP4UBW uint = __dotp4_ext(uchar4, uchar4); uint2 = __dotp4_ext(uchar8, uchar8); uint4 = __dotp4_ext(uchar16, uchar16); uint8 = __dotp4_ext(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __dotp4_ext(uchar64, uchar64); #endif VDOTP4HD long = __dotp4_ext(short4, short4); long2 = __dotp4_ext(short8, short8); long4 = __dotp4_ext(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp4_ext(short32, short32); #endif VDOTP4SUHD long = __dotp4_ext(short4, ushort4); long2 = __dotp4_ext(short8, ushort8); long4 = __dotp4_ext(short16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __dotp4_ext(short32, ushort32); #endif VDOTP4UHD ulong = __dotp4_ext(ushort4, ushort4); ulong2 = __dotp4_ext(ushort8, ushort8); ulong4 = __dotp4_ext(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __dotp4_ext(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dotp8_ext */ /*----------------------------------------------------------------------------*/ /* VDOTP8SUBW int2 = __dotp8_ext(char8, uchar8); int4 = __dotp8_ext(char16, uchar16); int8 = __dotp8_ext(char32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __dotp8_ext(char64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __double_to_float */ /*----------------------------------------------------------------------------*/ /* VDPSP float2 = __double_to_float(double); float4 = __double_to_float(double2); float8 = __double_to_float(double4); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __double_to_float(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __double_to_int */ /*----------------------------------------------------------------------------*/ /* VDPINT int2 = __double_to_int(double); int4 = __double_to_int(double2); int8 = __double_to_int(double4); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __double_to_int(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __double_to_int_rtz */ /*----------------------------------------------------------------------------*/ /* VDPTRUNC int2 = __double_to_int_rtz(double); int4 = __double_to_int_rtz(double2); int8 = __double_to_int_rtz(double4); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __double_to_int_rtz(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_horizontal_add_skip1 */ /*----------------------------------------------------------------------------*/ /* VHADDEOW4D #if __C7X_VEC_SIZE_BITS__ == 512 long4 = __dual_horizontal_add_skip1(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __dual_horizontal_add_skip1(int8, int8); #endif VHADDUEOW4D #if __C7X_VEC_SIZE_BITS__ == 512 ulong4 = __dual_horizontal_add_skip1(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __dual_horizontal_add_skip1(uint8, uint8); #endif VHADDEOW4D #if __C7X_VEC_SIZE_BITS__ == 512 clong2 = __dual_horizontal_add_skip1(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __dual_horizontal_add_skip1(cint4, cint4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_asc_hi_asc */ /*----------------------------------------------------------------------------*/ /* VDSORTIIH #if __C7X_VEC_SIZE_BITS__ == 512 short16 = __dual_sort_lo_asc_hi_asc(short16); short32 = __dual_sort_lo_asc_hi_asc(short32); #endif VDSORTIIUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort16 = __dual_sort_lo_asc_hi_asc(ushort16); ushort32 = __dual_sort_lo_asc_hi_asc(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_asc_hi_asc_perm */ /*----------------------------------------------------------------------------*/ /* VDSORTPIIH #if __C7X_VEC_SIZE_BITS__ == 512 uchar32 = __dual_sort_lo_asc_hi_asc_perm(short16); uchar64 = __dual_sort_lo_asc_hi_asc_perm(short32); #endif VDSORTPIIUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar32 = __dual_sort_lo_asc_hi_asc_perm(ushort16); uchar64 = __dual_sort_lo_asc_hi_asc_perm(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_asc_hi_desc */ /*----------------------------------------------------------------------------*/ /* VDSORTIDH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __dual_sort_lo_asc_hi_desc(short32); #endif VDSORTIDUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __dual_sort_lo_asc_hi_desc(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_asc_hi_desc_perm */ /*----------------------------------------------------------------------------*/ /* VDSORTPIDH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __dual_sort_lo_asc_hi_desc_perm(short32); #endif VDSORTPIDUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __dual_sort_lo_asc_hi_desc_perm(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_desc_hi_asc */ /*----------------------------------------------------------------------------*/ /* VDSORTDIH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __dual_sort_lo_desc_hi_asc(short32); #endif VDSORTDIUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __dual_sort_lo_desc_hi_asc(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_desc_hi_asc_perm */ /*----------------------------------------------------------------------------*/ /* VDSORTPDIH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __dual_sort_lo_desc_hi_asc_perm(short32); #endif VDSORTPDIUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __dual_sort_lo_desc_hi_asc_perm(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_desc_hi_desc */ /*----------------------------------------------------------------------------*/ /* VDSORTDDH #if __C7X_VEC_SIZE_BITS__ == 512 short16 = __dual_sort_lo_desc_hi_desc(short16); short32 = __dual_sort_lo_desc_hi_desc(short32); #endif VDSORTDDUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort16 = __dual_sort_lo_desc_hi_desc(ushort16); ushort32 = __dual_sort_lo_desc_hi_desc(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __dual_sort_lo_desc_hi_desc_perm */ /*----------------------------------------------------------------------------*/ /* VDSORTPDDH #if __C7X_VEC_SIZE_BITS__ == 512 uchar32 = __dual_sort_lo_desc_hi_desc_perm(short16); uchar64 = __dual_sort_lo_desc_hi_desc_perm(short32); #endif VDSORTPDDUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar32 = __dual_sort_lo_desc_hi_desc_perm(ushort16); uchar64 = __dual_sort_lo_desc_hi_desc_perm(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate */ /*----------------------------------------------------------------------------*/ /* VDUPB #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate(signed char); char64 = __duplicate((signed char)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __duplicate(signed char); char32 = __duplicate((signed char)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate(uchar); uchar64 = __duplicate((uchar)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __duplicate(uchar); uchar32 = __duplicate((uchar)(k)); #endif VDUPH #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __duplicate(cchar); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __duplicate(cchar); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __duplicate(short); short32 = __duplicate((short)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __duplicate(short); short16 = __duplicate((short)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __duplicate(ushort); ushort32 = __duplicate((ushort)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __duplicate(ushort); ushort16 = __duplicate((ushort)(k)); #endif VDUPW #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __duplicate(cshort); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __duplicate(cshort); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __duplicate(int); int16 = __duplicate((int)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __duplicate(int); int8 = __duplicate((int)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __duplicate(uint); uint16 = __duplicate((uint)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __duplicate(uint); uint8 = __duplicate((uint)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __duplicate(float); float16 = __duplicate((float)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __duplicate(float); float8 = __duplicate((float)(k)); #endif VDUPD #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __duplicate(cint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __duplicate(cint); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __duplicate(cfloat); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __duplicate(cfloat); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __duplicate(long); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __duplicate(long); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __duplicate(ulong); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __duplicate(ulong); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __duplicate(double); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __duplicate(double); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate16 */ /*----------------------------------------------------------------------------*/ /* VDUP16B char16 = __duplicate16(signed char); char32 = __duplicate16(char2); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate16(char4); #endif uchar16 = __duplicate16(uchar); uchar32 = __duplicate16(uchar2); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate16(uchar4); #endif VDUP16H cchar16 = __duplicate16(cchar); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __duplicate16(cchar2); #endif short16 = __duplicate16(short); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __duplicate16(short2); #endif ushort16 = __duplicate16(ushort); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __duplicate16(ushort2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate2 */ /*----------------------------------------------------------------------------*/ /* VDUP2B char2 = __duplicate2(signed char); char4 = __duplicate2(char2); char8 = __duplicate2(char4); char16 = __duplicate2(char8); char32 = __duplicate2(char16); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate2(char32); #endif uchar2 = __duplicate2(uchar); uchar4 = __duplicate2(uchar2); uchar8 = __duplicate2(uchar4); uchar16 = __duplicate2(uchar8); uchar32 = __duplicate2(uchar16); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate2(uchar32); #endif VDUP2H cchar2 = __duplicate2(cchar); cchar4 = __duplicate2(cchar2); cchar8 = __duplicate2(cchar4); cchar16 = __duplicate2(cchar8); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __duplicate2(cchar16); #endif short2 = __duplicate2(short); short4 = __duplicate2(short2); short8 = __duplicate2(short4); short16 = __duplicate2(short8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __duplicate2(short16); #endif ushort2 = __duplicate2(ushort); ushort4 = __duplicate2(ushort2); ushort8 = __duplicate2(ushort4); ushort16 = __duplicate2(ushort8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __duplicate2(ushort16); #endif VDUP2W cshort2 = __duplicate2(cshort); cshort4 = __duplicate2(cshort2); cshort8 = __duplicate2(cshort4); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __duplicate2(cshort8); #endif int2 = __duplicate2(int); int4 = __duplicate2(int2); int8 = __duplicate2(int4); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __duplicate2(int8); #endif uint2 = __duplicate2(uint); uint4 = __duplicate2(uint2); uint8 = __duplicate2(uint4); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __duplicate2(uint8); #endif float2 = __duplicate2(float); float4 = __duplicate2(float2); float8 = __duplicate2(float4); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __duplicate2(float8); #endif VDUP2D cint2 = __duplicate2(cint); cint4 = __duplicate2(cint2); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __duplicate2(cint4); #endif cfloat2 = __duplicate2(cfloat); cfloat4 = __duplicate2(cfloat2); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __duplicate2(cfloat4); #endif long2 = __duplicate2(long); long4 = __duplicate2(long2); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __duplicate2(long4); #endif ulong2 = __duplicate2(ulong); ulong4 = __duplicate2(ulong2); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __duplicate2(ulong4); #endif double2 = __duplicate2(double); double4 = __duplicate2(double2); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __duplicate2(double4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate32 */ /*----------------------------------------------------------------------------*/ /* VDUP32B char32 = __duplicate32(signed char); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate32(char2); #endif uchar32 = __duplicate32(uchar); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate32(uchar2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate4 */ /*----------------------------------------------------------------------------*/ /* VDUP4B char4 = __duplicate4(signed char); char8 = __duplicate4(char2); char16 = __duplicate4(char4); char32 = __duplicate4(char8); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate4(char16); #endif uchar4 = __duplicate4(uchar); uchar8 = __duplicate4(uchar2); uchar16 = __duplicate4(uchar4); uchar32 = __duplicate4(uchar8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate4(uchar16); #endif VDUP4H cchar4 = __duplicate4(cchar); cchar8 = __duplicate4(cchar2); cchar16 = __duplicate4(cchar4); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __duplicate4(cchar8); #endif short4 = __duplicate4(short); short8 = __duplicate4(short2); short16 = __duplicate4(short4); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __duplicate4(short8); #endif ushort4 = __duplicate4(ushort); ushort8 = __duplicate4(ushort2); ushort16 = __duplicate4(ushort4); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __duplicate4(ushort8); #endif VDUP4W cshort4 = __duplicate4(cshort); cshort8 = __duplicate4(cshort2); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __duplicate4(cshort4); #endif int4 = __duplicate4(int); int8 = __duplicate4(int2); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __duplicate4(int4); #endif uint4 = __duplicate4(uint); uint8 = __duplicate4(uint2); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __duplicate4(uint4); #endif float4 = __duplicate4(float); float8 = __duplicate4(float2); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __duplicate4(float4); #endif VDUP4D cint4 = __duplicate4(cint); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __duplicate4(cint2); #endif cfloat4 = __duplicate4(cfloat); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __duplicate4(cfloat2); #endif long4 = __duplicate4(long); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __duplicate4(long2); #endif ulong4 = __duplicate4(ulong); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __duplicate4(ulong2); #endif double4 = __duplicate4(double); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __duplicate4(double2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate8 */ /*----------------------------------------------------------------------------*/ /* VDUP8B char8 = __duplicate8(signed char); char16 = __duplicate8(char2); char32 = __duplicate8(char4); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __duplicate8(char8); #endif uchar8 = __duplicate8(uchar); uchar16 = __duplicate8(uchar2); uchar32 = __duplicate8(uchar4); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __duplicate8(uchar8); #endif VDUP8H cchar8 = __duplicate8(cchar); cchar16 = __duplicate8(cchar2); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __duplicate8(cchar4); #endif short8 = __duplicate8(short); short16 = __duplicate8(short2); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __duplicate8(short4); #endif ushort8 = __duplicate8(ushort); ushort16 = __duplicate8(ushort2); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __duplicate8(ushort4); #endif VDUP8W cshort8 = __duplicate8(cshort); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __duplicate8(cshort2); #endif int8 = __duplicate8(int); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __duplicate8(int2); #endif uint8 = __duplicate8(uint); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __duplicate8(uint2); #endif float8 = __duplicate8(float); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __duplicate8(float2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_high */ /*----------------------------------------------------------------------------*/ /* PDUPH2B #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __duplicate_pred_high(bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __duplicate_pred_high(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __duplicate_pred_low */ /*----------------------------------------------------------------------------*/ /* PDUPL2B #if __C7X_VEC_SIZE_BITS__ == 256 bool32 = __duplicate_pred_low(bool32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __duplicate_pred_low(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __expand */ /*----------------------------------------------------------------------------*/ /* VPXPND char2 = __expand(bool2); char3 = __expand(bool3); char4 = __expand(bool4); char8 = __expand(bool8); char16 = __expand(bool16); char32 = __expand(bool32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __expand(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __expand_lsb_pack_char */ /*----------------------------------------------------------------------------*/ /* XPND8B char8 = __expand_lsb_pack_char(signed char); uchar8 = __expand_lsb_pack_char(uchar); */ /*----------------------------------------------------------------------------*/ /* ID: __expand_lsb_pack_short */ /*----------------------------------------------------------------------------*/ /* XPND4H short4 = __expand_lsb_pack_short(signed char); ushort4 = __expand_lsb_pack_short(uchar); */ /*----------------------------------------------------------------------------*/ /* ID: __float_to_half_float */ /*----------------------------------------------------------------------------*/ /* VSPHP uint = __float_to_half_float(float); uint2 = __float_to_half_float(float2); uint3 = __float_to_half_float(float3); uint4 = __float_to_half_float(float4); uint8 = __float_to_half_float(float8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __float_to_half_float(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __float_to_int */ /*----------------------------------------------------------------------------*/ /* VSPINT int = __float_to_int(float); int2 = __float_to_int(float2); int3 = __float_to_int(float3); int4 = __float_to_int(float4); int8 = __float_to_int(float8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __float_to_int(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __float_to_int_rtz */ /*----------------------------------------------------------------------------*/ /* VSPTRUNC int = __float_to_int_rtz(float); int2 = __float_to_int_rtz(float2); int3 = __float_to_int_rtz(float3); int4 = __float_to_int_rtz(float4); int8 = __float_to_int_rtz(float8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __float_to_int_rtz(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __float_to_short */ /*----------------------------------------------------------------------------*/ /* VSPINTH short2 = __float_to_short(float); short4 = __float_to_short(float2); short8 = __float_to_short(float4); short16 = __float_to_short(float8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __float_to_short(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __gmpy */ /*----------------------------------------------------------------------------*/ /* VGMPYB uchar = __gmpy(uchar, uchar); uchar2 = __gmpy(uchar2, uchar2); uchar3 = __gmpy(uchar3, uchar3); uchar4 = __gmpy(uchar4, uchar4); uchar8 = __gmpy(uchar8, uchar8); uchar16 = __gmpy(uchar16, uchar16); uchar32 = __gmpy(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __gmpy(uchar64, uchar64); #endif VGMPYW uint = __gmpy(uint, uint); uint2 = __gmpy(uint2, uint2); uint3 = __gmpy(uint3, uint3); uint4 = __gmpy(uint4, uint4); uint8 = __gmpy(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __gmpy(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __hadd */ /*----------------------------------------------------------------------------*/ /* VAVGNRB signed char = __hadd(signed char, signed char); char2 = __hadd(char2, char2); char3 = __hadd(char3, char3); char4 = __hadd(char4, char4); char8 = __hadd(char8, char8); char16 = __hadd(char16, char16); char32 = __hadd(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __hadd(char64, char64); #endif VAVGNRUB uchar = __hadd(uchar, uchar); uchar2 = __hadd(uchar2, uchar2); uchar3 = __hadd(uchar3, uchar3); uchar4 = __hadd(uchar4, uchar4); uchar8 = __hadd(uchar8, uchar8); uchar16 = __hadd(uchar16, uchar16); uchar32 = __hadd(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __hadd(uchar64, uchar64); #endif VAVGNRH short = __hadd(short, short); short2 = __hadd(short2, short2); short3 = __hadd(short3, short3); short4 = __hadd(short4, short4); short8 = __hadd(short8, short8); short16 = __hadd(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __hadd(short32, short32); #endif VAVGNRUH ushort = __hadd(ushort, ushort); ushort2 = __hadd(ushort2, ushort2); ushort3 = __hadd(ushort3, ushort3); ushort4 = __hadd(ushort4, ushort4); ushort8 = __hadd(ushort8, ushort8); ushort16 = __hadd(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __hadd(ushort32, ushort32); #endif VAVGNRW int = __hadd(int, int); int2 = __hadd(int2, int2); int3 = __hadd(int3, int3); int4 = __hadd(int4, int4); int8 = __hadd(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __hadd(int16, int16); #endif VAVGNRUW uint = __hadd(uint, uint); uint2 = __hadd(uint2, uint2); uint3 = __hadd(uint3, uint3); uint4 = __hadd(uint4, uint4); uint8 = __hadd(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __hadd(uint16, uint16); #endif VAVGNRD long = __hadd(long, long); long2 = __hadd(long2, long2); long3 = __hadd(long3, long3); long4 = __hadd(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __hadd(long8, long8); #endif VAVGNRUD ulong = __hadd(ulong, ulong); ulong2 = __hadd(ulong2, ulong2); ulong3 = __hadd(ulong3, ulong3); ulong4 = __hadd(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __hadd(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __half_float_to_float */ /*----------------------------------------------------------------------------*/ /* VHPSP float = __half_float_to_float(uint); float2 = __half_float_to_float(uint2); float3 = __half_float_to_float(uint3); float4 = __half_float_to_float(uint4); float8 = __half_float_to_float(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __half_float_to_float(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __half_float_to_int */ /*----------------------------------------------------------------------------*/ /* VHPINT int = __half_float_to_int(uint); int2 = __half_float_to_int(uint2); int3 = __half_float_to_int(uint3); int4 = __half_float_to_int(uint4); int8 = __half_float_to_int(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __half_float_to_int(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_char_to_short */ /*----------------------------------------------------------------------------*/ /* VBUNPKHH short = __high_char_to_short(char2); short2 = __high_char_to_short(char4); short4 = __high_char_to_short(char8); short8 = __high_char_to_short(char16); short16 = __high_char_to_short(char32); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __high_char_to_short(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_float_to_double */ /*----------------------------------------------------------------------------*/ /* VSPDPH double = __high_float_to_double(float2); double2 = __high_float_to_double(float4); double4 = __high_float_to_double(float8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __high_float_to_double(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_half_int_to_float */ /*----------------------------------------------------------------------------*/ /* VINTHSPH float2 = __high_half_int_to_float(short4); float4 = __high_half_int_to_float(short8); float8 = __high_half_int_to_float(short16); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __high_half_int_to_float(short32); #endif VINTHSPUH float2 = __high_half_int_to_float(ushort4); float4 = __high_half_int_to_float(ushort8); float8 = __high_half_int_to_float(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __high_half_int_to_float(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_int_to_double */ /*----------------------------------------------------------------------------*/ /* VINTDPH double = __high_int_to_double(int2); double2 = __high_int_to_double(int4); double4 = __high_int_to_double(int8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __high_int_to_double(int16); #endif VINTDPUH double = __high_int_to_double(uint2); double2 = __high_int_to_double(uint4); double4 = __high_int_to_double(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __high_int_to_double(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_int_to_long */ /*----------------------------------------------------------------------------*/ /* VWUNPKDH long = __high_int_to_long(int2); long2 = __high_int_to_long(int4); long4 = __high_int_to_long(int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __high_int_to_long(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_short_to_int */ /*----------------------------------------------------------------------------*/ /* VHUNPKWH int = __high_short_to_int(short2); int2 = __high_short_to_int(short4); int4 = __high_short_to_int(short8); int8 = __high_short_to_int(short16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __high_short_to_int(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_uchar_to_ushort */ /*----------------------------------------------------------------------------*/ /* VBUNPKUHH ushort = __high_uchar_to_ushort(uchar2); ushort2 = __high_uchar_to_ushort(uchar4); ushort4 = __high_uchar_to_ushort(uchar8); ushort8 = __high_uchar_to_ushort(uchar16); ushort16 = __high_uchar_to_ushort(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __high_uchar_to_ushort(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_uint_to_ulong */ /*----------------------------------------------------------------------------*/ /* VWUNPKUDH ulong = __high_uint_to_ulong(uint2); ulong2 = __high_uint_to_ulong(uint4); ulong4 = __high_uint_to_ulong(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __high_uint_to_ulong(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __high_ushort_to_uint */ /*----------------------------------------------------------------------------*/ /* VHUNPKUWH uint = __high_ushort_to_uint(ushort2); uint2 = __high_ushort_to_uint(ushort4); uint4 = __high_ushort_to_uint(ushort8); uint8 = __high_ushort_to_uint(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __high_ushort_to_uint(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __horizontal_add */ /*----------------------------------------------------------------------------*/ /* VHADDB1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __horizontal_add(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __horizontal_add(char32); #endif VHADDUB1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __horizontal_add(uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __horizontal_add(uchar32); #endif VHADDH1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __horizontal_add(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __horizontal_add(short16); #endif VHADDUH1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __horizontal_add(ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __horizontal_add(ushort16); #endif VHADDW1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __horizontal_add(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __horizontal_add(int8); #endif VHADDUW1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __horizontal_add(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __horizontal_add(uint8); #endif VHADDD1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __horizontal_add(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __horizontal_add(long4); #endif VHADDUD1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __horizontal_add(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __horizontal_add(ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __horizontal_add_skip1 */ /*----------------------------------------------------------------------------*/ /* VHADDEOH2W #if __C7X_VEC_SIZE_BITS__ == 512 int2 = __horizontal_add_skip1(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int2 = __horizontal_add_skip1(short16); #endif VHADDUEOH2W #if __C7X_VEC_SIZE_BITS__ == 512 uint2 = __horizontal_add_skip1(ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint2 = __horizontal_add_skip1(ushort16); #endif VHADDEOH2W #if __C7X_VEC_SIZE_BITS__ == 512 cint = __horizontal_add_skip1(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint = __horizontal_add_skip1(cshort8); #endif VHADDEOW2D #if __C7X_VEC_SIZE_BITS__ == 512 long2 = __horizontal_add_skip1(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long2 = __horizontal_add_skip1(int8); #endif VHADDUEOW2D #if __C7X_VEC_SIZE_BITS__ == 512 ulong2 = __horizontal_add_skip1(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong2 = __horizontal_add_skip1(uint8); #endif VHADDEOW2D #if __C7X_VEC_SIZE_BITS__ == 512 clong = __horizontal_add_skip1(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong = __horizontal_add_skip1(cint4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __horizontal_xor */ /*----------------------------------------------------------------------------*/ /* VHXORB1B #if __C7X_VEC_SIZE_BITS__ == 512 short = __horizontal_xor(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __horizontal_xor(char32); #endif VHXORH1H #if __C7X_VEC_SIZE_BITS__ == 512 short = __horizontal_xor(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __horizontal_xor(short16); #endif VHXORW1W #if __C7X_VEC_SIZE_BITS__ == 512 int = __horizontal_xor(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int = __horizontal_xor(int8); #endif VHXORD1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __horizontal_xor(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __horizontal_xor(long4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __int40_to_int_sat */ /*----------------------------------------------------------------------------*/ /* VSATLW long = __int40_to_int_sat(long); long2 = __int40_to_int_sat(long2); long3 = __int40_to_int_sat(long3); long4 = __int40_to_int_sat(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __int40_to_int_sat(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __int_to_float */ /*----------------------------------------------------------------------------*/ /* VINTSP float = __int_to_float(int); float2 = __int_to_float(int2); float3 = __int_to_float(int3); float4 = __int_to_float(int4); float8 = __int_to_float(int8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __int_to_float(int16); #endif VINTSPU float = __int_to_float(uint); float2 = __int_to_float(uint2); float3 = __int_to_float(uint3); float4 = __int_to_float(uint4); float8 = __int_to_float(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __int_to_float(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __int_to_half_float */ /*----------------------------------------------------------------------------*/ /* VINTHP uint = __int_to_half_float(int); uint2 = __int_to_half_float(int2); uint3 = __int_to_half_float(int3); uint4 = __int_to_half_float(int4); uint8 = __int_to_half_float(int8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __int_to_half_float(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __int_to_short_sat */ /*----------------------------------------------------------------------------*/ /* VSATWH int = __int_to_short_sat(int); int2 = __int_to_short_sat(int2); int3 = __int_to_short_sat(int3); int4 = __int_to_short_sat(int4); int8 = __int_to_short_sat(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __int_to_short_sat(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __leftmost_bit_detect */ /*----------------------------------------------------------------------------*/ /* VLMBDB uchar = __leftmost_bit_detect(uchar, uchar); uchar2 = __leftmost_bit_detect(uchar2, uchar2); uchar3 = __leftmost_bit_detect(uchar3, uchar3); uchar4 = __leftmost_bit_detect(uchar4, uchar4); uchar8 = __leftmost_bit_detect(uchar8, uchar8); uchar16 = __leftmost_bit_detect(uchar16, uchar16); uchar32 = __leftmost_bit_detect(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __leftmost_bit_detect(uchar64, uchar64); #endif VLMBDH ushort = __leftmost_bit_detect(ushort, ushort); ushort2 = __leftmost_bit_detect(ushort2, ushort2); ushort3 = __leftmost_bit_detect(ushort3, ushort3); ushort4 = __leftmost_bit_detect(ushort4, ushort4); ushort8 = __leftmost_bit_detect(ushort8, ushort8); ushort16 = __leftmost_bit_detect(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __leftmost_bit_detect(ushort32, ushort32); #endif VLMBDW uint = __leftmost_bit_detect(uint, uint); uint2 = __leftmost_bit_detect(uint2, uint2); uint3 = __leftmost_bit_detect(uint3, uint3); uint4 = __leftmost_bit_detect(uint4, uint4); uint8 = __leftmost_bit_detect(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __leftmost_bit_detect(uint16, uint16); #endif VLMBDD ulong = __leftmost_bit_detect(ulong, ulong); ulong2 = __leftmost_bit_detect(ulong2, ulong2); ulong3 = __leftmost_bit_detect(ulong3, ulong3); ulong4 = __leftmost_bit_detect(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __leftmost_bit_detect(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __leftmost_bit_detect_one */ /*----------------------------------------------------------------------------*/ /* VLMBD1B uchar = __leftmost_bit_detect_one(uchar); uchar2 = __leftmost_bit_detect_one(uchar2); uchar3 = __leftmost_bit_detect_one(uchar3); uchar4 = __leftmost_bit_detect_one(uchar4); uchar8 = __leftmost_bit_detect_one(uchar8); uchar16 = __leftmost_bit_detect_one(uchar16); uchar32 = __leftmost_bit_detect_one(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __leftmost_bit_detect_one(uchar64); #endif VLMBD1H ushort = __leftmost_bit_detect_one(ushort); ushort2 = __leftmost_bit_detect_one(ushort2); ushort3 = __leftmost_bit_detect_one(ushort3); ushort4 = __leftmost_bit_detect_one(ushort4); ushort8 = __leftmost_bit_detect_one(ushort8); ushort16 = __leftmost_bit_detect_one(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __leftmost_bit_detect_one(ushort32); #endif VLMBD1W uint = __leftmost_bit_detect_one(uint); uint2 = __leftmost_bit_detect_one(uint2); uint3 = __leftmost_bit_detect_one(uint3); uint4 = __leftmost_bit_detect_one(uint4); uint8 = __leftmost_bit_detect_one(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __leftmost_bit_detect_one(uint16); #endif VLMBD1D ulong = __leftmost_bit_detect_one(ulong); ulong2 = __leftmost_bit_detect_one(ulong2); ulong3 = __leftmost_bit_detect_one(ulong3); ulong4 = __leftmost_bit_detect_one(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __leftmost_bit_detect_one(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __leftmost_bit_detect_zero */ /*----------------------------------------------------------------------------*/ /* VLMBD0B uchar = __leftmost_bit_detect_zero(uchar); uchar2 = __leftmost_bit_detect_zero(uchar2); uchar3 = __leftmost_bit_detect_zero(uchar3); uchar4 = __leftmost_bit_detect_zero(uchar4); uchar8 = __leftmost_bit_detect_zero(uchar8); uchar16 = __leftmost_bit_detect_zero(uchar16); uchar32 = __leftmost_bit_detect_zero(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __leftmost_bit_detect_zero(uchar64); #endif VLMBD0H ushort = __leftmost_bit_detect_zero(ushort); ushort2 = __leftmost_bit_detect_zero(ushort2); ushort3 = __leftmost_bit_detect_zero(ushort3); ushort4 = __leftmost_bit_detect_zero(ushort4); ushort8 = __leftmost_bit_detect_zero(ushort8); ushort16 = __leftmost_bit_detect_zero(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __leftmost_bit_detect_zero(ushort32); #endif VLMBD0W uint = __leftmost_bit_detect_zero(uint); uint2 = __leftmost_bit_detect_zero(uint2); uint3 = __leftmost_bit_detect_zero(uint3); uint4 = __leftmost_bit_detect_zero(uint4); uint8 = __leftmost_bit_detect_zero(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __leftmost_bit_detect_zero(uint16); #endif VLMBD0D ulong = __leftmost_bit_detect_zero(ulong); ulong2 = __leftmost_bit_detect_zero(ulong2); ulong3 = __leftmost_bit_detect_zero(ulong3); ulong4 = __leftmost_bit_detect_zero(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __leftmost_bit_detect_zero(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __logical_and */ /*----------------------------------------------------------------------------*/ /* LANDD int = __logical_and(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __logical_andn */ /*----------------------------------------------------------------------------*/ /* LANDND int = __logical_andn(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __logical_or */ /*----------------------------------------------------------------------------*/ /* LORD int = __logical_or(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __long_to_int40_sat */ /*----------------------------------------------------------------------------*/ /* VSATDL long = __long_to_int40_sat(long); long2 = __long_to_int40_sat(long2); long3 = __long_to_int40_sat(long3); long4 = __long_to_int40_sat(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __long_to_int40_sat(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __long_to_int_sat */ /*----------------------------------------------------------------------------*/ /* VSATDW long = __long_to_int_sat(long); long2 = __long_to_int_sat(long2); long3 = __long_to_int_sat(long3); long4 = __long_to_int_sat(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __long_to_int_sat(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_char_to_short */ /*----------------------------------------------------------------------------*/ /* VBUNPKHL short = __low_char_to_short(char2); short2 = __low_char_to_short(char4); short4 = __low_char_to_short(char8); short8 = __low_char_to_short(char16); short16 = __low_char_to_short(char32); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __low_char_to_short(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_float_to_double */ /*----------------------------------------------------------------------------*/ /* VSPDPL double = __low_float_to_double(float2); double2 = __low_float_to_double(float4); double4 = __low_float_to_double(float8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __low_float_to_double(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_half_int_to_float */ /*----------------------------------------------------------------------------*/ /* VINTHSPL float2 = __low_half_int_to_float(short4); float4 = __low_half_int_to_float(short8); float8 = __low_half_int_to_float(short16); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __low_half_int_to_float(short32); #endif VINTHSPUL float2 = __low_half_int_to_float(ushort4); float4 = __low_half_int_to_float(ushort8); float8 = __low_half_int_to_float(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __low_half_int_to_float(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_int_to_double */ /*----------------------------------------------------------------------------*/ /* VINTDPL double = __low_int_to_double(int2); double2 = __low_int_to_double(int4); double4 = __low_int_to_double(int8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __low_int_to_double(int16); #endif VINTDPUL double = __low_int_to_double(uint2); double2 = __low_int_to_double(uint4); double4 = __low_int_to_double(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __low_int_to_double(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_int_to_long */ /*----------------------------------------------------------------------------*/ /* VWUNPKDL long = __low_int_to_long(int2); long2 = __low_int_to_long(int4); long4 = __low_int_to_long(int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __low_int_to_long(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_short_to_int */ /*----------------------------------------------------------------------------*/ /* VHUNPKWL int = __low_short_to_int(short2); int2 = __low_short_to_int(short4); int4 = __low_short_to_int(short8); int8 = __low_short_to_int(short16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __low_short_to_int(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_uchar_to_ushort */ /*----------------------------------------------------------------------------*/ /* VBUNPKUHL ushort = __low_uchar_to_ushort(uchar2); ushort2 = __low_uchar_to_ushort(uchar4); ushort4 = __low_uchar_to_ushort(uchar8); ushort8 = __low_uchar_to_ushort(uchar16); ushort16 = __low_uchar_to_ushort(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __low_uchar_to_ushort(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_uint_to_ulong */ /*----------------------------------------------------------------------------*/ /* VWUNPKUDL ulong = __low_uint_to_ulong(uint2); ulong2 = __low_uint_to_ulong(uint4); ulong4 = __low_uint_to_ulong(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __low_uint_to_ulong(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __low_ushort_to_uint */ /*----------------------------------------------------------------------------*/ /* VHUNPKUWL uint = __low_ushort_to_uint(ushort2); uint2 = __low_ushort_to_uint(ushort4); uint4 = __low_ushort_to_uint(ushort8); uint8 = __low_ushort_to_uint(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __low_ushort_to_uint(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __max */ /*----------------------------------------------------------------------------*/ /* VMAXB signed char = __max(signed char, signed char); char2 = __max(char2, char2); char3 = __max(char3, char3); char4 = __max(char4, char4); char8 = __max(char8, char8); char16 = __max(char16, char16); char32 = __max(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __max(char64, char64); #endif VMAXUB uchar = __max(uchar, uchar); uchar2 = __max(uchar2, uchar2); uchar3 = __max(uchar3, uchar3); uchar4 = __max(uchar4, uchar4); uchar8 = __max(uchar8, uchar8); uchar16 = __max(uchar16, uchar16); uchar32 = __max(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __max(uchar64, uchar64); #endif VMAXH short = __max(short, short); short2 = __max(short2, short2); short3 = __max(short3, short3); short4 = __max(short4, short4); short8 = __max(short8, short8); short16 = __max(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __max(short32, short32); #endif VMAXUH ushort = __max(ushort, ushort); ushort2 = __max(ushort2, ushort2); ushort3 = __max(ushort3, ushort3); ushort4 = __max(ushort4, ushort4); ushort8 = __max(ushort8, ushort8); ushort16 = __max(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __max(ushort32, ushort32); #endif VMAXW int = __max(int, int); int2 = __max(int2, int2); int3 = __max(int3, int3); int4 = __max(int4, int4); int8 = __max(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __max(int16, int16); #endif VMAXUW uint = __max(uint, uint); uint2 = __max(uint2, uint2); uint3 = __max(uint3, uint3); uint4 = __max(uint4, uint4); uint8 = __max(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __max(uint16, uint16); #endif VMAXSP float = __max(float, float); float2 = __max(float2, float2); float3 = __max(float3, float3); float4 = __max(float4, float4); float8 = __max(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __max(float16, float16); #endif VMAXD long = __max(long, long); long2 = __max(long2, long2); long3 = __max(long3, long3); long4 = __max(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __max(long8, long8); #endif VMAXUD ulong = __max(ulong, ulong); ulong2 = __max(ulong2, ulong2); ulong3 = __max(ulong3, ulong3); ulong4 = __max(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __max(ulong8, ulong8); #endif VMAXDP double = __max(double, double); double2 = __max(double2, double2); double3 = __max(double3, double3); double4 = __max(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __max(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __max_circ */ /*----------------------------------------------------------------------------*/ /* VCMAXB signed char = __max_circ(signed char, signed char); char2 = __max_circ(char2, char2); char3 = __max_circ(char3, char3); char4 = __max_circ(char4, char4); char8 = __max_circ(char8, char8); char16 = __max_circ(char16, char16); char32 = __max_circ(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __max_circ(char64, char64); #endif VCMAXH short = __max_circ(short, short); short2 = __max_circ(short2, short2); short3 = __max_circ(short3, short3); short4 = __max_circ(short4, short4); short8 = __max_circ(short8, short8); short16 = __max_circ(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __max_circ(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __max_circ_bool */ /*----------------------------------------------------------------------------*/ /* VCMAXPB __max_circ_bool(char2, char2&, bool2&); __max_circ_bool(char3, char3&, bool3&); __max_circ_bool(char4, char4&, bool4&); __max_circ_bool(char8, char8&, bool8&); __max_circ_bool(char16, char16&, bool16&); __max_circ_bool(char32, char32&, bool32&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_circ_bool(char64, char64&, bool64&); #endif VCMAXPH __max_circ_bool(short2, short2&, bool2&); __max_circ_bool(short3, short3&, bool3&); __max_circ_bool(short4, short4&, bool4&); __max_circ_bool(short8, short8&, bool8&); __max_circ_bool(short16, short16&, bool16&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_circ_bool(short32, short32&, bool32&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __max_index_bool */ /*----------------------------------------------------------------------------*/ /* VMAXPB __max_index_bool(char2, char2&, bool2&); __max_index_bool(char3, char3&, bool3&); __max_index_bool(char4, char4&, bool4&); __max_index_bool(char8, char8&, bool8&); __max_index_bool(char16, char16&, bool16&); __max_index_bool(char32, char32&, bool32&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(char64, char64&, bool64&); #endif VMAXUPB __max_index_bool(uchar2, uchar2&, bool2&); __max_index_bool(uchar3, uchar3&, bool3&); __max_index_bool(uchar4, uchar4&, bool4&); __max_index_bool(uchar8, uchar8&, bool8&); __max_index_bool(uchar16, uchar16&, bool16&); __max_index_bool(uchar32, uchar32&, bool32&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(uchar64, uchar64&, bool64&); #endif VMAXPH __max_index_bool(short2, short2&, bool2&); __max_index_bool(short3, short3&, bool3&); __max_index_bool(short4, short4&, bool4&); __max_index_bool(short8, short8&, bool8&); __max_index_bool(short16, short16&, bool16&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(short32, short32&, bool32&); #endif VMAXUPH __max_index_bool(ushort2, ushort2&, bool2&); __max_index_bool(ushort3, ushort3&, bool3&); __max_index_bool(ushort4, ushort4&, bool4&); __max_index_bool(ushort8, ushort8&, bool8&); __max_index_bool(ushort16, ushort16&, bool16&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(ushort32, ushort32&, bool32&); #endif VMAXPW __max_index_bool(int2, int2&, bool2&); __max_index_bool(int3, int3&, bool3&); __max_index_bool(int4, int4&, bool4&); __max_index_bool(int8, int8&, bool8&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(int16, int16&, bool16&); #endif VMAXUPW __max_index_bool(uint2, uint2&, bool2&); __max_index_bool(uint3, uint3&, bool3&); __max_index_bool(uint4, uint4&, bool4&); __max_index_bool(uint8, uint8&, bool8&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(uint16, uint16&, bool16&); #endif VMAXPD __max_index_bool(long2, long2&, bool2&); __max_index_bool(long3, long3&, bool3&); __max_index_bool(long4, long4&, bool4&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(long8, long8&, bool8&); #endif VMAXUPD __max_index_bool(ulong2, ulong2&, bool2&); __max_index_bool(ulong3, ulong3&, bool3&); __max_index_bool(ulong4, ulong4&, bool4&); #if __C7X_VEC_SIZE_BITS__ == 512 __max_index_bool(ulong8, ulong8&, bool8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __min */ /*----------------------------------------------------------------------------*/ /* VMINB signed char = __min(signed char, signed char); char2 = __min(char2, char2); char3 = __min(char3, char3); char4 = __min(char4, char4); char8 = __min(char8, char8); char16 = __min(char16, char16); char32 = __min(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __min(char64, char64); #endif VMINUB uchar = __min(uchar, uchar); uchar2 = __min(uchar2, uchar2); uchar3 = __min(uchar3, uchar3); uchar4 = __min(uchar4, uchar4); uchar8 = __min(uchar8, uchar8); uchar16 = __min(uchar16, uchar16); uchar32 = __min(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __min(uchar64, uchar64); #endif VMINH short = __min(short, short); short2 = __min(short2, short2); short3 = __min(short3, short3); short4 = __min(short4, short4); short8 = __min(short8, short8); short16 = __min(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __min(short32, short32); #endif VMINUH ushort = __min(ushort, ushort); ushort2 = __min(ushort2, ushort2); ushort3 = __min(ushort3, ushort3); ushort4 = __min(ushort4, ushort4); ushort8 = __min(ushort8, ushort8); ushort16 = __min(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __min(ushort32, ushort32); #endif VMINW int = __min(int, int); int2 = __min(int2, int2); int3 = __min(int3, int3); int4 = __min(int4, int4); int8 = __min(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __min(int16, int16); #endif VMINUW uint = __min(uint, uint); uint2 = __min(uint2, uint2); uint3 = __min(uint3, uint3); uint4 = __min(uint4, uint4); uint8 = __min(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __min(uint16, uint16); #endif VMINSP float = __min(float, float); float2 = __min(float2, float2); float3 = __min(float3, float3); float4 = __min(float4, float4); float8 = __min(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __min(float16, float16); #endif VMIND long = __min(long, long); long2 = __min(long2, long2); long3 = __min(long3, long3); long4 = __min(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __min(long8, long8); #endif VMINUD ulong = __min(ulong, ulong); ulong2 = __min(ulong2, ulong2); ulong3 = __min(ulong3, ulong3); ulong4 = __min(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __min(ulong8, ulong8); #endif VMINDP double = __min(double, double); double2 = __min(double2, double2); double3 = __min(double3, double3); double4 = __min(double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __min(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __min_index_bool */ /*----------------------------------------------------------------------------*/ /* VMINPB __min_index_bool(char2, char2&, bool2&); __min_index_bool(char3, char3&, bool3&); __min_index_bool(char4, char4&, bool4&); __min_index_bool(char8, char8&, bool8&); __min_index_bool(char16, char16&, bool16&); __min_index_bool(char32, char32&, bool32&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(char64, char64&, bool64&); #endif VMINUPB __min_index_bool(uchar2, uchar2&, bool2&); __min_index_bool(uchar3, uchar3&, bool3&); __min_index_bool(uchar4, uchar4&, bool4&); __min_index_bool(uchar8, uchar8&, bool8&); __min_index_bool(uchar16, uchar16&, bool16&); __min_index_bool(uchar32, uchar32&, bool32&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(uchar64, uchar64&, bool64&); #endif VMINPH __min_index_bool(short2, short2&, bool2&); __min_index_bool(short3, short3&, bool3&); __min_index_bool(short4, short4&, bool4&); __min_index_bool(short8, short8&, bool8&); __min_index_bool(short16, short16&, bool16&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(short32, short32&, bool32&); #endif VMINUPH __min_index_bool(ushort2, ushort2&, bool2&); __min_index_bool(ushort3, ushort3&, bool3&); __min_index_bool(ushort4, ushort4&, bool4&); __min_index_bool(ushort8, ushort8&, bool8&); __min_index_bool(ushort16, ushort16&, bool16&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(ushort32, ushort32&, bool32&); #endif VMINPW __min_index_bool(int2, int2&, bool2&); __min_index_bool(int3, int3&, bool3&); __min_index_bool(int4, int4&, bool4&); __min_index_bool(int8, int8&, bool8&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(int16, int16&, bool16&); #endif VMINUPW __min_index_bool(uint2, uint2&, bool2&); __min_index_bool(uint3, uint3&, bool3&); __min_index_bool(uint4, uint4&, bool4&); __min_index_bool(uint8, uint8&, bool8&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(uint16, uint16&, bool16&); #endif VMINPD __min_index_bool(long2, long2&, bool2&); __min_index_bool(long3, long3&, bool3&); __min_index_bool(long4, long4&, bool4&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(long8, long8&, bool8&); #endif VMINUPD __min_index_bool(ulong2, ulong2&, bool2&); __min_index_bool(ulong3, ulong3&, bool3&); __min_index_bool(ulong4, ulong4&, bool4&); #if __C7X_VEC_SIZE_BITS__ == 512 __min_index_bool(ulong8, ulong8&, bool8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_ext */ /*----------------------------------------------------------------------------*/ /* VMPYSUBH short = __mpy_ext(signed char, uchar); short2 = __mpy_ext(char2, uchar2); short3 = __mpy_ext(char3, uchar3); short4 = __mpy_ext(char4, uchar4); short8 = __mpy_ext(char8, uchar8); short16 = __mpy_ext(char16, uchar16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __mpy_ext(char32, uchar32); #endif VMPYUBH ushort = __mpy_ext(uchar, uchar); ushort2 = __mpy_ext(uchar2, uchar2); ushort3 = __mpy_ext(uchar3, uchar3); ushort4 = __mpy_ext(uchar4, uchar4); ushort8 = __mpy_ext(uchar8, uchar8); ushort16 = __mpy_ext(uchar16, uchar16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __mpy_ext(uchar32, uchar32); #endif MPYHW, VMPYHW int = __mpy_ext(short, short); int2 = __mpy_ext(short2, short2); int3 = __mpy_ext(short3, short3); int4 = __mpy_ext(short4, short4); int8 = __mpy_ext(short8, short8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_ext(short16, short16); #endif MPYSUHW, VMPYSUHW int = __mpy_ext(short, ushort); int2 = __mpy_ext(short2, ushort2); int3 = __mpy_ext(short3, ushort3); int4 = __mpy_ext(short4, ushort4); int8 = __mpy_ext(short8, ushort8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_ext(short16, ushort16); #endif MPYUHW, VMPYUHW uint = __mpy_ext(ushort, ushort); uint2 = __mpy_ext(ushort2, ushort2); uint3 = __mpy_ext(ushort3, ushort3); uint4 = __mpy_ext(ushort4, ushort4); uint8 = __mpy_ext(ushort8, ushort8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __mpy_ext(ushort16, ushort16); #endif VMPYWD long = __mpy_ext(int, int); long2 = __mpy_ext(int2, int2); long3 = __mpy_ext(int3, int3); long4 = __mpy_ext(int4, int4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __mpy_ext(int8, int8); #endif VMPYSUWD long = __mpy_ext(int, uint); long2 = __mpy_ext(int2, uint2); long3 = __mpy_ext(int3, uint3); long4 = __mpy_ext(int4, uint4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __mpy_ext(int8, uint8); #endif VMPYUWD ulong = __mpy_ext(uint, uint); ulong2 = __mpy_ext(uint2, uint2); ulong3 = __mpy_ext(uint3, uint3); ulong4 = __mpy_ext(uint4, uint4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __mpy_ext(uint8, uint8); #endif VMPYSP2DP double = __mpy_ext(float, float); double2 = __mpy_ext(float2, float2); double3 = __mpy_ext(float3, float3); double4 = __mpy_ext(float4, float4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __mpy_ext(float8, float8); #endif VMPYUDQ ulong2 = __mpy_ext(ulong, ulong); ulong4 = __mpy_ext(ulong2, ulong2); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __mpy_ext(ulong4, ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_fx */ /*----------------------------------------------------------------------------*/ /* C6MPY2IR int2 = __mpy_fx(short2, int); */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat */ /*----------------------------------------------------------------------------*/ /* VSMPYWW int = __mpy_sat(int, int); int2 = __mpy_sat(int2, int2); int3 = __mpy_sat(int3, int3); int4 = __mpy_sat(int4, int4); int8 = __mpy_sat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_sat(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat_ext */ /*----------------------------------------------------------------------------*/ /* SMPYHW, VSMPYHW int = __mpy_sat_ext(short, short); int2 = __mpy_sat_ext(short2, short2); int3 = __mpy_sat_ext(short3, short3); int4 = __mpy_sat_ext(short4, short4); int8 = __mpy_sat_ext(short8, short8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_sat_ext(short16, short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat_fxq15 */ /*----------------------------------------------------------------------------*/ /* VSMPYR1HH short = __mpy_sat_fxq15(short, short); short2 = __mpy_sat_fxq15(short2, short2); short3 = __mpy_sat_fxq15(short3, short3); short4 = __mpy_sat_fxq15(short4, short4); short8 = __mpy_sat_fxq15(short8, short8); short16 = __mpy_sat_fxq15(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __mpy_sat_fxq15(short32, short32); #endif VSMPYRSUHH short = __mpy_sat_fxq15(short, ushort); short2 = __mpy_sat_fxq15(short2, ushort2); short3 = __mpy_sat_fxq15(short3, ushort3); short4 = __mpy_sat_fxq15(short4, ushort4); short8 = __mpy_sat_fxq15(short8, ushort8); short16 = __mpy_sat_fxq15(short16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __mpy_sat_fxq15(short32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat_fxq16 */ /*----------------------------------------------------------------------------*/ /* VSMPYRUHH ushort = __mpy_sat_fxq16(ushort, ushort); ushort2 = __mpy_sat_fxq16(ushort2, ushort2); ushort3 = __mpy_sat_fxq16(ushort3, ushort3); ushort4 = __mpy_sat_fxq16(ushort4, ushort4); ushort8 = __mpy_sat_fxq16(ushort8, ushort8); ushort16 = __mpy_sat_fxq16(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __mpy_sat_fxq16(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat_fxq16_15 */ /*----------------------------------------------------------------------------*/ /* VSMPYR17WW int = __mpy_sat_fxq16_15(int, int); int2 = __mpy_sat_fxq16_15(int2, int2); int3 = __mpy_sat_fxq16_15(int3, int3); int4 = __mpy_sat_fxq16_15(int4, int4); int8 = __mpy_sat_fxq16_15(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_sat_fxq16_15(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_sat_fxq31 */ /*----------------------------------------------------------------------------*/ /* VSMPYR1WW int = __mpy_sat_fxq31(int, int); int2 = __mpy_sat_fxq31(int2, int2); int3 = __mpy_sat_fxq31(int3, int3); int4 = __mpy_sat_fxq31(int4, int4); int8 = __mpy_sat_fxq31(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __mpy_sat_fxq31(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __mpy_xor */ /*----------------------------------------------------------------------------*/ /* VXORMPYW uint = __mpy_xor(uint, uint); uint2 = __mpy_xor(uint2, uint2); uint3 = __mpy_xor(uint3, uint3); uint4 = __mpy_xor(uint4, uint4); uint8 = __mpy_xor(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __mpy_xor(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __nand */ /*----------------------------------------------------------------------------*/ /* NANDD, NANDW, VNANDW signed char = __nand(signed char, signed char); char2 = __nand(char2, char2); char3 = __nand(char3, char3); char4 = __nand(char4, char4); char8 = __nand(char8, char8); char16 = __nand(char16, char16); char32 = __nand(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __nand(char64, char64); #endif uchar = __nand(uchar, uchar); uchar2 = __nand(uchar2, uchar2); uchar3 = __nand(uchar3, uchar3); uchar4 = __nand(uchar4, uchar4); uchar8 = __nand(uchar8, uchar8); uchar16 = __nand(uchar16, uchar16); uchar32 = __nand(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __nand(uchar64, uchar64); #endif short = __nand(short, short); short2 = __nand(short2, short2); short3 = __nand(short3, short3); short4 = __nand(short4, short4); short8 = __nand(short8, short8); short16 = __nand(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __nand(short32, short32); #endif ushort = __nand(ushort, ushort); ushort2 = __nand(ushort2, ushort2); ushort3 = __nand(ushort3, ushort3); ushort4 = __nand(ushort4, ushort4); ushort8 = __nand(ushort8, ushort8); ushort16 = __nand(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __nand(ushort32, ushort32); #endif int = __nand(int, int); int2 = __nand(int2, int2); int3 = __nand(int3, int3); int4 = __nand(int4, int4); int8 = __nand(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __nand(int16, int16); #endif uint = __nand(uint, uint); uint2 = __nand(uint2, uint2); uint3 = __nand(uint3, uint3); uint4 = __nand(uint4, uint4); uint8 = __nand(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __nand(uint16, uint16); #endif NANDD, VNANDW long = __nand(long, long); long = __nand(long, (long)(k)); long2 = __nand(long2, long2); long3 = __nand(long3, long3); long4 = __nand(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __nand(long8, long8); #endif ulong = __nand(ulong, ulong); ulong = __nand(ulong, (ulong)(k)); ulong2 = __nand(ulong2, ulong2); ulong3 = __nand(ulong3, ulong3); ulong4 = __nand(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __nand(ulong8, ulong8); #endif NAND bool2 = __nand(bool2, bool2); bool3 = __nand(bool3, bool3); bool4 = __nand(bool4, bool4); bool8 = __nand(bool8, bool8); bool16 = __nand(bool16, bool16); bool32 = __nand(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __nand(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __negate */ /*----------------------------------------------------------------------------*/ /* NOT bool2 = __negate(bool2); bool3 = __negate(bool3); bool4 = __negate(bool4); bool8 = __negate(bool8); bool16 = __negate(bool16); bool32 = __negate(bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __negate(bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __nor */ /*----------------------------------------------------------------------------*/ /* NORD, NORW, VNORW signed char = __nor(signed char, signed char); char2 = __nor(char2, char2); char3 = __nor(char3, char3); char4 = __nor(char4, char4); char8 = __nor(char8, char8); char16 = __nor(char16, char16); char32 = __nor(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __nor(char64, char64); #endif uchar = __nor(uchar, uchar); uchar2 = __nor(uchar2, uchar2); uchar3 = __nor(uchar3, uchar3); uchar4 = __nor(uchar4, uchar4); uchar8 = __nor(uchar8, uchar8); uchar16 = __nor(uchar16, uchar16); uchar32 = __nor(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __nor(uchar64, uchar64); #endif short = __nor(short, short); short2 = __nor(short2, short2); short3 = __nor(short3, short3); short4 = __nor(short4, short4); short8 = __nor(short8, short8); short16 = __nor(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __nor(short32, short32); #endif ushort = __nor(ushort, ushort); ushort2 = __nor(ushort2, ushort2); ushort3 = __nor(ushort3, ushort3); ushort4 = __nor(ushort4, ushort4); ushort8 = __nor(ushort8, ushort8); ushort16 = __nor(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __nor(ushort32, ushort32); #endif int = __nor(int, int); int2 = __nor(int2, int2); int3 = __nor(int3, int3); int4 = __nor(int4, int4); int8 = __nor(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __nor(int16, int16); #endif uint = __nor(uint, uint); uint2 = __nor(uint2, uint2); uint3 = __nor(uint3, uint3); uint4 = __nor(uint4, uint4); uint8 = __nor(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __nor(uint16, uint16); #endif NORD, VNORW long = __nor(long, long); long = __nor(long, (long)(k)); long2 = __nor(long2, long2); long3 = __nor(long3, long3); long4 = __nor(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __nor(long8, long8); #endif ulong = __nor(ulong, ulong); ulong = __nor(ulong, (ulong)(k)); ulong2 = __nor(ulong2, ulong2); ulong3 = __nor(ulong3, ulong3); ulong4 = __nor(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __nor(ulong8, ulong8); #endif NOR bool2 = __nor(bool2, bool2); bool3 = __nor(bool3, bool3); bool4 = __nor(bool4, bool4); bool8 = __nor(bool8, bool8); bool16 = __nor(bool16, bool16); bool32 = __nor(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __nor(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __norm */ /*----------------------------------------------------------------------------*/ /* VNORMB signed char = __norm(signed char); char2 = __norm(char2); char3 = __norm(char3); char4 = __norm(char4); char8 = __norm(char8); char16 = __norm(char16); char32 = __norm(char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __norm(char64); #endif VNORMH short = __norm(short); short2 = __norm(short2); short3 = __norm(short3); short4 = __norm(short4); short8 = __norm(short8); short16 = __norm(short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __norm(short32); #endif VNORMW int = __norm(int); int2 = __norm(int2); int3 = __norm(int3); int4 = __norm(int4); int8 = __norm(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __norm(int16); #endif VNORMD long = __norm(long); long2 = __norm(long2); long3 = __norm(long3); long4 = __norm(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __norm(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __norm_and_shift_elem_pair */ /*----------------------------------------------------------------------------*/ /* VNORM2UH ushort2 = __norm_and_shift_elem_pair(ushort2); ushort4 = __norm_and_shift_elem_pair(ushort4); ushort8 = __norm_and_shift_elem_pair(ushort8); ushort16 = __norm_and_shift_elem_pair(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __norm_and_shift_elem_pair(ushort32); #endif VNORM2UW uint2 = __norm_and_shift_elem_pair(uint2); uint4 = __norm_and_shift_elem_pair(uint4); uint8 = __norm_and_shift_elem_pair(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __norm_and_shift_elem_pair(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __or */ /*----------------------------------------------------------------------------*/ /* OR bool2 = __or(bool2, bool2); bool3 = __or(bool3, bool3); bool4 = __or(bool4, bool4); bool8 = __or(bool8, bool8); bool16 = __or(bool16, bool16); bool32 = __or(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __or(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __orn */ /*----------------------------------------------------------------------------*/ /* ORND, ORNW, VORNW signed char = __orn(signed char, signed char); signed char = __orn(signed char, (signed char)(k)); char2 = __orn(char2, char2); char2 = __orn(char2, (char2)(k)); char3 = __orn(char3, char3); char3 = __orn(char3, (char3)(k)); char4 = __orn(char4, char4); char4 = __orn(char4, (char4)(k)); char8 = __orn(char8, char8); char16 = __orn(char16, char16); char32 = __orn(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __orn(char64, char64); #endif uchar = __orn(uchar, uchar); uchar = __orn(uchar, (uchar)(k)); uchar2 = __orn(uchar2, uchar2); uchar2 = __orn(uchar2, (uchar2)(k)); uchar3 = __orn(uchar3, uchar3); uchar3 = __orn(uchar3, (uchar3)(k)); uchar4 = __orn(uchar4, uchar4); uchar4 = __orn(uchar4, (uchar4)(k)); uchar8 = __orn(uchar8, uchar8); uchar16 = __orn(uchar16, uchar16); uchar32 = __orn(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __orn(uchar64, uchar64); #endif short = __orn(short, short); short = __orn(short, (short)(k)); short2 = __orn(short2, short2); short2 = __orn(short2, (short2)(k)); short3 = __orn(short3, short3); short4 = __orn(short4, short4); short8 = __orn(short8, short8); short16 = __orn(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __orn(short32, short32); #endif ushort = __orn(ushort, ushort); ushort = __orn(ushort, (ushort)(k)); ushort2 = __orn(ushort2, ushort2); ushort2 = __orn(ushort2, (ushort2)(k)); ushort3 = __orn(ushort3, ushort3); ushort4 = __orn(ushort4, ushort4); ushort8 = __orn(ushort8, ushort8); ushort16 = __orn(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __orn(ushort32, ushort32); #endif int = __orn(int, int); int = __orn(int, (int)(k)); int2 = __orn(int2, int2); int2 = __orn(int2, (int2)(k)); int3 = __orn(int3, int3); int3 = __orn(int3, (int3)(k)); int4 = __orn(int4, int4); int4 = __orn(int4, (int4)(k)); int8 = __orn(int8, int8); int8 = __orn(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __orn(int16, int16); int16 = __orn(int16, (int16)(k)); #endif uint = __orn(uint, uint); uint = __orn(uint, (uint)(k)); uint2 = __orn(uint2, uint2); uint2 = __orn(uint2, (uint2)(k)); uint3 = __orn(uint3, uint3); uint3 = __orn(uint3, (uint3)(k)); uint4 = __orn(uint4, uint4); uint4 = __orn(uint4, (uint4)(k)); uint8 = __orn(uint8, uint8); uint8 = __orn(uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __orn(uint16, uint16); uint16 = __orn(uint16, (uint16)(k)); #endif ORND, VORNW long = __orn(long, long); long = __orn(long, (long)(k)); long2 = __orn(long2, long2); long3 = __orn(long3, long3); long4 = __orn(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __orn(long8, long8); #endif ulong = __orn(ulong, ulong); ulong = __orn(ulong, (ulong)(k)); ulong2 = __orn(ulong2, ulong2); ulong3 = __orn(ulong3, ulong3); ulong4 = __orn(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __orn(ulong8, ulong8); #endif ORN bool2 = __orn(bool2, bool2); bool3 = __orn(bool3, bool3); bool4 = __orn(bool4, bool4); bool8 = __orn(bool8, bool8); bool16 = __orn(bool16, bool16); bool32 = __orn(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __orn(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __outer_product_matmpy */ /*----------------------------------------------------------------------------*/ /* VOPMATMPYSP #if __C7X_VEC_SIZE_BITS__ == 512 float4 = __outer_product_matmpy(float2, float2); float8 = __outer_product_matmpy(float4, float4); float16 = __outer_product_matmpy(float8, float8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack */ /*----------------------------------------------------------------------------*/ /* PACKW cshort2 = __pack(cshort, cshort); int2 = __pack(int, int); uint2 = __pack(uint, uint); float2 = __pack(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __pack_consec_high */ /*----------------------------------------------------------------------------*/ /* VBPACKH #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __pack_consec_high(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_consec_high(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __pack_consec_high(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_consec_high(uchar64, uchar64); #endif VHPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __pack_consec_high(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_consec_high(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __pack_consec_high(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_consec_high(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __pack_consec_high(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_consec_high(ushort32, ushort32); #endif VWPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __pack_consec_high(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __pack_consec_high(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __pack_consec_high(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __pack_consec_high(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __pack_consec_high(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __pack_consec_high(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __pack_consec_high(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __pack_consec_high(float16, float16); #endif VDPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __pack_consec_high(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __pack_consec_high(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __pack_consec_high(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __pack_consec_high(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __pack_consec_high(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __pack_consec_high(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __pack_consec_high(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __pack_consec_high(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __pack_consec_high(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __pack_consec_high(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_consec_low */ /*----------------------------------------------------------------------------*/ /* VBPACKL #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __pack_consec_low(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_consec_low(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __pack_consec_low(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_consec_low(uchar64, uchar64); #endif VHPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __pack_consec_low(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_consec_low(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __pack_consec_low(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_consec_low(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __pack_consec_low(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_consec_low(ushort32, ushort32); #endif VWPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __pack_consec_low(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __pack_consec_low(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __pack_consec_low(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __pack_consec_low(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __pack_consec_low(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __pack_consec_low(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __pack_consec_low(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __pack_consec_low(float16, float16); #endif VDPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __pack_consec_low(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __pack_consec_low(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __pack_consec_low(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __pack_consec_low(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __pack_consec_low(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __pack_consec_low(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __pack_consec_low(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __pack_consec_low(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __pack_consec_low(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __pack_consec_low(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_even */ /*----------------------------------------------------------------------------*/ /* VPACKP2 cchar4 = __pack_even(cchar4, cchar4); cchar8 = __pack_even(cchar8, cchar8); cchar16 = __pack_even(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_even(cchar32, cchar32); #endif short4 = __pack_even(short4, short4); short8 = __pack_even(short8, short8); short16 = __pack_even(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_even(short32, short32); #endif ushort4 = __pack_even(ushort4, ushort4); ushort8 = __pack_even(ushort8, ushort8); ushort16 = __pack_even(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_even(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_even_cross */ /*----------------------------------------------------------------------------*/ /* PACKX2 cchar4 = __pack_even_cross(cchar2, cchar2); VPACKX2 cchar4 = __pack_even_cross(cchar4, cchar4); cchar8 = __pack_even_cross(cchar8, cchar8); cchar16 = __pack_even_cross(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_even_cross(cchar32, cchar32); #endif PACKX2 short4 = __pack_even_cross(short2, short2); VPACKX2 short4 = __pack_even_cross(short4, short4); short8 = __pack_even_cross(short8, short8); short16 = __pack_even_cross(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_even_cross(short32, short32); #endif PACKX2 ushort4 = __pack_even_cross(ushort2, ushort2); VPACKX2 ushort4 = __pack_even_cross(ushort4, ushort4); ushort8 = __pack_even_cross(ushort8, ushort8); ushort16 = __pack_even_cross(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_even_cross(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_high */ /*----------------------------------------------------------------------------*/ /* VPACKH4 char4 = __pack_high(char4, char4); char8 = __pack_high(char8, char8); char16 = __pack_high(char16, char16); char32 = __pack_high(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_high(char64, char64); #endif uchar4 = __pack_high(uchar4, uchar4); uchar8 = __pack_high(uchar8, uchar8); uchar16 = __pack_high(uchar16, uchar16); uchar32 = __pack_high(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_high(uchar64, uchar64); #endif VPACKH2 cchar2 = __pack_high(cchar2, cchar2); cchar4 = __pack_high(cchar4, cchar4); cchar8 = __pack_high(cchar8, cchar8); cchar16 = __pack_high(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_high(cchar32, cchar32); #endif short2 = __pack_high(short2, short2); short4 = __pack_high(short4, short4); short8 = __pack_high(short8, short8); short16 = __pack_high(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_high(short32, short32); #endif ushort2 = __pack_high(ushort2, ushort2); ushort4 = __pack_high(ushort4, ushort4); ushort8 = __pack_high(ushort8, ushort8); ushort16 = __pack_high(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_high(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_high_low */ /*----------------------------------------------------------------------------*/ /* VPACKHL2 cchar2 = __pack_high_low(cchar2, cchar2); cchar4 = __pack_high_low(cchar4, cchar4); cchar8 = __pack_high_low(cchar8, cchar8); cchar16 = __pack_high_low(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_high_low(cchar32, cchar32); #endif short2 = __pack_high_low(short2, short2); short4 = __pack_high_low(short4, short4); short8 = __pack_high_low(short8, short8); short16 = __pack_high_low(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_high_low(short32, short32); #endif ushort2 = __pack_high_low(ushort2, ushort2); ushort4 = __pack_high_low(ushort4, ushort4); ushort8 = __pack_high_low(ushort8, ushort8); ushort16 = __pack_high_low(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_high_low(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_low */ /*----------------------------------------------------------------------------*/ /* VPACKL4 char4 = __pack_low(char4, char4); char8 = __pack_low(char8, char8); char16 = __pack_low(char16, char16); char32 = __pack_low(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_low(char64, char64); #endif uchar4 = __pack_low(uchar4, uchar4); uchar8 = __pack_low(uchar8, uchar8); uchar16 = __pack_low(uchar16, uchar16); uchar32 = __pack_low(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_low(uchar64, uchar64); #endif VPACKL2 cchar2 = __pack_low(cchar2, cchar2); cchar4 = __pack_low(cchar4, cchar4); cchar8 = __pack_low(cchar8, cchar8); cchar16 = __pack_low(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_low(cchar32, cchar32); #endif short2 = __pack_low(short2, short2); short4 = __pack_low(short4, short4); short8 = __pack_low(short8, short8); short16 = __pack_low(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_low(short32, short32); #endif ushort2 = __pack_low(ushort2, ushort2); ushort4 = __pack_low(ushort4, ushort4); ushort8 = __pack_low(ushort8, ushort8); ushort16 = __pack_low(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_low(ushort32, ushort32); #endif VPACKW cshort2 = __pack_low(cshort2, cshort2); cshort4 = __pack_low(cshort4, cshort4); cshort8 = __pack_low(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __pack_low(cshort16, cshort16); #endif int2 = __pack_low(int2, int2); int4 = __pack_low(int4, int4); int8 = __pack_low(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __pack_low(int16, int16); #endif uint2 = __pack_low(uint2, uint2); uint4 = __pack_low(uint4, uint4); uint8 = __pack_low(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __pack_low(uint16, uint16); #endif float2 = __pack_low(float2, float2); float4 = __pack_low(float4, float4); float8 = __pack_low(float8, float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __pack_low(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_low_high */ /*----------------------------------------------------------------------------*/ /* VPACKLH4 char8 = __pack_low_high(char8, char8); char16 = __pack_low_high(char16, char16); char32 = __pack_low_high(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_low_high(char64, char64); #endif uchar8 = __pack_low_high(uchar8, uchar8); uchar16 = __pack_low_high(uchar16, uchar16); uchar32 = __pack_low_high(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_low_high(uchar64, uchar64); #endif VPACKLH2 cchar2 = __pack_low_high(cchar2, cchar2); cchar4 = __pack_low_high(cchar4, cchar4); cchar8 = __pack_low_high(cchar8, cchar8); cchar16 = __pack_low_high(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __pack_low_high(cchar32, cchar32); #endif short2 = __pack_low_high(short2, short2); short4 = __pack_low_high(short4, short4); short8 = __pack_low_high(short8, short8); short16 = __pack_low_high(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_low_high(short32, short32); #endif ushort2 = __pack_low_high(ushort2, ushort2); ushort4 = __pack_low_high(ushort4, ushort4); ushort8 = __pack_low_high(ushort8, ushort8); ushort16 = __pack_low_high(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_low_high(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_sat */ /*----------------------------------------------------------------------------*/ /* VSPACKHB char2 = __pack_sat(short, short); char4 = __pack_sat(short2, short2); char8 = __pack_sat(short4, short4); char16 = __pack_sat(short8, short8); char32 = __pack_sat(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __pack_sat(short32, short32); #endif VSPACKWH short2 = __pack_sat(int, int); short4 = __pack_sat(int2, int2); short8 = __pack_sat(int4, int4); short16 = __pack_sat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_sat(int16, int16); #endif VSPACKDW int2 = __pack_sat(long, long); int4 = __pack_sat(long2, long2); int8 = __pack_sat(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __pack_sat(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_shift_sat */ /*----------------------------------------------------------------------------*/ /* VRPACKH short2 = __pack_shift_sat(int, int); short4 = __pack_shift_sat(int2, int2); short8 = __pack_shift_sat(int4, int4); short16 = __pack_shift_sat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __pack_shift_sat(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __pack_usat */ /*----------------------------------------------------------------------------*/ /* VSPACKUHB uchar2 = __pack_usat(short, short); uchar4 = __pack_usat(short2, short2); uchar8 = __pack_usat(short4, short4); uchar16 = __pack_usat(short8, short8); uchar32 = __pack_usat(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __pack_usat(short32, short32); #endif VSPACKUWH ushort2 = __pack_usat(int, int); ushort4 = __pack_usat(int2, int2); ushort8 = __pack_usat(int4, int4); ushort16 = __pack_usat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __pack_usat(int16, int16); #endif VSPACKUDW uint2 = __pack_usat(long, long); uint4 = __pack_usat(long2, long2); uint8 = __pack_usat(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __pack_usat(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __parallel_pack_dup_16way */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __parallel_pack_dup_16way(bool16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __parallel_pack_dup_8way */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP8W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __parallel_pack_dup_8way(bool8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute */ /*----------------------------------------------------------------------------*/ /* VPERM #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_cntrl */ /*----------------------------------------------------------------------------*/ /* VPERM #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_cntrl(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_cntrl(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_even_char */ /*----------------------------------------------------------------------------*/ /* VPERMEEB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_even_char(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_even_char(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_even_int */ /*----------------------------------------------------------------------------*/ /* VPERMEEW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_even_int(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_even_int(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_even_long */ /*----------------------------------------------------------------------------*/ /* VPERMEED #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_even_long(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_even_long(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_even_quad */ /*----------------------------------------------------------------------------*/ /* VPERMEEQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_even_quad(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_even_quad(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_even_short */ /*----------------------------------------------------------------------------*/ /* VPERMEEH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_even_short(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_even_short(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_odd_char */ /*----------------------------------------------------------------------------*/ /* VPERMEOB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_odd_char(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_odd_char(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_odd_int */ /*----------------------------------------------------------------------------*/ /* VPERMEOW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_odd_int(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_odd_int(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_odd_long */ /*----------------------------------------------------------------------------*/ /* VPERMEOD #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_odd_long(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_odd_long(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_odd_quad */ /*----------------------------------------------------------------------------*/ /* VPERMEOQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_odd_quad(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_odd_quad(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_even_odd_short */ /*----------------------------------------------------------------------------*/ /* VPERMEOH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_even_odd_short(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_even_odd_short(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_high_high */ /*----------------------------------------------------------------------------*/ /* VPERMHH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_high_high(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_high_high(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_low_high */ /*----------------------------------------------------------------------------*/ /* VPERMLH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_low_high(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_low_high(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_low_low */ /*----------------------------------------------------------------------------*/ /* VPERMLL #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_low_low(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_low_low(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_odd_odd_char */ /*----------------------------------------------------------------------------*/ /* VPERMOOB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_odd_odd_char(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_odd_odd_char(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_odd_odd_int */ /*----------------------------------------------------------------------------*/ /* VPERMOOW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_odd_odd_int(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_odd_odd_int(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_odd_odd_long */ /*----------------------------------------------------------------------------*/ /* VPERMOOD #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_odd_odd_long(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_odd_odd_long(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_odd_odd_quad */ /*----------------------------------------------------------------------------*/ /* VPERMOOQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_odd_odd_quad(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_odd_odd_quad(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __permute_odd_odd_short */ /*----------------------------------------------------------------------------*/ /* VPERMOOH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __permute_odd_odd_short(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __permute_odd_odd_short(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __popcount */ /*----------------------------------------------------------------------------*/ /* VBITCNTB signed char = __popcount(signed char); char2 = __popcount(char2); char3 = __popcount(char3); char4 = __popcount(char4); char8 = __popcount(char8); char16 = __popcount(char16); char32 = __popcount(char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __popcount(char64); #endif uchar = __popcount(uchar); uchar2 = __popcount(uchar2); uchar3 = __popcount(uchar3); uchar4 = __popcount(uchar4); uchar8 = __popcount(uchar8); uchar16 = __popcount(uchar16); uchar32 = __popcount(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __popcount(uchar64); #endif VBITCNTH short = __popcount(short); short2 = __popcount(short2); short3 = __popcount(short3); short4 = __popcount(short4); short8 = __popcount(short8); short16 = __popcount(short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __popcount(short32); #endif ushort = __popcount(ushort); ushort2 = __popcount(ushort2); ushort3 = __popcount(ushort3); ushort4 = __popcount(ushort4); ushort8 = __popcount(ushort8); ushort16 = __popcount(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __popcount(ushort32); #endif VBITCNTW int = __popcount(int); int2 = __popcount(int2); int3 = __popcount(int3); int4 = __popcount(int4); int8 = __popcount(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __popcount(int16); #endif uint = __popcount(uint); uint2 = __popcount(uint2); uint3 = __popcount(uint3); uint4 = __popcount(uint4); uint8 = __popcount(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __popcount(uint16); #endif VBITCNTD long = __popcount(long); long2 = __popcount(long2); long3 = __popcount(long3); long4 = __popcount(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __popcount(long8); #endif ulong = __popcount(ulong); ulong2 = __popcount(ulong2); ulong3 = __popcount(ulong3); ulong4 = __popcount(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __popcount(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __recip */ /*----------------------------------------------------------------------------*/ /* VRCPSP float = __recip(float); float2 = __recip(float2); float3 = __recip(float3); float4 = __recip(float4); float8 = __recip(float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __recip(float16); #endif VRCPDP double = __recip(double); double2 = __recip(double2); double3 = __recip(double3); double4 = __recip(double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __recip(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __recip_sqrt */ /*----------------------------------------------------------------------------*/ /* VRSQRSP float = __recip_sqrt(float); float2 = __recip_sqrt(float2); float3 = __recip_sqrt(float3); float4 = __recip_sqrt(float4); float8 = __recip_sqrt(float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __recip_sqrt(float16); #endif VRSQRDP double = __recip_sqrt(double); double2 = __recip_sqrt(double2); double3 = __recip_sqrt(double3); double4 = __recip_sqrt(double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __recip_sqrt(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __replace */ /*----------------------------------------------------------------------------*/ /* REPLACE, VREPLACE long = __replace(long, (signed char)(k={0-63}), (signed char)(k={0-63}), long); long2 = __replace(long2, (char2)(k={0-63}), (char2)(k={0-63}), long2); long3 = __replace(long3, (char3)(k={0-63}), (char3)(k={0-63}), long3); long4 = __replace(long4, (char4)(k={0-63}), (char4)(k={0-63}), long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __replace(long8, (char8)(k={0-63}), (char8)(k={0-63}), long8); #endif ulong = __replace(ulong, (uchar)(k={0-63}), (uchar)(k={0-63}), ulong); ulong2 = __replace(ulong2, (uchar2)(k={0-63}), (uchar2)(k={0-63}), ulong2); ulong3 = __replace(ulong3, (uchar3)(k={0-63}), (uchar3)(k={0-63}), ulong3); ulong4 = __replace(ulong4, (uchar4)(k={0-63}), (uchar4)(k={0-63}), ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __replace(ulong8, (uchar8)(k={0-63}), (uchar8)(k={0-63}), ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __reverse */ /*----------------------------------------------------------------------------*/ /* VREVERSEB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __reverse(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __reverse(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __reverse(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __reverse(uchar64); #endif VREVERSEH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __reverse(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __reverse(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __reverse(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __reverse(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __reverse(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __reverse(ushort32); #endif VREVERSEW #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __reverse(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __reverse(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __reverse(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __reverse(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __reverse(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __reverse(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __reverse(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __reverse(float16); #endif VREVERSED #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __reverse(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __reverse(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __reverse(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __reverse(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __reverse(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __reverse(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __reverse(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __reverse(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __reverse(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __reverse(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __rhadd */ /*----------------------------------------------------------------------------*/ /* VAVGB signed char = __rhadd(signed char, signed char); char2 = __rhadd(char2, char2); char3 = __rhadd(char3, char3); char4 = __rhadd(char4, char4); char8 = __rhadd(char8, char8); char16 = __rhadd(char16, char16); char32 = __rhadd(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __rhadd(char64, char64); #endif VAVGUB uchar = __rhadd(uchar, uchar); uchar2 = __rhadd(uchar2, uchar2); uchar3 = __rhadd(uchar3, uchar3); uchar4 = __rhadd(uchar4, uchar4); uchar8 = __rhadd(uchar8, uchar8); uchar16 = __rhadd(uchar16, uchar16); uchar32 = __rhadd(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __rhadd(uchar64, uchar64); #endif VAVGH short = __rhadd(short, short); short2 = __rhadd(short2, short2); short3 = __rhadd(short3, short3); short4 = __rhadd(short4, short4); short8 = __rhadd(short8, short8); short16 = __rhadd(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __rhadd(short32, short32); #endif VAVGUH ushort = __rhadd(ushort, ushort); ushort2 = __rhadd(ushort2, ushort2); ushort3 = __rhadd(ushort3, ushort3); ushort4 = __rhadd(ushort4, ushort4); ushort8 = __rhadd(ushort8, ushort8); ushort16 = __rhadd(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __rhadd(ushort32, ushort32); #endif VAVGW int = __rhadd(int, int); int2 = __rhadd(int2, int2); int3 = __rhadd(int3, int3); int4 = __rhadd(int4, int4); int8 = __rhadd(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __rhadd(int16, int16); #endif VAVGUW uint = __rhadd(uint, uint); uint2 = __rhadd(uint2, uint2); uint3 = __rhadd(uint3, uint3); uint4 = __rhadd(uint4, uint4); uint8 = __rhadd(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __rhadd(uint16, uint16); #endif VAVGD long = __rhadd(long, long); long2 = __rhadd(long2, long2); long3 = __rhadd(long3, long3); long4 = __rhadd(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __rhadd(long8, long8); #endif VAVGUD ulong = __rhadd(ulong, ulong); ulong2 = __rhadd(ulong2, ulong2); ulong3 = __rhadd(ulong3, ulong3); ulong4 = __rhadd(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __rhadd(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __rotate_left */ /*----------------------------------------------------------------------------*/ /* VROTLB uchar = __rotate_left(uchar, (uchar)(k={0-63})); uchar2 = __rotate_left(uchar2, (uchar2)(k={0-63})); uchar3 = __rotate_left(uchar3, (uchar3)(k={0-63})); uchar4 = __rotate_left(uchar4, (uchar4)(k={0-63})); uchar8 = __rotate_left(uchar8, (uchar8)(k={0-63})); uchar16 = __rotate_left(uchar16, (uchar16)(k={0-63})); uchar32 = __rotate_left(uchar32, (uchar32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __rotate_left(uchar64, (uchar64)(k={0-63})); #endif uchar4 = __rotate_left(uchar4, uint); uchar8 = __rotate_left(uchar8, uint2); uchar16 = __rotate_left(uchar16, uint4); uchar32 = __rotate_left(uchar32, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __rotate_left(uchar64, uint16); #endif VROTLH ushort = __rotate_left(ushort, (ushort)(k={0-63})); ushort2 = __rotate_left(ushort2, (ushort2)(k={0-63})); ushort3 = __rotate_left(ushort3, (ushort3)(k={0-63})); ushort4 = __rotate_left(ushort4, (ushort4)(k={0-63})); ushort8 = __rotate_left(ushort8, (ushort8)(k={0-63})); ushort16 = __rotate_left(ushort16, (ushort16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __rotate_left(ushort32, (ushort32)(k={0-63})); #endif ushort2 = __rotate_left(ushort2, uint); ushort4 = __rotate_left(ushort4, uint2); ushort8 = __rotate_left(ushort8, uint4); ushort16 = __rotate_left(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __rotate_left(ushort32, uint16); #endif VROTLW int = __rotate_left(int, (uchar)(k={0-63})); int2 = __rotate_left(int2, (uchar2)(k={0-63})); int3 = __rotate_left(int3, (uchar3)(k={0-63})); int4 = __rotate_left(int4, (uchar4)(k={0-63})); int8 = __rotate_left(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __rotate_left(int16, (uchar16)(k={0-63})); #endif int = __rotate_left(int, uint); int2 = __rotate_left(int2, uint2); int3 = __rotate_left(int3, uint3); int4 = __rotate_left(int4, uint4); int8 = __rotate_left(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __rotate_left(int16, uint16); #endif VROTLD ulong = __rotate_left(ulong, (uchar)(k={0-63})); ulong2 = __rotate_left(ulong2, (uchar2)(k={0-63})); ulong3 = __rotate_left(ulong3, (uchar3)(k={0-63})); ulong4 = __rotate_left(ulong4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __rotate_left(ulong8, (uchar8)(k={0-63})); #endif ulong = __rotate_left(ulong, ulong); ulong2 = __rotate_left(ulong2, ulong2); ulong3 = __rotate_left(ulong3, ulong3); ulong4 = __rotate_left(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __rotate_left(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __saturate */ /*----------------------------------------------------------------------------*/ /* VGSATH short = __saturate(short, (uchar)(k={0-63})); short2 = __saturate(short2, (uchar2)(k={0-63})); short3 = __saturate(short3, (uchar3)(k={0-63})); short4 = __saturate(short4, (uchar4)(k={0-63})); short8 = __saturate(short8, (uchar8)(k={0-63})); short16 = __saturate(short16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __saturate(short32, (uchar32)(k={0-63})); #endif VGSATUH ushort = __saturate(ushort, (uchar)(k={0-63})); ushort2 = __saturate(ushort2, (uchar2)(k={0-63})); ushort3 = __saturate(ushort3, (uchar3)(k={0-63})); ushort4 = __saturate(ushort4, (uchar4)(k={0-63})); ushort8 = __saturate(ushort8, (uchar8)(k={0-63})); ushort16 = __saturate(ushort16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __saturate(ushort32, (uchar32)(k={0-63})); #endif VGSATW int = __saturate(int, (uchar)(k={0-63})); int2 = __saturate(int2, (uchar2)(k={0-63})); int3 = __saturate(int3, (uchar3)(k={0-63})); int4 = __saturate(int4, (uchar4)(k={0-63})); int8 = __saturate(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __saturate(int16, (uchar16)(k={0-63})); #endif VGSATUW uint = __saturate(uint, (uchar)(k={0-63})); uint2 = __saturate(uint2, (uchar2)(k={0-63})); uint3 = __saturate(uint3, (uchar3)(k={0-63})); uint4 = __saturate(uint4, (uchar4)(k={0-63})); uint8 = __saturate(uint8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __saturate(uint16, (uchar16)(k={0-63})); #endif VGSATD long = __saturate(long, (uchar)(k={0-63})); long2 = __saturate(long2, (uchar2)(k={0-63})); long3 = __saturate(long3, (uchar3)(k={0-63})); long4 = __saturate(long4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __saturate(long8, (uchar8)(k={0-63})); #endif VGSATUD ulong = __saturate(ulong, (uchar)(k={0-63})); ulong2 = __saturate(ulong2, (uchar2)(k={0-63})); ulong3 = __saturate(ulong3, (uchar3)(k={0-63})); ulong4 = __saturate(ulong4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __saturate(ulong8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __saturate_s2u */ /*----------------------------------------------------------------------------*/ /* VGSATSUH ushort = __saturate_s2u(short, (uchar)(k={0-63})); ushort2 = __saturate_s2u(short2, (uchar2)(k={0-63})); ushort3 = __saturate_s2u(short3, (uchar3)(k={0-63})); ushort4 = __saturate_s2u(short4, (uchar4)(k={0-63})); ushort8 = __saturate_s2u(short8, (uchar8)(k={0-63})); ushort16 = __saturate_s2u(short16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __saturate_s2u(short32, (uchar32)(k={0-63})); #endif VGSATSUW uint = __saturate_s2u(int, (uchar)(k={0-63})); uint2 = __saturate_s2u(int2, (uchar2)(k={0-63})); uint3 = __saturate_s2u(int3, (uchar3)(k={0-63})); uint4 = __saturate_s2u(int4, (uchar4)(k={0-63})); uint8 = __saturate_s2u(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __saturate_s2u(int16, (uchar16)(k={0-63})); #endif VGSATSUD ulong = __saturate_s2u(long, (uchar)(k={0-63})); ulong2 = __saturate_s2u(long2, (uchar2)(k={0-63})); ulong3 = __saturate_s2u(long3, (uchar3)(k={0-63})); ulong4 = __saturate_s2u(long4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __saturate_s2u(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __scale */ /*----------------------------------------------------------------------------*/ /* VSCALESP float = __scale(float, uint); float2 = __scale(float2, uint2); float3 = __scale(float3, uint3); float4 = __scale(float4, uint4); float8 = __scale(float8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __scale(float16, uint16); #endif VSCALEDP double = __scale(double, ulong); double2 = __scale(double2, ulong2); double3 = __scale(double3, ulong3); double4 = __scale(double4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __scale(double8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __select */ /*----------------------------------------------------------------------------*/ /* VSEL char2 = __select(bool2, char2, char2); char3 = __select(bool3, char3, char3); char4 = __select(bool4, char4, char4); char8 = __select(bool8, char8, char8); char16 = __select(bool16, char16, char16); char32 = __select(bool32, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __select(bool64, char64, char64); #endif uchar2 = __select(bool2, uchar2, uchar2); uchar3 = __select(bool3, uchar3, uchar3); uchar4 = __select(bool4, uchar4, uchar4); uchar8 = __select(bool8, uchar8, uchar8); uchar16 = __select(bool16, uchar16, uchar16); uchar32 = __select(bool32, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __select(bool64, uchar64, uchar64); #endif cchar2 = __select(bool2, cchar2, cchar2); cchar4 = __select(bool4, cchar4, cchar4); cchar8 = __select(bool8, cchar8, cchar8); cchar16 = __select(bool16, cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __select(bool32, cchar32, cchar32); #endif short2 = __select(bool2, short2, short2); short3 = __select(bool3, short3, short3); short4 = __select(bool4, short4, short4); short8 = __select(bool8, short8, short8); short16 = __select(bool16, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __select(bool32, short32, short32); #endif ushort2 = __select(bool2, ushort2, ushort2); ushort3 = __select(bool3, ushort3, ushort3); ushort4 = __select(bool4, ushort4, ushort4); ushort8 = __select(bool8, ushort8, ushort8); ushort16 = __select(bool16, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __select(bool32, ushort32, ushort32); #endif cshort2 = __select(bool2, cshort2, cshort2); cshort4 = __select(bool4, cshort4, cshort4); cshort8 = __select(bool8, cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __select(bool16, cshort16, cshort16); #endif int2 = __select(bool2, int2, int2); int2 = __select(bool2, int2, (int2)(k)); int3 = __select(bool3, int3, int3); int3 = __select(bool3, int3, (int3)(k)); int4 = __select(bool4, int4, int4); int4 = __select(bool4, int4, (int4)(k)); int8 = __select(bool8, int8, int8); int8 = __select(bool8, int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __select(bool16, int16, int16); int16 = __select(bool16, int16, (int16)(k)); #endif uint2 = __select(bool2, uint2, uint2); uint2 = __select(bool2, uint2, (uint2)(k)); uint3 = __select(bool3, uint3, uint3); uint3 = __select(bool3, uint3, (uint3)(k)); uint4 = __select(bool4, uint4, uint4); uint4 = __select(bool4, uint4, (uint4)(k)); uint8 = __select(bool8, uint8, uint8); uint8 = __select(bool8, uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __select(bool16, uint16, uint16); uint16 = __select(bool16, uint16, (uint16)(k)); #endif float2 = __select(bool2, float2, float2); float2 = __select(bool2, float2, (float2)(k)); float3 = __select(bool3, float3, float3); float3 = __select(bool3, float3, (float3)(k)); float4 = __select(bool4, float4, float4); float4 = __select(bool4, float4, (float4)(k)); float8 = __select(bool8, float8, float8); float8 = __select(bool8, float8, (float8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __select(bool16, float16, float16); float16 = __select(bool16, float16, (float16)(k)); #endif cint2 = __select(bool2, cint2, cint2); cint4 = __select(bool4, cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __select(bool8, cint8, cint8); #endif cfloat2 = __select(bool2, cfloat2, cfloat2); cfloat4 = __select(bool4, cfloat4, cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __select(bool8, cfloat8, cfloat8); #endif long2 = __select(bool2, long2, long2); long3 = __select(bool3, long3, long3); long4 = __select(bool4, long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __select(bool8, long8, long8); #endif ulong2 = __select(bool2, ulong2, ulong2); ulong3 = __select(bool3, ulong3, ulong3); ulong4 = __select(bool4, ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __select(bool8, ulong8, ulong8); #endif double2 = __select(bool2, double2, double2); double3 = __select(bool3, double3, double3); double4 = __select(bool4, double4, double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __select(bool8, double8, double8); #endif clong2 = __select(bool2, clong2, clong2); #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __select(bool4, clong4, clong4); #endif cdouble2 = __select(bool2, cdouble2, cdouble2); #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __select(bool4, cdouble4, cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __set */ /*----------------------------------------------------------------------------*/ /* SET int = __set(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left */ /*----------------------------------------------------------------------------*/ /* VSHLB signed char = __shift_left(signed char, (signed char)(k={0-63})); char2 = __shift_left(char2, (char2)(k={0-63})); char3 = __shift_left(char3, (char3)(k={0-63})); char4 = __shift_left(char4, (char4)(k={0-63})); char8 = __shift_left(char8, (char8)(k={0-63})); char16 = __shift_left(char16, (char16)(k={0-63})); char32 = __shift_left(char32, (char32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left(char64, (char64)(k={0-63})); #endif char4 = __shift_left(char4, int); char8 = __shift_left(char8, int2); char16 = __shift_left(char16, int4); char32 = __shift_left(char32, int8); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left(char64, int16); #endif uchar = __shift_left(uchar, (uchar)(k={0-63})); uchar2 = __shift_left(uchar2, (uchar2)(k={0-63})); uchar3 = __shift_left(uchar3, (uchar3)(k={0-63})); uchar4 = __shift_left(uchar4, (uchar4)(k={0-63})); uchar8 = __shift_left(uchar8, (uchar8)(k={0-63})); uchar16 = __shift_left(uchar16, (uchar16)(k={0-63})); uchar32 = __shift_left(uchar32, (uchar32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left(uchar64, (uchar64)(k={0-63})); #endif uchar4 = __shift_left(uchar4, uint); uchar8 = __shift_left(uchar8, uint2); uchar16 = __shift_left(uchar16, uint4); uchar32 = __shift_left(uchar32, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left(uchar64, uint16); #endif VSHLH short = __shift_left(short, (short)(k={0-63})); short2 = __shift_left(short2, (short2)(k={0-63})); short3 = __shift_left(short3, (short3)(k={0-63})); short4 = __shift_left(short4, (short4)(k={0-63})); short8 = __shift_left(short8, (short8)(k={0-63})); short16 = __shift_left(short16, (short16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left(short32, (short32)(k={0-63})); #endif short2 = __shift_left(short2, int); short4 = __shift_left(short4, int2); short8 = __shift_left(short8, int4); short16 = __shift_left(short16, int8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left(short32, int16); #endif ushort = __shift_left(ushort, (ushort)(k={0-63})); ushort2 = __shift_left(ushort2, (ushort2)(k={0-63})); ushort3 = __shift_left(ushort3, (ushort3)(k={0-63})); ushort4 = __shift_left(ushort4, (ushort4)(k={0-63})); ushort8 = __shift_left(ushort8, (ushort8)(k={0-63})); ushort16 = __shift_left(ushort16, (ushort16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left(ushort32, (ushort32)(k={0-63})); #endif ushort2 = __shift_left(ushort2, uint); ushort4 = __shift_left(ushort4, uint2); ushort8 = __shift_left(ushort8, uint4); ushort16 = __shift_left(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left(ushort32, uint16); #endif SHLW int = __shift_left(int, (uchar)(k={0-63})); SHLW, VSHLW int = __shift_left(int, int); int = __shift_left(int, (int)(k)); int2 = __shift_left(int2, int2); int2 = __shift_left(int2, (int2)(k)); int3 = __shift_left(int3, int3); int3 = __shift_left(int3, (int3)(k)); int4 = __shift_left(int4, int4); int4 = __shift_left(int4, (int4)(k)); int8 = __shift_left(int8, int8); int8 = __shift_left(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left(int16, int16); int16 = __shift_left(int16, (int16)(k)); #endif SHLW uint = __shift_left(uint, (uchar)(k={0-63})); SHLW, VSHLW uint = __shift_left(uint, uint); uint = __shift_left(uint, (uint)(k)); uint2 = __shift_left(uint2, uint2); uint2 = __shift_left(uint2, (uint2)(k)); uint3 = __shift_left(uint3, uint3); uint3 = __shift_left(uint3, (uint3)(k)); uint4 = __shift_left(uint4, uint4); uint4 = __shift_left(uint4, (uint4)(k)); uint8 = __shift_left(uint8, uint8); uint8 = __shift_left(uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left(uint16, uint16); uint16 = __shift_left(uint16, (uint16)(k)); #endif SHLD long = __shift_left(long, (uchar)(k={0-63})); long = __shift_left(long, int); VSHLD long = __shift_left(long, long); long = __shift_left(long, (long)(k)); long2 = __shift_left(long2, long2); long2 = __shift_left(long2, (long2)(k)); long3 = __shift_left(long3, long3); long3 = __shift_left(long3, (long3)(k)); long4 = __shift_left(long4, long4); long4 = __shift_left(long4, (long4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_left(long8, long8); long8 = __shift_left(long8, (long8)(k)); #endif SHLD ulong = __shift_left(ulong, (uchar)(k={0-63})); ulong = __shift_left(ulong, uint); VSHLD ulong = __shift_left(ulong, ulong); ulong = __shift_left(ulong, (ulong)(k)); ulong2 = __shift_left(ulong2, ulong2); ulong2 = __shift_left(ulong2, (ulong2)(k)); ulong3 = __shift_left(ulong3, ulong3); ulong3 = __shift_left(ulong3, (ulong3)(k)); ulong4 = __shift_left(ulong4, ulong4); ulong4 = __shift_left(ulong4, (ulong4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_left(ulong8, ulong8); ulong8 = __shift_left(ulong8, (ulong8)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_conditional */ /*----------------------------------------------------------------------------*/ /* VSHLCB char2 = __shift_left_conditional(bool2, char2, char2); char3 = __shift_left_conditional(bool3, char3, char3); char4 = __shift_left_conditional(bool4, char4, char4); char8 = __shift_left_conditional(bool8, char8, char8); char16 = __shift_left_conditional(bool16, char16, char16); char32 = __shift_left_conditional(bool32, char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_conditional(bool64, char64, char64); #endif uchar2 = __shift_left_conditional(bool2, uchar2, uchar2); uchar3 = __shift_left_conditional(bool3, uchar3, uchar3); uchar4 = __shift_left_conditional(bool4, uchar4, uchar4); uchar8 = __shift_left_conditional(bool8, uchar8, uchar8); uchar16 = __shift_left_conditional(bool16, uchar16, uchar16); uchar32 = __shift_left_conditional(bool32, uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_conditional(bool64, uchar64, uchar64); #endif VSHLCH short2 = __shift_left_conditional(bool2, short2, short2); short3 = __shift_left_conditional(bool3, short3, short3); short4 = __shift_left_conditional(bool4, short4, short4); short8 = __shift_left_conditional(bool8, short8, short8); short16 = __shift_left_conditional(bool16, short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_conditional(bool32, short32, short32); #endif ushort2 = __shift_left_conditional(bool2, ushort2, ushort2); ushort3 = __shift_left_conditional(bool3, ushort3, ushort3); ushort4 = __shift_left_conditional(bool4, ushort4, ushort4); ushort8 = __shift_left_conditional(bool8, ushort8, ushort8); ushort16 = __shift_left_conditional(bool16, ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_conditional(bool32, ushort32, ushort32); #endif VSHLCW int2 = __shift_left_conditional(bool2, int2, int2); int3 = __shift_left_conditional(bool3, int3, int3); int4 = __shift_left_conditional(bool4, int4, int4); int8 = __shift_left_conditional(bool8, int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_conditional(bool16, int16, int16); #endif uint2 = __shift_left_conditional(bool2, uint2, uint2); uint3 = __shift_left_conditional(bool3, uint3, uint3); uint4 = __shift_left_conditional(bool4, uint4, uint4); uint8 = __shift_left_conditional(bool8, uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_conditional(bool16, uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_full */ /*----------------------------------------------------------------------------*/ /* VSHL #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_left_full(ulong8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shift_left_full(ulong4, (uchar)(k={1-64})); ulong4 = __shift_left_full(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_left_full(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_merge */ /*----------------------------------------------------------------------------*/ /* VSHLM1B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_merge(char64, signed char); #endif VSHLM1B, VSHLM2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_left_merge(char32, signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_merge(char64, char2); #endif VSHLM2B, VSHLM4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_left_merge(char32, char2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_merge(char64, char4); #endif VSHLM4B, VSHLM8B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_left_merge(char32, char4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_merge(char64, char8); #endif VSHLM16B, VSHLM8B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_left_merge(char32, char8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_merge(char64, char16); #endif VSHLM16B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_left_merge(char32, char16); #endif VSHLMB int = __shift_left_merge(int, char4); int2 = __shift_left_merge(int2, char8); int4 = __shift_left_merge(int4, char16); int8 = __shift_left_merge(int8, char32); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_merge(int16, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_round_sat */ /*----------------------------------------------------------------------------*/ /* VSSHLRHB char4 = __shift_left_round_sat(short2, (uchar)(k={0-63})); char8 = __shift_left_round_sat(short4, (uchar2)(k={0-63})); char16 = __shift_left_round_sat(short8, (uchar4)(k={0-63})); char32 = __shift_left_round_sat(short16, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_round_sat(short32, (uchar16)(k={0-63})); #endif char4 = __shift_left_round_sat(short2, uint); char8 = __shift_left_round_sat(short4, uint2); char16 = __shift_left_round_sat(short8, uint4); char32 = __shift_left_round_sat(short16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_left_round_sat(short32, uint16); #endif VSSHLURHB uchar4 = __shift_left_round_sat(ushort2, (uchar)(k={0-63})); uchar8 = __shift_left_round_sat(ushort4, (uchar2)(k={0-63})); uchar16 = __shift_left_round_sat(ushort8, (uchar4)(k={0-63})); uchar32 = __shift_left_round_sat(ushort16, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_round_sat(ushort32, (uchar16)(k={0-63})); #endif uchar4 = __shift_left_round_sat(ushort2, uint); uchar8 = __shift_left_round_sat(ushort4, uint2); uchar16 = __shift_left_round_sat(ushort8, uint4); uchar32 = __shift_left_round_sat(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_round_sat(ushort32, uint16); #endif VSSHLRWH short2 = __shift_left_round_sat(int, (uchar)(k={0-63})); short4 = __shift_left_round_sat(int2, (uchar2)(k={0-63})); short8 = __shift_left_round_sat(int4, (uchar4)(k={0-63})); short16 = __shift_left_round_sat(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_round_sat(int16, (uchar16)(k={0-63})); #endif short2 = __shift_left_round_sat(int, uint); short4 = __shift_left_round_sat(int2, uint2); short8 = __shift_left_round_sat(int4, uint4); short16 = __shift_left_round_sat(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_round_sat(int16, uint16); #endif VSSHLURWH ushort2 = __shift_left_round_sat(uint, (uchar)(k={0-63})); ushort4 = __shift_left_round_sat(uint2, (uchar2)(k={0-63})); ushort8 = __shift_left_round_sat(uint4, (uchar4)(k={0-63})); ushort16 = __shift_left_round_sat(uint8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_round_sat(uint16, (uchar16)(k={0-63})); #endif ushort2 = __shift_left_round_sat(uint, uint); ushort4 = __shift_left_round_sat(uint2, uint2); ushort8 = __shift_left_round_sat(uint4, uint4); ushort16 = __shift_left_round_sat(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_round_sat(uint16, uint16); #endif VSSHLRDW int2 = __shift_left_round_sat(long, (uchar)(k={0-63})); int4 = __shift_left_round_sat(long2, (uchar2)(k={0-63})); int8 = __shift_left_round_sat(long4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_round_sat(long8, (uchar8)(k={0-63})); #endif int2 = __shift_left_round_sat(long, ulong); int4 = __shift_left_round_sat(long2, ulong2); int8 = __shift_left_round_sat(long4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_round_sat(long8, ulong8); #endif VSSHLURDW uint2 = __shift_left_round_sat(ulong, (uchar)(k={0-63})); uint4 = __shift_left_round_sat(ulong2, (uchar2)(k={0-63})); uint8 = __shift_left_round_sat(ulong4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_round_sat(ulong8, (uchar8)(k={0-63})); #endif uint2 = __shift_left_round_sat(ulong, ulong); uint4 = __shift_left_round_sat(ulong2, ulong2); uint8 = __shift_left_round_sat(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_round_sat(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_round_sat_to_unsigned */ /*----------------------------------------------------------------------------*/ /* VSSHLSURHB uchar4 = __shift_left_round_sat_to_unsigned(short2, (uchar)(k={0-63})); uchar8 = __shift_left_round_sat_to_unsigned(short4, (uchar2)(k={0-63})); uchar16 = __shift_left_round_sat_to_unsigned(short8, (uchar4)(k={0-63})); uchar32 = __shift_left_round_sat_to_unsigned(short16, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_round_sat_to_unsigned(short32, (uchar16)(k={0-63})); #endif uchar4 = __shift_left_round_sat_to_unsigned(short2, uint); uchar8 = __shift_left_round_sat_to_unsigned(short4, uint2); uchar16 = __shift_left_round_sat_to_unsigned(short8, uint4); uchar32 = __shift_left_round_sat_to_unsigned(short16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_left_round_sat_to_unsigned(short32, uint16); #endif VSSHLSURWH ushort2 = __shift_left_round_sat_to_unsigned(int, (uchar)(k={0-63})); ushort4 = __shift_left_round_sat_to_unsigned(int2, (uchar2)(k={0-63})); ushort8 = __shift_left_round_sat_to_unsigned(int4, (uchar4)(k={0-63})); ushort16 = __shift_left_round_sat_to_unsigned(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_round_sat_to_unsigned(int16, (uchar16)(k={0-63})); #endif ushort2 = __shift_left_round_sat_to_unsigned(int, uint); ushort4 = __shift_left_round_sat_to_unsigned(int2, uint2); ushort8 = __shift_left_round_sat_to_unsigned(int4, uint4); ushort16 = __shift_left_round_sat_to_unsigned(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_round_sat_to_unsigned(int16, uint16); #endif VSSHLSURDW uint2 = __shift_left_round_sat_to_unsigned(long, (uchar)(k={0-63})); uint4 = __shift_left_round_sat_to_unsigned(long2, (uchar2)(k={0-63})); uint8 = __shift_left_round_sat_to_unsigned(long4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_round_sat_to_unsigned(long8, (uchar8)(k={0-63})); #endif uint2 = __shift_left_round_sat_to_unsigned(long, ulong); uint4 = __shift_left_round_sat_to_unsigned(long2, ulong2); uint8 = __shift_left_round_sat_to_unsigned(long4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_round_sat_to_unsigned(long8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_sat */ /*----------------------------------------------------------------------------*/ /* VSSHLH short = __shift_left_sat(short, (uchar)(k={0-63})); short2 = __shift_left_sat(short2, (uchar2)(k={0-63})); short3 = __shift_left_sat(short3, (uchar3)(k={0-63})); short4 = __shift_left_sat(short4, (uchar4)(k={0-63})); short8 = __shift_left_sat(short8, (uchar8)(k={0-63})); short16 = __shift_left_sat(short16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_sat(short32, (uchar32)(k={0-63})); #endif short2 = __shift_left_sat(short2, uint); short4 = __shift_left_sat(short4, uint2); short8 = __shift_left_sat(short8, uint4); short16 = __shift_left_sat(short16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_left_sat(short32, uint16); #endif VSSHLUH ushort = __shift_left_sat(ushort, (uchar)(k={0-63})); ushort2 = __shift_left_sat(ushort2, (uchar2)(k={0-63})); ushort3 = __shift_left_sat(ushort3, (uchar3)(k={0-63})); ushort4 = __shift_left_sat(ushort4, (uchar4)(k={0-63})); ushort8 = __shift_left_sat(ushort8, (uchar8)(k={0-63})); ushort16 = __shift_left_sat(ushort16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_sat(ushort32, (uchar32)(k={0-63})); #endif ushort2 = __shift_left_sat(ushort2, uint); ushort4 = __shift_left_sat(ushort4, uint2); ushort8 = __shift_left_sat(ushort8, uint4); ushort16 = __shift_left_sat(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_sat(ushort32, uint16); #endif VSSHLW int = __shift_left_sat(int, (uchar)(k={0-63})); int2 = __shift_left_sat(int2, (uchar2)(k={0-63})); int3 = __shift_left_sat(int3, (uchar3)(k={0-63})); int4 = __shift_left_sat(int4, (uchar4)(k={0-63})); int8 = __shift_left_sat(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_sat(int16, (uchar16)(k={0-63})); #endif int = __shift_left_sat(int, uint); int2 = __shift_left_sat(int2, uint2); int3 = __shift_left_sat(int3, uint3); int4 = __shift_left_sat(int4, uint4); int8 = __shift_left_sat(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_sat(int16, uint16); #endif VSSHLUW uint = __shift_left_sat(uint, (uchar)(k={0-63})); uint2 = __shift_left_sat(uint2, (uchar2)(k={0-63})); uint3 = __shift_left_sat(uint3, (uchar3)(k={0-63})); uint4 = __shift_left_sat(uint4, (uchar4)(k={0-63})); uint8 = __shift_left_sat(uint8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_sat(uint16, (uchar16)(k={0-63})); #endif uint = __shift_left_sat(uint, uint); uint2 = __shift_left_sat(uint2, uint2); uint3 = __shift_left_sat(uint3, uint3); uint4 = __shift_left_sat(uint4, uint4); uint8 = __shift_left_sat(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_sat(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_sat_to_unsigned */ /*----------------------------------------------------------------------------*/ /* VSSHLSUH ushort = __shift_left_sat_to_unsigned(short, (uchar)(k={0-63})); ushort2 = __shift_left_sat_to_unsigned(short2, (uchar2)(k={0-63})); ushort3 = __shift_left_sat_to_unsigned(short3, (uchar3)(k={0-63})); ushort4 = __shift_left_sat_to_unsigned(short4, (uchar4)(k={0-63})); ushort8 = __shift_left_sat_to_unsigned(short8, (uchar8)(k={0-63})); ushort16 = __shift_left_sat_to_unsigned(short16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_sat_to_unsigned(short32, (uchar32)(k={0-63})); #endif ushort2 = __shift_left_sat_to_unsigned(short2, uint); ushort4 = __shift_left_sat_to_unsigned(short4, uint2); ushort8 = __shift_left_sat_to_unsigned(short8, uint4); ushort16 = __shift_left_sat_to_unsigned(short16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_left_sat_to_unsigned(short32, uint16); #endif VSSHLSUW uint = __shift_left_sat_to_unsigned(int, (uchar)(k={0-63})); uint2 = __shift_left_sat_to_unsigned(int2, (uchar2)(k={0-63})); uint3 = __shift_left_sat_to_unsigned(int3, (uchar3)(k={0-63})); uint4 = __shift_left_sat_to_unsigned(int4, (uchar4)(k={0-63})); uint8 = __shift_left_sat_to_unsigned(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_sat_to_unsigned(int16, (uchar16)(k={0-63})); #endif uint = __shift_left_sat_to_unsigned(int, uint); uint2 = __shift_left_sat_to_unsigned(int2, uint2); uint3 = __shift_left_sat_to_unsigned(int3, uint3); uint4 = __shift_left_sat_to_unsigned(int4, uint4); uint8 = __shift_left_sat_to_unsigned(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_sat_to_unsigned(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_var */ /*----------------------------------------------------------------------------*/ /* VSHVLW int = __shift_left_var(int, int); int2 = __shift_left_var(int2, int2); int3 = __shift_left_var(int3, int3); int4 = __shift_left_var(int4, int4); int8 = __shift_left_var(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_var(int16, int16); #endif VSHVLUW uint = __shift_left_var(uint, int); uint2 = __shift_left_var(uint2, int2); uint3 = __shift_left_var(uint3, int3); uint4 = __shift_left_var(uint4, int4); uint8 = __shift_left_var(uint8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_left_var(uint16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_left_var_sat */ /*----------------------------------------------------------------------------*/ /* VSSHVLW int = __shift_left_var_sat(int, int); int2 = __shift_left_var_sat(int2, int2); int3 = __shift_left_var_sat(int3, int3); int4 = __shift_left_var_sat(int4, int4); int8 = __shift_left_var_sat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_left_var_sat(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right */ /*----------------------------------------------------------------------------*/ /* VSHRB signed char = __shift_right(signed char, (signed char)(k={0-63})); char2 = __shift_right(char2, (char2)(k={0-63})); char3 = __shift_right(char3, (char3)(k={0-63})); char4 = __shift_right(char4, (char4)(k={0-63})); char8 = __shift_right(char8, (char8)(k={0-63})); char16 = __shift_right(char16, (char16)(k={0-63})); char32 = __shift_right(char32, (char32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right(char64, (char64)(k={0-63})); #endif char4 = __shift_right(char4, int); char8 = __shift_right(char8, int2); char16 = __shift_right(char16, int4); char32 = __shift_right(char32, int8); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right(char64, int16); #endif VSHRUB uchar = __shift_right(uchar, (uchar)(k={0-63})); uchar2 = __shift_right(uchar2, (uchar2)(k={0-63})); uchar3 = __shift_right(uchar3, (uchar3)(k={0-63})); uchar4 = __shift_right(uchar4, (uchar4)(k={0-63})); uchar8 = __shift_right(uchar8, (uchar8)(k={0-63})); uchar16 = __shift_right(uchar16, (uchar16)(k={0-63})); uchar32 = __shift_right(uchar32, (uchar32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_right(uchar64, (uchar64)(k={0-63})); #endif uchar4 = __shift_right(uchar4, uint); uchar8 = __shift_right(uchar8, uint2); uchar16 = __shift_right(uchar16, uint4); uchar32 = __shift_right(uchar32, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_right(uchar64, uint16); #endif VSHRH short = __shift_right(short, (short)(k={0-63})); short2 = __shift_right(short2, (short2)(k={0-63})); short3 = __shift_right(short3, (short3)(k={0-63})); short4 = __shift_right(short4, (short4)(k={0-63})); short8 = __shift_right(short8, (short8)(k={0-63})); short16 = __shift_right(short16, (short16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_right(short32, (short32)(k={0-63})); #endif short2 = __shift_right(short2, int); short4 = __shift_right(short4, int2); short8 = __shift_right(short8, int4); short16 = __shift_right(short16, int8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_right(short32, int16); #endif VSHRUH ushort = __shift_right(ushort, (ushort)(k={0-63})); ushort2 = __shift_right(ushort2, (ushort2)(k={0-63})); ushort3 = __shift_right(ushort3, (ushort3)(k={0-63})); ushort4 = __shift_right(ushort4, (ushort4)(k={0-63})); ushort8 = __shift_right(ushort8, (ushort8)(k={0-63})); ushort16 = __shift_right(ushort16, (ushort16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_right(ushort32, (ushort32)(k={0-63})); #endif ushort2 = __shift_right(ushort2, uint); ushort4 = __shift_right(ushort4, uint2); ushort8 = __shift_right(ushort8, uint4); ushort16 = __shift_right(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_right(ushort32, uint16); #endif SHRW int = __shift_right(int, (uchar)(k={0-63})); SHRW, VSHRW int = __shift_right(int, int); int = __shift_right(int, (int)(k)); int2 = __shift_right(int2, int2); int2 = __shift_right(int2, (int2)(k)); int3 = __shift_right(int3, int3); int3 = __shift_right(int3, (int3)(k)); int4 = __shift_right(int4, int4); int4 = __shift_right(int4, (int4)(k)); int8 = __shift_right(int8, int8); int8 = __shift_right(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right(int16, int16); int16 = __shift_right(int16, (int16)(k)); #endif SHRUW uint = __shift_right(uint, (uchar)(k={0-63})); SHRUW, VSHRUW uint = __shift_right(uint, uint); uint = __shift_right(uint, (uint)(k)); uint2 = __shift_right(uint2, uint2); uint2 = __shift_right(uint2, (uint2)(k)); uint3 = __shift_right(uint3, uint3); uint3 = __shift_right(uint3, (uint3)(k)); uint4 = __shift_right(uint4, uint4); uint4 = __shift_right(uint4, (uint4)(k)); uint8 = __shift_right(uint8, uint8); uint8 = __shift_right(uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_right(uint16, uint16); uint16 = __shift_right(uint16, (uint16)(k)); #endif SHRD long = __shift_right(long, (uchar)(k={0-63})); long = __shift_right(long, int); VSHRD long = __shift_right(long, long); long = __shift_right(long, (long)(k)); long2 = __shift_right(long2, long2); long2 = __shift_right(long2, (long2)(k)); long3 = __shift_right(long3, long3); long3 = __shift_right(long3, (long3)(k)); long4 = __shift_right(long4, long4); long4 = __shift_right(long4, (long4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_right(long8, long8); long8 = __shift_right(long8, (long8)(k)); #endif SHRUD ulong = __shift_right(ulong, (uchar)(k={0-63})); ulong = __shift_right(ulong, uint); VSHRUD ulong = __shift_right(ulong, ulong); ulong = __shift_right(ulong, (ulong)(k)); ulong2 = __shift_right(ulong2, ulong2); ulong2 = __shift_right(ulong2, (ulong2)(k)); ulong3 = __shift_right(ulong3, ulong3); ulong3 = __shift_right(ulong3, (ulong3)(k)); ulong4 = __shift_right(ulong4, ulong4); ulong4 = __shift_right(ulong4, (ulong4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_right(ulong8, ulong8); ulong8 = __shift_right(ulong8, (ulong8)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right_full */ /*----------------------------------------------------------------------------*/ /* VSHR #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_right_full(long8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shift_right_full(long4, (uchar)(k={1-64})); long4 = __shift_right_full(long4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_right_full(long8, ulong8); #endif VSHRU #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_right_full(ulong8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shift_right_full(ulong4, (uchar)(k={1-64})); ulong4 = __shift_right_full(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_right_full(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right_merge */ /*----------------------------------------------------------------------------*/ /* VSHRM1B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_merge(char64, signed char); #endif VSHRM1B, VSHRM2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_right_merge(char32, signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_merge(char64, char2); #endif VSHRM2B, VSHRM4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_right_merge(char32, char2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_merge(char64, char4); #endif VSHRM4B, VSHRM8B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_right_merge(char32, char4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_merge(char64, char8); #endif VSHRM16B, VSHRM8B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_right_merge(char32, char8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_merge(char64, char16); #endif VSHRM16B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shift_right_merge(char32, char16); #endif VSHRMB int = __shift_right_merge(int, char4); int2 = __shift_right_merge(int2, char8); int4 = __shift_right_merge(int4, char16); int8 = __shift_right_merge(int8, char32); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right_merge(int16, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right_round */ /*----------------------------------------------------------------------------*/ /* VSHRRB signed char = __shift_right_round(signed char, (uchar)(k={0-63})); char2 = __shift_right_round(char2, (uchar2)(k={0-63})); char3 = __shift_right_round(char3, (uchar3)(k={0-63})); char4 = __shift_right_round(char4, (uchar4)(k={0-63})); char8 = __shift_right_round(char8, (uchar8)(k={0-63})); char16 = __shift_right_round(char16, (uchar16)(k={0-63})); char32 = __shift_right_round(char32, (uchar32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_round(char64, (uchar64)(k={0-63})); #endif char4 = __shift_right_round(char4, uint); char8 = __shift_right_round(char8, uint2); char16 = __shift_right_round(char16, uint4); char32 = __shift_right_round(char32, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shift_right_round(char64, uint16); #endif VSHRURB uchar = __shift_right_round(uchar, (uchar)(k={0-63})); uchar2 = __shift_right_round(uchar2, (uchar2)(k={0-63})); uchar3 = __shift_right_round(uchar3, (uchar3)(k={0-63})); uchar4 = __shift_right_round(uchar4, (uchar4)(k={0-63})); uchar8 = __shift_right_round(uchar8, (uchar8)(k={0-63})); uchar16 = __shift_right_round(uchar16, (uchar16)(k={0-63})); uchar32 = __shift_right_round(uchar32, (uchar32)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_right_round(uchar64, (uchar64)(k={0-63})); #endif uchar4 = __shift_right_round(uchar4, uint); uchar8 = __shift_right_round(uchar8, uint2); uchar16 = __shift_right_round(uchar16, uint4); uchar32 = __shift_right_round(uchar32, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shift_right_round(uchar64, uint16); #endif VSHRRH short = __shift_right_round(short, (uchar)(k={0-63})); short2 = __shift_right_round(short2, (uchar2)(k={0-63})); short3 = __shift_right_round(short3, (uchar3)(k={0-63})); short4 = __shift_right_round(short4, (uchar4)(k={0-63})); short8 = __shift_right_round(short8, (uchar8)(k={0-63})); short16 = __shift_right_round(short16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_right_round(short32, (uchar32)(k={0-63})); #endif short2 = __shift_right_round(short2, uint); short4 = __shift_right_round(short4, uint2); short8 = __shift_right_round(short8, uint4); short16 = __shift_right_round(short16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shift_right_round(short32, uint16); #endif VSHRURH ushort = __shift_right_round(ushort, (uchar)(k={0-63})); ushort2 = __shift_right_round(ushort2, (uchar2)(k={0-63})); ushort3 = __shift_right_round(ushort3, (uchar3)(k={0-63})); ushort4 = __shift_right_round(ushort4, (uchar4)(k={0-63})); ushort8 = __shift_right_round(ushort8, (uchar8)(k={0-63})); ushort16 = __shift_right_round(ushort16, (uchar16)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_right_round(ushort32, (uchar32)(k={0-63})); #endif ushort2 = __shift_right_round(ushort2, uint); ushort4 = __shift_right_round(ushort4, uint2); ushort8 = __shift_right_round(ushort8, uint4); ushort16 = __shift_right_round(ushort16, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shift_right_round(ushort32, uint16); #endif VSHRRW int = __shift_right_round(int, (uchar)(k={0-63})); int2 = __shift_right_round(int2, (uchar2)(k={0-63})); int3 = __shift_right_round(int3, (uchar3)(k={0-63})); int4 = __shift_right_round(int4, (uchar4)(k={0-63})); int8 = __shift_right_round(int8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right_round(int16, (uchar16)(k={0-63})); #endif int = __shift_right_round(int, uint); int2 = __shift_right_round(int2, uint2); int3 = __shift_right_round(int3, uint3); int4 = __shift_right_round(int4, uint4); int8 = __shift_right_round(int8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right_round(int16, uint16); #endif VSHRURW uint = __shift_right_round(uint, (uchar)(k={0-63})); uint2 = __shift_right_round(uint2, (uchar2)(k={0-63})); uint3 = __shift_right_round(uint3, (uchar3)(k={0-63})); uint4 = __shift_right_round(uint4, (uchar4)(k={0-63})); uint8 = __shift_right_round(uint8, (uchar8)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_right_round(uint16, (uchar16)(k={0-63})); #endif uint = __shift_right_round(uint, uint); uint2 = __shift_right_round(uint2, uint2); uint3 = __shift_right_round(uint3, uint3); uint4 = __shift_right_round(uint4, uint4); uint8 = __shift_right_round(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_right_round(uint16, uint16); #endif VSHRRD long = __shift_right_round(long, (uchar)(k={0-63})); long2 = __shift_right_round(long2, (uchar2)(k={0-63})); long3 = __shift_right_round(long3, (uchar3)(k={0-63})); long4 = __shift_right_round(long4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_right_round(long8, (uchar8)(k={0-63})); #endif long = __shift_right_round(long, ulong); long2 = __shift_right_round(long2, ulong2); long3 = __shift_right_round(long3, ulong3); long4 = __shift_right_round(long4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shift_right_round(long8, ulong8); #endif VSHRURD ulong = __shift_right_round(ulong, (uchar)(k={0-63})); ulong2 = __shift_right_round(ulong2, (uchar2)(k={0-63})); ulong3 = __shift_right_round(ulong3, (uchar3)(k={0-63})); ulong4 = __shift_right_round(ulong4, (uchar4)(k={0-63})); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_right_round(ulong8, (uchar8)(k={0-63})); #endif ulong = __shift_right_round(ulong, ulong); ulong2 = __shift_right_round(ulong2, ulong2); ulong3 = __shift_right_round(ulong3, ulong3); ulong4 = __shift_right_round(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shift_right_round(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right_var */ /*----------------------------------------------------------------------------*/ /* VSHVRW int = __shift_right_var(int, int); int2 = __shift_right_var(int2, int2); int3 = __shift_right_var(int3, int3); int4 = __shift_right_var(int4, int4); int8 = __shift_right_var(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right_var(int16, int16); #endif VSHVRUW uint = __shift_right_var(uint, int); uint2 = __shift_right_var(uint2, int2); uint3 = __shift_right_var(uint3, int3); uint4 = __shift_right_var(uint4, int4); uint8 = __shift_right_var(uint8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shift_right_var(uint16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shift_right_var_sat */ /*----------------------------------------------------------------------------*/ /* VSSHVRW int = __shift_right_var_sat(int, int); int2 = __shift_right_var_sat(int2, int2); int3 = __shift_right_var_sat(int3, int3); int4 = __shift_right_var_sat(int4, int4); int8 = __shift_right_var_sat(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shift_right_var_sat(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __short_to_char_sat */ /*----------------------------------------------------------------------------*/ /* VSATHB short = __short_to_char_sat(short); short2 = __short_to_char_sat(short2); short3 = __short_to_char_sat(short3); short4 = __short_to_char_sat(short4); short8 = __short_to_char_sat(short8); short16 = __short_to_char_sat(short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __short_to_char_sat(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_3way */ /*----------------------------------------------------------------------------*/ /* VSHFL3 long = __shuffle_3way(int2, int2); long2 = __shuffle_3way(int4, int4); long4 = __shuffle_3way(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_3way(int16, int16); #endif ulong = __shuffle_3way(uint2, uint2); ulong2 = __shuffle_3way(uint4, uint4); ulong4 = __shuffle_3way(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_3way(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_bit */ /*----------------------------------------------------------------------------*/ /* VBITSHFLW int = __shuffle_bit(int); int2 = __shuffle_bit(int2); int3 = __shuffle_bit(int3); int4 = __shuffle_bit(int4); int8 = __shuffle_bit(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle_bit(int16); #endif uint = __shuffle_bit(uint); uint2 = __shuffle_bit(uint2); uint3 = __shuffle_bit(uint3); uint4 = __shuffle_bit(uint4); uint8 = __shuffle_bit(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shuffle_bit(uint16); #endif VBITSHFLD long = __shuffle_bit(long); long2 = __shuffle_bit(long2); long3 = __shuffle_bit(long3); long4 = __shuffle_bit(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_bit(long8); #endif ulong = __shuffle_bit(ulong); ulong2 = __shuffle_bit(ulong2); ulong3 = __shuffle_bit(ulong3); ulong4 = __shuffle_bit(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_bit(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2 */ /*----------------------------------------------------------------------------*/ /* VSHFL2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shuffle_stride2(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shuffle_stride2(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __shuffle_stride2(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shuffle_stride2(uchar64); #endif VSHFL2H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __shuffle_stride2(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __shuffle_stride2(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __shuffle_stride2(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shuffle_stride2(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __shuffle_stride2(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shuffle_stride2(ushort32); #endif VSHFL2W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __shuffle_stride2(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __shuffle_stride2(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __shuffle_stride2(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle_stride2(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __shuffle_stride2(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shuffle_stride2(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __shuffle_stride2(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __shuffle_stride2(float16); #endif VSHFL2D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_even_even */ /*----------------------------------------------------------------------------*/ /* VSHFL2DEE #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_even_even(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_even_even(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_even_even(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_even_even(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_even_even(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_even_even(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_even_even(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_even_even(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_even_even(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_even_even(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_even_odd */ /*----------------------------------------------------------------------------*/ /* VSHFL2DEO #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_even_odd(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_even_odd(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_even_odd(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_even_odd(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_even_odd(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_even_odd(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_even_odd(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_even_odd(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_even_odd(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_even_odd(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_high_high */ /*----------------------------------------------------------------------------*/ /* VSHFL2HHH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __shuffle_stride2_high_high(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __shuffle_stride2_high_high(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __shuffle_stride2_high_high(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shuffle_stride2_high_high(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __shuffle_stride2_high_high(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shuffle_stride2_high_high(ushort32, ushort32); #endif VSHFL2WHH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __shuffle_stride2_high_high(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __shuffle_stride2_high_high(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __shuffle_stride2_high_high(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle_stride2_high_high(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __shuffle_stride2_high_high(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shuffle_stride2_high_high(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __shuffle_stride2_high_high(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __shuffle_stride2_high_high(float16, float16); #endif VSHFL2DHH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_high_high(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_high_high(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_high_high(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_high_high(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_high_high(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_high_high(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_high_high(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_high_high(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_high_high(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_high_high(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_low_high */ /*----------------------------------------------------------------------------*/ /* VSHFL2DLH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_low_high(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_low_high(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_low_high(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_low_high(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_low_high(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_low_high(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_low_high(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_low_high(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_low_high(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_low_high(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_low_low */ /*----------------------------------------------------------------------------*/ /* VSHFL2HLL #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __shuffle_stride2_low_low(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __shuffle_stride2_low_low(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __shuffle_stride2_low_low(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shuffle_stride2_low_low(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __shuffle_stride2_low_low(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shuffle_stride2_low_low(ushort32, ushort32); #endif VSHFL2WLL #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __shuffle_stride2_low_low(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __shuffle_stride2_low_low(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __shuffle_stride2_low_low(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle_stride2_low_low(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __shuffle_stride2_low_low(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shuffle_stride2_low_low(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __shuffle_stride2_low_low(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __shuffle_stride2_low_low(float16, float16); #endif VSHFL2DLL #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_low_low(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_low_low(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_low_low(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_low_low(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_low_low(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_low_low(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_low_low(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_low_low(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_low_low(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_low_low(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride2_odd_odd */ /*----------------------------------------------------------------------------*/ /* VSHFL2DOO #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __shuffle_stride2_odd_odd(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __shuffle_stride2_odd_odd(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __shuffle_stride2_odd_odd(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __shuffle_stride2_odd_odd(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __shuffle_stride2_odd_odd(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __shuffle_stride2_odd_odd(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __shuffle_stride2_odd_odd(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __shuffle_stride2_odd_odd(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __shuffle_stride2_odd_odd(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __shuffle_stride2_odd_odd(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __shuffle_stride4 */ /*----------------------------------------------------------------------------*/ /* VSHFL4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __shuffle_stride4(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __shuffle_stride4(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __shuffle_stride4(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __shuffle_stride4(uchar64); #endif VSHFL4H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __shuffle_stride4(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __shuffle_stride4(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __shuffle_stride4(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __shuffle_stride4(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __shuffle_stride4(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __shuffle_stride4(ushort32); #endif VSHFL4W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __shuffle_stride4(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __shuffle_stride4(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __shuffle_stride4(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __shuffle_stride4(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __shuffle_stride4(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __shuffle_stride4(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __shuffle_stride4(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __shuffle_stride4(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sort_asc */ /*----------------------------------------------------------------------------*/ /* VSORTIH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __sort_asc(short16); #endif VSORTIUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __sort_asc(ushort16); #endif VSORTIW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __sort_asc(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __sort_asc(int16); #endif VSORTIUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __sort_asc(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __sort_asc(uint16); #endif VSORTISP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __sort_asc(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __sort_asc(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sort_asc_perm */ /*----------------------------------------------------------------------------*/ /* VSORTPIW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_asc_perm(int16); #endif VSORTPIUW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_asc_perm(uint16); #endif VSORTPISP #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_asc_perm(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sort_desc */ /*----------------------------------------------------------------------------*/ /* VSORTDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __sort_desc(short16); #endif VSORTDUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __sort_desc(ushort16); #endif VSORTDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __sort_desc(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __sort_desc(int16); #endif VSORTDUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __sort_desc(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __sort_desc(uint16); #endif VSORTDSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __sort_desc(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __sort_desc(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sort_desc_perm */ /*----------------------------------------------------------------------------*/ /* VSORTPDW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_desc_perm(int16); #endif VSORTPDUW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_desc_perm(uint16); #endif VSORTPDSP #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sort_desc_perm(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sub_cond */ /*----------------------------------------------------------------------------*/ /* VSUBCW uint = __sub_cond(uint, uint); uint2 = __sub_cond(uint2, uint2); uint3 = __sub_cond(uint3, uint3); uint4 = __sub_cond(uint4, uint4); uint8 = __sub_cond(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __sub_cond(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sub_reverse */ /*----------------------------------------------------------------------------*/ /* VSUBRB signed char = __sub_reverse(signed char, signed char); signed char = __sub_reverse(signed char, (signed char)(k)); char2 = __sub_reverse(char2, char2); char2 = __sub_reverse(char2, (char2)(k)); char3 = __sub_reverse(char3, char3); char3 = __sub_reverse(char3, (char3)(k)); char4 = __sub_reverse(char4, char4); char4 = __sub_reverse(char4, (char4)(k)); char8 = __sub_reverse(char8, char8); char8 = __sub_reverse(char8, (char8)(k)); char16 = __sub_reverse(char16, char16); char16 = __sub_reverse(char16, (char16)(k)); char32 = __sub_reverse(char32, char32); char32 = __sub_reverse(char32, (char32)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __sub_reverse(char64, char64); char64 = __sub_reverse(char64, (char64)(k)); #endif uchar = __sub_reverse(uchar, uchar); uchar = __sub_reverse(uchar, (uchar)(k)); uchar2 = __sub_reverse(uchar2, uchar2); uchar2 = __sub_reverse(uchar2, (uchar2)(k)); uchar3 = __sub_reverse(uchar3, uchar3); uchar3 = __sub_reverse(uchar3, (uchar3)(k)); uchar4 = __sub_reverse(uchar4, uchar4); uchar4 = __sub_reverse(uchar4, (uchar4)(k)); uchar8 = __sub_reverse(uchar8, uchar8); uchar8 = __sub_reverse(uchar8, (uchar8)(k)); uchar16 = __sub_reverse(uchar16, uchar16); uchar16 = __sub_reverse(uchar16, (uchar16)(k)); uchar32 = __sub_reverse(uchar32, uchar32); uchar32 = __sub_reverse(uchar32, (uchar32)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __sub_reverse(uchar64, uchar64); uchar64 = __sub_reverse(uchar64, (uchar64)(k)); #endif cchar = __sub_reverse(cchar, cchar); cchar2 = __sub_reverse(cchar2, cchar2); cchar4 = __sub_reverse(cchar4, cchar4); cchar8 = __sub_reverse(cchar8, cchar8); cchar16 = __sub_reverse(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __sub_reverse(cchar32, cchar32); #endif VSUBRH short = __sub_reverse(short, short); short = __sub_reverse(short, (short)(k)); short2 = __sub_reverse(short2, short2); short2 = __sub_reverse(short2, (short2)(k)); short3 = __sub_reverse(short3, short3); short3 = __sub_reverse(short3, (short3)(k)); short4 = __sub_reverse(short4, short4); short4 = __sub_reverse(short4, (short4)(k)); short8 = __sub_reverse(short8, short8); short8 = __sub_reverse(short8, (short8)(k)); short16 = __sub_reverse(short16, short16); short16 = __sub_reverse(short16, (short16)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __sub_reverse(short32, short32); short32 = __sub_reverse(short32, (short32)(k)); #endif ushort = __sub_reverse(ushort, ushort); ushort = __sub_reverse(ushort, (ushort)(k)); ushort2 = __sub_reverse(ushort2, ushort2); ushort2 = __sub_reverse(ushort2, (ushort2)(k)); ushort3 = __sub_reverse(ushort3, ushort3); ushort3 = __sub_reverse(ushort3, (ushort3)(k)); ushort4 = __sub_reverse(ushort4, ushort4); ushort4 = __sub_reverse(ushort4, (ushort4)(k)); ushort8 = __sub_reverse(ushort8, ushort8); ushort8 = __sub_reverse(ushort8, (ushort8)(k)); ushort16 = __sub_reverse(ushort16, ushort16); ushort16 = __sub_reverse(ushort16, (ushort16)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __sub_reverse(ushort32, ushort32); ushort32 = __sub_reverse(ushort32, (ushort32)(k)); #endif cshort = __sub_reverse(cshort, cshort); cshort2 = __sub_reverse(cshort2, cshort2); cshort4 = __sub_reverse(cshort4, cshort4); cshort8 = __sub_reverse(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __sub_reverse(cshort16, cshort16); #endif SUBRW, VSUBRW int = __sub_reverse(int, int); int = __sub_reverse(int, (int)(k)); int2 = __sub_reverse(int2, int2); int2 = __sub_reverse(int2, (int2)(k)); int3 = __sub_reverse(int3, int3); int3 = __sub_reverse(int3, (int3)(k)); int4 = __sub_reverse(int4, int4); int4 = __sub_reverse(int4, (int4)(k)); int8 = __sub_reverse(int8, int8); int8 = __sub_reverse(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __sub_reverse(int16, int16); int16 = __sub_reverse(int16, (int16)(k)); #endif uint = __sub_reverse(uint, uint); uint = __sub_reverse(uint, (uint)(k)); uint2 = __sub_reverse(uint2, uint2); uint2 = __sub_reverse(uint2, (uint2)(k)); uint3 = __sub_reverse(uint3, uint3); uint3 = __sub_reverse(uint3, (uint3)(k)); uint4 = __sub_reverse(uint4, uint4); uint4 = __sub_reverse(uint4, (uint4)(k)); uint8 = __sub_reverse(uint8, uint8); uint8 = __sub_reverse(uint8, (uint8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __sub_reverse(uint16, uint16); uint16 = __sub_reverse(uint16, (uint16)(k)); #endif VSUBRW cint = __sub_reverse(cint, cint); cint2 = __sub_reverse(cint2, cint2); cint4 = __sub_reverse(cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __sub_reverse(cint8, cint8); #endif SUBRD, VSUBRD long = __sub_reverse(long, long); long = __sub_reverse(long, (long)(k)); long2 = __sub_reverse(long2, long2); long2 = __sub_reverse(long2, (long2)(k)); long3 = __sub_reverse(long3, long3); long3 = __sub_reverse(long3, (long3)(k)); long4 = __sub_reverse(long4, long4); long4 = __sub_reverse(long4, (long4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __sub_reverse(long8, long8); long8 = __sub_reverse(long8, (long8)(k)); #endif ulong = __sub_reverse(ulong, ulong); ulong = __sub_reverse(ulong, (ulong)(k)); ulong2 = __sub_reverse(ulong2, ulong2); ulong2 = __sub_reverse(ulong2, (ulong2)(k)); ulong3 = __sub_reverse(ulong3, ulong3); ulong3 = __sub_reverse(ulong3, (ulong3)(k)); ulong4 = __sub_reverse(ulong4, ulong4); ulong4 = __sub_reverse(ulong4, (ulong4)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __sub_reverse(ulong8, ulong8); ulong8 = __sub_reverse(ulong8, (ulong8)(k)); #endif VSUBRD clong = __sub_reverse(clong, clong); clong2 = __sub_reverse(clong2, clong2); #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __sub_reverse(clong4, clong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __sub_sat */ /*----------------------------------------------------------------------------*/ /* VSSUBB signed char = __sub_sat(signed char, signed char); signed char = __sub_sat(signed char, (signed char)(k)); char2 = __sub_sat(char2, char2); char2 = __sub_sat(char2, (char2)(k)); char3 = __sub_sat(char3, char3); char3 = __sub_sat(char3, (char3)(k)); char4 = __sub_sat(char4, char4); char4 = __sub_sat(char4, (char4)(k)); char8 = __sub_sat(char8, char8); char8 = __sub_sat(char8, (char8)(k)); char16 = __sub_sat(char16, char16); char16 = __sub_sat(char16, (char16)(k)); char32 = __sub_sat(char32, char32); char32 = __sub_sat(char32, (char32)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __sub_sat(char64, char64); char64 = __sub_sat(char64, (char64)(k)); #endif cchar = __sub_sat(cchar, cchar); cchar2 = __sub_sat(cchar2, cchar2); cchar4 = __sub_sat(cchar4, cchar4); cchar8 = __sub_sat(cchar8, cchar8); cchar16 = __sub_sat(cchar16, cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __sub_sat(cchar32, cchar32); #endif VSSUBH short = __sub_sat(short, short); short = __sub_sat(short, (short)(k)); short2 = __sub_sat(short2, short2); short2 = __sub_sat(short2, (short2)(k)); short3 = __sub_sat(short3, short3); short3 = __sub_sat(short3, (short3)(k)); short4 = __sub_sat(short4, short4); short4 = __sub_sat(short4, (short4)(k)); short8 = __sub_sat(short8, short8); short8 = __sub_sat(short8, (short8)(k)); short16 = __sub_sat(short16, short16); short16 = __sub_sat(short16, (short16)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __sub_sat(short32, short32); short32 = __sub_sat(short32, (short32)(k)); #endif cshort = __sub_sat(cshort, cshort); cshort2 = __sub_sat(cshort2, cshort2); cshort4 = __sub_sat(cshort4, cshort4); cshort8 = __sub_sat(cshort8, cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __sub_sat(cshort16, cshort16); #endif VSSUBW int = __sub_sat(int, int); int = __sub_sat(int, (int)(k)); int2 = __sub_sat(int2, int2); int2 = __sub_sat(int2, (int2)(k)); int3 = __sub_sat(int3, int3); int3 = __sub_sat(int3, (int3)(k)); int4 = __sub_sat(int4, int4); int4 = __sub_sat(int4, (int4)(k)); int8 = __sub_sat(int8, int8); int8 = __sub_sat(int8, (int8)(k)); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __sub_sat(int16, int16); int16 = __sub_sat(int16, (int16)(k)); #endif cint = __sub_sat(cint, cint); cint2 = __sub_sat(cint2, cint2); cint4 = __sub_sat(cint4, cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __sub_sat(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __swap */ /*----------------------------------------------------------------------------*/ /* VSWAPB char2 = __swap(char2); char4 = __swap(char4); char8 = __swap(char8); char16 = __swap(char16); char32 = __swap(char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __swap(char64); #endif uchar2 = __swap(uchar2); uchar4 = __swap(uchar4); uchar8 = __swap(uchar8); uchar16 = __swap(uchar16); uchar32 = __swap(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __swap(uchar64); #endif VSWAPH cchar2 = __swap(cchar2); cchar4 = __swap(cchar4); cchar8 = __swap(cchar8); cchar16 = __swap(cchar16); #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __swap(cchar32); #endif short2 = __swap(short2); short4 = __swap(short4); short8 = __swap(short8); short16 = __swap(short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __swap(short32); #endif ushort2 = __swap(ushort2); ushort4 = __swap(ushort4); ushort8 = __swap(ushort8); ushort16 = __swap(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __swap(ushort32); #endif VSWAPW cshort2 = __swap(cshort2); cshort4 = __swap(cshort4); cshort8 = __swap(cshort8); #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __swap(cshort16); #endif int2 = __swap(int2); int4 = __swap(int4); int8 = __swap(int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __swap(int16); #endif uint2 = __swap(uint2); uint4 = __swap(uint4); uint8 = __swap(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __swap(uint16); #endif float2 = __swap(float2); float4 = __swap(float4); float8 = __swap(float8); #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __swap(float16); #endif VSWAPD cint2 = __swap(cint2); cint4 = __swap(cint4); #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __swap(cint8); #endif cfloat2 = __swap(cfloat2); cfloat4 = __swap(cfloat4); #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __swap(cfloat8); #endif long2 = __swap(long2); long4 = __swap(long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __swap(long8); #endif ulong2 = __swap(ulong2); ulong4 = __swap(ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __swap(ulong8); #endif double2 = __swap(double2); double4 = __swap(double4); #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __swap(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __unpack_high */ /*----------------------------------------------------------------------------*/ /* VUNPKHB short2 = __unpack_high(char4); short4 = __unpack_high(char8); short8 = __unpack_high(char16); short16 = __unpack_high(char32); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __unpack_high(char64); #endif VUNPKHUB ushort2 = __unpack_high(uchar4); ushort4 = __unpack_high(uchar8); ushort8 = __unpack_high(uchar16); ushort16 = __unpack_high(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __unpack_high(uchar64); #endif VUNPKHH int2 = __unpack_high(short4); int4 = __unpack_high(short8); int8 = __unpack_high(short16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __unpack_high(short32); #endif VUNPKHUH uint2 = __unpack_high(ushort4); uint4 = __unpack_high(ushort8); uint8 = __unpack_high(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __unpack_high(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __unpack_low */ /*----------------------------------------------------------------------------*/ /* VUNPKLB short2 = __unpack_low(char4); short4 = __unpack_low(char8); short8 = __unpack_low(char16); short16 = __unpack_low(char32); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __unpack_low(char64); #endif VUNPKLUB ushort2 = __unpack_low(uchar4); ushort4 = __unpack_low(uchar8); ushort8 = __unpack_low(uchar16); ushort16 = __unpack_low(uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __unpack_low(uchar64); #endif VUNPKLH int2 = __unpack_low(short4); int4 = __unpack_low(short8); int8 = __unpack_low(short16); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __unpack_low(short32); #endif VUNPKLUH uint2 = __unpack_low(ushort4); uint4 = __unpack_low(ushort8); uint8 = __unpack_low(ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __unpack_low(ushort32); #endif VUNPKLW long = __unpack_low(int2); long2 = __unpack_low(int4); long4 = __unpack_low(int8); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __unpack_low(int16); #endif VUNPKLUW ulong = __unpack_low(uint2); ulong2 = __unpack_low(uint4); ulong4 = __unpack_low(uint8); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __unpack_low(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __xnor */ /*----------------------------------------------------------------------------*/ /* VXNORW, XNORD, XNORW signed char = __xnor(signed char, signed char); char2 = __xnor(char2, char2); char3 = __xnor(char3, char3); char4 = __xnor(char4, char4); char8 = __xnor(char8, char8); char16 = __xnor(char16, char16); char32 = __xnor(char32, char32); #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __xnor(char64, char64); #endif uchar = __xnor(uchar, uchar); uchar2 = __xnor(uchar2, uchar2); uchar3 = __xnor(uchar3, uchar3); uchar4 = __xnor(uchar4, uchar4); uchar8 = __xnor(uchar8, uchar8); uchar16 = __xnor(uchar16, uchar16); uchar32 = __xnor(uchar32, uchar32); #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __xnor(uchar64, uchar64); #endif short = __xnor(short, short); short2 = __xnor(short2, short2); short3 = __xnor(short3, short3); short4 = __xnor(short4, short4); short8 = __xnor(short8, short8); short16 = __xnor(short16, short16); #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __xnor(short32, short32); #endif ushort = __xnor(ushort, ushort); ushort2 = __xnor(ushort2, ushort2); ushort3 = __xnor(ushort3, ushort3); ushort4 = __xnor(ushort4, ushort4); ushort8 = __xnor(ushort8, ushort8); ushort16 = __xnor(ushort16, ushort16); #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __xnor(ushort32, ushort32); #endif int = __xnor(int, int); int2 = __xnor(int2, int2); int3 = __xnor(int3, int3); int4 = __xnor(int4, int4); int8 = __xnor(int8, int8); #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __xnor(int16, int16); #endif uint = __xnor(uint, uint); uint2 = __xnor(uint2, uint2); uint3 = __xnor(uint3, uint3); uint4 = __xnor(uint4, uint4); uint8 = __xnor(uint8, uint8); #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __xnor(uint16, uint16); #endif VXNORW, XNORD long = __xnor(long, long); long = __xnor(long, (long)(k)); long2 = __xnor(long2, long2); long3 = __xnor(long3, long3); long4 = __xnor(long4, long4); #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __xnor(long8, long8); #endif ulong = __xnor(ulong, ulong); ulong = __xnor(ulong, (ulong)(k)); ulong2 = __xnor(ulong2, ulong2); ulong3 = __xnor(ulong3, ulong3); ulong4 = __xnor(ulong4, ulong4); #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __xnor(ulong8, ulong8); #endif XNOR bool2 = __xnor(bool2, bool2); bool3 = __xnor(bool3, bool3); bool4 = __xnor(bool4, bool4); bool8 = __xnor(bool8, bool8); bool16 = __xnor(bool16, bool16); bool32 = __xnor(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __xnor(bool64, bool64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __xor */ /*----------------------------------------------------------------------------*/ /* XOR bool2 = __xor(bool2, bool2); bool3 = __xor(bool3, bool3); bool4 = __xor(bool4, bool4); bool8 = __xor(bool8, bool8); bool16 = __xor(bool16, bool16); bool32 = __xor(bool32, bool32); #if __C7X_VEC_SIZE_BITS__ == 512 bool64 = __xor(bool64, bool64); #endif */ /* AUTOGEN MARKER */ /*****************************************************************************/ /* C7X_DIRECT.H */ /* */ /* Copyright (c) 2015 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* Deprecated API names */ /* OLD NEW */ /*****************************************************************************/ /******************************************************************************/ /* Direct Instruction Mapping */ /* */ /* The following is a list of intrinsics that map directly to instructions. */ /* The primary purpose of these intrinsics is to ensure that no other */ /* instructions are generated other than those desired by the programmer. */ /* This is particularly useful for operations that require operand */ /* interleaving on input or operand deinterleaving on output. As such, they */ /* should only be used by advanced programmers. */ /* */ /* There are a handful of complicated instructions listed here that do not */ /* have a counterpart in c7x.h or cannot be access using a specific C idiom. */ /* They can only be accessed using intrinsics listed in this file: */ /* */ /* 'EXTV' */ /* 'EXTUV' */ /* 'REPLACEV' */ /* 'VFIR8HD' */ /* 'VFIR8HW' */ /* 'VFIR8SUHD' */ /* 'VFIR8SUHW' */ /* 'VFIR8UHD' */ /* 'VFIR8UHW' */ /* 'VMATMPYHD' */ /* 'VMATMPYSP' */ /* 'VMATMPYSUHD' */ /* 'VMATMPYSUHW' */ /* 'VMATMPYUHD' */ /* 'VMATMPYUHW' */ /* 'VMATMPYUSHD' */ /* 'VSAD16OU16H16W' */ /* 'VSAD16OU8H16W' */ /* 'VSAD8OU16B32H' */ /* 'VSADM16OU16H16W' */ /* 'VSADM16OU8H16W' */ /* 'VSADM8OU16B32H' */ /* 'VDSAD16OU8H8W' */ /* 'VDSAD8OU16B16H' */ /* 'VDSADM16OU8H8W' */ /* 'VDSADM8OU16B16H' */ /* 'VCDOTPM2OPN16B32H' */ /* 'VCDOTPM2OPN1H32H' */ /* 'VCDOTPM2OPN8H16W' */ /* 'VCDOTPM2OPN8W16W' */ /* 'VCDOTPM32OPN16B32H' */ /* */ /******************************************************************************/ /******************************************************************************/ /* __SE_REG and __SE_REG_PAIR Streaming Engine Operands */ /* */ /* Some instructions can only take streaming engine operands (VFIR, VMATMPY). */ /* The intrinsics for these instructions take an immediate representing which */ /* streaming engine, as well as the advance option. */ /*----------------------------------------------------------------------------*/ /* Use the following for __SE_REG operands. */ /*----------------------------------------------------------------------------*/ /* */ /* typedef enum */ /* { */ /* __SE_REG_0 = 0, */ /* __SE_REG_0_ADV = 1, */ /* __SE_REG_1 = 2, */ /* __SE_REG_1_ADV = 3 */ /* } __SE_REG; */ /* */ /*----------------------------------------------------------------------------*/ /* Use the following for __SE_REG_PAIR operands. */ /*----------------------------------------------------------------------------*/ /* */ /* typedef enum */ /* { */ /* __SE_REG_PAIR_0 = 0, */ /* __SE_REG_PAIR_0_ADV = 1 */ /* } __SE_REG_PAIR; */ /* */ /* All other values are invalid and will produce an error. */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* ID: __vccmatmpyhw_se_vww */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vccmatmpyhw_se_vww(cshort8, __SE_REG_PAIR, cint4&, cint4&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vccmatmpyhw_se_vww(cshort16, __SE_REG_PAIR, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmatmpyr1hh_se_vwv */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vccmatmpyr1hh_se_vwv(cshort8, __SE_REG_PAIR); #elif __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vccmatmpyr1hh_se_vwv(cshort16, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmatmpyhw_se_vww */ /*----------------------------------------------------------------------------*/ /* VCMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vcmatmpyhw_se_vww(cshort8, __SE_REG_PAIR, cint4&, cint4&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vcmatmpyhw_se_vww(cshort16, __SE_REG_PAIR, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmatmpyr1hh_se_vwv */ /*----------------------------------------------------------------------------*/ /* VCMATMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcmatmpyr1hh_se_vwv(cshort8, __SE_REG_PAIR); #elif __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcmatmpyr1hh_se_vwv(cshort16, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4hw_se1_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4hw_se1_wwv(__SE_REG_PAIR, short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4hw_se1_wwv(__SE_REG_PAIR, short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4hw_se2_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4hw_se2_wwv(short16, short16, __SE_REG_PAIR); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4hw_se2_wwv(short32, short32, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4hw_se12_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4hw_se12_wwv(__SE_REG_PAIR, __SE_REG_PAIR); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4hw_se12_wwv(__SE_REG_PAIR, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4suhw_se1_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4suhw_se1_wwv(__SE_REG_PAIR, ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4suhw_se1_wwv(__SE_REG_PAIR, ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4suhw_se2_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4suhw_se2_wwv(short16, short16, __SE_REG_PAIR); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4suhw_se2_wwv(short32, short32, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4suhw_se12_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4suhw_se12_wwv(__SE_REG_PAIR, __SE_REG_PAIR); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4suhw_se12_wwv(__SE_REG_PAIR, __SE_REG_PAIR); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir4hw_vww */ /*----------------------------------------------------------------------------*/ /* VFIR4HW #if __C7X_VEC_SIZE_BITS__ == 256 __vfir4hw_vww(short16, __SE_REG_PAIR, int8&, int8&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir4hw_vww(short32, __SE_REG_PAIR, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir4suhw_vww */ /*----------------------------------------------------------------------------*/ /* VFIR4SUHW #if __C7X_VEC_SIZE_BITS__ == 256 __vfir4suhw_vww(short16, __SE_REG_PAIR, int8&, int8&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir4suhw_vww(short32, __SE_REG_PAIR, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir4uhw_vww */ /*----------------------------------------------------------------------------*/ /* VFIR4UHW #if __C7X_VEC_SIZE_BITS__ == 256 __vfir4uhw_vww(ushort16, __SE_REG_PAIR, uint8&, uint8&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir4uhw_vww(ushort32, __SE_REG_PAIR, uint16&, uint16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8hd_wvw */ /*----------------------------------------------------------------------------*/ /* VFIR8HD #if __C7X_VEC_SIZE_BITS__ == 256 __vfir8hd_wvw(short16, short16, __SE_REG, long4&, long4&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir8hd_wvw(short32, short32, __SE_REG, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8hw_wvv */ /*----------------------------------------------------------------------------*/ /* VFIR8HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vfir8hw_wvv(short16, short16, __SE_REG); #elif __C7X_VEC_SIZE_BITS__ == 512 int16 = __vfir8hw_wvv(short32, short32, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8suhd_wvw */ /*----------------------------------------------------------------------------*/ /* VFIR8SUHD #if __C7X_VEC_SIZE_BITS__ == 256 __vfir8suhd_wvw(short16, short16, __SE_REG, long4&, long4&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir8suhd_wvw(short32, short32, __SE_REG, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8suhw_wvv */ /*----------------------------------------------------------------------------*/ /* VFIR8SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vfir8suhw_wvv(short16, short16, __SE_REG); #elif __C7X_VEC_SIZE_BITS__ == 512 int16 = __vfir8suhw_wvv(short32, short32, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8uhd_wvw */ /*----------------------------------------------------------------------------*/ /* VFIR8UHD #if __C7X_VEC_SIZE_BITS__ == 256 __vfir8uhd_wvw(ushort16, ushort16, __SE_REG, ulong4&, ulong4&); #elif __C7X_VEC_SIZE_BITS__ == 512 __vfir8uhd_wvw(ushort32, ushort32, __SE_REG, ulong8&, ulong8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vfir8uhw_wvv */ /*----------------------------------------------------------------------------*/ /* VFIR8UHW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vfir8uhw_wvv(ushort16, ushort16, __SE_REG); #elif __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vfir8uhw_wvv(ushort32, ushort32, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpysp_se_vww */ /*----------------------------------------------------------------------------*/ /* VMATMPYSP #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpysp_se_vww(float16, __SE_REG_PAIR, float16&, float16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyhd_vvw */ /*----------------------------------------------------------------------------*/ /* VMATMPYHD #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpyhd_vvw(__SE_REG, __SE_REG, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyhw_vvv */ /*----------------------------------------------------------------------------*/ /* VMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vmatmpyhw_vvv(__SE_REG, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpysuhd_vvw */ /*----------------------------------------------------------------------------*/ /* VMATMPYSUHD #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpysuhd_vvw(__SE_REG, __SE_REG, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpysuhw_vvv */ /*----------------------------------------------------------------------------*/ /* VMATMPYSUHW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vmatmpysuhw_vvv(__SE_REG, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyuhd_vvw */ /*----------------------------------------------------------------------------*/ /* VMATMPYUHD #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpyuhd_vvw(__SE_REG, __SE_REG, ulong8&, ulong8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyuhw_vvv */ /*----------------------------------------------------------------------------*/ /* VMATMPYUHW #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vmatmpyuhw_vvv(__SE_REG, __SE_REG); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyushd_vvw */ /*----------------------------------------------------------------------------*/ /* VMATMPYUSHD #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpyushd_vvw(__SE_REG, __SE_REG, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpyushw_vvv */ /*----------------------------------------------------------------------------*/ /* VMATMPYUSHW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vmatmpyushw_vvv(__SE_REG, __SE_REG); #endif */ /* AUTOGEN MARKER */ /*----------------------------------------------------------------------------*/ /* ID: __addd_ddd */ /*----------------------------------------------------------------------------*/ /* ADDD long = __addd_ddd(long, long); ulong = __addd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __addd_dkd */ /*----------------------------------------------------------------------------*/ /* ADDD long = __addd_dkd(long, (int)(k)); ulong = __addd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __adddp_ddd */ /*----------------------------------------------------------------------------*/ /* ADDDP double = __adddp_ddd(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __addsp_rrr */ /*----------------------------------------------------------------------------*/ /* ADDSP float = __addsp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __addw_rkr */ /*----------------------------------------------------------------------------*/ /* ADDW int = __addw_rkr(int, (int)(k)); uint = __addw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __addw_rrr */ /*----------------------------------------------------------------------------*/ /* ADDW int = __addw_rrr(int, int); uint = __addw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __and_ppp */ /*----------------------------------------------------------------------------*/ /* AND __vpred = __and_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __andd_ddd */ /*----------------------------------------------------------------------------*/ /* ANDD char8 = __andd_ddd(char8, char8); uchar8 = __andd_ddd(uchar8, uchar8); short4 = __andd_ddd(short4, short4); ushort4 = __andd_ddd(ushort4, ushort4); int2 = __andd_ddd(int2, int2); uint2 = __andd_ddd(uint2, uint2); long = __andd_ddd(long, long); ulong = __andd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __andd_dkd */ /*----------------------------------------------------------------------------*/ /* ANDD long = __andd_dkd(long, (int)(k)); ulong = __andd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __andn_ppp */ /*----------------------------------------------------------------------------*/ /* ANDN __vpred = __andn_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __andnd_ddd */ /*----------------------------------------------------------------------------*/ /* ANDND char8 = __andnd_ddd(char8, char8); uchar8 = __andnd_ddd(uchar8, uchar8); short4 = __andnd_ddd(short4, short4); ushort4 = __andnd_ddd(ushort4, ushort4); int2 = __andnd_ddd(int2, int2); uint2 = __andnd_ddd(uint2, uint2); long = __andnd_ddd(long, long); ulong = __andnd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __andnd_dkd */ /*----------------------------------------------------------------------------*/ /* ANDND long = __andnd_dkd(long, (int)(k)); ulong = __andnd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __andnw_rkr */ /*----------------------------------------------------------------------------*/ /* ANDNW char4 = __andnw_rkr(char4, (char4)(k)); uchar4 = __andnw_rkr(uchar4, (uchar4)(k)); short2 = __andnw_rkr(short2, (short2)(k)); ushort2 = __andnw_rkr(ushort2, (ushort2)(k)); int = __andnw_rkr(int, (int)(k)); uint = __andnw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __andnw_rrr */ /*----------------------------------------------------------------------------*/ /* ANDNW char4 = __andnw_rrr(char4, char4); uchar4 = __andnw_rrr(uchar4, uchar4); short2 = __andnw_rrr(short2, short2); ushort2 = __andnw_rrr(ushort2, ushort2); int = __andnw_rrr(int, int); uint = __andnw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __andw_rkr */ /*----------------------------------------------------------------------------*/ /* ANDW char4 = __andw_rkr(char4, (char4)(k)); uchar4 = __andw_rkr(uchar4, (uchar4)(k)); short2 = __andw_rkr(short2, (short2)(k)); ushort2 = __andw_rkr(ushort2, (ushort2)(k)); int = __andw_rkr(int, (int)(k)); uint = __andw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __andw_rrr */ /*----------------------------------------------------------------------------*/ /* ANDW char4 = __andw_rrr(char4, char4); uchar4 = __andw_rrr(uchar4, uchar4); short2 = __andw_rrr(short2, short2); ushort2 = __andw_rrr(ushort2, ushort2); int = __andw_rrr(int, int); uint = __andw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __bitr_pp */ /*----------------------------------------------------------------------------*/ /* BITR __vpred = __bitr_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dcmpeqb_ddr */ /*----------------------------------------------------------------------------*/ /* C6DCMPEQB uchar = __c6dcmpeqb_ddr(char8, char8); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dcmpeqh_ddr */ /*----------------------------------------------------------------------------*/ /* C6DCMPEQH uchar = __c6dcmpeqh_ddr(short4, short4); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dcmpgth_ddr */ /*----------------------------------------------------------------------------*/ /* C6DCMPGTH uchar = __c6dcmpgth_ddr(short4, short4); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dcmpgtub_ddr */ /*----------------------------------------------------------------------------*/ /* C6DCMPGTUB uchar = __c6dcmpgtub_ddr(uchar8, uchar8); */ /*----------------------------------------------------------------------------*/ /* ID: __c6ddotp2hhw_drd */ /*----------------------------------------------------------------------------*/ /* C6DDOTP2HHW int2 = __c6ddotp2hhw_drd(short4, short2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6ddotp2hrhh_drr */ /*----------------------------------------------------------------------------*/ /* C6DDOTP2HRHH short2 = __c6ddotp2hrhh_drr(short4, short2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6ddotp2lhw_drd */ /*----------------------------------------------------------------------------*/ /* C6DDOTP2LHW int2 = __c6ddotp2lhw_drd(short4, short2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6ddotp2lrhh_drr */ /*----------------------------------------------------------------------------*/ /* C6DDOTP2LRHH short2 = __c6ddotp2lrhh_drr(short4, short2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* C6DMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __c6dmpyhw_vvw(short16, short16, int8&, int8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __c6dmpyhw_vvw(short32, short32, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __c6dmpysubh_vvw */ /*----------------------------------------------------------------------------*/ /* C6DMPYSUBH #if __C7X_VEC_SIZE_BITS__ == 256 __c6dmpysubh_vvw(char32, uchar32, short16&, short16&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __c6dmpysubh_vvw(char64, uchar64, short32&, short32&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __c6dmpyubh_vvw */ /*----------------------------------------------------------------------------*/ /* C6DMPYUBH #if __C7X_VEC_SIZE_BITS__ == 256 __c6dmpyubh_vvw(uchar32, uchar32, ushort16&, ushort16&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __c6dmpyubh_vvw(uchar64, uchar64, ushort32&, ushort32&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __c6dmpyuhw_vvw */ /*----------------------------------------------------------------------------*/ /* C6DMPYUHW #if __C7X_VEC_SIZE_BITS__ == 256 __c6dmpyuhw_vvw(ushort16, ushort16, uint8&, uint8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __c6dmpyuhw_vvw(ushort32, ushort32, uint16&, uint16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __c6dotp2rsuhw_rrr */ /*----------------------------------------------------------------------------*/ /* C6DOTP2RSUHW int = __c6dotp2rsuhw_rrr(short2, ushort2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dotpn2hw_rrr */ /*----------------------------------------------------------------------------*/ /* C6DOTPN2HW int = __c6dotpn2hw_rrr(short2, short2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dotpn2rsuhh_rrr */ /*----------------------------------------------------------------------------*/ /* C6DOTPN2RSUHH int = __c6dotpn2rsuhh_rrr(short2, ushort2); */ /*----------------------------------------------------------------------------*/ /* ID: __c6dsmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* C6DSMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __c6dsmpyhw_vvw(short16, short16, int8&, int8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __c6dsmpyhw_vvw(short32, short32, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __c6dspacku4_ddd */ /*----------------------------------------------------------------------------*/ /* C6DSPACKU4 uchar8 = __c6dspacku4_ddd(short4, short4); */ /*----------------------------------------------------------------------------*/ /* ID: __c6mpy2ir_rrd */ /*----------------------------------------------------------------------------*/ /* C6MPY2IR int2 = __c6mpy2ir_rrd(short2, int); */ /*----------------------------------------------------------------------------*/ /* ID: __c6mpyhir_rrr */ /*----------------------------------------------------------------------------*/ /* C6MPYHIR int = __c6mpyhir_rrr(short2, int); */ /*----------------------------------------------------------------------------*/ /* ID: __c6mpylir_rrr */ /*----------------------------------------------------------------------------*/ /* C6MPYLIR int = __c6mpylir_rrr(short2, int); */ /*----------------------------------------------------------------------------*/ /* ID: __clr_rrr */ /*----------------------------------------------------------------------------*/ /* CLR uint = __clr_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqd_ddr */ /*----------------------------------------------------------------------------*/ /* CMPEQD int = __cmpeqd_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqd_dkr */ /*----------------------------------------------------------------------------*/ /* CMPEQD int = __cmpeqd_dkr(long, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqdp_ddr */ /*----------------------------------------------------------------------------*/ /* CMPEQDP int = __cmpeqdp_ddr(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqsp_rrr */ /*----------------------------------------------------------------------------*/ /* CMPEQSP int = __cmpeqsp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqw_rkr */ /*----------------------------------------------------------------------------*/ /* CMPEQW int = __cmpeqw_rkr(int, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpeqw_rrr */ /*----------------------------------------------------------------------------*/ /* CMPEQW int = __cmpeqw_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpged_ddr */ /*----------------------------------------------------------------------------*/ /* CMPGED int = __cmpged_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpged_dkr */ /*----------------------------------------------------------------------------*/ /* CMPGED int = __cmpged_dkr(long, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgeud_ddr */ /*----------------------------------------------------------------------------*/ /* CMPGEUD int = __cmpgeud_ddr(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgeud_dkr */ /*----------------------------------------------------------------------------*/ /* CMPGEUD int = __cmpgeud_dkr(ulong, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgeuw_rkr */ /*----------------------------------------------------------------------------*/ /* CMPGEUW int = __cmpgeuw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgeuw_rrr */ /*----------------------------------------------------------------------------*/ /* CMPGEUW int = __cmpgeuw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgew_rkr */ /*----------------------------------------------------------------------------*/ /* CMPGEW int = __cmpgew_rkr(int, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgew_rrr */ /*----------------------------------------------------------------------------*/ /* CMPGEW int = __cmpgew_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtd_ddr */ /*----------------------------------------------------------------------------*/ /* CMPGTD int = __cmpgtd_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtd_dkr */ /*----------------------------------------------------------------------------*/ /* CMPGTD int = __cmpgtd_dkr(long, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtud_ddr */ /*----------------------------------------------------------------------------*/ /* CMPGTUD int = __cmpgtud_ddr(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtud_dkr */ /*----------------------------------------------------------------------------*/ /* CMPGTUD int = __cmpgtud_dkr(ulong, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtuw_rkr */ /*----------------------------------------------------------------------------*/ /* CMPGTUW int = __cmpgtuw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtuw_rrr */ /*----------------------------------------------------------------------------*/ /* CMPGTUW int = __cmpgtuw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtw_rkr */ /*----------------------------------------------------------------------------*/ /* CMPGTW int = __cmpgtw_rkr(int, (int)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpgtw_rrr */ /*----------------------------------------------------------------------------*/ /* CMPGTW int = __cmpgtw_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpledp_ddr */ /*----------------------------------------------------------------------------*/ /* CMPLEDP int = __cmpledp_ddr(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmplesp_rrr */ /*----------------------------------------------------------------------------*/ /* CMPLESP int = __cmplesp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpltdp_ddr */ /*----------------------------------------------------------------------------*/ /* CMPLTDP int = __cmpltdp_ddr(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __cmpltsp_rrr */ /*----------------------------------------------------------------------------*/ /* CMPLTSP int = __cmpltsp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __compressl_pp */ /*----------------------------------------------------------------------------*/ /* COMPRESSL __vpred = __compressl_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __compressr_pp */ /*----------------------------------------------------------------------------*/ /* COMPRESSR __vpred = __compressr_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimateb_ppp */ /*----------------------------------------------------------------------------*/ /* DECIMATEB __vpred = __decimateb_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimated_ppp */ /*----------------------------------------------------------------------------*/ /* DECIMATED __vpred = __decimated_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimateh_ppp */ /*----------------------------------------------------------------------------*/ /* DECIMATEH __vpred = __decimateh_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __decimatew_ppp */ /*----------------------------------------------------------------------------*/ /* DECIMATEW __vpred = __decimatew_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __divdw_drd */ /*----------------------------------------------------------------------------*/ /* DIVDW long = __divdw_drd(long, int); */ /*----------------------------------------------------------------------------*/ /* ID: __divudw_drd */ /*----------------------------------------------------------------------------*/ /* DIVUDW ulong = __divudw_drd(ulong, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __divuw_rrr */ /*----------------------------------------------------------------------------*/ /* DIVUW uint = __divuw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __divw_rrr */ /*----------------------------------------------------------------------------*/ /* DIVW int = __divw_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __ext_dkkd */ /*----------------------------------------------------------------------------*/ /* EXT long = __ext_dkkd(char8, (uchar)(k={0-63}), (uchar)(k={0-63})); long = __ext_dkkd(short4, (uchar)(k={0-63}), (uchar)(k={0-63})); long = __ext_dkkd(int2, (uchar)(k={0-63}), (uchar)(k={0-63})); long = __ext_dkkd(long, (uchar)(k={0-63}), (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __extu_dkkd */ /*----------------------------------------------------------------------------*/ /* EXTU ulong = __extu_dkkd(uchar8, (uchar)(k={0-63}), (uchar)(k={0-63})); ulong = __extu_dkkd(ushort4, (uchar)(k={0-63}), (uchar)(k={0-63})); ulong = __extu_dkkd(uint2, (uchar)(k={0-63}), (uchar)(k={0-63})); ulong = __extu_dkkd(ulong, (uchar)(k={0-63}), (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __extuv_vkkkd */ /*----------------------------------------------------------------------------*/ /* EXTUV #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __extuv_vkkkd(ulong8, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __extuv_vkkkd(ulong4, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __extv_vkkkd */ /*----------------------------------------------------------------------------*/ /* EXTV #if __C7X_VEC_SIZE_BITS__ == 512 long = __extv_vkkkd(long8, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __extv_vkkkd(long4, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __landd_ddr */ /*----------------------------------------------------------------------------*/ /* LANDD int = __landd_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __landnd_ddr */ /*----------------------------------------------------------------------------*/ /* LANDND int = __landnd_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __lord_ddr */ /*----------------------------------------------------------------------------*/ /* LORD int = __lord_ddr(long, long); */ /*----------------------------------------------------------------------------*/ /* ID: __maskb_kp */ /*----------------------------------------------------------------------------*/ /* MASKB __vpred = __maskb_kp((uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __maskb_rp */ /*----------------------------------------------------------------------------*/ /* MASKB __vpred = __maskb_rp(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __maskd_kp */ /*----------------------------------------------------------------------------*/ /* MASKD __vpred = __maskd_kp((uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __maskd_rp */ /*----------------------------------------------------------------------------*/ /* MASKD __vpred = __maskd_rp(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __maskh_kp */ /*----------------------------------------------------------------------------*/ /* MASKH __vpred = __maskh_kp((uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __maskh_rp */ /*----------------------------------------------------------------------------*/ /* MASKH __vpred = __maskh_rp(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __maskw_kp */ /*----------------------------------------------------------------------------*/ /* MASKW __vpred = __maskw_kp((uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __maskw_rp */ /*----------------------------------------------------------------------------*/ /* MASKW __vpred = __maskw_rp(uint); */ /*----------------------------------------------------------------------------*/ /* ID: __moddw_drd */ /*----------------------------------------------------------------------------*/ /* MODDW long = __moddw_drd(long, int); */ /*----------------------------------------------------------------------------*/ /* ID: __modudw_drd */ /*----------------------------------------------------------------------------*/ /* MODUDW ulong = __modudw_drd(ulong, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __moduw_rrr */ /*----------------------------------------------------------------------------*/ /* MODUW uint = __moduw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __modw_rrr */ /*----------------------------------------------------------------------------*/ /* MODW int = __modw_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __mpydd_ddd */ /*----------------------------------------------------------------------------*/ /* MPYDD long = __mpydd_ddd(long, long); ulong = __mpydd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __mpydp_ddd */ /*----------------------------------------------------------------------------*/ /* MPYDP double = __mpydp_ddd(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __mpyhw_rrr */ /*----------------------------------------------------------------------------*/ /* MPYHW int = __mpyhw_rrr(short, short); */ /*----------------------------------------------------------------------------*/ /* ID: __mpysp_rrr */ /*----------------------------------------------------------------------------*/ /* MPYSP float = __mpysp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __mpysuhw_rrr */ /*----------------------------------------------------------------------------*/ /* MPYSUHW int = __mpysuhw_rrr(short, ushort); */ /*----------------------------------------------------------------------------*/ /* ID: __mpyuhw_rrr */ /*----------------------------------------------------------------------------*/ /* MPYUHW uint = __mpyuhw_rrr(ushort, ushort); */ /*----------------------------------------------------------------------------*/ /* ID: __mpyww_rrr */ /*----------------------------------------------------------------------------*/ /* MPYWW int = __mpyww_rrr(int, int); uint = __mpyww_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __nand_ppp */ /*----------------------------------------------------------------------------*/ /* NAND __vpred = __nand_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __nandd_ddd */ /*----------------------------------------------------------------------------*/ /* NANDD char8 = __nandd_ddd(char8, char8); uchar8 = __nandd_ddd(uchar8, uchar8); short4 = __nandd_ddd(short4, short4); ushort4 = __nandd_ddd(ushort4, ushort4); int2 = __nandd_ddd(int2, int2); uint2 = __nandd_ddd(uint2, uint2); long = __nandd_ddd(long, long); ulong = __nandd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __nandd_dkd */ /*----------------------------------------------------------------------------*/ /* NANDD long = __nandd_dkd(long, (int)(k)); ulong = __nandd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __nandw_rrr */ /*----------------------------------------------------------------------------*/ /* NANDW char4 = __nandw_rrr(char4, char4); uchar4 = __nandw_rrr(uchar4, uchar4); short2 = __nandw_rrr(short2, short2); ushort2 = __nandw_rrr(ushort2, ushort2); int = __nandw_rrr(int, int); uint = __nandw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __nor_ppp */ /*----------------------------------------------------------------------------*/ /* NOR __vpred = __nor_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __nord_ddd */ /*----------------------------------------------------------------------------*/ /* NORD char8 = __nord_ddd(char8, char8); uchar8 = __nord_ddd(uchar8, uchar8); short4 = __nord_ddd(short4, short4); ushort4 = __nord_ddd(ushort4, ushort4); int2 = __nord_ddd(int2, int2); uint2 = __nord_ddd(uint2, uint2); long = __nord_ddd(long, long); ulong = __nord_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __nord_dkd */ /*----------------------------------------------------------------------------*/ /* NORD long = __nord_dkd(long, (int)(k)); ulong = __nord_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __norw_rrr */ /*----------------------------------------------------------------------------*/ /* NORW char4 = __norw_rrr(char4, char4); uchar4 = __norw_rrr(uchar4, uchar4); short2 = __norw_rrr(short2, short2); ushort2 = __norw_rrr(ushort2, ushort2); int = __norw_rrr(int, int); uint = __norw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __not_pp */ /*----------------------------------------------------------------------------*/ /* NOT __vpred = __not_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __or_ppp */ /*----------------------------------------------------------------------------*/ /* OR __vpred = __or_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __ord_ddd */ /*----------------------------------------------------------------------------*/ /* ORD char8 = __ord_ddd(char8, char8); uchar8 = __ord_ddd(uchar8, uchar8); short4 = __ord_ddd(short4, short4); ushort4 = __ord_ddd(ushort4, ushort4); int2 = __ord_ddd(int2, int2); uint2 = __ord_ddd(uint2, uint2); long = __ord_ddd(long, long); ulong = __ord_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __ord_dkd */ /*----------------------------------------------------------------------------*/ /* ORD long = __ord_dkd(long, (int)(k)); ulong = __ord_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __orn_ppp */ /*----------------------------------------------------------------------------*/ /* ORN __vpred = __orn_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __ornd_ddd */ /*----------------------------------------------------------------------------*/ /* ORND char8 = __ornd_ddd(char8, char8); uchar8 = __ornd_ddd(uchar8, uchar8); short4 = __ornd_ddd(short4, short4); ushort4 = __ornd_ddd(ushort4, ushort4); int2 = __ornd_ddd(int2, int2); uint2 = __ornd_ddd(uint2, uint2); long = __ornd_ddd(long, long); ulong = __ornd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __ornd_dkd */ /*----------------------------------------------------------------------------*/ /* ORND long = __ornd_dkd(long, (int)(k)); ulong = __ornd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __ornw_rkr */ /*----------------------------------------------------------------------------*/ /* ORNW char4 = __ornw_rkr(char4, (char4)(k)); uchar4 = __ornw_rkr(uchar4, (uchar4)(k)); short2 = __ornw_rkr(short2, (short2)(k)); ushort2 = __ornw_rkr(ushort2, (ushort2)(k)); int = __ornw_rkr(int, (int)(k)); uint = __ornw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __ornw_rrr */ /*----------------------------------------------------------------------------*/ /* ORNW char4 = __ornw_rrr(char4, char4); uchar4 = __ornw_rrr(uchar4, uchar4); short2 = __ornw_rrr(short2, short2); ushort2 = __ornw_rrr(ushort2, ushort2); int = __ornw_rrr(int, int); uint = __ornw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __orw_rkr */ /*----------------------------------------------------------------------------*/ /* ORW char4 = __orw_rkr(char4, (char4)(k)); uchar4 = __orw_rkr(uchar4, (uchar4)(k)); short2 = __orw_rkr(short2, (short2)(k)); ushort2 = __orw_rkr(ushort2, (ushort2)(k)); int = __orw_rkr(int, (int)(k)); uint = __orw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __orw_rrr */ /*----------------------------------------------------------------------------*/ /* ORW char4 = __orw_rrr(char4, char4); uchar4 = __orw_rrr(uchar4, uchar4); short2 = __orw_rrr(short2, short2); ushort2 = __orw_rrr(ushort2, ushort2); int = __orw_rrr(int, int); uint = __orw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __packw_rrd */ /*----------------------------------------------------------------------------*/ /* PACKW cshort2 = __packw_rrd(cshort, cshort); int2 = __packw_rrd(int, int); uint2 = __packw_rrd(uint, uint); float2 = __packw_rrd(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __packwdly4_rrd */ /*----------------------------------------------------------------------------*/ /* PACKWDLY4 long = __packwdly4_rrd(int, int); ulong = __packwdly4_rrd(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __packx2_rrd */ /*----------------------------------------------------------------------------*/ /* PACKX2 cchar4 = __packx2_rrd(cchar2, cchar2); short4 = __packx2_rrd(short2, short2); ushort4 = __packx2_rrd(ushort2, ushort2); */ /*----------------------------------------------------------------------------*/ /* ID: __pbitcntb_pr */ /*----------------------------------------------------------------------------*/ /* PBITCNTB uint = __pbitcntb_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pbitcntd_pr */ /*----------------------------------------------------------------------------*/ /* PBITCNTD uint = __pbitcntd_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pbitcnth_pr */ /*----------------------------------------------------------------------------*/ /* PBITCNTH uint = __pbitcnth_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pbitcntw_pr */ /*----------------------------------------------------------------------------*/ /* PBITCNTW uint = __pbitcntw_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pcntgatherb_prp */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERB __pcntgatherb_prp(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __pcntgatherd_prp */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERD __pcntgatherd_prp(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __pcntgatherh_prp */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERH __pcntgatherh_prp(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __pcntgatherw_prp */ /*----------------------------------------------------------------------------*/ /* PCNTGATHERW __pcntgatherw_prp(__vpred, uint&, __vpred&); */ /*----------------------------------------------------------------------------*/ /* ID: __pduph2b_pp */ /*----------------------------------------------------------------------------*/ /* PDUPH2B __vpred = __pduph2b_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pduph2d_pp */ /*----------------------------------------------------------------------------*/ /* PDUPH2D __vpred = __pduph2d_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pduph2h_pp */ /*----------------------------------------------------------------------------*/ /* PDUPH2H __vpred = __pduph2h_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pduph2w_pp */ /*----------------------------------------------------------------------------*/ /* PDUPH2W __vpred = __pduph2w_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pdupl2b_pp */ /*----------------------------------------------------------------------------*/ /* PDUPL2B __vpred = __pdupl2b_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pdupl2d_pp */ /*----------------------------------------------------------------------------*/ /* PDUPL2D __vpred = __pdupl2d_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pdupl2h_pp */ /*----------------------------------------------------------------------------*/ /* PDUPL2H __vpred = __pdupl2h_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __pdupl2w_pp */ /*----------------------------------------------------------------------------*/ /* PDUPL2W __vpred = __pdupl2w_pp(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __prmbdb_pr */ /*----------------------------------------------------------------------------*/ /* PRMBDB uint = __prmbdb_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __prmbdd_pr */ /*----------------------------------------------------------------------------*/ /* PRMBDD uint = __prmbdd_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __prmbdh_pr */ /*----------------------------------------------------------------------------*/ /* PRMBDH uint = __prmbdh_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __prmbdw_pr */ /*----------------------------------------------------------------------------*/ /* PRMBDW uint = __prmbdw_pr(__vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __replace_dkkd */ /*----------------------------------------------------------------------------*/ /* REPLACE long = __replace_dkkd(long, (signed char)(k={0-63}), (signed char)(k={0-63}), long); ulong = __replace_dkkd(ulong, (uchar)(k={0-63}), (uchar)(k={0-63}), ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __replacev_dkkkv */ /*----------------------------------------------------------------------------*/ /* REPLACEV #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __replacev_dkkkv(long, (signed char)(k={0-7}), (signed char)(k={0-63}), (signed char)(k={0-63}), long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __replacev_dkkkv(long, (signed char)(k={0-7}), (signed char)(k={0-63}), (signed char)(k={0-63}), long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __replacev_dkkkv(ulong, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63}), ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __replacev_dkkkv(ulong, (uchar)(k={0-7}), (uchar)(k={0-63}), (uchar)(k={0-63}), ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __set_rrr */ /*----------------------------------------------------------------------------*/ /* SET int = __set_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __shld_dkd */ /*----------------------------------------------------------------------------*/ /* SHLD long = __shld_dkd(long, (uchar)(k={0-63})); ulong = __shld_dkd(ulong, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shld_drd */ /*----------------------------------------------------------------------------*/ /* SHLD long = __shld_drd(long, int); ulong = __shld_drd(ulong, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __shlw_rkr */ /*----------------------------------------------------------------------------*/ /* SHLW int = __shlw_rkr(int, (uchar)(k={0-63})); uint = __shlw_rkr(uint, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shlw_rrr */ /*----------------------------------------------------------------------------*/ /* SHLW int = __shlw_rrr(int, int); uint = __shlw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __shrd_dkd */ /*----------------------------------------------------------------------------*/ /* SHRD long = __shrd_dkd(long, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shrd_drd */ /*----------------------------------------------------------------------------*/ /* SHRD long = __shrd_drd(long, int); */ /*----------------------------------------------------------------------------*/ /* ID: __shrud_dkd */ /*----------------------------------------------------------------------------*/ /* SHRUD ulong = __shrud_dkd(ulong, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shrud_drd */ /*----------------------------------------------------------------------------*/ /* SHRUD ulong = __shrud_drd(ulong, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __shruw_rkr */ /*----------------------------------------------------------------------------*/ /* SHRUW uint = __shruw_rkr(uint, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shruw_rrr */ /*----------------------------------------------------------------------------*/ /* SHRUW uint = __shruw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __shrw_rkr */ /*----------------------------------------------------------------------------*/ /* SHRW int = __shrw_rkr(int, (uchar)(k={0-63})); */ /*----------------------------------------------------------------------------*/ /* ID: __shrw_rrr */ /*----------------------------------------------------------------------------*/ /* SHRW int = __shrw_rrr(int, int); */ /*----------------------------------------------------------------------------*/ /* ID: __smpyhw_rrr */ /*----------------------------------------------------------------------------*/ /* SMPYHW int = __smpyhw_rrr(short, short); */ /*----------------------------------------------------------------------------*/ /* ID: __subd_ddd */ /*----------------------------------------------------------------------------*/ /* SUBD long = __subd_ddd(long, long); ulong = __subd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __subdp_ddd */ /*----------------------------------------------------------------------------*/ /* SUBDP double = __subdp_ddd(double, double); */ /*----------------------------------------------------------------------------*/ /* ID: __subrd_ddd */ /*----------------------------------------------------------------------------*/ /* SUBRD long = __subrd_ddd(long, long); ulong = __subrd_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __subrd_dkd */ /*----------------------------------------------------------------------------*/ /* SUBRD long = __subrd_dkd(long, (int)(k)); ulong = __subrd_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __subrw_rkr */ /*----------------------------------------------------------------------------*/ /* SUBRW int = __subrw_rkr(int, (int)(k)); uint = __subrw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __subrw_rrr */ /*----------------------------------------------------------------------------*/ /* SUBRW int = __subrw_rrr(int, int); uint = __subrw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __subsp_rrr */ /*----------------------------------------------------------------------------*/ /* SUBSP float = __subsp_rrr(float, float); */ /*----------------------------------------------------------------------------*/ /* ID: __subw_rrr */ /*----------------------------------------------------------------------------*/ /* SUBW int = __subw_rrr(int, int); uint = __subw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __vabsb_vv */ /*----------------------------------------------------------------------------*/ /* VABSB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vabsb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vabsb_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vabsb_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vabsb_vv(cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vabsd_vv */ /*----------------------------------------------------------------------------*/ /* VABSD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vabsd_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vabsd_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vabsd_vv(clong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vabsd_vv(clong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vabsdp_vv */ /*----------------------------------------------------------------------------*/ /* VABSDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vabsdp_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vabsdp_vv(double8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cdouble2 = __vabsdp_vv(cdouble2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __vabsdp_vv(cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vabsh_vv */ /*----------------------------------------------------------------------------*/ /* VABSH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vabsh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vabsh_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vabsh_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vabsh_vv(cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vabssp_vv */ /*----------------------------------------------------------------------------*/ /* VABSSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vabssp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vabssp_vv(float16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vabssp_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vabssp_vv(cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vabsw_vv */ /*----------------------------------------------------------------------------*/ /* VABSW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vabsw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vabsw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vabsw_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vabsw_vv(cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddb_vkv */ /*----------------------------------------------------------------------------*/ /* VADDB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vaddb_vkv(char32, (char32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vaddb_vkv(char64, (char64)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vaddb_vkv(uchar32, (uchar32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vaddb_vkv(uchar64, (uchar64)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddb_vvv */ /*----------------------------------------------------------------------------*/ /* VADDB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vaddb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vaddb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vaddb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vaddb_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vaddb_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vaddb_vvv(cchar32, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddcb_pvv */ /*----------------------------------------------------------------------------*/ /* VADDCB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vaddcb_pvv(__vpred, char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vaddcb_pvv(__vpred, char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vaddcb_pvv(__vpred, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vaddcb_pvv(__vpred, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddcd_pvv */ /*----------------------------------------------------------------------------*/ /* VADDCD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vaddcd_pvv(__vpred, long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vaddcd_pvv(__vpred, long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vaddcd_pvv(__vpred, ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vaddcd_pvv(__vpred, ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddch_pvv */ /*----------------------------------------------------------------------------*/ /* VADDCH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vaddch_pvv(__vpred, short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vaddch_pvv(__vpred, short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vaddch_pvv(__vpred, ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vaddch_pvv(__vpred, ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddcw_pvv */ /*----------------------------------------------------------------------------*/ /* VADDCW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vaddcw_pvv(__vpred, int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vaddcw_pvv(__vpred, int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vaddcw_pvv(__vpred, uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vaddcw_pvv(__vpred, uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddd_vkv */ /*----------------------------------------------------------------------------*/ /* VADDD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vaddd_vkv(long4, (int4)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vaddd_vkv(long8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vaddd_vkv(ulong4, (uint4)(k={0-2147483647})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vaddd_vkv(ulong8, (uint8)(k={0-2147483647})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddd_vvv */ /*----------------------------------------------------------------------------*/ /* VADDD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vaddd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vaddd_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vaddd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vaddd_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vaddd_vvv(clong2, clong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vaddd_vvv(clong4, clong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vadddp_vvv */ /*----------------------------------------------------------------------------*/ /* VADDDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vadddp_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vadddp_vvv(double8, double8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cdouble2 = __vadddp_vvv(cdouble2, cdouble2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __vadddp_vvv(cdouble4, cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddh_vkv */ /*----------------------------------------------------------------------------*/ /* VADDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vaddh_vkv(short16, (short16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vaddh_vkv(short32, (short32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vaddh_vkv(ushort16, (ushort16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vaddh_vkv(ushort32, (ushort32)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddh_vvv */ /*----------------------------------------------------------------------------*/ /* VADDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vaddh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vaddh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vaddh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vaddh_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vaddh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vaddh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddsp_vvv */ /*----------------------------------------------------------------------------*/ /* VADDSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vaddsp_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vaddsp_vvv(float16, float16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vaddsp_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vaddsp_vvv(cfloat8, cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddw_vkv */ /*----------------------------------------------------------------------------*/ /* VADDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vaddw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vaddw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vaddw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vaddw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vaddw_vvv */ /*----------------------------------------------------------------------------*/ /* VADDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vaddw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vaddw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vaddw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vaddw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vaddw_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vaddw_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vandnw_vkv */ /*----------------------------------------------------------------------------*/ /* VANDNW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vandnw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vandnw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vandnw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vandnw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vandnw_vvv */ /*----------------------------------------------------------------------------*/ /* VANDNW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vandnw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vandnw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vandnw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vandnw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vandnw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vandnw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vandnw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vandnw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vandnw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vandnw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vandnw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vandnw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vandnw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vandnw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vandnw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vandnw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vandw_vkv */ /*----------------------------------------------------------------------------*/ /* VANDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vandw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vandw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vandw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vandw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vandw_vvv */ /*----------------------------------------------------------------------------*/ /* VANDW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vandw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vandw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vandw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vandw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vandw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vandw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vandw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vandw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vandw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vandw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vandw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vandw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vandw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vandw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vandw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vandw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vapysb_vvv */ /*----------------------------------------------------------------------------*/ /* VAPYSB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vapysb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vapysb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vapysd_vvv */ /*----------------------------------------------------------------------------*/ /* VAPYSD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vapysd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vapysd_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vapysh_vvv */ /*----------------------------------------------------------------------------*/ /* VAPYSH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vapysh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vapysh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vapysw_vvv */ /*----------------------------------------------------------------------------*/ /* VAPYSW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vapysw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vapysw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgb_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vavgb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vavgb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgd_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vavgd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vavgd_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgh_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vavgh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vavgh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrb_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vavgnrb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vavgnrb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrd_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vavgnrd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vavgnrd_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrh_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vavgnrh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vavgnrh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrub_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vavgnrub_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vavgnrub_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrud_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vavgnrud_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vavgnrud_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnruh_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vavgnruh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vavgnruh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnruw_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vavgnruw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vavgnruw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgnrw_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGNRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vavgnrw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vavgnrw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgub_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vavgub_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vavgub_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgud_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vavgud_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vavgud_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavguh_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vavguh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vavguh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavguw_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vavguw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vavguw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vavgw_vvv */ /*----------------------------------------------------------------------------*/ /* VAVGW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vavgw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vavgw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbinlogw_vv */ /*----------------------------------------------------------------------------*/ /* VBINLOGW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbinlogw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbinlogw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitcntb_vv */ /*----------------------------------------------------------------------------*/ /* VBITCNTB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vbitcntb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vbitcntb_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vbitcntb_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vbitcntb_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitcntd_vv */ /*----------------------------------------------------------------------------*/ /* VBITCNTD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vbitcntd_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vbitcntd_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vbitcntd_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vbitcntd_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitcnth_vv */ /*----------------------------------------------------------------------------*/ /* VBITCNTH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vbitcnth_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vbitcnth_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vbitcnth_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vbitcnth_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitcntw_vv */ /*----------------------------------------------------------------------------*/ /* VBITCNTW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vbitcntw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vbitcntw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbitcntw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbitcntw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitdeald_vv */ /*----------------------------------------------------------------------------*/ /* VBITDEALD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vbitdeald_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vbitdeald_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vbitdeald_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vbitdeald_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitdealw_vv */ /*----------------------------------------------------------------------------*/ /* VBITDEALW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vbitdealw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vbitdealw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbitdealw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbitdealw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitrd_vv */ /*----------------------------------------------------------------------------*/ /* VBITRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vbitrd_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vbitrd_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vbitrd_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vbitrd_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitrw_vv */ /*----------------------------------------------------------------------------*/ /* VBITRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vbitrw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vbitrw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbitrw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbitrw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitshfld_vv */ /*----------------------------------------------------------------------------*/ /* VBITSHFLD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vbitshfld_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vbitshfld_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vbitshfld_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vbitshfld_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbitshflw_vv */ /*----------------------------------------------------------------------------*/ /* VBITSHFLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vbitshflw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vbitshflw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbitshflw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbitshflw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbittran8b_vv */ /*----------------------------------------------------------------------------*/ /* VBITTRAN8B #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vbittran8b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vbittran8b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbpackh_vvv */ /*----------------------------------------------------------------------------*/ /* VBPACKH #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vbpackh_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vbpackh_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vbpackh_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vbpackh_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbpackl_vvv */ /*----------------------------------------------------------------------------*/ /* VBPACKL #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vbpackl_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vbpackl_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vbpackl_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vbpackl_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkd_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vbunpkd_vv(char4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vbunpkd_vv(char8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vbunpkd_vv(cchar2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vbunpkd_vv(cchar4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkdu_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKDU #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vbunpkdu_vv(uchar4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vbunpkdu_vv(uchar8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkh_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vbunpkh_vv(char16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vbunpkh_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vbunpkh_vv(cchar8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vbunpkh_vv(cchar16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkhh_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKHH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vbunpkhh_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vbunpkhh_vv(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkhl_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKHL #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vbunpkhl_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vbunpkhl_vv(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkhu_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKHU #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vbunpkhu_vv(uchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vbunpkhu_vv(uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkuhh_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKUHH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vbunpkuhh_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vbunpkuhh_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkuhl_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKUHL #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vbunpkuhl_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vbunpkuhl_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkw_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vbunpkw_vv(char8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vbunpkw_vv(char16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vbunpkw_vv(cchar4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vbunpkw_vv(cchar8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vbunpkwu_vv */ /*----------------------------------------------------------------------------*/ /* VBUNPKWU #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vbunpkwu_vv(uchar8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vbunpkwu_vv(uchar16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccdotp2hw_vvv */ /*----------------------------------------------------------------------------*/ /* VCCDOTP2HW #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vccdotp2hw_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vccdotp2hw_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmatmpyhw_vww */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vccmatmpyhw_vww(cshort8, cshort8, cshort8, cint4&, cint4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vccmatmpyhw_vww(cshort16, cshort16, cshort16, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmatmpyr1hh_vwv */ /*----------------------------------------------------------------------------*/ /* VCCMATMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vccmatmpyr1hh_vwv(cshort8, cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vccmatmpyr1hh_vwv(cshort16, cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* VCCMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vccmpyhw_vvw(cshort8, cshort8, cint4&, cint4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vccmpyhw_vvw(cshort16, cshort16, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmpyr1hh_vvv */ /*----------------------------------------------------------------------------*/ /* VCCMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vccmpyr1hh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vccmpyr1hh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vccmpyr1ww_vvv */ /*----------------------------------------------------------------------------*/ /* VCCMPYR1WW #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vccmpyr1ww_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vccmpyr1ww_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotp2hw_vvv */ /*----------------------------------------------------------------------------*/ /* VCDOTP2HW #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vcdotp2hw_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcdotp2hw_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotpm2opn16b32h_yvvv */ /*----------------------------------------------------------------------------*/ /* VCDOTPM2OPN16B32H #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcdotpm2opn16b32h_yvvv(ushort32, ulong, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotpm2opn1h32h_yvvv */ /*----------------------------------------------------------------------------*/ /* VCDOTPM2OPN1H32H #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcdotpm2opn1h32h_yvvv(ushort32, uint, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotpm2opn8h16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VCDOTPM2OPN8H16W #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcdotpm2opn8h16w_yvvv(ulong8, uint4, cshort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotpm2opn8w16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VCDOTPM2OPN8W16W #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcdotpm2opn8w16w_yvvv(ulong8, uint4, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcdotpm32opn16b32h_yvvv */ /*----------------------------------------------------------------------------*/ /* VCDOTPM32OPN16B32H #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcdotpm32opn16b32h_yvvv(ushort32, ulong4, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vclassdp_vv */ /*----------------------------------------------------------------------------*/ /* VCLASSDP #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vclassdp_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vclassdp_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vclasssp_vv */ /*----------------------------------------------------------------------------*/ /* VCLASSSP #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vclasssp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vclasssp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmatmpyhw_vww */ /*----------------------------------------------------------------------------*/ /* VCMATMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vcmatmpyhw_vww(cshort8, cshort8, cshort8, cint4&, cint4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vcmatmpyhw_vww(cshort16, cshort16, cshort16, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmatmpyr1hh_vwv */ /*----------------------------------------------------------------------------*/ /* VCMATMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcmatmpyr1hh_vwv(cshort8, cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcmatmpyr1hh_vwv(cshort16, cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmaxb_vvv */ /*----------------------------------------------------------------------------*/ /* VCMAXB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vcmaxb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vcmaxb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmaxh_vvv */ /*----------------------------------------------------------------------------*/ /* VCMAXH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vcmaxh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vcmaxh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmaxpb_vvp */ /*----------------------------------------------------------------------------*/ /* VCMAXPB #if __C7X_VEC_SIZE_BITS__ == 256 __vcmaxpb_vvp(char32, char32&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vcmaxpb_vvp(char64, char64&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmaxph_vvp */ /*----------------------------------------------------------------------------*/ /* VCMAXPH #if __C7X_VEC_SIZE_BITS__ == 256 __vcmaxph_vvp(short16, short16&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vcmaxph_vvp(short32, short32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqb_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQB #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqb_vvp(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqb_vvp(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqb_vvp(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqb_vvp(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqd_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQD #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqd_vvp(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqd_vvp(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqd_vvp(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqd_vvp(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqdp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQDP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqdp_vvp(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqdp_vvp(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqh_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQH #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqh_vvp(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqh_vvp(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqh_vvp(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqh_vvp(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqsp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQSP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqsp_vvp(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqsp_vvp(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpeqw_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPEQW #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqw_vvp(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqw_vvp(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpeqw_vvp(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpeqw_vvp(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeb_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEB #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeb_vvp(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeb_vvp(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpged_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGED #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpged_vvp(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpged_vvp(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeh_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEH #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeh_vvp(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeh_vvp(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeub_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEUB #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeub_vvp(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeub_vvp(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeud_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEUD #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeud_vvp(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeud_vvp(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeuh_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEUH #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeuh_vvp(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeuh_vvp(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgeuw_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEUW #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgeuw_vvp(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgeuw_vvp(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgew_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGEW #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgew_vvp(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgew_vvp(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtb_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTB #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtb_vvp(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtb_vvp(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtd_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTD #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtd_vvp(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtd_vvp(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgth_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTH #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgth_vvp(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgth_vvp(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtub_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTUB #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtub_vvp(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtub_vvp(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtud_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTUD #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtud_vvp(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtud_vvp(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtuh_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTUH #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtuh_vvp(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtuh_vvp(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtuw_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTUW #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtuw_vvp(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtuw_vvp(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpgtw_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPGTW #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpgtw_vvp(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpgtw_vvp(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpledp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPLEDP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpledp_vvp(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpledp_vvp(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmplesp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPLESP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmplesp_vvp(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmplesp_vvp(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpltdp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPLTDP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpltdp_vvp(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpltdp_vvp(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpltsp_vvp */ /*----------------------------------------------------------------------------*/ /* VCMPLTSP #if __C7X_VEC_SIZE_BITS__ == 256 __vpred = __vcmpltsp_vvp(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vpred = __vcmpltsp_vvp(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* VCMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vcmpyhw_vvw(cshort8, cshort8, cint4&, cint4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vcmpyhw_vvw(cshort16, cshort16, cint8&, cint8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpyr1hh_vvv */ /*----------------------------------------------------------------------------*/ /* VCMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcmpyr1hh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcmpyr1hh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpyr1ww_vvv */ /*----------------------------------------------------------------------------*/ /* VCMPYR1WW #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vcmpyr1ww_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcmpyr1ww_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpyrhh_vvv */ /*----------------------------------------------------------------------------*/ /* VCMPYRHH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcmpyrhh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcmpyrhh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcmpysp_vvw */ /*----------------------------------------------------------------------------*/ /* VCMPYSP #if __C7X_VEC_SIZE_BITS__ == 256 __vcmpysp_vvw(cfloat4, cfloat4, float8&, float8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vcmpysp_vvw(cfloat8, cfloat8, float16&, float16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot270h_vv */ /*----------------------------------------------------------------------------*/ /* VCROT270H #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcrot270h_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcrot270h_vv(cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot270sp_vv */ /*----------------------------------------------------------------------------*/ /* VCROT270SP #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vcrot270sp_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vcrot270sp_vv(cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot270w_vv */ /*----------------------------------------------------------------------------*/ /* VCROT270W #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vcrot270w_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcrot270w_vv(cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot90h_vv */ /*----------------------------------------------------------------------------*/ /* VCROT90H #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vcrot90h_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vcrot90h_vv(cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot90sp_vv */ /*----------------------------------------------------------------------------*/ /* VCROT90SP #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vcrot90sp_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vcrot90sp_vv(cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vcrot90w_vv */ /*----------------------------------------------------------------------------*/ /* VCROT90W #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vcrot90w_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vcrot90w_vv(cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal2b_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdeal2b_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdeal2b_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdeal2b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdeal2b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal2d_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL2D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdeal2d_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdeal2d_vv(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdeal2d_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdeal2d_vv(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdeal2d_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdeal2d_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdeal2d_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdeal2d_vv(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdeal2d_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdeal2d_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal2h_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL2H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdeal2h_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdeal2h_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdeal2h_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdeal2h_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdeal2h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdeal2h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal2w_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL2W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vdeal2w_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vdeal2w_vv(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdeal2w_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdeal2w_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdeal2w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdeal2w_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdeal2w_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdeal2w_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal4b_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdeal4b_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdeal4b_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdeal4b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdeal4b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdeal4h_vv */ /*----------------------------------------------------------------------------*/ /* VDEAL4H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdeal4h_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdeal4h_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdeal4h_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdeal4h_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdeal4h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdeal4h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2hd_vvw */ /*----------------------------------------------------------------------------*/ /* VDOTP2HD #if __C7X_VEC_SIZE_BITS__ == 256 __vdotp2hd_vvw(short16, short16, long4&, long4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vdotp2hd_vvw(short32, short32, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2hw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp2hw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp2hw_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2nwd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2NWD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp2nwd_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp2nwd_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2nxwd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2NXWD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp2nxwd_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp2nxwd_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2subh_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2SUBH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdotp2subh_vvv(char32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdotp2subh_vvv(char64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2suhd_vvw */ /*----------------------------------------------------------------------------*/ /* VDOTP2SUHD #if __C7X_VEC_SIZE_BITS__ == 256 __vdotp2suhd_vvw(short16, ushort16, long4&, long4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vdotp2suhd_vvw(short32, ushort32, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2suhw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp2suhw_vvv(short16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp2suhw_vvv(short32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2ubh_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2UBH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdotp2ubh_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdotp2ubh_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2uhd_vvw */ /*----------------------------------------------------------------------------*/ /* VDOTP2UHD #if __C7X_VEC_SIZE_BITS__ == 256 __vdotp2uhd_vvw(ushort16, ushort16, ulong4&, ulong4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vdotp2uhd_vvw(ushort32, ushort32, ulong8&, ulong8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2uhw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2UHW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdotp2uhw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdotp2uhw_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2wd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2WD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp2wd_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp2wd_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp2xwd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP2XWD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp2xwd_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp2xwd_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4hd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP4HD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp4hd_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp4hd_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4hw_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4HW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4hw_wwv(short16, short16, short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4hw_wwv(short32, short32, short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4subw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4subw_vvv(char32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4subw_vvv(char64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4suhd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUHD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdotp4suhd_vvv(short16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotp4suhd_vvv(short32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4suhw_wwv */ /*----------------------------------------------------------------------------*/ /* VDOTP4SUHW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp4suhw_wwv(short16, short16, ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp4suhw_wwv(short32, short32, ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4ubw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP4UBW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdotp4ubw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdotp4ubw_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp4uhd_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP4UHD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdotp4uhd_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdotp4uhd_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotp8subw_vvv */ /*----------------------------------------------------------------------------*/ /* VDOTP8SUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdotp8subw_vvv(char32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotp8subw_vvv(char64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn16b32h_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16B32H #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdotpmpn16b32h_yvvv(ushort32, ushort32, char16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn16h16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16H16W #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotpmpn16h16w_yvvv(ushort32, ushort16, short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn16w8d_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN16W8D #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdotpmpn16w8d_yvvv(ushort32, ushort8, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn32b16h_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN32B16H #if __C7X_VEC_SIZE_BITS__ == 512 short16 = __vdotpmpn32b16h_yvvv(uint16, uint16, char32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn32b16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN32B16W #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdotpmpn32b16w_yvvv(uint16, uint16, char32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpn32h8w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPN32H8W #if __C7X_VEC_SIZE_BITS__ == 512 int8 = __vdotpmpn32h8w_yvvv(uint8, uint8, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpnu16h16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU16H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdotpmpnu16h16w_yvvv(ushort32, ushort16, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpnu16w8d_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU16W8D #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdotpmpnu16w8d_yvvv(ushort32, ushort8, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpnu32b16h_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU32B16H #if __C7X_VEC_SIZE_BITS__ == 512 ushort16 = __vdotpmpnu32b16h_yvvv(uint16, uint16, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpnu32b16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU32B16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdotpmpnu32b16w_yvvv(uint16, uint16, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdotpmpnu32h8w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDOTPMPNU32H8W #if __C7X_VEC_SIZE_BITS__ == 512 uint8 = __vdotpmpnu32h8w_yvvv(uint8, uint8, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdpackh_vvv */ /*----------------------------------------------------------------------------*/ /* VDPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdpackh_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdpackh_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdpackh_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdpackh_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdpackh_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdpackh_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdpackh_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdpackh_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdpackh_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdpackh_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdpackl_vvv */ /*----------------------------------------------------------------------------*/ /* VDPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdpackl_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdpackl_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdpackl_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdpackl_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdpackl_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdpackl_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdpackl_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdpackl_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdpackl_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdpackl_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdpint_vv */ /*----------------------------------------------------------------------------*/ /* VDPINT #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdpint_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdpint_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdpsp_vv */ /*----------------------------------------------------------------------------*/ /* VDPSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdpsp_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdpsp_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdptrunc_vv */ /*----------------------------------------------------------------------------*/ /* VDPTRUNC #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdptrunc_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdptrunc_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsad16ou8h8w_vvv */ /*----------------------------------------------------------------------------*/ /* VDSAD16OU8H8W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdsad16ou8h8w_vvv(ushort32, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsad8ou16b16h_vvv */ /*----------------------------------------------------------------------------*/ /* VDSAD8OU16B16H #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsad8ou16b16h_vvv(uchar64, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsadm16ou8h8w_yvvv */ /*----------------------------------------------------------------------------*/ /* VDSADM16OU8H8W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdsadm16ou8h8w_yvvv(uchar64, ushort32, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsadm8ou16b16h_yvvv */ /*----------------------------------------------------------------------------*/ /* VDSADM8OU16B16H #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsadm8ou16b16h_yvvv(uchar64, uchar64, uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortddh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTDDH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdsortddh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortdduh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTDDUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsortdduh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortdih_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTDIH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdsortdih_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortdiuh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTDIUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsortdiuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortidh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTIDH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdsortidh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortiduh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTIDUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsortiduh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortiih_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTIIH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdsortiih_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortiiuh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTIIUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdsortiiuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpddh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPDDH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpddh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpdduh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPDDUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpdduh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpdih_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPDIH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpdih_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpdiuh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPDIUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpdiuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpidh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPIDH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpidh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpiduh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPIDUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpiduh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpiih_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPIIH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpiih_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdsortpiiuh_vv */ /*----------------------------------------------------------------------------*/ /* VDSORTPIIUH #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdsortpiiuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup16b_vv */ /*----------------------------------------------------------------------------*/ /* VDUP16B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdup16b_vv(char2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdup16b_vv(char4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdup16b_vv(uchar2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdup16b_vv(uchar4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup16h_vv */ /*----------------------------------------------------------------------------*/ /* VDUP16H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdup16h_vv(cchar); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdup16h_vv(cchar2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdup16h_vv(short); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdup16h_vv(short2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdup16h_vv(ushort); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdup16h_vv(ushort2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup2b_vv */ /*----------------------------------------------------------------------------*/ /* VDUP2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdup2b_vv(char16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdup2b_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdup2b_vv(uchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdup2b_vv(uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup2d_vv */ /*----------------------------------------------------------------------------*/ /* VDUP2D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdup2d_vv(cint2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdup2d_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdup2d_vv(cfloat2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdup2d_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdup2d_vv(long2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdup2d_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdup2d_vv(ulong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdup2d_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdup2d_vv(double2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdup2d_vv(double4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup2h_vv */ /*----------------------------------------------------------------------------*/ /* VDUP2H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdup2h_vv(cchar8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdup2h_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdup2h_vv(short8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdup2h_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdup2h_vv(ushort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdup2h_vv(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup2w_vv */ /*----------------------------------------------------------------------------*/ /* VDUP2W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vdup2w_vv(cshort4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vdup2w_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdup2w_vv(int4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdup2w_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdup2w_vv(uint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdup2w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdup2w_vv(float4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdup2w_vv(float8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup32b_vv */ /*----------------------------------------------------------------------------*/ /* VDUP32B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdup32b_vv(signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdup32b_vv(char2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdup32b_vv(uchar); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdup32b_vv(uchar2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup4b_vv */ /*----------------------------------------------------------------------------*/ /* VDUP4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdup4b_vv(char8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdup4b_vv(char16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdup4b_vv(uchar8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdup4b_vv(uchar16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup4d_vv */ /*----------------------------------------------------------------------------*/ /* VDUP4D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdup4d_vv(cint); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdup4d_vv(cint2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdup4d_vv(cfloat); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdup4d_vv(cfloat2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdup4d_vv(long); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdup4d_vv(long2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdup4d_vv(ulong); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdup4d_vv(ulong2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdup4d_vv(double); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdup4d_vv(double2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup4h_vv */ /*----------------------------------------------------------------------------*/ /* VDUP4H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdup4h_vv(cchar4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdup4h_vv(cchar8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdup4h_vv(short4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdup4h_vv(short8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdup4h_vv(ushort4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdup4h_vv(ushort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup4w_vv */ /*----------------------------------------------------------------------------*/ /* VDUP4W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vdup4w_vv(cshort2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vdup4w_vv(cshort4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdup4w_vv(int2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdup4w_vv(int4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdup4w_vv(uint2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdup4w_vv(uint4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdup4w_vv(float2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdup4w_vv(float4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup8b_vv */ /*----------------------------------------------------------------------------*/ /* VDUP8B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdup8b_vv(char4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdup8b_vv(char8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdup8b_vv(uchar4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdup8b_vv(uchar8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup8h_vv */ /*----------------------------------------------------------------------------*/ /* VDUP8H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vdup8h_vv(cchar2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vdup8h_vv(cchar4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vdup8h_vv(short2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vdup8h_vv(short4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vdup8h_vv(ushort2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vdup8h_vv(ushort4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdup8w_vv */ /*----------------------------------------------------------------------------*/ /* VDUP8W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vdup8w_vv(cshort); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vdup8w_vv(cshort2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdup8w_vv(int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdup8w_vv(int2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdup8w_vv(uint); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdup8w_vv(uint2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdup8w_vv(float); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdup8w_vv(float2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdupb_kv */ /*----------------------------------------------------------------------------*/ /* VDUPB #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdupb_kv((signed char)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdupb_kv((signed char)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdupb_kv((uchar)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdupb_kv((uchar)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdupb_rv */ /*----------------------------------------------------------------------------*/ /* VDUPB #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vdupb_rv(signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vdupb_rv(signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vdupb_rv(uchar); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vdupb_rv(uchar); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdupd_dv */ /*----------------------------------------------------------------------------*/ /* VDUPD #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vdupd_dv(cint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vdupd_dv(cint); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vdupd_dv(cfloat); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vdupd_dv(cfloat); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vdupd_dv(long); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vdupd_dv(long); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vdupd_dv(ulong); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vdupd_dv(ulong); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vdupd_dv(double); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vdupd_dv(double); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vduph_kv */ /*----------------------------------------------------------------------------*/ /* VDUPH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vduph_kv((short)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vduph_kv((short)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vduph_kv((ushort)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vduph_kv((ushort)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vduph_rv */ /*----------------------------------------------------------------------------*/ /* VDUPH #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vduph_rv(cchar); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vduph_rv(cchar); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vduph_rv(short); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vduph_rv(short); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vduph_rv(ushort); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vduph_rv(ushort); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdupw_kv */ /*----------------------------------------------------------------------------*/ /* VDUPW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdupw_kv((int)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdupw_kv((int)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdupw_kv((uint)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdupw_kv((uint)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdupw_kv((float)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdupw_kv((float)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vdupw_rv */ /*----------------------------------------------------------------------------*/ /* VDUPW #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vdupw_rv(cshort); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vdupw_rv(cshort); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vdupw_rv(int); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vdupw_rv(int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vdupw_rv(uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vdupw_rv(uint); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vdupw_rv(float); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vdupw_rv(float); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgatherb_pvv */ /*----------------------------------------------------------------------------*/ /* VGATHERB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vgatherb_pvv(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vgatherb_pvv(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgathernb_pvv */ /*----------------------------------------------------------------------------*/ /* VGATHERNB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vgathernb_pvv(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vgathernb_pvv(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetb_vkd */ /*----------------------------------------------------------------------------*/ /* VGETB #if __C7X_VEC_SIZE_BITS__ == 512 signed char = __vgetb_vkd(char64, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 signed char = __vgetb_vkd(char32, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetb_vrd */ /*----------------------------------------------------------------------------*/ /* VGETB #if __C7X_VEC_SIZE_BITS__ == 512 signed char = __vgetb_vrd(char64, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 signed char = __vgetb_vrd(char32, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetb_ykd */ /*----------------------------------------------------------------------------*/ /* VGETB #if __C7X_VEC_SIZE_BITS__ == 256 signed char = __vgetb_ykd(char32, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetd_vkd */ /*----------------------------------------------------------------------------*/ /* VGETD #if __C7X_VEC_SIZE_BITS__ == 512 long = __vgetd_vkd(long8, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vgetd_vkd(long4, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetd_vrd */ /*----------------------------------------------------------------------------*/ /* VGETD #if __C7X_VEC_SIZE_BITS__ == 512 long = __vgetd_vrd(long8, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vgetd_vrd(long4, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetd_ykd */ /*----------------------------------------------------------------------------*/ /* VGETD #if __C7X_VEC_SIZE_BITS__ == 256 long = __vgetd_ykd(long4, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetdupb_vrv */ /*----------------------------------------------------------------------------*/ /* VGETDUPB #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vgetdupb_vrv(char64, int); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vgetdupb_vrv(char32, int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vgetdupb_vrv(uchar64, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vgetdupb_vrv(uchar32, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetdupd_vrv */ /*----------------------------------------------------------------------------*/ /* VGETDUPD #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vgetdupd_vrv(long8, int); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vgetdupd_vrv(long4, int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vgetdupd_vrv(ulong8, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vgetdupd_vrv(ulong4, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetduph_vrv */ /*----------------------------------------------------------------------------*/ /* VGETDUPH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vgetduph_vrv(short32, int); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vgetduph_vrv(short16, int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vgetduph_vrv(ushort32, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vgetduph_vrv(ushort16, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetdupw_vrv */ /*----------------------------------------------------------------------------*/ /* VGETDUPW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vgetdupw_vrv(int16, int); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vgetdupw_vrv(int8, int); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vgetdupw_vrv(uint16, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vgetdupw_vrv(uint8, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgeth_vkd */ /*----------------------------------------------------------------------------*/ /* VGETH #if __C7X_VEC_SIZE_BITS__ == 512 short = __vgeth_vkd(short32, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __vgeth_vkd(short16, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgeth_vrd */ /*----------------------------------------------------------------------------*/ /* VGETH #if __C7X_VEC_SIZE_BITS__ == 512 short = __vgeth_vrd(short32, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __vgeth_vrd(short16, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgeth_ykd */ /*----------------------------------------------------------------------------*/ /* VGETH #if __C7X_VEC_SIZE_BITS__ == 256 short = __vgeth_ykd(short16, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetub_vkd */ /*----------------------------------------------------------------------------*/ /* VGETUB #if __C7X_VEC_SIZE_BITS__ == 512 uchar = __vgetub_vkd(uchar64, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar = __vgetub_vkd(uchar32, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetub_vrd */ /*----------------------------------------------------------------------------*/ /* VGETUB #if __C7X_VEC_SIZE_BITS__ == 512 uchar = __vgetub_vrd(uchar64, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar = __vgetub_vrd(uchar32, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetub_ykd */ /*----------------------------------------------------------------------------*/ /* VGETUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar = __vgetub_ykd(uchar32, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuh_vkd */ /*----------------------------------------------------------------------------*/ /* VGETUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort = __vgetuh_vkd(ushort32, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort = __vgetuh_vkd(ushort16, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuh_vrd */ /*----------------------------------------------------------------------------*/ /* VGETUH #if __C7X_VEC_SIZE_BITS__ == 512 ushort = __vgetuh_vrd(ushort32, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort = __vgetuh_vrd(ushort16, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuh_ykd */ /*----------------------------------------------------------------------------*/ /* VGETUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort = __vgetuh_ykd(ushort16, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuw_vkd */ /*----------------------------------------------------------------------------*/ /* VGETUW #if __C7X_VEC_SIZE_BITS__ == 512 uint = __vgetuw_vkd(uint16, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint = __vgetuw_vkd(uint8, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuw_vrd */ /*----------------------------------------------------------------------------*/ /* VGETUW #if __C7X_VEC_SIZE_BITS__ == 512 uint = __vgetuw_vrd(uint16, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint = __vgetuw_vrd(uint8, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetuw_ykd */ /*----------------------------------------------------------------------------*/ /* VGETUW #if __C7X_VEC_SIZE_BITS__ == 256 uint = __vgetuw_ykd(uint8, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetw_vkd */ /*----------------------------------------------------------------------------*/ /* VGETW #if __C7X_VEC_SIZE_BITS__ == 512 int = __vgetw_vkd(int16, (uint)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int = __vgetw_vkd(int8, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetw_vrd */ /*----------------------------------------------------------------------------*/ /* VGETW #if __C7X_VEC_SIZE_BITS__ == 512 int = __vgetw_vrd(int16, uint); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int = __vgetw_vrd(int8, uint); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgetw_ykd */ /*----------------------------------------------------------------------------*/ /* VGETW #if __C7X_VEC_SIZE_BITS__ == 256 int = __vgetw_ykd(int8, (uint)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgmpyb_vvv */ /*----------------------------------------------------------------------------*/ /* VGMPYB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vgmpyb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vgmpyb_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgmpyw_vvv */ /*----------------------------------------------------------------------------*/ /* VGMPYW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vgmpyw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vgmpyw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatd_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vgsatd_vkv(long4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vgsatd_vkv(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsath_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vgsath_vkv(short16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vgsath_vkv(short32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatsud_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATSUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vgsatsud_vkv(long4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vgsatsud_vkv(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatsuh_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATSUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vgsatsuh_vkv(short16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vgsatsuh_vkv(short32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatsuw_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATSUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vgsatsuw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vgsatsuw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatud_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vgsatud_vkv(ulong4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vgsatud_vkv(ulong8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatuh_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vgsatuh_vkv(ushort16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vgsatuh_vkv(ushort32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatuw_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vgsatuw_vkv(uint8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vgsatuw_vkv(uint16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vgsatw_vkv */ /*----------------------------------------------------------------------------*/ /* VGSATW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vgsatw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vgsatw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddb1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDB1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __vhaddb1d_vd(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vhaddb1d_vd(char32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddd1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDD1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __vhaddd1d_vd(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vhaddd1d_vd(long4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddeoh2w_vd */ /*----------------------------------------------------------------------------*/ /* VHADDEOH2W #if __C7X_VEC_SIZE_BITS__ == 512 int2 = __vhaddeoh2w_vd(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int2 = __vhaddeoh2w_vd(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint = __vhaddeoh2w_vd(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint = __vhaddeoh2w_vd(cshort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddeow2d_vv */ /*----------------------------------------------------------------------------*/ /* VHADDEOW2D #if __C7X_VEC_SIZE_BITS__ == 512 long2 = __vhaddeow2d_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long2 = __vhaddeow2d_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong = __vhaddeow2d_vv(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong = __vhaddeow2d_vv(cint4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddeow4d_vvv */ /*----------------------------------------------------------------------------*/ /* VHADDEOW4D #if __C7X_VEC_SIZE_BITS__ == 512 long4 = __vhaddeow4d_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vhaddeow4d_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong2 = __vhaddeow4d_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vhaddeow4d_vvv(cint4, cint4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddh1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDH1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __vhaddh1d_vd(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vhaddh1d_vd(short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddub1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDUB1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __vhaddub1d_vd(uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __vhaddub1d_vd(uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddud1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDUD1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __vhaddud1d_vd(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __vhaddud1d_vd(ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddueoh2w_vd */ /*----------------------------------------------------------------------------*/ /* VHADDUEOH2W #if __C7X_VEC_SIZE_BITS__ == 512 uint2 = __vhaddueoh2w_vd(ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint2 = __vhaddueoh2w_vd(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddueow2d_vv */ /*----------------------------------------------------------------------------*/ /* VHADDUEOW2D #if __C7X_VEC_SIZE_BITS__ == 512 ulong2 = __vhaddueow2d_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong2 = __vhaddueow2d_vv(uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddueow4d_vvv */ /*----------------------------------------------------------------------------*/ /* VHADDUEOW4D #if __C7X_VEC_SIZE_BITS__ == 512 ulong4 = __vhaddueow4d_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vhaddueow4d_vvv(uint8, uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhadduh1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDUH1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __vhadduh1d_vd(ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __vhadduh1d_vd(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhadduw1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDUW1D #if __C7X_VEC_SIZE_BITS__ == 512 ulong = __vhadduw1d_vd(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong = __vhadduw1d_vd(uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhaddw1d_vd */ /*----------------------------------------------------------------------------*/ /* VHADDW1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __vhaddw1d_vd(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vhaddw1d_vd(int8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhhmv_vvv */ /*----------------------------------------------------------------------------*/ /* VHHMV #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vhhmv_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vhhmv_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhlmv_vvv */ /*----------------------------------------------------------------------------*/ /* VHLMV #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vhlmv_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vhlmv_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhpackh_vvv */ /*----------------------------------------------------------------------------*/ /* VHPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vhpackh_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vhpackh_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vhpackh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vhpackh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vhpackh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vhpackh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhpackl_vvv */ /*----------------------------------------------------------------------------*/ /* VHPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vhpackl_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vhpackl_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vhpackl_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vhpackl_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vhpackl_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vhpackl_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhpint_vv */ /*----------------------------------------------------------------------------*/ /* VHPINT #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vhpint_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vhpint_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhpsp_vv */ /*----------------------------------------------------------------------------*/ /* VHPSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vhpsp_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vhpsp_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkd_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vhunpkd_vv(short4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vhunpkd_vv(short8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vhunpkd_vv(cshort2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vhunpkd_vv(cshort4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkdu_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKDU #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vhunpkdu_vv(ushort4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vhunpkdu_vv(ushort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkuwh_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKUWH #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vhunpkuwh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vhunpkuwh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkuwl_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKUWL #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vhunpkuwl_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vhunpkuwl_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkw_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vhunpkw_vv(short8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vhunpkw_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vhunpkw_vv(cshort4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vhunpkw_vv(cshort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkwh_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKWH #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vhunpkwh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vhunpkwh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkwl_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKWL #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vhunpkwl_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vhunpkwl_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhunpkwu_vv */ /*----------------------------------------------------------------------------*/ /* VHUNPKWU #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vhunpkwu_vv(ushort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vhunpkwu_vv(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhxorb1b_vr */ /*----------------------------------------------------------------------------*/ /* VHXORB1B #if __C7X_VEC_SIZE_BITS__ == 512 short = __vhxorb1b_vr(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __vhxorb1b_vr(char32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhxord1d_vd */ /*----------------------------------------------------------------------------*/ /* VHXORD1D #if __C7X_VEC_SIZE_BITS__ == 512 long = __vhxord1d_vd(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long = __vhxord1d_vd(long4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhxorh1h_vr */ /*----------------------------------------------------------------------------*/ /* VHXORH1H #if __C7X_VEC_SIZE_BITS__ == 512 short = __vhxorh1h_vr(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short = __vhxorh1h_vr(short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vhxorw1w_vr */ /*----------------------------------------------------------------------------*/ /* VHXORW1W #if __C7X_VEC_SIZE_BITS__ == 512 int = __vhxorw1w_vr(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int = __vhxorw1w_vr(int8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintdph_vv */ /*----------------------------------------------------------------------------*/ /* VINTDPH #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vintdph_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vintdph_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintdpl_vv */ /*----------------------------------------------------------------------------*/ /* VINTDPL #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vintdpl_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vintdpl_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintdpuh_vv */ /*----------------------------------------------------------------------------*/ /* VINTDPUH #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vintdpuh_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vintdpuh_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintdpul_vv */ /*----------------------------------------------------------------------------*/ /* VINTDPUL #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vintdpul_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vintdpul_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vinthp_vv */ /*----------------------------------------------------------------------------*/ /* VINTHP #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vinthp_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vinthp_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vinthsph_vv */ /*----------------------------------------------------------------------------*/ /* VINTHSPH #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vinthsph_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vinthsph_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vinthspl_vv */ /*----------------------------------------------------------------------------*/ /* VINTHSPL #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vinthspl_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vinthspl_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vinthspuh_vv */ /*----------------------------------------------------------------------------*/ /* VINTHSPUH #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vinthspuh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vinthspuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vinthspul_vv */ /*----------------------------------------------------------------------------*/ /* VINTHSPUL #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vinthspul_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vinthspul_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintsp_vv */ /*----------------------------------------------------------------------------*/ /* VINTSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vintsp_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vintsp_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vintspu_vv */ /*----------------------------------------------------------------------------*/ /* VINTSPU #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vintspu_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vintspu_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlhmv_vvv */ /*----------------------------------------------------------------------------*/ /* VLHMV #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vlhmv_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vlhmv_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vllmv_vvv */ /*----------------------------------------------------------------------------*/ /* VLLMV #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vllmv_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vllmv_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd0b_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD0B #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vlmbd0b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vlmbd0b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd0d_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD0D #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vlmbd0d_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vlmbd0d_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd0h_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD0H #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vlmbd0h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vlmbd0h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd0w_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD0W #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vlmbd0w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vlmbd0w_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd1b_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD1B #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vlmbd1b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vlmbd1b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd1d_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD1D #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vlmbd1d_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vlmbd1d_vv(ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd1h_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD1H #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vlmbd1h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vlmbd1h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbd1w_vv */ /*----------------------------------------------------------------------------*/ /* VLMBD1W #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vlmbd1w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vlmbd1w_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbdb_vvv */ /*----------------------------------------------------------------------------*/ /* VLMBDB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vlmbdb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vlmbdb_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbdd_vvv */ /*----------------------------------------------------------------------------*/ /* VLMBDD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vlmbdd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vlmbdd_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbdh_vvv */ /*----------------------------------------------------------------------------*/ /* VLMBDH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vlmbdh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vlmbdh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vlmbdw_vvv */ /*----------------------------------------------------------------------------*/ /* VLMBDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vlmbdw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vlmbdw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmatmpysp_vww */ /*----------------------------------------------------------------------------*/ /* VMATMPYSP #if __C7X_VEC_SIZE_BITS__ == 512 __vmatmpysp_vww(float16, float16, float16, float16&, float16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxb_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vmaxb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vmaxb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxd_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vmaxd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vmaxd_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxdp_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vmaxdp_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vmaxdp_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxh_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vmaxh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vmaxh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxpb_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXPB #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxpb_vvp(char32, char32&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxpb_vvp(char64, char64&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxpd_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXPD #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxpd_vvp(long4, long4&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxpd_vvp(long8, long8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxph_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXPH #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxph_vvp(short16, short16&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxph_vvp(short32, short32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxpw_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXPW #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxpw_vvp(int8, int8&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxpw_vvp(int16, int16&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxsp_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vmaxsp_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vmaxsp_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxub_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vmaxub_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vmaxub_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxud_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vmaxud_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vmaxud_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxuh_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vmaxuh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vmaxuh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxupb_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXUPB #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxupb_vvp(uchar32, uchar32&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxupb_vvp(uchar64, uchar64&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxupd_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXUPD #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxupd_vvp(ulong4, ulong4&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxupd_vvp(ulong8, ulong8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxuph_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXUPH #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxuph_vvp(ushort16, ushort16&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxuph_vvp(ushort32, ushort32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxupw_vvp */ /*----------------------------------------------------------------------------*/ /* VMAXUPW #if __C7X_VEC_SIZE_BITS__ == 256 __vmaxupw_vvp(uint8, uint8&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmaxupw_vvp(uint16, uint16&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxuw_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vmaxuw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vmaxuw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmaxw_vvv */ /*----------------------------------------------------------------------------*/ /* VMAXW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vmaxw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vmaxw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminb_vvv */ /*----------------------------------------------------------------------------*/ /* VMINB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vminb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vminb_vvv(char64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmind_vvv */ /*----------------------------------------------------------------------------*/ /* VMIND #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vmind_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vmind_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmindp_vvv */ /*----------------------------------------------------------------------------*/ /* VMINDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vmindp_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vmindp_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminh_vvv */ /*----------------------------------------------------------------------------*/ /* VMINH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vminh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vminh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminpb_vvp */ /*----------------------------------------------------------------------------*/ /* VMINPB #if __C7X_VEC_SIZE_BITS__ == 256 __vminpb_vvp(char32, char32&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminpb_vvp(char64, char64&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminpd_vvp */ /*----------------------------------------------------------------------------*/ /* VMINPD #if __C7X_VEC_SIZE_BITS__ == 256 __vminpd_vvp(long4, long4&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminpd_vvp(long8, long8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminph_vvp */ /*----------------------------------------------------------------------------*/ /* VMINPH #if __C7X_VEC_SIZE_BITS__ == 256 __vminph_vvp(short16, short16&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminph_vvp(short32, short32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminpw_vvp */ /*----------------------------------------------------------------------------*/ /* VMINPW #if __C7X_VEC_SIZE_BITS__ == 256 __vminpw_vvp(int8, int8&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminpw_vvp(int16, int16&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminsp_vvv */ /*----------------------------------------------------------------------------*/ /* VMINSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vminsp_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vminsp_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminub_vvv */ /*----------------------------------------------------------------------------*/ /* VMINUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vminub_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vminub_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminud_vvv */ /*----------------------------------------------------------------------------*/ /* VMINUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vminud_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vminud_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminuh_vvv */ /*----------------------------------------------------------------------------*/ /* VMINUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vminuh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vminuh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminupb_vvp */ /*----------------------------------------------------------------------------*/ /* VMINUPB #if __C7X_VEC_SIZE_BITS__ == 256 __vminupb_vvp(uchar32, uchar32&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminupb_vvp(uchar64, uchar64&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminupd_vvp */ /*----------------------------------------------------------------------------*/ /* VMINUPD #if __C7X_VEC_SIZE_BITS__ == 256 __vminupd_vvp(ulong4, ulong4&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminupd_vvp(ulong8, ulong8&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminuph_vvp */ /*----------------------------------------------------------------------------*/ /* VMINUPH #if __C7X_VEC_SIZE_BITS__ == 256 __vminuph_vvp(ushort16, ushort16&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminuph_vvp(ushort32, ushort32&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminupw_vvp */ /*----------------------------------------------------------------------------*/ /* VMINUPW #if __C7X_VEC_SIZE_BITS__ == 256 __vminupw_vvp(uint8, uint8&, __vpred&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vminupw_vvp(uint16, uint16&, __vpred&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminuw_vvv */ /*----------------------------------------------------------------------------*/ /* VMINUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vminuw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vminuw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vminw_vvv */ /*----------------------------------------------------------------------------*/ /* VMINW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vminw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vminw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpybb_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYBB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vmpybb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vmpybb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vmpybb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vmpybb_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpydd_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYDD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vmpydd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vmpydd_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vmpydd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vmpydd_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpydp_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vmpydp_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vmpydp_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyhh_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYHH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vmpyhh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vmpyhh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vmpyhh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vmpyhh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vmpyhw_vvw(short16, short16, int8&, int8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpyhw_vvw(short32, short32, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpysp2dp_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYSP2DP #if __C7X_VEC_SIZE_BITS__ == 256 __vmpysp2dp_vvw(float8, float8, double4&, double4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpysp2dp_vvw(float16, float16, double8&, double8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpysp_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vmpysp_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vmpysp_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpysubh_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYSUBH #if __C7X_VEC_SIZE_BITS__ == 256 __vmpysubh_vvw(char32, uchar32, short16&, short16&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpysubh_vvw(char64, uchar64, short32&, short32&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpysuhw_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYSUHW #if __C7X_VEC_SIZE_BITS__ == 256 __vmpysuhw_vvw(short16, ushort16, int8&, int8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpysuhw_vvw(short32, ushort32, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpysuwd_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYSUWD #if __C7X_VEC_SIZE_BITS__ == 256 __vmpysuwd_vvw(int8, uint8, long4&, long4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpysuwd_vvw(int16, uint16, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyubh_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYUBH #if __C7X_VEC_SIZE_BITS__ == 256 __vmpyubh_vvw(uchar32, uchar32, ushort16&, ushort16&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpyubh_vvw(uchar64, uchar64, ushort32&, ushort32&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyudq_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYUDQ #if __C7X_VEC_SIZE_BITS__ == 256 __vmpyudq_vvw(ulong4, ulong4, ulong4&, ulong4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpyudq_vvw(ulong8, ulong8, ulong8&, ulong8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyuhw_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYUHW #if __C7X_VEC_SIZE_BITS__ == 256 __vmpyuhw_vvw(ushort16, ushort16, uint8&, uint8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpyuhw_vvw(ushort32, ushort32, uint16&, uint16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyuwd_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYUWD #if __C7X_VEC_SIZE_BITS__ == 256 __vmpyuwd_vvw(uint8, uint8, ulong4&, ulong4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpyuwd_vvw(uint16, uint16, ulong8&, ulong8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpywd_vvw */ /*----------------------------------------------------------------------------*/ /* VMPYWD #if __C7X_VEC_SIZE_BITS__ == 256 __vmpywd_vvw(int8, int8, long4&, long4&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vmpywd_vvw(int16, int16, long8&, long8&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vmpyww_vvv */ /*----------------------------------------------------------------------------*/ /* VMPYWW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vmpyww_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vmpyww_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vmpyww_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vmpyww_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnandw_vvv */ /*----------------------------------------------------------------------------*/ /* VNANDW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vnandw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vnandw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vnandw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vnandw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vnandw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vnandw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vnandw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vnandw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vnandw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vnandw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vnandw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vnandw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vnandw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vnandw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vnandw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vnandw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnorm2uh_vv */ /*----------------------------------------------------------------------------*/ /* VNORM2UH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vnorm2uh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vnorm2uh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnorm2uw_vv */ /*----------------------------------------------------------------------------*/ /* VNORM2UW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vnorm2uw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vnorm2uw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnormb_vv */ /*----------------------------------------------------------------------------*/ /* VNORMB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vnormb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vnormb_vv(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnormd_vv */ /*----------------------------------------------------------------------------*/ /* VNORMD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vnormd_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vnormd_vv(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnormh_vv */ /*----------------------------------------------------------------------------*/ /* VNORMH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vnormh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vnormh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnormw_vv */ /*----------------------------------------------------------------------------*/ /* VNORMW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vnormw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vnormw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vnorw_vvv */ /*----------------------------------------------------------------------------*/ /* VNORW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vnorw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vnorw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vnorw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vnorw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vnorw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vnorw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vnorw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vnorw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vnorw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vnorw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vnorw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vnorw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vnorw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vnorw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vnorw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vnorw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vopmatmpysp_vvw */ /*----------------------------------------------------------------------------*/ /* VOPMATMPYSP #if __C7X_VEC_SIZE_BITS__ == 512 __vopmatmpysp_vvw(float16, float16, float16&, float16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vornw_vkv */ /*----------------------------------------------------------------------------*/ /* VORNW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vornw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vornw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vornw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vornw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vornw_vvv */ /*----------------------------------------------------------------------------*/ /* VORNW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vornw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vornw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vornw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vornw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vornw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vornw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vornw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vornw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vornw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vornw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vornw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vornw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vornw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vornw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vornw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vornw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vorw_vkv */ /*----------------------------------------------------------------------------*/ /* VORW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vorw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vorw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vorw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vorw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vorw_vvv */ /*----------------------------------------------------------------------------*/ /* VORW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vorw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vorw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vorw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vorw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vorw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vorw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vorw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vorw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vorw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vorw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vorw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vorw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vorw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vorw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vorw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vorw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackh2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKH2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpackh2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpackh2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpackh2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpackh2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpackh2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpackh2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackh4_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKH4 #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vpackh4_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vpackh4_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpackh4_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpackh4_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackhl2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKHL2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpackhl2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpackhl2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpackhl2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpackhl2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpackhl2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpackhl2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackl2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKL2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpackl2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpackl2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpackl2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpackl2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpackl2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpackl2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackl4_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKL4 #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vpackl4_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vpackl4_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpackl4_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpackl4_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpacklh2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKLH2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpacklh2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpacklh2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpacklh2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpacklh2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpacklh2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpacklh2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpacklh4_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKLH4 #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vpacklh4_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vpacklh4_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpacklh4_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpacklh4_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackp2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKP2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpackp2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpackp2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpackp2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpackp2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpackp2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpackp2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackw_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKW #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vpackw_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vpackw_vvv(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vpackw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vpackw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vpackw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vpackw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vpackw_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vpackw_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpackx2_vvv */ /*----------------------------------------------------------------------------*/ /* VPACKX2 #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vpackx2_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vpackx2_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vpackx2_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vpackx2_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vpackx2_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vpackx2_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vperm_vvv */ /*----------------------------------------------------------------------------*/ /* VPERM #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vperm_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vperm_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vperm_yvv */ /*----------------------------------------------------------------------------*/ /* VPERM #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vperm_yvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vperm_yvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeeb_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEEB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeeb_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeeb_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeed_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEED #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeed_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeed_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeeh_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEEH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeeh_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeeh_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeeq_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEEQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeeq_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeeq_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeew_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEEW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeew_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeew_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeob_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEOB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeob_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeob_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeod_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEOD #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeod_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeod_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeoh_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEOH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeoh_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeoh_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeoq_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEOQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeoq_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeoq_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermeow_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMEOW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermeow_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermeow_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermhh_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMHH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermhh_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermhh_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermlh_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMLH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermlh_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermlh_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermll_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMLL #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermll_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermll_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermoob_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMOOB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermoob_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermoob_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermood_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMOOD #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermood_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermood_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermooh_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMOOH #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermooh_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermooh_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermooq_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMOOQ #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermooq_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermooq_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpermoow_yvvv */ /*----------------------------------------------------------------------------*/ /* VPERMOOW #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vpermoow_yvvv(uchar32, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vpermoow_yvvv(uchar64, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vppackdup16w_pv */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vppackdup16w_pv(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vppackdup8w_pv */ /*----------------------------------------------------------------------------*/ /* VPPACKDUP8W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vppackdup8w_pv(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputb_dky */ /*----------------------------------------------------------------------------*/ /* VPUTB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vputb_dky(signed char, (signed char)(k={0-63}), char32); uchar32 = __vputb_dky(uchar, (uchar)(k={0-63}), uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputb_rkv */ /*----------------------------------------------------------------------------*/ /* VPUTB #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vputb_rkv(signed char, (signed char)(k={0-63}), char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vputb_rkv(signed char, (signed char)(k={0-63}), char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vputb_rkv(uchar, (uchar)(k={0-63}), uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vputb_rkv(uchar, (uchar)(k={0-63}), uchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputd_dkv */ /*----------------------------------------------------------------------------*/ /* VPUTD #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vputd_dkv(long, (signed char)(k={0-63}), long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vputd_dkv(long, (signed char)(k={0-63}), long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vputd_dkv(ulong, (uchar)(k={0-63}), ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vputd_dkv(ulong, (uchar)(k={0-63}), ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputd_dky */ /*----------------------------------------------------------------------------*/ /* VPUTD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vputd_dky(long, (signed char)(k={0-63}), long4); ulong4 = __vputd_dky(ulong, (uchar)(k={0-63}), ulong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputh_dky */ /*----------------------------------------------------------------------------*/ /* VPUTH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vputh_dky(short, (signed char)(k={0-63}), short16); ushort16 = __vputh_dky(ushort, (uchar)(k={0-63}), ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputh_rkv */ /*----------------------------------------------------------------------------*/ /* VPUTH #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vputh_rkv(short, (signed char)(k={0-63}), short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vputh_rkv(short, (signed char)(k={0-63}), short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vputh_rkv(ushort, (uchar)(k={0-63}), ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vputh_rkv(ushort, (uchar)(k={0-63}), ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputw_dky */ /*----------------------------------------------------------------------------*/ /* VPUTW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vputw_dky(int, (signed char)(k={0-63}), int8); uint8 = __vputw_dky(uint, (uchar)(k={0-63}), uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vputw_rkv */ /*----------------------------------------------------------------------------*/ /* VPUTW #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vputw_rkv(int, (signed char)(k={0-63}), int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vputw_rkv(int, (signed char)(k={0-63}), int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vputw_rkv(uint, (uchar)(k={0-63}), uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vputw_rkv(uint, (uchar)(k={0-63}), uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vpxpnd_pv */ /*----------------------------------------------------------------------------*/ /* VPXPND #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vpxpnd_pv(__vpred); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vpxpnd_pv(__vpred); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrcpdp_vv */ /*----------------------------------------------------------------------------*/ /* VRCPDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vrcpdp_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vrcpdp_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrcpsp_vv */ /*----------------------------------------------------------------------------*/ /* VRCPSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vrcpsp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vrcpsp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vreplace_vkkv */ /*----------------------------------------------------------------------------*/ /* VREPLACE #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vreplace_vkkv(long4, (char4)(k={0-63}), (char4)(k={0-63}), long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vreplace_vkkv(long8, (char8)(k={0-63}), (char8)(k={0-63}), long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vreplace_vkkv(ulong4, (uchar4)(k={0-63}), (uchar4)(k={0-63}), ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vreplace_vkkv(ulong8, (uchar8)(k={0-63}), (uchar8)(k={0-63}), ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vreverseb_vv */ /*----------------------------------------------------------------------------*/ /* VREVERSEB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vreverseb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vreverseb_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vreverseb_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vreverseb_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vreversed_vv */ /*----------------------------------------------------------------------------*/ /* VREVERSED #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vreversed_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vreversed_vv(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vreversed_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vreversed_vv(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vreversed_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vreversed_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vreversed_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vreversed_vv(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vreversed_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vreversed_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vreverseh_vv */ /*----------------------------------------------------------------------------*/ /* VREVERSEH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vreverseh_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vreverseh_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vreverseh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vreverseh_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vreverseh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vreverseh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vreversew_vv */ /*----------------------------------------------------------------------------*/ /* VREVERSEW #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vreversew_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vreversew_vv(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vreversew_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vreversew_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vreversew_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vreversew_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vreversew_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vreversew_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlb_vkv */ /*----------------------------------------------------------------------------*/ /* VROTLB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vrotlb_vkv(uchar32, (uchar32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vrotlb_vkv(uchar64, (uchar64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlb_vvv */ /*----------------------------------------------------------------------------*/ /* VROTLB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vrotlb_vvv(uchar32, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vrotlb_vvv(uchar64, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotld_vkv */ /*----------------------------------------------------------------------------*/ /* VROTLD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vrotld_vkv(ulong4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vrotld_vkv(ulong8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotld_vvv */ /*----------------------------------------------------------------------------*/ /* VROTLD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vrotld_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vrotld_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlh_vkv */ /*----------------------------------------------------------------------------*/ /* VROTLH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vrotlh_vkv(ushort16, (ushort16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vrotlh_vkv(ushort32, (ushort32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlh_vvv */ /*----------------------------------------------------------------------------*/ /* VROTLH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vrotlh_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vrotlh_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlw_vkv */ /*----------------------------------------------------------------------------*/ /* VROTLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vrotlw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vrotlw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrotlw_vvv */ /*----------------------------------------------------------------------------*/ /* VROTLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vrotlw_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vrotlw_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrpackh_vvv */ /*----------------------------------------------------------------------------*/ /* VRPACKH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vrpackh_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vrpackh_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrsqrdp_vv */ /*----------------------------------------------------------------------------*/ /* VRSQRDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vrsqrdp_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vrsqrdp_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vrsqrsp_vv */ /*----------------------------------------------------------------------------*/ /* VRSQRSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vrsqrsp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vrsqrsp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsad16ou16h16w_vvv */ /*----------------------------------------------------------------------------*/ /* VSAD16OU16H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsad16ou16h16w_vvv(ushort32, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsad16ou8h16w_vvv */ /*----------------------------------------------------------------------------*/ /* VSAD16OU8H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsad16ou8h16w_vvv(ushort32, ushort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsad8ou16b32h_vvv */ /*----------------------------------------------------------------------------*/ /* VSAD8OU16B32H #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsad8ou16b32h_vvv(uchar64, uchar16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddb_vkv */ /*----------------------------------------------------------------------------*/ /* VSADDB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsaddb_vkv(char32, (char32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsaddb_vkv(char64, (char64)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddb_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsaddb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsaddb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vsaddb_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vsaddb_vvv(cchar32, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddh_vkv */ /*----------------------------------------------------------------------------*/ /* VSADDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsaddh_vkv(short16, (short16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsaddh_vkv(short32, (short32)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddh_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsaddh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsaddh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vsaddh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vsaddh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddub_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsaddub_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsaddub_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsadduh_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsadduh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsadduh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddusb_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUSB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsaddusb_vvv(uchar32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsaddusb_vvv(uchar64, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddush_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUSH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsaddush_vvv(ushort16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsaddush_vvv(ushort32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddusw_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUSW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsaddusw_vvv(uint8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsaddusw_vvv(uint16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsadduw_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsadduw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsadduw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddw_vkv */ /*----------------------------------------------------------------------------*/ /* VSADDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsaddw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsaddw_vkv(int16, (int16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsaddw_vvv */ /*----------------------------------------------------------------------------*/ /* VSADDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsaddw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsaddw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vsaddw_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vsaddw_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsadm16ou16h16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VSADM16OU16H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsadm16ou16h16w_yvvv(uchar64, ushort32, ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsadm16ou8h16w_yvvv */ /*----------------------------------------------------------------------------*/ /* VSADM16OU8H16W #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsadm16ou8h16w_yvvv(uchar64, ushort32, ushort8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsadm8ou16b32h_yvvv */ /*----------------------------------------------------------------------------*/ /* VSADM8OU16B32H #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsadm8ou16b32h_yvvv(uchar64, uchar64, uchar16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsatdl_vv */ /*----------------------------------------------------------------------------*/ /* VSATDL #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsatdl_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsatdl_vv(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsatdw_vv */ /*----------------------------------------------------------------------------*/ /* VSATDW #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsatdw_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsatdw_vv(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsathb_vv */ /*----------------------------------------------------------------------------*/ /* VSATHB #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsathb_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsathb_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsatlw_vv */ /*----------------------------------------------------------------------------*/ /* VSATLW #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsatlw_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsatlw_vv(long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsatwh_vv */ /*----------------------------------------------------------------------------*/ /* VSATWH #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsatwh_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsatwh_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vscaledp_vvv */ /*----------------------------------------------------------------------------*/ /* VSCALEDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vscaledp_vvv(double4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vscaledp_vvv(double8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vscalesp_vvv */ /*----------------------------------------------------------------------------*/ /* VSCALESP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vscalesp_vvv(float8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vscalesp_vvv(float16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vscatterb_pvv */ /*----------------------------------------------------------------------------*/ /* VSCATTERB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vscatterb_pvv(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vscatterb_pvv(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vscatternb_pvv */ /*----------------------------------------------------------------------------*/ /* VSCATTERNB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vscatternb_pvv(__vpred, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vscatternb_pvv(__vpred, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsel_pvkv */ /*----------------------------------------------------------------------------*/ /* VSEL #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsel_pvkv(__vpred, int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsel_pvkv(__vpred, int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsel_pvkv(__vpred, uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsel_pvkv(__vpred, uint16, (uint16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vsel_pvkv(__vpred, float8, (float8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vsel_pvkv(__vpred, float16, (float16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsel_pvvv */ /*----------------------------------------------------------------------------*/ /* VSEL #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsel_pvvv(__vpred, char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsel_pvvv(__vpred, char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsel_pvvv(__vpred, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsel_pvvv(__vpred, uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vsel_pvvv(__vpred, cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vsel_pvvv(__vpred, cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsel_pvvv(__vpred, short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsel_pvvv(__vpred, short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsel_pvvv(__vpred, ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsel_pvvv(__vpred, ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vsel_pvvv(__vpred, cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vsel_pvvv(__vpred, cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsel_pvvv(__vpred, int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsel_pvvv(__vpred, int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsel_pvvv(__vpred, uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsel_pvvv(__vpred, uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vsel_pvvv(__vpred, float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vsel_pvvv(__vpred, float16, float16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vsel_pvvv(__vpred, cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vsel_pvvv(__vpred, cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vsel_pvvv(__vpred, cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vsel_pvvv(__vpred, cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsel_pvvv(__vpred, long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsel_pvvv(__vpred, long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsel_pvvv(__vpred, ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsel_pvvv(__vpred, ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vsel_pvvv(__vpred, double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vsel_pvvv(__vpred, double8, double8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vsel_pvvv(__vpred, clong2, clong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vsel_pvvv(__vpred, clong4, clong4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cdouble2 = __vsel_pvvv(__vpred, cdouble2, cdouble2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __vsel_pvvv(__vpred, cdouble4, cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2b_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL2B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshfl2b_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshfl2b_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshfl2b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshfl2b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2d_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL2D #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2d_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2d_vv(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2d_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2d_vv(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2d_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2d_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2d_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2d_vv(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2d_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2d_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2dee_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DEE #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2dee_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2dee_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2dee_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2dee_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2dee_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2dee_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2dee_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2dee_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2dee_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2dee_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2deo_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DEO #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2deo_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2deo_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2deo_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2deo_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2deo_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2deo_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2deo_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2deo_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2deo_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2deo_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2dhh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DHH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2dhh_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2dhh_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2dhh_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2dhh_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2dhh_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2dhh_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2dhh_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2dhh_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2dhh_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2dhh_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2dlh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DLH #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2dlh_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2dlh_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2dlh_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2dlh_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2dlh_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2dlh_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2dlh_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2dlh_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2dlh_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2dlh_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2dll_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DLL #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2dll_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2dll_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2dll_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2dll_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2dll_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2dll_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2dll_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2dll_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2dll_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2dll_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2doo_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2DOO #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vshfl2doo_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vshfl2doo_vvv(cint8, cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vshfl2doo_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vshfl2doo_vvv(cfloat8, cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl2doo_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl2doo_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl2doo_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl2doo_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vshfl2doo_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vshfl2doo_vvv(double8, double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2h_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL2H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vshfl2h_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vshfl2h_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshfl2h_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshfl2h_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshfl2h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshfl2h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2hhh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2HHH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vshfl2hhh_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vshfl2hhh_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshfl2hhh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshfl2hhh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshfl2hhh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshfl2hhh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2hll_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2HLL #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vshfl2hll_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vshfl2hll_vvv(cchar32, cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshfl2hll_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshfl2hll_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshfl2hll_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshfl2hll_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2w_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL2W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vshfl2w_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vshfl2w_vv(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshfl2w_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshfl2w_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshfl2w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshfl2w_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vshfl2w_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vshfl2w_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2whh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2WHH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vshfl2whh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vshfl2whh_vvv(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshfl2whh_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshfl2whh_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshfl2whh_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshfl2whh_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vshfl2whh_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vshfl2whh_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl2wll_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL2WLL #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vshfl2wll_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vshfl2wll_vvv(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshfl2wll_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshfl2wll_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshfl2wll_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshfl2wll_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vshfl2wll_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vshfl2wll_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl3_vvv */ /*----------------------------------------------------------------------------*/ /* VSHFL3 #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshfl3_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshfl3_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshfl3_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshfl3_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl4b_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL4B #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshfl4b_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshfl4b_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshfl4b_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshfl4b_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl4h_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL4H #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vshfl4h_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vshfl4h_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshfl4h_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshfl4h_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshfl4h_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshfl4h_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshfl4w_vv */ /*----------------------------------------------------------------------------*/ /* VSHFL4W #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vshfl4w_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vshfl4w_vv(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshfl4w_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshfl4w_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshfl4w_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshfl4w_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vshfl4w_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vshfl4w_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshl_vkv */ /*----------------------------------------------------------------------------*/ /* VSHL #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshl_vkv(ulong8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshl_vkv(ulong4, (uchar)(k={1-64})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshl_vvv */ /*----------------------------------------------------------------------------*/ /* VSHL #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshl_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshl_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlb_vkv */ /*----------------------------------------------------------------------------*/ /* VSHLB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlb_vkv(char32, (char32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlb_vkv(char64, (char64)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshlb_vkv(uchar32, (uchar32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshlb_vkv(uchar64, (uchar64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlb_vvv(char32, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlb_vvv(char64, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshlb_vvv(uchar32, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshlb_vvv(uchar64, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlcb_pvv */ /*----------------------------------------------------------------------------*/ /* VSHLCB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlcb_pvv(__vpred, char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlcb_pvv(__vpred, char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshlcb_pvv(__vpred, uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshlcb_pvv(__vpred, uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlch_pvv */ /*----------------------------------------------------------------------------*/ /* VSHLCH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshlch_pvv(__vpred, short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshlch_pvv(__vpred, short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshlch_pvv(__vpred, ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshlch_pvv(__vpred, ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlcw_pvv */ /*----------------------------------------------------------------------------*/ /* VSHLCW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshlcw_pvv(__vpred, int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshlcw_pvv(__vpred, int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshlcw_pvv(__vpred, uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshlcw_pvv(__vpred, uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshld_vkv */ /*----------------------------------------------------------------------------*/ /* VSHLD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshld_vkv(long4, (long4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshld_vkv(long8, (long8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshld_vkv(ulong4, (ulong4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshld_vkv(ulong8, (ulong8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshld_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshld_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshld_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshld_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshld_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlh_vkv */ /*----------------------------------------------------------------------------*/ /* VSHLH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshlh_vkv(short16, (short16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshlh_vkv(short32, (short32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshlh_vkv(ushort16, (ushort16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshlh_vkv(ushort32, (ushort32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshlh_vvv(short16, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshlh_vvv(short32, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshlh_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshlh_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlm16b_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLM16B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlm16b_vvv(char64, char16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlm16b_vvv(char32, char16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlm1b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHLM1B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlm1b_vrv(char64, signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlm1b_vrv(char32, signed char); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlm2b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHLM2B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlm2b_vrv(char64, char2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlm2b_vrv(char32, char2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlm4b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHLM4B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlm4b_vrv(char64, char4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlm4b_vrv(char32, char4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlm8b_vdv */ /*----------------------------------------------------------------------------*/ /* VSHLM8B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshlm8b_vdv(char64, char8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshlm8b_vdv(char32, char8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlmb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLMB #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshlmb_vvv(int8, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshlmb_vvv(int16, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlw_vkv */ /*----------------------------------------------------------------------------*/ /* VSHLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshlw_vkv(int8, (int8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshlw_vkv(int16, (int16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshlw_vkv(uint8, (uint8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshlw_vkv(uint16, (uint16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshlw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshlw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshlw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshlw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshlw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshr_vkv */ /*----------------------------------------------------------------------------*/ /* VSHR #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshr_vkv(long8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshr_vkv(long4, (uchar)(k={1-64})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshr_vvv */ /*----------------------------------------------------------------------------*/ /* VSHR #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshr_vvv(long4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshr_vvv(long8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrb_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrb_vkv(char32, (char32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrb_vkv(char64, (char64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrb_vvv(char32, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrb_vvv(char64, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrd_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshrd_vkv(long4, (long4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshrd_vkv(long8, (long8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrd_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshrd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshrd_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrh_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshrh_vkv(short16, (short16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshrh_vkv(short32, (short32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshrh_vvv(short16, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshrh_vvv(short32, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrm16b_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRM16B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrm16b_vvv(char64, char16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrm16b_vvv(char32, char16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrm1b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHRM1B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrm1b_vrv(char64, signed char); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrm1b_vrv(char32, signed char); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrm2b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHRM2B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrm2b_vrv(char64, char2); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrm2b_vrv(char32, char2); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrm4b_vrv */ /*----------------------------------------------------------------------------*/ /* VSHRM4B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrm4b_vrv(char64, char4); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrm4b_vrv(char32, char4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrm8b_vdv */ /*----------------------------------------------------------------------------*/ /* VSHRM8B #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrm8b_vdv(char64, char8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrm8b_vdv(char32, char8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrmb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRMB #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshrmb_vvv(int8, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshrmb_vvv(int16, char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrb_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrrb_vkv(char32, (uchar32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrrb_vkv(char64, (uchar64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vshrrb_vvv(char32, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vshrrb_vvv(char64, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrd_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshrrd_vkv(long4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshrrd_vkv(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrd_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vshrrd_vvv(long4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vshrrd_vvv(long8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrh_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshrrh_vkv(short16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshrrh_vkv(short32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vshrrh_vvv(short16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vshrrh_vvv(short32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrw_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshrrw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshrrw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrrw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshrrw_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshrrw_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshru_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRU #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshru_vkv(ulong8, (uchar)(k={1-64})); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshru_vkv(ulong4, (uchar)(k={1-64})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshru_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRU #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshru_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshru_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrub_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshrub_vkv(uchar32, (uchar32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshrub_vkv(uchar64, (uchar64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrub_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRUB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshrub_vvv(uchar32, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshrub_vvv(uchar64, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrud_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshrud_vkv(ulong4, (ulong4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshrud_vkv(ulong8, (ulong8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrud_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRUD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshrud_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshrud_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshruh_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshruh_vkv(ushort16, (ushort16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshruh_vkv(ushort32, (ushort32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshruh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshruh_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshruh_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurb_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRURB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshrurb_vkv(uchar32, (uchar32)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshrurb_vkv(uchar64, (uchar64)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurb_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRURB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vshrurb_vvv(uchar32, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vshrurb_vvv(uchar64, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurd_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRURD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshrurd_vkv(ulong4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshrurd_vkv(ulong8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurd_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRURD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vshrurd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vshrurd_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurh_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRURH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshrurh_vkv(ushort16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshrurh_vkv(ushort32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurh_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRURH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vshrurh_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vshrurh_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurw_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRURW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshrurw_vkv(uint8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshrurw_vkv(uint16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrurw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRURW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshrurw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshrurw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshruw_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshruw_vkv(uint8, (uint8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshruw_vkv(uint16, (uint16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshruw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshruw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshruw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrw_vkv */ /*----------------------------------------------------------------------------*/ /* VSHRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshrw_vkv(int8, (int8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshrw_vkv(int16, (int16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshrw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshrw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshrw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshvluw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHVLUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshvluw_vvv(uint8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshvluw_vvv(uint16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshvlw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHVLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshvlw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshvlw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshvruw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHVRUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vshvruw_vvv(uint8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vshvruw_vvv(uint16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vshvrw_vvv */ /*----------------------------------------------------------------------------*/ /* VSHVRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vshvrw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vshvrw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyhw_vvw */ /*----------------------------------------------------------------------------*/ /* VSMPYHW #if __C7X_VEC_SIZE_BITS__ == 256 __vsmpyhw_vvw(short16, short16, int8&, int8&); #endif #if __C7X_VEC_SIZE_BITS__ == 512 __vsmpyhw_vvw(short32, short32, int16&, int16&); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyr17ww_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYR17WW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsmpyr17ww_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsmpyr17ww_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyr1hh_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYR1HH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsmpyr1hh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsmpyr1hh_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyr1ww_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYR1WW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsmpyr1ww_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsmpyr1ww_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyrsuhh_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYRSUHH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsmpyrsuhh_vvv(short16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsmpyrsuhh_vvv(short32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyruhh_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYRUHH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsmpyruhh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsmpyruhh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsmpyww_vvv */ /*----------------------------------------------------------------------------*/ /* VSMPYWW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsmpyww_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsmpyww_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortdh_vv */ /*----------------------------------------------------------------------------*/ /* VSORTDH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsortdh_vv(short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortdsp_vv */ /*----------------------------------------------------------------------------*/ /* VSORTDSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vsortdsp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vsortdsp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortduh_vv */ /*----------------------------------------------------------------------------*/ /* VSORTDUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsortduh_vv(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortduw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTDUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsortduw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsortduw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortdw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsortdw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsortdw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortih_vv */ /*----------------------------------------------------------------------------*/ /* VSORTIH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsortih_vv(short16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortisp_vv */ /*----------------------------------------------------------------------------*/ /* VSORTISP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vsortisp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vsortisp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortiuh_vv */ /*----------------------------------------------------------------------------*/ /* VSORTIUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsortiuh_vv(ushort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortiuw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTIUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsortiuw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsortiuw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortiw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTIW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsortiw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsortiw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpdsp_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPDSP #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpdsp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpduw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPDUW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpduw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpdw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPDW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpdw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpisp_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPISP #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpisp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpiuw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPIUW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpiuw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsortpiw_vv */ /*----------------------------------------------------------------------------*/ /* VSORTPIW #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsortpiw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackdw_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vspackdw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vspackdw_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackhb_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKHB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vspackhb_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vspackhb_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackudw_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKUDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vspackudw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vspackudw_vvv(long8, long8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackuhb_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKUHB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vspackuhb_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vspackuhb_vvv(short32, short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackuwh_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKUWH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vspackuwh_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vspackuwh_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspackwh_vvv */ /*----------------------------------------------------------------------------*/ /* VSPACKWH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vspackwh_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vspackwh_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspdph_vv */ /*----------------------------------------------------------------------------*/ /* VSPDPH #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vspdph_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vspdph_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspdpl_vv */ /*----------------------------------------------------------------------------*/ /* VSPDPL #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vspdpl_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vspdpl_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsphp_vv */ /*----------------------------------------------------------------------------*/ /* VSPHP #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsphp_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsphp_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspint_vv */ /*----------------------------------------------------------------------------*/ /* VSPINT #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vspint_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vspint_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspinth_vv */ /*----------------------------------------------------------------------------*/ /* VSPINTH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vspinth_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vspinth_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vspinthpk_vv */ /*----------------------------------------------------------------------------*/ /* VSPINTHPK #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vspinthpk_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vspinthpk_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsptrunc_vv */ /*----------------------------------------------------------------------------*/ /* VSPTRUNC #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsptrunc_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsptrunc_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsshlh_vkv(short16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsshlh_vkv(short32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsshlh_vvv(short16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsshlh_vvv(short32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrdw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLRDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshlrdw_vkv(long4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshlrdw_vkv(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrdw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLRDW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshlrdw_vvv(long4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshlrdw_vvv(long8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrhb_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLRHB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsshlrhb_vkv(short16, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsshlrhb_vkv(short32, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrhb_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLRHB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsshlrhb_vvv(short16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsshlrhb_vvv(short32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrwh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLRWH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsshlrwh_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsshlrwh_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlrwh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLRWH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsshlrwh_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsshlrwh_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsuh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLSUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlsuh_vkv(short16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlsuh_vkv(short32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsuh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLSUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlsuh_vvv(short16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlsuh_vvv(short32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurdw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlsurdw_vkv(long4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlsurdw_vkv(long8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurdw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlsurdw_vvv(long4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlsurdw_vvv(long8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurhb_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURHB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsshlsurhb_vkv(short16, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsshlsurhb_vkv(short32, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurhb_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURHB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsshlsurhb_vvv(short16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsshlsurhb_vvv(short32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurwh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURWH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlsurwh_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlsurwh_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsurwh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLSURWH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlsurwh_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlsurwh_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsuw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLSUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlsuw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlsuw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlsuw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLSUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlsuw_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlsuw_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshluh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshluh_vkv(ushort16, (uchar16)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshluh_vkv(ushort32, (uchar32)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshluh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLUH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshluh_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshluh_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurdw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLURDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlurdw_vkv(ulong4, (uchar4)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlurdw_vkv(ulong8, (uchar8)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurdw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLURDW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshlurdw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshlurdw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurhb_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLURHB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsshlurhb_vkv(ushort16, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsshlurhb_vkv(ushort32, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurhb_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLURHB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsshlurhb_vvv(ushort16, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsshlurhb_vvv(ushort32, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurwh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLURWH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlurwh_vkv(uint8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlurwh_vkv(uint16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlurwh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLURWH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsshlurwh_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsshlurwh_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshluw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshluw_vkv(uint8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshluw_vkv(uint16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshluw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLUW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsshluw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsshluw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSHLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshlw_vkv(int8, (uchar8)(k={0-63})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshlw_vkv(int16, (uchar16)(k={0-63})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshlw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshlw_vvv(int8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshlw_vvv(int16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshvlw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHVLW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshvlw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshvlw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsshvrw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSHVRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsshvrw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsshvrw_vvv(int16, int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubb_vkv */ /*----------------------------------------------------------------------------*/ /* VSSUBB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vssubb_vkv(char32, (char32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vssubb_vkv(char64, (char64)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubb_vvv */ /*----------------------------------------------------------------------------*/ /* VSSUBB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vssubb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vssubb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vssubb_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vssubb_vvv(cchar32, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubh_vkv */ /*----------------------------------------------------------------------------*/ /* VSSUBH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vssubh_vkv(short16, (short16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vssubh_vkv(short32, (short32)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubh_vvv */ /*----------------------------------------------------------------------------*/ /* VSSUBH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vssubh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vssubh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vssubh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vssubh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubw_vkv */ /*----------------------------------------------------------------------------*/ /* VSSUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vssubw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vssubw_vkv(int16, (int16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vssubw_vvv */ /*----------------------------------------------------------------------------*/ /* VSSUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vssubw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vssubw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vssubw_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vssubw_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubabsb_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBABSB #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsubabsb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsubabsb_vvv(uchar64, uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubabsd_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBABSD #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsubabsd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsubabsd_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubabsh_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBABSH #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsubabsh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsubabsh_vvv(ushort32, ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubabsw_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBABSW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubabsw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubabsw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubb_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsubb_vkv(char32, (char32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsubb_vkv(char64, (char64)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsubb_vkv(uchar32, (uchar32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsubb_vkv(uchar64, (uchar64)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubb_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsubb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsubb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsubb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsubb_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vsubb_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vsubb_vvv(cchar32, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubcw_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBCW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubcw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubcw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubd_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsubd_vkv(long4, (int4)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsubd_vkv(long8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsubd_vkv(ulong4, (uint4)(k={0-2147483647})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsubd_vkv(ulong8, (uint8)(k={0-2147483647})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubd_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsubd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsubd_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsubd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsubd_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vsubd_vvv(clong2, clong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vsubd_vvv(clong4, clong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubdp_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBDP #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vsubdp_vvv(double4, double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vsubdp_vvv(double8, double8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cdouble2 = __vsubdp_vvv(cdouble2, cdouble2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cdouble4 = __vsubdp_vvv(cdouble4, cdouble4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubh_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsubh_vkv(short16, (short16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsubh_vkv(short32, (short32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsubh_vkv(ushort16, (ushort16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsubh_vkv(ushort32, (ushort32)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubh_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsubh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsubh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsubh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsubh_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vsubh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vsubh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrb_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsubrb_vkv(char32, (char32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsubrb_vkv(char64, (char64)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsubrb_vkv(uchar32, (uchar32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsubrb_vkv(uchar64, (uchar64)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrb_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBRB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vsubrb_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vsubrb_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vsubrb_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vsubrb_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vsubrb_vvv(cchar16, cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vsubrb_vvv(cchar32, cchar32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrd_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsubrd_vkv(long4, (int4)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsubrd_vkv(long8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsubrd_vkv(ulong4, (uint4)(k={0-2147483647})); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsubrd_vkv(ulong8, (uint8)(k={0-2147483647})); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrd_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBRD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vsubrd_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vsubrd_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vsubrd_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vsubrd_vvv(ulong8, ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vsubrd_vvv(clong2, clong2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vsubrd_vvv(clong4, clong4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrh_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsubrh_vkv(short16, (short16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsubrh_vkv(short32, (short32)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsubrh_vkv(ushort16, (ushort16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsubrh_vkv(ushort32, (ushort32)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrh_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBRH #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vsubrh_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vsubrh_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vsubrh_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vsubrh_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vsubrh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vsubrh_vvv(cshort16, cshort16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrw_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsubrw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsubrw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubrw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubrw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubrw_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBRW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsubrw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsubrw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubrw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubrw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vsubrw_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vsubrw_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubsp_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBSP #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vsubsp_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vsubsp_vvv(float16, float16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vsubsp_vvv(cfloat4, cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vsubsp_vvv(cfloat8, cfloat8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubw_vkv */ /*----------------------------------------------------------------------------*/ /* VSUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsubw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsubw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vsubw_vvv */ /*----------------------------------------------------------------------------*/ /* VSUBW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vsubw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vsubw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vsubw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vsubw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vsubw_vvv(cint4, cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vsubw_vvv(cint8, cint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vswapb_vv */ /*----------------------------------------------------------------------------*/ /* VSWAPB #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vswapb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vswapb_vv(char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vswapb_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vswapb_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vswapd_vv */ /*----------------------------------------------------------------------------*/ /* VSWAPD #if __C7X_VEC_SIZE_BITS__ == 256 cint4 = __vswapd_vv(cint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cint8 = __vswapd_vv(cint8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 cfloat4 = __vswapd_vv(cfloat4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cfloat8 = __vswapd_vv(cfloat8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vswapd_vv(long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vswapd_vv(long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vswapd_vv(ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vswapd_vv(ulong8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 double4 = __vswapd_vv(double4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 double8 = __vswapd_vv(double8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vswaph_vv */ /*----------------------------------------------------------------------------*/ /* VSWAPH #if __C7X_VEC_SIZE_BITS__ == 256 cchar16 = __vswaph_vv(cchar16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cchar32 = __vswaph_vv(cchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vswaph_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vswaph_vv(short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vswaph_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vswaph_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vswapw_vv */ /*----------------------------------------------------------------------------*/ /* VSWAPW #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vswapw_vv(cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vswapw_vv(cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vswapw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vswapw_vv(int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vswapw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vswapw_vv(uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vswapw_vv(float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vswapw_vv(float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkhb_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKHB #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vunpkhb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vunpkhb_vv(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkhh_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKHH #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vunpkhh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vunpkhh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkhub_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKHUB #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vunpkhub_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vunpkhub_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkhuh_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKHUH #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vunpkhuh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vunpkhuh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpklb_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLB #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vunpklb_vv(char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vunpklb_vv(char64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpklh_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLH #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vunpklh_vv(short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vunpklh_vv(short32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpklub_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLUB #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vunpklub_vv(uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vunpklub_vv(uchar64); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkluh_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLUH #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vunpkluh_vv(ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vunpkluh_vv(ushort32); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpkluw_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLUW #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vunpkluw_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vunpkluw_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vunpklw_vv */ /*----------------------------------------------------------------------------*/ /* VUNPKLW #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vunpklw_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vunpklw_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwpackh_vvv */ /*----------------------------------------------------------------------------*/ /* VWPACKH #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vwpackh_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vwpackh_vvv(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vwpackh_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vwpackh_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vwpackh_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vwpackh_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vwpackh_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vwpackh_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwpackl_vvv */ /*----------------------------------------------------------------------------*/ /* VWPACKL #if __C7X_VEC_SIZE_BITS__ == 256 cshort8 = __vwpackl_vvv(cshort8, cshort8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 cshort16 = __vwpackl_vvv(cshort16, cshort16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vwpackl_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vwpackl_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vwpackl_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vwpackl_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 float8 = __vwpackl_vvv(float8, float8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 float16 = __vwpackl_vvv(float16, float16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkd_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKD #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vwunpkd_vv(int4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vwunpkd_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 clong2 = __vwunpkd_vv(cint2); #endif #if __C7X_VEC_SIZE_BITS__ == 512 clong4 = __vwunpkd_vv(cint4); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkdh_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKDH #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vwunpkdh_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vwunpkdh_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkdl_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKDL #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vwunpkdl_vv(int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vwunpkdl_vv(int16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkdu_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKDU #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vwunpkdu_vv(uint4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vwunpkdu_vv(uint8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkudh_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKUDH #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vwunpkudh_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vwunpkudh_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vwunpkudl_vv */ /*----------------------------------------------------------------------------*/ /* VWUNPKUDL #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vwunpkudl_vv(uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vwunpkudl_vv(uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vxnorw_vvv */ /*----------------------------------------------------------------------------*/ /* VXNORW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vxnorw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vxnorw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vxnorw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vxnorw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vxnorw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vxnorw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vxnorw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vxnorw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vxnorw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vxnorw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vxnorw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vxnorw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vxnorw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vxnorw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vxnorw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vxnorw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vxormpyw_vvv */ /*----------------------------------------------------------------------------*/ /* VXORMPYW #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vxormpyw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vxormpyw_vvv(uint16, uint16); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vxorw_vkv */ /*----------------------------------------------------------------------------*/ /* VXORW #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vxorw_vkv(int8, (int8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vxorw_vkv(int16, (int16)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vxorw_vkv(uint8, (uint8)(k)); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vxorw_vkv(uint16, (uint16)(k)); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __vxorw_vvv */ /*----------------------------------------------------------------------------*/ /* VXORW #if __C7X_VEC_SIZE_BITS__ == 256 char32 = __vxorw_vvv(char32, char32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 char64 = __vxorw_vvv(char64, char64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uchar32 = __vxorw_vvv(uchar32, uchar32); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uchar64 = __vxorw_vvv(uchar64, uchar64); #endif #if __C7X_VEC_SIZE_BITS__ == 256 short16 = __vxorw_vvv(short16, short16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 short32 = __vxorw_vvv(short32, short32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ushort16 = __vxorw_vvv(ushort16, ushort16); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ushort32 = __vxorw_vvv(ushort32, ushort32); #endif #if __C7X_VEC_SIZE_BITS__ == 256 int8 = __vxorw_vvv(int8, int8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 int16 = __vxorw_vvv(int16, int16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 uint8 = __vxorw_vvv(uint8, uint8); #endif #if __C7X_VEC_SIZE_BITS__ == 512 uint16 = __vxorw_vvv(uint16, uint16); #endif #if __C7X_VEC_SIZE_BITS__ == 256 long4 = __vxorw_vvv(long4, long4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 long8 = __vxorw_vvv(long8, long8); #endif #if __C7X_VEC_SIZE_BITS__ == 256 ulong4 = __vxorw_vvv(ulong4, ulong4); #endif #if __C7X_VEC_SIZE_BITS__ == 512 ulong8 = __vxorw_vvv(ulong8, ulong8); #endif */ /*----------------------------------------------------------------------------*/ /* ID: __xnor_ppp */ /*----------------------------------------------------------------------------*/ /* XNOR __vpred = __xnor_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __xnord_ddd */ /*----------------------------------------------------------------------------*/ /* XNORD char8 = __xnord_ddd(char8, char8); uchar8 = __xnord_ddd(uchar8, uchar8); short4 = __xnord_ddd(short4, short4); ushort4 = __xnord_ddd(ushort4, ushort4); int2 = __xnord_ddd(int2, int2); uint2 = __xnord_ddd(uint2, uint2); long = __xnord_ddd(long, long); ulong = __xnord_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __xnord_dkd */ /*----------------------------------------------------------------------------*/ /* XNORD long = __xnord_dkd(long, (int)(k)); ulong = __xnord_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __xnorw_rrr */ /*----------------------------------------------------------------------------*/ /* XNORW char4 = __xnorw_rrr(char4, char4); uchar4 = __xnorw_rrr(uchar4, uchar4); short2 = __xnorw_rrr(short2, short2); ushort2 = __xnorw_rrr(ushort2, ushort2); int = __xnorw_rrr(int, int); uint = __xnorw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __xor_ppp */ /*----------------------------------------------------------------------------*/ /* XOR __vpred = __xor_ppp(__vpred, __vpred); */ /*----------------------------------------------------------------------------*/ /* ID: __xord_ddd */ /*----------------------------------------------------------------------------*/ /* XORD char8 = __xord_ddd(char8, char8); uchar8 = __xord_ddd(uchar8, uchar8); short4 = __xord_ddd(short4, short4); ushort4 = __xord_ddd(ushort4, ushort4); int2 = __xord_ddd(int2, int2); uint2 = __xord_ddd(uint2, uint2); long = __xord_ddd(long, long); ulong = __xord_ddd(ulong, ulong); */ /*----------------------------------------------------------------------------*/ /* ID: __xord_dkd */ /*----------------------------------------------------------------------------*/ /* XORD long = __xord_dkd(long, (int)(k)); ulong = __xord_dkd(ulong, (uint)(k={0-2147483647})); */ /*----------------------------------------------------------------------------*/ /* ID: __xorw_rkr */ /*----------------------------------------------------------------------------*/ /* XORW char4 = __xorw_rkr(char4, (char4)(k)); uchar4 = __xorw_rkr(uchar4, (uchar4)(k)); short2 = __xorw_rkr(short2, (short2)(k)); ushort2 = __xorw_rkr(ushort2, (ushort2)(k)); int = __xorw_rkr(int, (int)(k)); uint = __xorw_rkr(uint, (uint)(k)); */ /*----------------------------------------------------------------------------*/ /* ID: __xorw_rrr */ /*----------------------------------------------------------------------------*/ /* XORW char4 = __xorw_rrr(char4, char4); uchar4 = __xorw_rrr(uchar4, uchar4); short2 = __xorw_rrr(short2, short2); ushort2 = __xorw_rrr(ushort2, ushort2); int = __xorw_rrr(int, int); uint = __xorw_rrr(uint, uint); */ /*----------------------------------------------------------------------------*/ /* ID: __xpnd4h_rd */ /*----------------------------------------------------------------------------*/ /* XPND4H short4 = __xpnd4h_rd(signed char); ushort4 = __xpnd4h_rd(uchar); */ /*----------------------------------------------------------------------------*/ /* ID: __xpnd8b_rd */ /*----------------------------------------------------------------------------*/ /* XPND8B char8 = __xpnd8b_rd(signed char); uchar8 = __xpnd8b_rd(uchar); */ /* AUTOGEN MARKER */ /*****************************************************************************/ /* C7X_STRM.H */ /* */ /* Copyright (c) 2017 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* STDINT.H */ /* */ /* Copyright (c) 2002 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.1\")") /* no code before #include */ _Pragma("CHECK_MISRA(\"-19.7\")") /* prefer functions to macros */ /*****************************************************************************/ /* _STDINT40.H */ /* */ /* Copyright (c) 2018 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.7\")") /* prefer functions to macros */ /* According to footnotes in the 1999 C standard, "C++ implementations should define these macros only when __STDC_LIMIT_MACROS is defined before is included." */ _Pragma("diag_pop") /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2001 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ /*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 1991, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Berkeley Software Design, Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)cdefs.h 8.8 (Berkeley) 1/9/95 * $FreeBSD$ */ _Pragma("diag_push") _Pragma("CHECK_MISRA(\"none\")") /* * Testing against Clang-specific extensions. */ /* * This code has been put in place to help reduce the addition of * compiler specific defines in FreeBSD code. It helps to aid in * having a compiler-agnostic source tree. */ /* * Macro to test if we're using a specific version of gcc or later. */ /* * The __CONCAT macro is used to concatenate parts of symbol names, e.g. * with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. * The __CONCAT macro is a bit tricky to use if it must work in non-ANSI * mode -- there must be no spaces between its arguments, and for nested * __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also * concatenate double-quoted strings produced by the __STRING macro, but * this only works with ANSI C. * * __XSTRING is like __STRING, but it expands any macros in its argument * first. It is only available with ANSI C. */ /* * Compiler-dependent macros to help declare dead (non-returning) and * pure (no side effects) functions, and unused variables. They are * null except for versions of gcc that are known to support the features * properly (old versions of gcc-2 supported the dead and pure features * in a different (wrong) way). If we do not provide an implementation * for a given compiler, let the compile fail if it is told to use * a feature that we cannot live without. */ /* * TI ADD - check that __GNUC__ is defined before referencing it to avoid * generating an error when __GNUC__ treated as zero warning is * promoted to an error via -pdse195 option. */ /* * Keywords added in C11. */ /* * No native support for _Atomic(). Place object in structure to prevent * most forms of direct non-atomic access. */ /* * XXX: Some compilers (Clang 3.3, GCC 4.7) falsely announce C++11 mode * without actually supporting the thread_local keyword. Don't check for * the presence of C++11 when defining _Thread_local. */ /* * Emulation of C11 _Generic(). Unlike the previously defined C11 * keywords, it is not possible to implement this using exactly the same * syntax. Therefore implement something similar under the name * __generic(). Unlike _Generic(), this macro can only distinguish * between a single type, so it requires nested invocations to * distinguish multiple cases. */ /* * C99 Static array indices in function parameter declarations. Syntax such as: * void bar(int myArray[static 10]); * is allowed in C99 but not in C++. Define __min_size appropriately so * headers using it can be compiled in either language. Use like this: * void bar(int myArray[__min_size(10)]); */ /* XXX: should use `#if __STDC_VERSION__ < 199901'. */ /* C++11 exposes a load of C99 stuff */ /* * GCC 2.95 provides `__restrict' as an extension to C90 to support the * C99-specific `restrict' type qualifier. We happen to use `__restrict' as * a way to define the `restrict' type qualifier without disturbing older * software that is unaware of C99 keywords. * The TI compiler supports __restrict in all compilation modes. */ /* * GNU C version 2.96 adds explicit branch prediction so that * the CPU back-end can hint the processor and also so that * code blocks can be reordered such that the predicted path * sees a more linear flow, thus improving cache behavior, etc. * * The following two macros provide us with a way to utilize this * compiler feature. Use __predict_true() if you expect the expression * to evaluate to true, and __predict_false() if you expect the * expression to evaluate to false. * * A few notes about usage: * * * Generally, __predict_false() error condition checks (unless * you have some _strong_ reason to do otherwise, in which case * document it), and/or __predict_true() `no-error' condition * checks, assuming you want to optimize for the no-error case. * * * Other than that, if you don't know the likelihood of a test * succeeding from empirical or other `hard' evidence, don't * make predictions. * * * These are meant to be used in places that are run `a lot'. * It is wasteful to make predictions in code that is run * seldomly (e.g. at subsystem initialization time) as the * basic block reordering that this affects can often generate * larger code. */ /* * We define this here since , , and * require it. */ /* * Given the pointer x to the member m of the struct s, return * a pointer to the containing structure. When using GCC, we first * assign pointer x to a local variable, to check that its type is * compatible with member m. */ /* * Compiler-dependent macros to declare that functions take printf-like * or scanf-like arguments. They are null except for versions of gcc * that are known to support the features properly (old versions of gcc-2 * didn't permit keeping the keywords out of the application namespace). */ /* Compiler-dependent macros that rely on FreeBSD-specific extensions. */ /* * The following definition might not work well if used in header files, * but it should be better than nothing. If you want a "do nothing" * version, then it should generate some harmless declaration, such as: * #define __IDSTRING(name,string) struct __hack */ /* * Embed the rcs id of a source file in the resulting library. Note that in * more recent ELF binutils, we use .ident allowing the ID to be stripped. * Usage: * __FBSDID("$FreeBSD$"); */ /*- * The following definitions are an extension of the behavior originally * implemented in , but with a different level of granularity. * POSIX.1 requires that the macros we test be defined before any standard * header file is included. * * Here's a quick run-down of the versions: * defined(_POSIX_SOURCE) 1003.1-1988 * _POSIX_C_SOURCE == 1 1003.1-1990 * _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option * _POSIX_C_SOURCE == 199309 1003.1b-1993 * _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, * and the omnibus ISO/IEC 9945-1: 1996 * _POSIX_C_SOURCE == 200112 1003.1-2001 * _POSIX_C_SOURCE == 200809 1003.1-2008 * * In addition, the X/Open Portability Guide, which is now the Single UNIX * Specification, defines a feature-test macro which indicates the version of * that specification, and which subsumes _POSIX_C_SOURCE. * * Our macros begin with two underscores to avoid namespace screwage. */ /* Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. */ /* Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. */ /* Deal with various X/Open Portability Guides and Single UNIX Spec. */ /* * Deal with all versions of POSIX. The ordering relative to the tests above is * important. */ /*- * Deal with _ANSI_SOURCE: * If it is defined, and no other compilation environment is explicitly * requested, then define our internal feature-test macros to zero. This * makes no difference to the preprocessor (undefined symbols in preprocessing * expressions are defined to have value zero), but makes it more convenient for * a test program to print out the values. * * If a program mistakenly defines _ANSI_SOURCE and some other macro such as * _POSIX_C_SOURCE, we will assume that it wants the broader compilation * environment (and in fact we will never get here). */ /* User override __EXT1_VISIBLE */ /* * Old versions of GCC use non-standard ARM arch symbols; acle-compat.h * translates them to __ARM_ARCH and the modern feature symbols defined by ARM. */ /* * Nullability qualifiers: currently only supported by Clang. */ /* * Type Safety Checking * * Clang provides additional attributes to enable checking type safety * properties that cannot be enforced by the C type system. */ /* * Lock annotations. * * Clang provides support for doing basic thread-safety tests at * compile-time, by marking which locks will/should be held when * entering/leaving a functions. * * Furthermore, it is also possible to annotate variables and structure * members to enforce that they are only accessed when certain locks are * held. */ /* Structure implements a lock. */ /* Function acquires an exclusive or shared lock. */ /* Function attempts to acquire an exclusive or shared lock. */ /* Function releases a lock. */ /* Function asserts that an exclusive or shared lock is held. */ /* Function requires that an exclusive or shared lock is or is not held. */ /* Function should not be analyzed. */ /* Guard variables and structure members by lock. */ _Pragma("diag_pop") /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2002 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ /*****************************************************************************/ /* _TYPES.H */ /* */ /* Copyright (c) 2019 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*- * SPDX-License-Identifier: BSD-4-Clause * * Copyright (c) 2002 Mike Barcroft * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 * From: @(#)types.h 8.3 (Berkeley) 1/5/94 * $FreeBSD$ */ #pragma diag_push /* This file is required to use base types */ #pragma CHECK_MISRA("-6.3") /* * Basic types upon which most other types are built. */ typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short __int16_t; typedef unsigned short __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; /* LONG */ typedef long __int64_t; /* LONG */ typedef unsigned long __uint64_t; /* * Standard type definitions. */ typedef __uint64_t __clock_t; /* clock()... */ typedef __int32_t __critical_t; typedef double __double_t; typedef float __float_t; typedef __int32_t __intfptr_t; typedef __int64_t __intmax_t; typedef __int64_t __intptr_t; typedef __int32_t __int_fast8_t; typedef __int32_t __int_fast16_t; typedef __int32_t __int_fast32_t; typedef __int64_t __int_fast64_t; typedef __int8_t __int_least8_t; typedef __int16_t __int_least16_t; typedef __int32_t __int_least32_t; typedef __int64_t __int_least64_t; typedef __int64_t __ptrdiff_t; /* ptr1 - ptr2 */ typedef __int64_t __register_t; typedef __int32_t __segsz_t; /* segment size (in pages) */ typedef __uint64_t __size_t; /* sizeof() */ typedef __int64_t __ssize_t; /* byte count or error */ typedef __int64_t __time_t; /* time()... */ typedef __uint32_t __uintfptr_t; typedef __uint64_t __uintmax_t; typedef __uint64_t __uintptr_t; typedef __uint32_t __uint_fast8_t; typedef __uint32_t __uint_fast16_t; typedef __uint32_t __uint_fast32_t; typedef __uint64_t __uint_fast64_t; typedef __uint8_t __uint_least8_t; typedef __uint16_t __uint_least16_t; typedef __uint32_t __uint_least32_t; typedef __uint64_t __uint_least64_t; typedef __uint64_t __u_register_t; typedef __uint32_t __vm_offset_t; typedef __uint64_t __vm_paddr_t; typedef __uint64_t __vm_size_t; typedef unsigned int ___wchar_t; /* * POSIX target specific _off_t type definition */ typedef long int _off_t; /* * Unusual type definitions. */ typedef char *__va_list; #pragma diag_pop _Pragma("diag_push") /* This file is required to use types without size and signedness */ _Pragma("CHECK_MISRA(\"-6.3\")") /* * Standard type definitions. */ typedef __int32_t __blksize_t; /* file block size */ typedef __int64_t __blkcnt_t; /* file block count */ typedef __int32_t __clockid_t; /* clock_gettime()... */ typedef __uint32_t __fflags_t; /* file flags */ typedef __uint64_t __fsblkcnt_t; typedef __uint64_t __fsfilcnt_t; typedef __uint32_t __gid_t; typedef __int64_t __id_t; /* can hold a gid_t, pid_t, or uid_t */ typedef __uint64_t __ino_t; /* inode number */ typedef long __key_t; /* IPC key (for Sys V IPC) */ typedef __int32_t __lwpid_t; /* Thread ID (a.k.a. LWP) */ typedef __uint16_t __mode_t; /* permissions */ typedef int __accmode_t; /* access permissions */ typedef int __nl_item; typedef __uint64_t __nlink_t; /* link count */ typedef _off_t __off_t; /* file offset (target-specific) */ typedef __int64_t __off64_t; /* file offset (always 64-bit) */ typedef __int32_t __pid_t; /* process [group] */ typedef __int64_t __rlim_t; /* resource limit - intentionally */ /* signed, because of legacy code */ /* that uses -1 for RLIM_INFINITY */ typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef long __suseconds_t; /* microseconds (signed) */ typedef struct __timer *__timer_t; /* timer_gettime()... */ typedef struct __mq *__mqd_t; /* mq_open()... */ typedef __uint32_t __uid_t; typedef unsigned int __useconds_t; /* microseconds (unsigned) */ typedef int __cpuwhich_t; /* which parameter for cpuset. */ typedef int __cpulevel_t; /* level parameter for cpuset. */ typedef int __cpusetid_t; /* cpuset identifier. */ /* * Unusual type definitions. */ /* * rune_t is declared to be an ``int'' instead of the more natural * ``unsigned long'' or ``long''. Two things are happening here. It is not * unsigned so that EOF (-1) can be naturally assigned to it and used. Also, * it looks like 10646 will be a 31 bit standard. This means that if your * ints cannot hold 32 bits, you will be in trouble. The reason an int was * chosen over a long is that the is*() and to*() routines take ints (says * ANSI C), but they use __ct_rune_t instead of int. * * NOTE: rune_t is not covered by ANSI nor other standards, and should not * be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and * rune_t must be the same type. Also, wint_t should be able to hold all * members of the largest character set plus one extra value (WEOF), and * must be at least 16 bits. */ typedef int __ct_rune_t; /* arg type for ctype funcs */ typedef __ct_rune_t __rune_t; /* rune_t (see above) */ typedef __ct_rune_t __wint_t; /* wint_t (see above) */ /* Clang already provides these types as built-ins, but only in C++ mode. */ typedef __uint_least16_t __char16_t; typedef __uint_least32_t __char32_t; /* In C++11, char16_t and char32_t are built-in types. */ typedef struct { long long __max_align1 __attribute__((aligned(__alignof__(long long)))); long double __max_align2 __attribute__((aligned(__alignof__(long double)))); } __max_align_t; typedef __uint64_t __dev_t; /* device number */ typedef __uint32_t __fixpt_t; /* fixed point number */ /* * mbstate_t is an opaque object to keep conversion state during multibyte * stream conversions. */ typedef int _Mbstatet; typedef _Mbstatet __mbstate_t; typedef __uintmax_t __rman_res_t; /* * When the following macro is defined, the system uses 64-bit inode numbers. * Programs can use this to avoid including , with its associated * namespace pollution. */ _Pragma("diag_pop") /*****************************************************************************/ /* _STDINT.H */ /* */ /* Copyright (c) 2019 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*- * SPDX-License-Identifier: BSD-2-Clause-NetBSD * * Copyright (c) 2001, 2002 Mike Barcroft * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Klaus Klein. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD$ */ #pragma diag_push /* 19.4 is issued for macros that are defined in terms of other macros. */ #pragma CHECK_MISRA("-19.4") /* The standard (C99 with TC1+TC2+TC3) now says "integer constant expressions," * not "integer constants." Not all ICE are suitable for use in preprocessor * macros. Any test that uses INTn_C in a preprocessor macro is legal C99, but * not necessarily legal C99+TC1+TC2+TC3 * * See Defect Report: * http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_209.htm * * Conclusion: In a pre-processor macro, UINT32_MAX may be used, but not * UINT32_C(1234) */ /* * ISO/IEC 9899:1999 * 7.18.2.1 Limits of exact-width integer types */ /* Minimum values of exact-width signed integer types. */ /* Maximum values of exact-width signed integer types. */ /* Maximum values of exact-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.2 Limits of minimum-width integer types */ /* Minimum values of minimum-width signed integer types. */ /* Maximum values of minimum-width signed integer types. */ /* Maximum values of minimum-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.3 Limits of fastest minimum-width integer types */ /* Minimum values of fastest minimum-width signed integer types. */ /* Maximum values of fastest minimum-width signed integer types. */ /* Maximum values of fastest minimum-width unsigned integer types. */ /* * ISO/IEC 9899:1999 * 7.18.2.4 Limits of integer types capable of holding object pointers */ /* * ISO/IEC 9899:1999 * 7.18.2.5 Limits of greatest-width integer types */ /* * ISO/IEC 9899:1999 * 7.18.3 Limits of other integer types */ /* Limits of ptrdiff_t. */ /* Limits of sig_atomic_t. */ /* Limit of size_t. */ /* Limits of wint_t. */ #pragma diag_pop /*- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD * * Copyright (c) 2011 David E. O'Brien * Copyright (c) 2001 Mike Barcroft * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * $FreeBSD$ */ typedef __int8_t int8_t; typedef __int16_t int16_t; typedef __int32_t int32_t; typedef __int64_t int64_t; typedef __uint8_t uint8_t; typedef __uint16_t uint16_t; typedef __uint32_t uint32_t; typedef __uint64_t uint64_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; typedef __int_least8_t int_least8_t; typedef __int_least16_t int_least16_t; typedef __int_least32_t int_least32_t; typedef __int_least64_t int_least64_t; typedef __uint_least8_t uint_least8_t; typedef __uint_least16_t uint_least16_t; typedef __uint_least32_t uint_least32_t; typedef __uint_least64_t uint_least64_t; typedef __int_fast8_t int_fast8_t; typedef __int_fast16_t int_fast16_t; typedef __int_fast32_t int_fast32_t; typedef __int_fast64_t int_fast64_t; typedef __uint_fast8_t uint_fast8_t; typedef __uint_fast16_t uint_fast16_t; typedef __uint_fast32_t uint_fast32_t; typedef __uint_fast64_t uint_fast64_t; _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-10.1\")") /* GNU and Darwin define this and people seem to think it's portable */ _Pragma("diag_pop") _Pragma("diag_push") _Pragma("CHECK_MISRA(\"-19.4\")") /* Limits of wchar_t. */ _Pragma("diag_pop") /* ISO/IEC 9899:2011 K.3.4.4 */ _Pragma("diag_pop") /*****************************************************************************/ /* C7X_ECR.H */ /* */ /* Copyright (c) 2016 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /******************************************************************************/ /* SE/SA Feature Support */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Streaming Engine element type options. */ /* Use the below enumeration to indicate the element type of data read via */ /* streaming engine. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_ELETYPE { __SE_ELETYPE_8BIT = 0, __SE_ELETYPE_16BIT = 1, __SE_ELETYPE_32BIT = 2, __SE_ELETYPE_64BIT = 3, /* reserved = 4 */ __SE_ELETYPE_8BIT_CMPLX_NOSWAP = 8, __SE_ELETYPE_16BIT_CMPLX_NOSWAP = 9, __SE_ELETYPE_32BIT_CMPLX_NOSWAP = 10, __SE_ELETYPE_64BIT_CMPLX_NOSWAP = 11, __SE_ELETYPE_8BIT_CMPLX_SWAP = 12, __SE_ELETYPE_16BIT_CMPLX_SWAP = 13, __SE_ELETYPE_32BIT_CMPLX_SWAP = 14, __SE_ELETYPE_64BIT_CMPLX_SWAP = 15, __SE_ELETYPE_LAST = 15 /* Don't use directly. */ } __SE_ELETYPE; /*----------------------------------------------------------------------------*/ /* Streaming Engine transpose options. */ /* Use the below enumeration to indicate the transpose settings. */ /* Transpose "GRANULES" are of below sizes only. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_TRANSPOSE { __SE_TRANSPOSE_OFF = 0, __SE_TRANSPOSE_8BIT = 1, __SE_TRANSPOSE_16BIT = 2, __SE_TRANSPOSE_32BIT = 3, __SE_TRANSPOSE_64BIT = 4, __SE_TRANSPOSE_128BIT = 5, __SE_TRANSPOSE_256BIT = 6, /* reserved = 7 */ __SE_TRANSPOSE_LAST = 7 /* Don't use directly. */ } __SE_TRANSPOSE; /*----------------------------------------------------------------------------*/ /* Streaming Engine promote options. */ /* Single power of 2 promotes are possible using below options. */ /* Additionally the promotes can be sign or zero extended. */ /* Ex. If ELETYPE is 8bit the promoting it would result in 16 bit data. */ /*----------------------------------------------------------------------------*/ /* When using __SE_FILLVAL_MIN or __SE_FILLVAL_MAX, specify __SE_PROMOTE_OFF */ /* to generate an unsigned min or max. Specify __SE_PROMOTE_OFF_SIGNED to */ /* generate a signed min or max. Otherwise, __SE_PROMOTE_OFF_SIGNED behaves */ /* identically to __SE_PROMOTE_OFF. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_PROMOTE { __SE_PROMOTE_OFF = 0, __SE_PROMOTE_2X_ZEROEXT = 1, __SE_PROMOTE_4X_ZEROEXT = 2, __SE_PROMOTE_8X_ZEROEXT = 3, __SE_PROMOTE_2X_SIGNEXT = 5, __SE_PROMOTE_4X_SIGNEXT = 6, __SE_PROMOTE_8X_SIGNEXT = 7, __SE_PROMOTE_LAST = 7 /* Don't use directly. */ } __SE_PROMOTE; /*----------------------------------------------------------------------------*/ /* Streaming Engine vector lengths. */ /* Use the below enumeration to indicate the vector lengths in powers of two. */ /* The vector lengths should be in multiples of ELETYPE. */ /* Ex. If the vector length is __SE_VECLEN_4ELEMS and __SE_ELETYPE_16BIT then */ /* the data in the holding registers will contain 4 16 bit values for */ /* each SE advance. The rest of the SB0, SB1 register will be zeroed out. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_VECLEN { __SE_VECLEN_1ELEM = 0, __SE_VECLEN_2ELEMS = 1, __SE_VECLEN_4ELEMS = 2, __SE_VECLEN_8ELEMS = 3, __SE_VECLEN_16ELEMS = 4, __SE_VECLEN_32ELEMS = 5, __SE_VECLEN_64ELEMS = 6, /* reserved = 7 */ __SE_VECLEN_LAST = 7 /* Don't use directly. */ } __SE_VECLEN; /*----------------------------------------------------------------------------*/ /* Streaming Engine element duplication. */ /* Use the below enumeration to duplicate the vector elements in powers of */ /* two, 2x, 4x, 8x, 16x, 32x, 64x (subject to ELETYPE). */ /* Ex. Using __SE_ELEDUP_32X for a ELETYPE_16BIT duplicates 16bit elements */ /* 32 times in SB0/SB1 double vector. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_ELEDUP { __SE_ELEDUP_OFF = 0, __SE_ELEDUP_2X = 1, __SE_ELEDUP_4X = 2, __SE_ELEDUP_8X = 3, __SE_ELEDUP_16X = 4, __SE_ELEDUP_32X = 5, __SE_ELEDUP_64X = 6, /* reserved = 7 */ __SE_ELEDUP_LAST = 7 /* Don't use directly. */ } __SE_ELEDUP; /*----------------------------------------------------------------------------*/ /* Streaming Engine group duplication. */ /* Depending on the vector lengths, enabling group duplication will fill up */ /* 512bit holding registers with multiple copies. */ /* Ex. For __SE_ELETYPE_8BIT and __SE_VECLEN_4ELEMS with group duplication */ /* enabled, the streaming engine duplicates the 4 bytes in LSB 16 times */ /* to fill up the 512 bit vector holding register. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_GRPDUP { __SE_GRPDUP_OFF = 0, __SE_GRPDUP_ON = 1, __SE_GRPDUP_LAST = 1 /* Don't use directly. */ } __SE_GRPDUP; /*----------------------------------------------------------------------------*/ /* Streaming Engine decimation flags. */ /* Use the below enumerations to indicate if the SE should decimate (only */ /* keep every nth element.) */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DECIM { __SE_DECIM_OFF = 0, __SE_DECIM_2 = 1, __SE_DECIM_4 = 2, /* reserved = 3 */ __SE_DECIM_LAST = 3 /* Don't use directly. */ } __SE_DECIM; /*----------------------------------------------------------------------------*/ /* Streaming Engine fillval options. */ /* Specifies the padding method for use with DECDIM, SPAD, LEZR, end of ICNT, */ /* or end of stream. If VECLEN does not fill all lanes of data and GRPDUP is */ /* not enabled, the SE will only fill masked elements within VECLEN with */ /* non-zero data. Elements outside of VECLEN will still be filled with 0s. */ /*----------------------------------------------------------------------------*/ /* When using __SE_FILLVAL_USER, the fill value must be set in the */ /* corresponding sideband ECR before opening the stream. The sideband ECRs */ /* are: */ /* - __ECR_SE0_SBND */ /* - __ECR_SE1_SBND */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_FILLVAL { __SE_FILLVAL_ZERO = 0, __SE_FILLVAL_LAST = 3 /* Don't use directly. */ } __SE_FILLVAL; /*----------------------------------------------------------------------------*/ /* Template format selection for Streaming Engine */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DIMFMT { __SE_DIMFMT_1D = 0, __SE_DIMFMT_2D = 1, __SE_DIMFMT_3D = 2, __SE_DIMFMT_4D = 3, __SE_DIMFMT_5D = 4, __SE_DIMFMT_6D = 5, /* reserved = 6 */ /* reserved = 7 */ __SE_DIMFMT_LAST = 7 /* Don't use directly. */ } __SE_DIMFMT; /*----------------------------------------------------------------------------*/ /* Streaming Engine increment/decrement directions. */ /* Use the below enumerations as needed to indicate the direction of transfer.*/ /* Setting to _INC mode increments the resulting address. */ /* Setting to _DEC mode decrements the resulting address. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DIR { __SE_DIR_INC = 0, __SE_DIR_DEC = 1, __SE_DIR_LAST = 1 /* Don't use directly. */ } __SE_DIR; /*----------------------------------------------------------------------------*/ /* Streaming Engine Addressing Mode selection options. */ /* Choose either linear addressing or use CBK0 or CBK0+CBK1+1 */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_AM { __SE_AM_LINEAR = 0, __SE_AM_CIRC_CBK0 = 1, __SE_AM_CIRC_CBK1 = 2, /* reserved = 3 */ __SE_AM_LAST = 3 /* Don't use directly. */ } __SE_AM; /*----------------------------------------------------------------------------*/ /* Streaming Engine Data Strip Mining Decrement Dimension for innermost ICNT0 */ /* In this mode, the current I0 count is NOT reloaded with ICNT0 when each */ /* dimension expires. Rather, when the selected DECDIM dimension is entered, */ /* the current I0 count is decremented by the value of VECLEN when in Linear */ /* Stream mode, or decremented by the GRANULE value when in Transpose Mode. */ /* The I0 count is only reloaded when the selected DECDIM dimension expires, */ /* or a dimension higher above it expires. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DECDIM { __SE_DECDIM_DIM0 = 0, __SE_DECDIM_DIM1 = 1, __SE_DECDIM_DIM2 = 2, __SE_DECDIM_DIM3 = 3, __SE_DECDIM_DIM4 = 4, __SE_DECDIM_DIM5 = 5, /* reserved = 6 */ /* reserved = 7 */ __SE_DECDIM_LAST = 7 /* Don't use directly. */ } __SE_DECDIM; /*----------------------------------------------------------------------------*/ /* Streaming Engine Secondary Data Strip Mining Decrement Dimension */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DECDIMSD { __SE_DECDIMSD_DIM0 = 0, __SE_DECDIMSD_DIM1 = 1, __SE_DECDIMSD_DIM2 = 2, __SE_DECDIMSD_DIM3 = 3, __SE_DECDIMSD_LAST = 3 /* Don't use directly. */ } __SE_DECDIMSD; /*----------------------------------------------------------------------------*/ /* Selected Loop Dimension Count End, and Start Sending Zero-Padded Vectors */ /* to CPU. The number of zero-padded vectors sent to CPU is defined by the */ /* LEZR_CNT field in the template. Supported in Linear Stream Mode only. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_LEZR { __SE_LEZR_OFF = 0, __SE_LEZR_ICNT0 = 1, __SE_LEZR_ICNT1 = 2, __SE_LEZR_ICNT2 = 3, __SE_LEZR_ICNT3 = 4, __SE_LEZR_ICNT4 = 5, __SE_LEZR_ICNT5 = 6, /* reserved = 7 */ __SE_LEZR_LAST = 7 /* Don't use directly. */ } __SE_LEZR; /*----------------------------------------------------------------------------*/ /* Streaming Engine DECDIM field mode. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_DECDIM2_MODE { __SE_DECDIM2_MODE_NORMAL = 0, __SE_DECDIM2_MODE_HORIZ_ZERO_PAD = 1, __SE_DECDIM2_MODE_LAST = 1 /* Don't use directly. */ } __SE_DECDIM2_MODE; /*----------------------------------------------------------------------------*/ /* Streaming Engine floating point data mode. */ /* Enable to specify to the SE that the underlying data type is floating */ /* point rather than integer. This information is used for two operations: */ /* sub-element type promotion and non-zero fill values. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_FLOAT { __SE_FLOAT_OFF = 0, __SE_FLOAT_LAST = 1 /* Don't use directly. */ } __SE_FLOAT; /*----------------------------------------------------------------------------*/ /* Streaming Engine template format. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SE_TEMPLATE_FMT { __SE_TEMPLATE_FMT_v1 = 0, /* reserved = 2 */ /* reserved = 3 */ /* reserved = 4 */ /* reserved = 5 */ /* reserved = 6 */ __SE_TEMPLATE_FMT_LAST = 7 /* Don't use directly. */ } __SE_TEMPLATE_FMT; /*----------------------------------------------------------------------------*/ /* __SE_TEMPLATE_v1 struct for use with SE initialization via __SEn_OPEN() */ /* intrinsics. */ /*----------------------------------------------------------------------------*/ typedef struct __attribute__((__packed__)) __SE_TEMPLATE_v1 { uint64_t ICNT0:32; uint64_t ICNT1:32; uint64_t ICNT2:32; uint64_t ICNT3:32; uint64_t ICNT4:32; uint64_t ICNT5:32; uint64_t DECDIM1_WIDTH:32; uint64_t DECDIM2_WIDTH:32; int64_t DIM1:32; int64_t DIM2:32; int64_t DIM3:32; int64_t DIM4:32; int64_t DIM5:32; uint64_t LEZR_CNT:8; uint64_t _reserved1:24; /* Flags */ __SE_ELETYPE ELETYPE:4; __SE_TRANSPOSE TRANSPOSE:3; uint64_t _reserved2:1; __SE_PROMOTE PROMOTE:3; __SE_FLOAT FLOAT:1; __SE_VECLEN VECLEN:3; uint64_t _reserved4:1; __SE_ELEDUP ELEDUP:3; __SE_GRPDUP GRPDUP:1; __SE_DECIM DECIM:2; __SE_FILLVAL FILLVAL:2; __SE_DIMFMT DIMFMT:3; __SE_DIR DIR:1; uint64_t CBK0:4; uint64_t CBK1:4; __SE_AM AM0:2; __SE_AM AM1:2; __SE_AM AM2:2; __SE_AM AM3:2; __SE_AM AM4:2; __SE_AM AM5:2; __SE_DECDIM DECDIM1:3; __SE_DECDIMSD DECDIM1SD:2; __SE_DECDIM DECDIM2:3; __SE_DECDIMSD DECDIM2SD:2; __SE_LEZR LEZR:3; __SE_TEMPLATE_FMT TEMPLATE_FMT:3; } __SE_TEMPLATE_v1; /*----------------------------------------------------------------------------*/ /* Stream Address Generator vector lengths. */ /* Use the below enumerations to indicate the vector lengths in elements. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SA_VECLEN { __SA_VECLEN_1ELEM = 0, __SA_VECLEN_2ELEMS = 1, __SA_VECLEN_4ELEMS = 2, __SA_VECLEN_8ELEMS = 3, __SA_VECLEN_16ELEMS = 4, __SA_VECLEN_32ELEMS = 5, __SA_VECLEN_64ELEMS = 6, /* reserved = 7 */ __SA_VECLEN_LAST = 7 /* Don't use directly. */ } __SA_VECLEN; typedef enum __attribute__((__packed__)) __SA_INV_DD { __SA_INV_DD_OFF = 0, __SA_INV_DD_ON = 1, __SA_INV_DD_LAST = 1 /* Don't use directly. */ } __SA_INV_DD; /*----------------------------------------------------------------------------*/ /* Template format selection for Stream Address Generator */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SA_DIMFMT { __SA_DIMFMT_1D = 0, __SA_DIMFMT_2D = 1, __SA_DIMFMT_3D = 2, __SA_DIMFMT_4D = 3, __SA_DIMFMT_5D = 4, __SA_DIMFMT_6D = 5, /* reserved = 6 */ /* reserved = 7 */ __SA_DIMFMT_LAST = 7 /* Don't use directly. */ } __SA_DIMFMT; /*----------------------------------------------------------------------------*/ /* Stream Address Generator Data Strip Mining Decrement Dimension for ICNT0 */ /* In this mode, the current I0 count is NOT reloaded with ICNT0 when each */ /* dimension expires. The I0 count is only reloaded when the selected DECDIM */ /* dimension expires, or a dimension higher above it expires. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SA_DECDIM { __SA_DECDIM_DIM0 = 0, __SA_DECDIM_DIM1 = 1, __SA_DECDIM_DIM2 = 2, __SA_DECDIM_DIM3 = 3, __SA_DECDIM_DIM4 = 4, __SA_DECDIM_DIM5 = 5, /* reserved = 6 */ /* reserved = 7 */ __SA_DECDIM_LAST = 7 /* Don't use directly. */ } __SA_DECDIM; /*----------------------------------------------------------------------------*/ /* Stream Address Generator Secondary Data Strip Mining Decrement Dimension */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) __SA_DECDIMSD { __SA_DECDIMSD_DIM0 = 0, __SA_DECDIMSD_DIM1 = 1, __SA_DECDIMSD_DIM2 = 2, __SA_DECDIMSD_DIM3 = 3, __SA_DECDIMSD_LAST = 3 /* Don't use directly. */ } __SA_DECDIMSD; /*----------------------------------------------------------------------------*/ /* __SA_TEMPLATE_v1 struct for use with SA initialization via __SAn_OPEN */ /* intrinsics. */ /*----------------------------------------------------------------------------*/ typedef struct __attribute__((__packed__)) __SA_TEMPLATE_v1 { uint64_t ICNT0:32; uint64_t ICNT1:32; uint64_t ICNT2:32; uint64_t ICNT3:32; uint64_t ICNT4:32; uint64_t ICNT5:32; uint64_t DECDIM1_WIDTH:32; uint64_t DECDIM2_WIDTH:32; int64_t DIM1:32; int64_t DIM2:32; int64_t DIM3:32; int64_t DIM4:32; int64_t DIM5:32; uint64_t DECDIM3_WIDTH:32; /* Flags */ uint64_t _reserved2:12; __SA_VECLEN VECLEN:3; uint64_t _reserved3:6; __SA_INV_DD INV_DD3:1; __SA_INV_DD INV_DD1:1; __SA_INV_DD INV_DD2:1; __SA_DIMFMT DIMFMT:3; uint64_t _reserved4:5; uint64_t _reserved5:11; __SA_DECDIM DECDIM3:3; __SA_DECDIMSD DECDIM3SD:2; __SA_DECDIM DECDIM1:3; __SA_DECDIMSD DECDIM1SD:2; __SA_DECDIM DECDIM2:3; __SA_DECDIMSD DECDIM2SD:2; uint64_t _reserved:6; } __SA_TEMPLATE_v1; /*----------------------------------------------------------------------------*/ /* Generate an __SE_TEMPLATE_v1 with safe default values. */ /*----------------------------------------------------------------------------*/ static __inline __SE_TEMPLATE_v1 __attribute__((__always_inline__)) __gen_SE_TEMPLATE_v1() { const __SE_TEMPLATE_v1 se = { /* ICNT0 = */ 0, /* ICNT1 = */ 0, /* ICNT2 = */ 0, /* ICNT3 = */ 0, /* ICNT4 = */ 0, /* ICNT5 = */ 0, /* DECDIM1_WIDTH = */ 0, /* DECDIM2_WIDTH = */ 0, /* DIM1 = */ 0, /* DIM2 = */ 0, /* DIM3 = */ 0, /* DIM4 = */ 0, /* DIM5 = */ 0, /* LEZR_CN = */ 0, /* _reserved1 = */ 0, /*** Flags ***/ /* ELETYPE = */ __SE_ELETYPE_8BIT, /* TRANSPOSE = */ __SE_TRANSPOSE_OFF, /* _reserved2 = */ 0, /* PROMOTE = */ __SE_PROMOTE_OFF, /* FLOAT = */ __SE_FLOAT_OFF, /* VECLEN = */ __SE_VECLEN_64ELEMS, /* _reserved4 = */ 0, /* ELEDUP = */ __SE_ELEDUP_OFF, /* GRPDUP = */ __SE_GRPDUP_OFF, /* DECIM = */ __SE_DECIM_OFF, /* FILLVAL = */ __SE_FILLVAL_ZERO, /* DIMFMT = */ __SE_DIMFMT_1D, /* DIR = */ __SE_DIR_INC, /* CBK0 = */ 0, /* CBK1 = */ 0, /* AM0 = */ __SE_AM_LINEAR, /* AM1 = */ __SE_AM_LINEAR, /* AM2 = */ __SE_AM_LINEAR, /* AM3 = */ __SE_AM_LINEAR, /* AM4 = */ __SE_AM_LINEAR, /* AM5 = */ __SE_AM_LINEAR, /* DECDIM1 = */ __SE_DECDIM_DIM0, /* DECDIM1SD = */ __SE_DECDIMSD_DIM0, /* DECDIM2 = */ __SE_DECDIM_DIM0, /* DECDIM2SD = */ __SE_DECDIMSD_DIM0, /* LEZR = */ __SE_LEZR_OFF, /* TEMPLATE_FMT = */ __SE_TEMPLATE_FMT_v1 }; return se; } /*----------------------------------------------------------------------------*/ /* Generate an __SA_TEMPLATE_v1 with safe default values. */ /*----------------------------------------------------------------------------*/ static __inline __SA_TEMPLATE_v1 __attribute__((__always_inline__)) __gen_SA_TEMPLATE_v1() { const __SA_TEMPLATE_v1 sa = { /* ICNT0 = */ 0, /* ICNT1 = */ 0, /* ICNT2 = */ 0, /* ICNT3 = */ 0, /* ICNT4 = */ 0, /* ICNT5 = */ 0, /* DECDIM1_WIDTH = */ 0, /* DECDIM2_WIDTH = */ 0, /* DIM1 = */ 0, /* DIM2 = */ 0, /* DIM3 = */ 0, /* DIM4 = */ 0, /* DIM5 = */ 0, /* DECDIM3_WIDTH = */ 0, /*** Flags ***/ /* _reserved2 = */ 0, /* VECLEN = */ __SA_VECLEN_64ELEMS, /* _reserved3 = */ 0, /* INV_DD3 = */ __SA_INV_DD_OFF, /* INV_DD1 = */ __SA_INV_DD_OFF, /* INV_DD2 = */ __SA_INV_DD_OFF, /* DIMFMT = */ __SA_DIMFMT_1D, /* _reserved4 = */ 0, /* _reserved5 = */ 0, /* DECDIM3 = */ __SA_DECDIM_DIM0, /* DECDIM3SD = */ __SA_DECDIMSD_DIM0, /* DECDIM1 = */ __SA_DECDIM_DIM0, /* DECDIM1SD = */ __SA_DECDIMSD_DIM0, /* DECDIM2 = */ __SA_DECDIM_DIM0, /* DECDIM2SD = */ __SA_DECDIMSD_DIM0, /* _reserved = */ 0 }; return sa; } /*----------------------------------------------------------------------------*/ /* DEMONSTRATION FOR SETUP AND USAGE OF A STREAMING ENGINE STREAM WITHOUT */ /* CIRCULAR ADDRESSING: */ /* */ /* #include */ /* #include */ /* uint8 se_func(uint32_t *startaddr) */ /* { */ /* int I0; */ /* uint8 Vresult; */ /* __SE_TEMPLATE_v1 params = __gen_SE_TEMPLATE_v1(); // SE PARAMETERS */ /* */ /* params.DIMFMT = __SE_DIMFMT_4D; */ /* params.ELETYPE = __SE_ELETYPE_32BIT; */ /* params.VECLEN = __SE_VECLEN_4ELEMS; // 4 ELEMENTS */ /* */ /* // SETUP TEMPLATE VECTOR BASED ON SETTINGS AND OPEN THE STREAM */ /* // BASED ON ITERATION COUNTERS AND DIMENSIONS (IN TERMS OF # OF ELEMS) */ /* params.ICNT0 = 4; */ /* params.ICNT1 = 2; */ /* params.DIM1 = 4; */ /* params.ICNT2 = 2; */ /* params.DIM2 = 8; */ /* params.ICNT3 = 4; */ /* params.DIM3 = -16; */ /* */ /* // DECDIM1 WIDTH (0 by default) */ /* params.DECDIM1_WIDTH = 0; */ /* */ /* // DECDIM2 WIDTH (0 by default) */ /* params.DECDIM2_WIDTH = 0; */ /* */ /* // LEZR COUNT (0 by default) */ /* params.LEZR_CNT = 0; */ /* */ /* __SE1_OPEN((const void*)startaddr, params); */ /* */ /* // READ THE STREAM AND ADVANCE THE COUNTERS */ /* for (I0 = 0; I0 < 8; I0++) */ /* { */ /* uint8 Vout; */ /* Vout.lo() = __SE1ADV(uint4); */ /* Vout.hi() = __SE1ADV(uint4); */ /* */ /* Vresult += Vout; */ /* } */ /* */ /* // CLOSE THE STREAM */ /* __SE1_CLOSE(); */ /* */ /* return Vresult; */ /* } */ /* */ /* DEMONSTRATION FOR SETUP AND USAGE OF A STREAMING ENGINE STREAM WITH */ /* CIRCULAR ADDRESSING: */ /* */ /* #include */ /* #include */ /* uint16 se_circ_func(uint32_t *startaddr) */ /* { */ /* int I0; */ /* uint16 Vresult; */ /* __SE_TEMPLATE_v1 params = __gen_SE_TEMPLATE_v1(); // SE PARAMETERS */ /* */ /* params.DIMFMT = __SE_DIMFMT_3D; */ /* params.ELETYPE = __SE_ELETYPE_32BIT; */ /* params.VECLEN = __SE_VECLEN_16ELEMS; // 16 ELEMENTS */ /* */ /* // CIRCULAR ADDRESSING BLOCK CONFIGURATION (SEE SPEC FOR DETAILS) */ /* params.CBK0 = 0; // 512BYTE ENCODING */ /* */ /* // CIRCULAR ADDRESSING ADDRESS MODE CONFIGURATION */ /* params.AM0 = __SE_AM_CIRC_CBK0; */ /* params.AM1 = __SE_AM_CIRC_CBK0; */ /* params.AM2 = __SE_AM_CIRC_CBK0; */ /* */ /* // SETUP TEMPLATE VECTOR BASED ON SETTINGS AND OPEN THE STREAM */ /* // BASED ON ITERATION COUNTERS AND DIMENSIONS (IN TERMS OF # OF ELEMS) */ /* params.ICNT0 = 16; */ /* params.ICNT1 = 16; */ /* params.DIM1 = 16; */ /* params.ICNT2 = 1; */ /* params.DIM2 = 0; */ /* */ /* // DECDIM1 WIDTH (0 by default) */ /* params.DECDIM1_WIDTH = 0; */ /* */ /* // DECDIM2 WIDTH (0 by default) */ /* params.DECDIM2_WIDTH = 0; */ /* */ /* // LEZR COUNT (0 by default) */ /* params.LEZR_CNT = 0; */ /* */ /* __SE1_OPEN((const void*)startaddr, params); */ /* */ /* // READ THE STREAM AND ADVANCE THE COUNTERS */ /* for (I0 = 0; I0 < 16; I0++) */ /* { */ /* uint16 Vout = __SE1ADV(uint16); */ /* Vresult += Vout; */ /* } */ /* */ /* // CLOSE THE STREAM */ /* __SE1_CLOSE(); */ /* */ /* return Vresult; */ /* } */ /* */ /* DEMONSTRATION FOR SETUP AND USAGE OF A STREAM ADDRESS GENERATOR: */ /* */ /* #include */ /* #include */ /* uint8 sa_func(uint32_t *startaddr) */ /* { */ /* int I0; */ /* uint8 Vresult; */ /* __SA_TEMPLATE_v1 params = __gen_SA_TEMPLATE_v1(); // SA PARAMETER */ /* */ /* params.DIMFMT = __SA_DIMFMT_4D; */ /* params.VECLEN = __SA_VECLEN_4ELEMS; // 4 ELEMENTS */ /* */ /* // SETUP TEMPLATE VECTOR BASED ON SETTINGS AND OPEN THE STREAM */ /* // BASED ON ITERATION COUNTERS AND DIMENSIONS (IN TERMS OF # OF ELEMS) */ /* params.ICNT0 = 4; */ /* params.ICNT1 = 2; */ /* params.DIM1 = 4; */ /* params.ICNT2 = 2; */ /* params.DIM2 = 8; */ /* params.ICNT3 = 4; */ /* params.DIM3 = -16; */ /* */ /* // DECDIM1 WIDTH (0 by default) */ /* params.DECDIM1_WIDTH = 0; */ /* */ /* // DECDIM2 WIDTH (0 by default) */ /* params.DECDIM2_WIDTH = 0; */ /* */ /* __SA1_OPEN(params); */ /* */ /* // READ THE STREAM AND ADVANCE THE COUNTERS */ /* for (I0 = 0; I0 < 8; I0++) */ /* { */ /* uint8 Vout; */ /* Vout.lo() = *__SA1ADV(uint4, startaddr); */ /* Vout.hi() = *__SA1ADV(uint4, startaddr); */ /* */ /* Vresult += Vout; */ /* } */ /* */ /* // CLOSE THE STREAM */ /* __SA1_CLOSE(); */ /* */ /* return Vresult; */ /* } */ /* */ /*----------------------------------------------------------------------------*/ /*****************************************************************************/ /* STREAMING ENGINE COMMON CONTROLS */ /*****************************************************************************/ /*---------------------------------------------------------------------------*/ /* Implementation details. Do not use directly. */ /*---------------------------------------------------------------------------*/ void* __attribute__((builtin)) __attribute__((impure)) __se_mem (const void*); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __se_open (__attribute__((memread)) const void*, __attribute__((constrange((0), (1)))) __uint, __SE_TEMPLATE_v1); void __attribute__((builtin)) __attribute__((impure)) __se_close (__attribute__((constrange((0), (1)))) __uint); void __attribute__((builtin)) __attribute__((impure)) __se_break (__attribute__((constrange((0), (5)))) __uint, __attribute__((constrange((0), (1)))) __uint); __uint16 __attribute__((builtin)) __attribute__((impure)) __se_save (__attribute__((constrange((0), (3)))) __uint, __attribute__((constrange((0), (1)))) __uint); void __attribute__((builtin)) __attribute__((impure)) __se_restore (__attribute__((constrange((0), (3)))) __uint, __attribute__((constrange((0), (1)))) __uint, __uint16); /*---------------------------------------------------------------------------*/ /* void __SEn_OPEN(const void *addr, __SE_TEMPLATE) */ /* Opens streaming engine n at address addr. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SEn_CLOSE() */ /* Closes streaming engine n. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* type __SEn(type) */ /* Retrieves a type from streaming engine n where type may be exactly: */ /* char, char2, char4, char8, char16, char32, char64 */ /* uchar, uchar2, uchar4, uchar8, uchar16, uchar32, uchar64 */ /* */ /* short, short2, short4, short8, short16, short32 */ /* ushort, ushort2, ushort4, ushort8, ushort16, ushort32 */ /* cchar, cchar2, cchar4, cchar8, cchar16, cchar32 */ /* */ /* int, int2, int4, int8, int16 */ /* uint, uint2, uint4, uint8, uint16 */ /* float, float2, float4, float8, float16 */ /* cshort, cshort2, cshort4, cshort8, cshort16 */ /* */ /* long, long2, long4, long8 */ /* ulong, ulong2, ulong4, ulong8 */ /* double, double2, double4, double8 */ /* cint, cint2, cint4, cint8 */ /* cfloat, cfloat2, cfloat4, cfloat8 */ /* */ /* The specified type cannot be larger than the size of a vector register. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* type __SEnADV(type) */ /* Retrieves a type from streaming engine n, then advances that engine. */ /* Argument restrictions and return types are the same as __SEn(type). */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SEn_BREAK(__uint level) */ /* Causes streaming engine n to skip all remaining elements for the */ /* specified loop level. level must be a constant. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* __uint16 __SEn_SAVE(__uint segment) */ /* Saves the specified segment from streaming engine n. segment must be a */ /* constant. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SEn_RESTORE(__uint segment, __uint16 state) */ /* Restores state into the specified segment of streaming engine n. */ /*---------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Streaming Engine Shortcut-Open Arguments. */ /* The type of shortcut argument can be used in place of a vector template to */ /* open a stream using __SE0_OPEN_SHORTCUT() or __SE1_OPEN_SHORTCUT(). */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __STROPENB = 0x0, __STROPENBH = 0x1, __STROPENBUH = 0x2, __STROPENH = 0x3, __STROPENHW = 0x4, __STROPENHUW = 0x5, __STROPENW = 0x6, __STROPENWD = 0x7, __STROPENWUD = 0x8, __STROPEND = 0x9, __SE_SHORTCUT_LAST = 0x9 /* Don't use directly. */ } __SE_SHORTCUT; /*----------------------------------------------------------------------------*/ /* Implementation detail. Do not use directly. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __se_open_sc(__attribute__((memread)) const void*, __attribute__((constrange((0), (1)))) __uint, __attribute__((constrange((0), (9)))) __SE_SHORTCUT); /*----------------------------------------------------------------------------*/ /* void __SEn_OPEN_SHORTCUT(addr, sc) */ /* Open streaming engine n at addr using configuration sc. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Block Cache Maintenance Instruction Arguments */ /* These arguments are used with __se_cache_op() to operate on a contiguous */ /* block of addresses. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { /* Sharable */ __DCCIC = 0x14, /* DataCache Clean/Invalidate to Point of Coherence */ __DCCMIC = 0x15, /* DataCache Invalidate to Point of Coherence */ __BLK_OPTYPE_LAST = 0x15 /* Don't use directly. */ } __BLK_OPTYPE; /*----------------------------------------------------------------------------*/ /* __se_cache_op(const void*, __BLK_OPTYPE, __uint bytes) */ /* Direct access to BLKCMO instruction. */ /*----------------------------------------------------------------------------*/ /* No operation performed under host emulation. */ void __attribute__((builtin)) __attribute__((impure)) __se_cache_op (const void*, __attribute__((constrange((20), (21)))) __BLK_OPTYPE, __uint); /*----------------------------------------------------------------------------*/ /* Block Cache Preload Instruction Arguments */ /* These arguments are used with __se_cache_preload() to operate on a */ /* contiguous block of addresses. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __L2R = 0x0, /* Preload to L2 for reading */ __L2W = 0x1, /* Preload to L2 for writing */ __L3R = 0x2, /* Preload to L3 for reading */ __L3W = 0x3, /* Preload to L3 for writing */ __BLK_PLDTYPE_LAST = 0x3 /* Don't use directly. */ } __BLK_PLDTYPE; /*----------------------------------------------------------------------------*/ /* __se_cache_preload(const void*, __BLK_PLDTYPE, __uint bytes) */ /* Direct access to BLKPLD instruction. */ /*----------------------------------------------------------------------------*/ /* No operation performed under host emulation. */ void __attribute__((builtin)) __attribute__((impure)) __se_cache_preload(const void*, __attribute__((constrange((0), (3)))) __BLK_PLDTYPE, __uint); /*----------------------------------------------------------------------------*/ /* Streaming Engine param size is 64 bytes. All the above options */ /* including iteration counts(ICNT) and dimensions(DIM) are packed in a */ /* 512bit vector. Use this macro to derrive offsets while writing to L1D SRAM */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Stream Address Generator param size is 64 bytes. All the above options */ /* including iteration counts(ICNT) and dimensions(DIM) are packed in a */ /* 512bit vector. Use this macro to derrive offsets while writing to L1D SRAM */ /*----------------------------------------------------------------------------*/ /*****************************************************************************/ /* STREAMING ADDRESS GENERATOR COMMON CONTROLS */ /*****************************************************************************/ /*---------------------------------------------------------------------------*/ /* Implementation details. Do not use directly. */ /*---------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __sa_open (__attribute__((constrange((0), (3)))) __uint, __SA_TEMPLATE_v1); void __attribute__((builtin)) __attribute__((impure)) __sa_close (__attribute__((constrange((0), (3)))) __uint); void __attribute__((builtin)) __attribute__((impure)) __sa_break (__attribute__((constrange((0), (5)))) __uint, __attribute__((constrange((0), (3)))) __uint); void __attribute__((builtin)) __attribute__((impure)) __sa_set_cr (__attribute__((constrange((0), (3)))) __uint, __uint16); __uint16 __attribute__((builtin)) __attribute__((impure)) __sa_get_cr (__attribute__((constrange((0), (3)))) __uint); __uint16 __attribute__((builtin)) __attribute__((impure)) __sa_get_cntr(__attribute__((constrange((0), (3)))) __uint); __vpred __attribute__((builtin)) __attribute__((impure)) __sa_vpred (__attribute__((constrange((0), (3)))) __uint, __attribute__((constrange((1), (8)))) __uint); void* __attribute__((builtin)) __attribute__((impure)) __sa(__attribute__((constrange((0), (3)))) __uint, __attribute__((constrange((1), (8)))) __uint, const void *); void* __attribute__((builtin)) __attribute__((impure)) __sa_adv(__attribute__((constrange((0), (3)))) __uint, __attribute__((constrange((1), (8)))) __uint, const void *); /*---------------------------------------------------------------------------*/ /* void __SAn_OPEN(__SA_TEMPLATE) */ /* Opens streaming address generator n. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SAn_CLOSE() */ /* Closes streaming address generator n. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* type *__SAn(type, baseptr) */ /* Retrieves the current address from streaming address generator n. The */ /* address will be based off of baseptr and point to type, where type may */ /* be any scalar or vector type that: */ /* 1) Has a total size no larger than 512 bits. */ /* 2) Has an element size no larger than 64 bits. (A complex vector */ /* considers the complex type to be the element type.) */ /* Typedef'd types and qualified types are allowed. For example, the */ /* following are all legal: */ /* - __SA0(int2, baseptr) -> returns int2* */ /* - __SA0(__int2, baseptr) -> returns __int2* */ /* - __SA0(const __int2, baseptr) -> returns const __int2* */ /* */ /* The specified type cannot be larger than the size of a vector register. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* type *__SAnADV(type, baseptr) */ /* Retrieves the current address from streaming address generator n, then */ /* advances that generator. Argument restrictions and return types are */ /* the same as __SAn(type, baseptr). */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SAn_BREAK(level) */ /* Causes streaming address generator n to skip all remaining elements for */ /* the specified loop level. level must be a constant. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* void __SAn_SET_CR(__uint16 data) */ /* Set the contents of the streaming address generator n's configuration */ /* control register. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* __uint16 __SAn_GET_CR() */ /* Retrieve the contents of streaming address generator n's configuration */ /* control register. */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* __uint16 __SAn_GET_CNTR0() */ /* Retrieve the contents of streaming address generator n's counter 0 */ /* control register. */ /*---------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* __vpred __SAn_VPRED(type) */ /* Extracts the vector predicate associated with streaming address generator*/ /* n, scaled for type, where type may be exactly: */ /* char, char2, char4, char8, char16, char32, char64 */ /* uchar, uchar2, uchar4, uchar8, uchar16, uchar32, uchar64 */ /* */ /* short, short2, short4, short8, short16, short32 */ /* ushort, ushort2, ushort4, ushort8, ushort16, ushort32 */ /* cchar, cchar2, cchar4, cchar8, cchar16, cchar32 */ /* */ /* int, int2, int4, int8, int16 */ /* uint, uint2, uint4, uint8, uint16 */ /* float, float2, float4, float8, float16 */ /* cshort, cshort2, cshort4, cshort8, cshort16 */ /* */ /* long, long2, long4, long8 */ /* ulong, ulong2, ulong4, ulong8 */ /* double, double2, double4, double8 */ /* cint, cint2, cint4, cint8 */ /* cfloat, cfloat2, cfloat4, cfloat8 */ /* */ /* NOTE: According to C rules, the order in which paramaters of a call are */ /* evaluated is unspecified, such that the shorthand way of using these */ /* predicates: */ /* __vstore_pred(__SA0_VPRED(int16), __SA0ADV(int16, ptr), data) */ /* Invokes undefined behavior because SA0ADV modifies the value SA0_VPRED. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* boolv __SAn_BOOL(type) */ /* Extracts the vector predicate associated with streaming address generator*/ /* n as a boolean vector. Argument restrictions are the same as */ /* __SAn_VPRED(type). boolv is a boolean vector with lanes equal to the */ /* number of lanes in type. For example, if type is int2, boolv will be */ /* __bool2. */ /*----------------------------------------------------------------------------*/ /*****************************************************************************/ /* C7X_MMA.H */ /* */ /* Copyright (c) 2017 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*----------------------------------------------------------------------------*/ /* */ /* This file contains two structure definitions, enumerations, intrinsic */ /* declarations, and a macro to enable use of the MMA. */ /* */ /* Two structs are to be used with the __HWAOPEN intrinsic: */ /* __HWA_CONFIG_REG_v1 - contains fields to setup the MMA */ /* __HWA_OFFSET_REG - contains fields to setup the MMA */ /* */ /* The __HWAOPEN "built-in function" (intrinsic) should be used to open and */ /* initialize the MMA. */ /* */ /* __HWAOPEN() - Used to pass the struct objects to initialize the MMA. */ /* */ /* The following built-in functions (intrinsics) that correspond to C7x */ /* instructions control the MMA execution. Please see the MMA specification */ /* for more details on MMA behavior. */ /* */ /* __HWACLOSE */ /* __HWALDA */ /* __HWALDB */ /* __HWALDC */ /* __HWALDAB */ /* __HWALDBC */ /* __HWAOP */ /* __HWAXFER */ /* __HWAOPXFER */ /* __HWAXFER_MASK */ /* __HWAXFER_XSTATUS_DELAYED */ /* __HWARCV */ /* */ /* Example usage: */ /* */ /* // In a place that is executed only once or rarely, set the fields for the */ /* // HWA_CONFIG_REG_v1 */ /* */ /* __HWA_CONFIG_REG_v1 mma_config_reg; // Create instance of the config struct*/ /* mma_config_reg = __gen_HWA_CONFIG_REG_v1(); // Set all fields to zero */ /* */ /* // Set individual fields */ /* mma_config_reg.A_ATYPE = __MMA_A_CONFIG_ATYPE_INT32; */ /* . . . */ /* mma_config_reg.PARITYCTRL = _MMA_PNCM_NCK; */ /* */ /* */ /* // Do the same with __HWA_OFFSET_REG... */ /* */ /* void user_function() */ /* { */ /* // Set remaining fields of the config and offset registers at runtime */ /* mma_config_reg.B_BOFFSET = ... ; */ /* ... */ /* // Initialize the MMA with the __HWAOPEN macro */ /* __HWAOPEN (mma_config_reg, mma_offset_reg, __MMA_OPEN_FSM_RESET); */ /* ... */ /* } */ /* */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* The --mma_version compiler option controls the definition of the following */ /* predefined macros: */ /* */ /* Option: Predefined Macros: */ /* --mma_version=1 __C7X_MMA_1__, __C7X_MMA__ */ /* --mma_version=2 __C7X_MMA_2__, __C7X_MMA__ */ /* --mma_version=2_256 __C7X_MMA_2_256__, __C7X_MMA__ */ /* --mma_version=disallow (N/A) */ /* */ /* The following MMA interfaces are available depending on the existence */ /* of those macros. */ /*----------------------------------------------------------------------------*/ /******************************************************************************/ /* */ /* MMA STORAGE DETAILS */ /* */ /******************************************************************************/ /* WARNING: The APIs presented in this section are not finalized and may */ /* change in the future. */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* A STORAGE */ /*----------------------------------------------------------------------------*/ /* A_MAT: The size of an A matrix. Currently, each A matrix contains one row. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* A_ROW_WIDTH: The size of a row in an A matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* A_ROWS: The number of rows in an A matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* A_COLS: The number of columns in an A matrix given the number of bytes in */ /* each element of A. */ /* NOTE: Often useful with sizeof(). For example, __MMA_A_COLS(sizeof(short)) */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* A_ENTRIES: The number of A matrices that may be contained in the A storage.*/ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* B STORAGE */ /*----------------------------------------------------------------------------*/ /* B_MAT: The size of a B matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* B_ROW_WIDTH: The size of a row in a B matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* B_ROWS: The number of rows in a B matrix given the number of bytes in each */ /* element of B. */ /* NOTE: Often useful with sizeof(). For example, __MMA_B_ROWS(sizeof(short)) */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* B_COLS: The number of columns in a B matrix given the number of bytes in */ /* each element of B. */ /* NOTE: Often useful with sizeof(). For example, __MMA_B_COLS(sizeof(short)) */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* C STORAGE */ /*----------------------------------------------------------------------------*/ /* C_MAT: The size of a C matrix. Currently, each C matrix contains one row. */ /* The C matrix is currently 4x wider than A for larger accumulators. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* C_ROW_WIDTH: The size of a row in a C matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* C_ROWS: The number of rows in a C matrix. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* C_COLS: The number of columns in a C matrix given the number of bytes in */ /* each element of C. */ /* NOTE: Often useful with sizeof(). For example, __MMA_C_COLS(sizeof(short)) */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* C_ENTRIES: The number of C matrices that may be contained in C storage. */ /*----------------------------------------------------------------------------*/ /******************************************************************************/ /* MMA Feature Support */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Transfer, Receive Types */ /* The type of vector used for a transfer or receive depends on the vector */ /* size of the C7x. */ /*----------------------------------------------------------------------------*/ typedef __uchar64 __mma_vec; typedef const __uchar64 __const_mma_vec; typedef __uchar64* __mma_vec_ptr; typedef const __uchar64* __const_mma_vec_ptr; /******************************************************************************/ /* Configuration Enumerations */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Use the following for PARITYCTRL in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_NORMAL = 0, __MMA_PNCM_CK = 1, __MMA_PCM_NCK = 2, __MMA_PNCM_NCK = 3, __MMA_PARITYCTRL_LAST = 3 /* Don't use directly. */ } __MMA_PARITYCTRL; /*----------------------------------------------------------------------------*/ /* Use the following for A_TYPE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_A_CONFIG_ATYPE_UINT8 = 0, __MMA_A_CONFIG_ATYPE_UINT16 = 1, /* reserved = 2, */ __MMA_A_CONFIG_ATYPE_UINT32 = 3, __MMA_A_CONFIG_ATYPE_INT8 = 4, __MMA_A_CONFIG_ATYPE_INT16 = 5, /* reserved = 6, */ __MMA_A_CONFIG_ATYPE_INT32 = 7, __MMA_A_CONFIG_ATYPE_LAST = 7 /* Don't use directly. */ } __MMA_A_CONFIG_ATYPE; /*----------------------------------------------------------------------------*/ /* Use the following for A_ALUTEN in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_A_CONFIG_NOLUT = 0, __MMA_A_CONFIG_LUT = 1, __MMA_A_LUTEN_LAST = 1 /* Don't use directly. */ } __MMA_A_LUTEN; /*----------------------------------------------------------------------------*/ /* Use the following for ARF_CTRL in A_CONFIG in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_A_CONFIG_ARF_DISABLE = 0, __MMA_A_CONFIG_ARF_CTRL_LAST = 1 /* Don't use directly. */ } __MMA_A_CONFIG_ARF_CTRL; /*----------------------------------------------------------------------------*/ /* Use the following for B_BTYPE in HWA_CONFIG setup */ /* NOTE: C_CONFIG and B_CONFIG have different field needing different enums */ /* with the same name: "BTYPE" */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_B_CONFIG_SIZE8 = 0, __MMA_B_CONFIG_SIZE16 = 1, /* reserved = 2, */ __MMA_B_CONFIG_SIZE32 = 3, __MMA_B_CONFIG_LAST = 3 /* Don't use directly. */ } __MMA_B_BTYPE; /*----------------------------------------------------------------------------*/ /* Use the following for LDBOPT in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_LDBOPT_MMA1 = 0, __MMA_LDBOPT_LAST = 3 /* Don't use directly. */ } __MMA_LDBOPT; /*----------------------------------------------------------------------------*/ /* Use the following for B_B4EXP in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_B_CONFIG_B4EXP_MMA1 = 0, /* reserved = 3, */ __MMA_B4EXP_LAST = 3 /* Don't use directly. */ } __MMA_B4EXP; /*----------------------------------------------------------------------------*/ /* Use the following for B_ORDER in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_B_CONFIG_ROW = 0, __MMA_B_CONFIG_COL = 1, __MMA_B_CONFIG_ORDER_TRANSPOSE_CONTROL_LAST = 1 /* Don't use directly. */ } __MMA_B_CONFIG_ORDER_TRANSPOSE_CONTROL; /*----------------------------------------------------------------------------*/ /* C CONFIG enumerations */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Use the following for C_ATYPE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_ATYPE_UA = 0, /* Vector elements are unsigned */ __MMA_C_CONFIG_ATYPE_SA = 1, /* Vector elements are signed */ __MMA_C_CONFIG_ATYPE_LAST = 1 /* Don't use directly. */ } __MMA_C_CONFIG_ATYPE; /*----------------------------------------------------------------------------*/ /* Use the following for C_BTYPE in HWA_CONFIG setup */ /* NOTE: C_CONFIG and B_CONFIG have different field needing different enums */ /* with the same name: "BTYPE" */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_BTYPE_UINT8 = 0, __MMA_C_CONFIG_BTYPE_UINT16 = 1, /* reserved = 2, */ __MMA_C_CONFIG_BTYPE_UINT32 = 3, __MMA_C_CONFIG_BTYPE_INT8 = 4, __MMA_C_CONFIG_BTYPE_INT16 = 5, /* reserved = 6, */ __MMA_C_CONFIG_BTYPE_INT32 = 7, __MMA_C_CONFIG_BTYPE_LAST = 7 /* Don't use directly. */ } __MMA_C_CONFIG_BTYPE; /*----------------------------------------------------------------------------*/ /* Use the following for C_OPERATION0 and C_OPERATION1 in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_MUL = 0, __MMA_C_CONFIG_MULNEGATE = 1, __MMA_C_CONFIG_MULMINUS = 2, __MMA_C_CONFIG_MULPLUS = 3, __MMA_C_CONFIG_OPERATION_LAST = 3 /* Don't use directly. */ } __MMA_C_CONFIG_OPERATION; /*----------------------------------------------------------------------------*/ /* Use the following for C_LOP0 and C_LOP1 in HWA_CONFIG setup. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_LOP_C = 0, __MMA_C_CONFIG_LOP_LAST = 1 /* Don't use directly. */ } __MMA_C_CONFIG_LOP; /*----------------------------------------------------------------------------*/ /* Use the following for C_BIASORDER in the HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_BIAS_ORDER_COLUMN = 0, __MMA_C_CONFIG_BIASORDER_LAST = 1 /* Don't use directly. */ } __MMA_C_CONFIG_BIASORDER; typedef enum __attribute__((__packed__)) { /* Input data | Shifted left? */ /* extended? */ __MMA_C_CONFIG_HWLDDST_X4_0 = 0, /* 4 times not shifted */ __MMA_C_CONFIG_HWLDDST_X4_1 = 1, /* 4 times 1x orig bit width */ __MMA_C_CONFIG_HWLDDST_X4_2 = 2, /* 4 times 2x orig bit width */ __MMA_C_CONFIG_HWLDDST_X4_3 = 3, /* 4 times 3x orig bit width */ /* reserved = 4, */ /* reserved = 5, */ /* reserved = 6, */ __MMA_C_CONFIG_HWLDDST_X1 = 7, /* No not shifted */ __MMA_C_CONFIG_HWLDDST_LAST = 7 /* Don't use directly. */ } __MMA_C_CONFIG_HWLDDST; /*----------------------------------------------------------------------------*/ /* Use the following for C_HWLDTYPE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_HWLDTYPE_UINT8 = 0, __MMA_C_CONFIG_HWLDTYPE_UINT16 = 1, /* reserved = 2, */ __MMA_C_CONFIG_HWLDTYPE_UINT32 = 3, /* reserved = 4, */ /* reserved = 5, */ /* reserved = 6, */ /* reserved = 7, */ __MMA_C_CONFIG_HWLDTYPE_INT8 = 8, __MMA_C_CONFIG_HWLDTYPE_INT16 = 9, /* reserved = 10, */ __MMA_C_CONFIG_HWLDTYPE_INT32 = 11, /* reserved = 12, */ /* reserved = 13, */ /* reserved = 14, */ /* reserved = 15, */ __MMA_C_CONFIG_HWLDTYPE_LAST = 15 /* Don't use directly. */ } __MMA_C_CONFIG_HWLDTYPE; /*----------------------------------------------------------------------------*/ /* Use the following for C_OPSTART in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_C_CONFIG_OPSTART_OPERATION0 = 0, __MMA_C_CONFIG_OPSTART_OPERATION1 = 1, __MMA_C_CONFIG_OPSTART_LAST = 1 /* Don't use directly. */ } __MMA_C_CONFIG_OPSTART; /*----------------------------------------------------------------------------*/ /* X CONFIG enumerations */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Use the following for X_CONFIG RANGE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_RANGE_DISABLE_NOINIT = 0, __MMA_X_CONFIG_RANGE_LAST = 3 /* Don't use directly. */ } __MMA_X_CONFIG_RANGE; /*----------------------------------------------------------------------------*/ /* Use the following for X_CONFIG VPACKN in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_VPACKN_DISABLE = 0, /* 4-bit packing is disabled (MMA 1.0 */ /* behavior) */ __MMA_C_CONFIG_VPACKN_LAST = 1 /* Do not use directly. */ } __MMA_X_CONFIG_VPACKN; /*----------------------------------------------------------------------------*/ /* Use the following for X_SHIFT in HWA_CONFIG setup when X_SCALE_SHIFT_CTRL */ /* is __MMA_X_CONFIG_SCALE_SHIFT_CTRL_ENABLE. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_SHIFT_ROW_UNSIGNED = 0x40, /* Per row shift, unsigned scale*/ __MMA_X_CONFIG_SHIFT_LAST = 0x7F /* Do not use directly. */ } __MMA_X_CONFIG_SHIFT; /*----------------------------------------------------------------------------*/ /* Use the following for X_SCALE_SHIFT_CTRL in HWA_CONFIG setup. When set to */ /* __MMA_X_CONFIG_SCALE_SHIFT_CTRL_DISABLE, X_SHIFT takes an integral value. */ /* When set to __MMA_X_CONFIG_SCALE_SHIFT_CTRL_ENABLE, X_SHIFT takes an */ /* enumeration value from __MMA_X_CONFIG_SHIFT. */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_SCALE_SHIFT_CTRL_DISABLE = 0, /* No per row/col shift/scale*/ __MMA_X_CONFIG_SCALE_SHIFT_CTRL_LAST = 1 /* Do not use directly. */ } __MMA_X_CONFIG_SCALE_SHIFT_CTRL; /*----------------------------------------------------------------------------*/ /* Use the following for X_XTYPE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_XTYPE_UINT8 = 0, __MMA_X_CONFIG_XTYPE_UINT16 = 1, /* reserved = 2, */ __MMA_X_CONFIG_XTYPE_UINT32 = 3, __MMA_X_CONFIG_XTYPE_UINT64 = 4, __MMA_X_CONFIG_XTYPE_UINT128 = 5, /* reserved = 6, */ /* reserved = 7, */ __MMA_X_CONFIG_XTYPE_INT8 = 8, __MMA_X_CONFIG_XTYPE_INT16 = 9, /* reserved = 10, */ __MMA_X_CONFIG_XTYPE_INT32 = 11, __MMA_X_CONFIG_XTYPE_INT64 = 12, __MMA_X_CONFIG_XTYPE_INT128 = 13, /* reserved = 14, */ /* reserved = 15, */ __MMA_X_CONFIG_XTYPE_LAST = 15 /* Don't use directly. */ } __MMA_X_CONFIG_XTYPE; /*----------------------------------------------------------------------------*/ /* Use the following for X_CTYPE in HWA_CONFIG setup */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_X_CONFIG_CTYPE_UINT32 = 0, __MMA_X_CONFIG_CTYPE_UINT64 = 1, /* reserved = 2, */ __MMA_X_CONFIG_CTYPE_UINT128 = 3, __MMA_X_CONFIG_CTYPE_INT32 = 4, __MMA_X_CONFIG_CTYPE_INT64 = 5, /* reserved = 6, */ __MMA_X_CONFIG_CTYPE_INT128 = 7, __MMA_X_CONFIG_CTYPE_LAST = 7 /* Don't use directly. */ } __MMA_X_CONFIG_CTYPE; /******************************************************************************/ /* Configuration Layouts */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* __HWA_CONFIG_REG_v1 struct for use with C7100 and C7120 MMA initialization */ /* with the __HWAOPEN intrinsic (see usage example above). */ /* */ /* Note: A best practice is to first use the __gen_HWA_CONFIG_REG_v1() to */ /* initialize an instance of this structure. This is because the reserved/ */ /* "RSVD" fields may be renamed in future compiler versions for future */ /* features to avoid the proliferation of different configuration structures. */ /* So code using the name of a reserved field (or using "ordered struct */ /* instantiation") may need changes to compile with future compiler versions. */ /* */ /*----------------------------------------------------------------------------*/ typedef struct __attribute__((__packed__)) __HWA_CONFIG_REG_v1 { __MMA_A_CONFIG_ATYPE A_ATYPE:3; /* A vector element type */ uint64_t A_RSVD1:5; /* Reserved */ __MMA_A_LUTEN A_ALUTEN:1; /* A vector element lookup table */ uint64_t A_RSVD2:7; /* Reserved */ __MMA_A_CONFIG_ARF_CTRL A_ARF_CTRL:1; /* A opnd register file wrt enable */ uint64_t A_ARF_BASE:6; /* Base value of circular buffer in the A operand register file when ARF_CTRL is ARF_ENABLE */ uint64_t A_RSVD3:1; /* Reserved */ uint64_t A_ARF_SIZE:7; /* ARF array size for read and write operations */ uint64_t A_RSVD4:1; /* Reserved */ uint64_t B_BSWPER:32; /* B banks switch period */ uint64_t B_BRSTPER:8; /* B offset reset period */ __MMA_B_BTYPE B_BTYPE:2; /* B matrix element type */ __MMA_LDBOPT B_LDBOPT:2; /* Control for enhanced B operand row loading */ __MMA_B4EXP B_B4EXP:2; /* B operand expansion control to conv 4-bit ops to 8-bit ops */ uint64_t B_RSVD1:2; /* Reserved */ __MMA_B_CONFIG_ORDER_TRANSPOSE_CONTROL B_ORDER:1; /* Transpose control */ uint64_t B_RSVD2:7; /* Reserved */ uint64_t B_BSTART:1; /* Initial B bank selection for writing B matrix data */ uint64_t B_BCNT1_ENABLE:1;/* Enable bit for option B row write row cntr for B bank 1. */ uint64_t B_RSVD3:6; /* Reserved */ uint64_t B_BOFFSET:8; /* Global row or column offset */ uint64_t B_RSVD4:24; /* Reserved */ __MMA_C_CONFIG_ATYPE C_ATYPE:1; /* unsigned or signed */ uint64_t C_ARF_BASE:6; /* ARF read pointer base value when ARG_C7 is cleared */ uint64_t C_ARF_C7:1; /* ARF read addresses are supplied by the host C7 processor as an argument to the HWAOP or HWAOPXFER instructions. */ __MMA_C_CONFIG_BTYPE C_BTYPE:3; /* B matrix element type and bias table element size. Must be consistent with the B FSM setting. */ uint64_t C_RSVD2:5; /* Reserved */ __MMA_C_CONFIG_OPERATION C_OPERATION0:2; __MMA_C_CONFIG_LOP C_LOP0:1; /* Left operand selection for C_OPERATION0 */ uint64_t C_RSVD3:5; /* Reserved */ __MMA_C_CONFIG_OPERATION C_OPERATION1:2; __MMA_C_CONFIG_LOP C_LOP1:1; /* Left operand selection for C_OPERATION1 */ __MMA_C_CONFIG_BIASORDER C_BIASORDER:1; /* Transpose bias matrix */ uint64_t C_RSVD4:4; /* Reserved */ __MMA_C_CONFIG_HWLDDST C_HWLDDST:3; uint64_t C_RSVD5:5; /* Reserved */ __MMA_C_CONFIG_HWLDTYPE C_HWLDTYPE:4; /* C matrix element type from a HWALD* instruction */ uint64_t C_RSVD6:4; /* Reserved */ __MMA_C_CONFIG_OPSTART C_OPSTART:1; /* Initial C operand selection */ uint64_t C_BSTART:1; /* Initial B bank selection for reading B matrix data for the matrix computations */ uint64_t C_CRSTART:1; /* Initial C bank selection for reading operands */ uint64_t C_CWSTART:1; /* Initial C bank selection for writing computation results */ uint64_t C_CLSTART:1; /* Initial C bank selection for writing operands from HWALD* */ uint64_t C_RSVD7:3; /* Reserved */ uint64_t C_CROFFSET:6; /* C row read offset */ uint64_t C_RSVD8:2; /* Reserved */ uint64_t C_CWOFFSET:6; /* C row write offset for computations */ uint64_t C_RSVD9:2; /* Reserved */ uint64_t C_CLOFFSET:7; /* C row write offset for HWALD* instructions */ uint64_t C_RSVD10:1; /* Reserved */ uint64_t C_CLSWPER:8; /* C bank switch period for HWALD* instruction writes */ uint64_t C_CLRSTPER:8; /* C write row offset reset period for HWALD* */ uint64_t C_OP1PER:32; /* Operation 1 period */ uint64_t C_OP0PER:32; /* Operation 0 period */ uint64_t C_BSWPER:32; /* B bank switch period */ uint64_t C_CRSWPER:32; /* C bank switch period for read instructions */ uint64_t C_CWSWPER:32; /* C bank switch period for computation writes */ uint64_t C_CRRSTPER:8; /* C read row offset reset period */ uint64_t C_CWRSTPER:8; /* C write row offset reset period for computations */ uint64_t X_ReLU:1; /* Enable Rectified Linear Units non-linearity after optional saturation */ uint64_t X_PSAT:1; /* Enable paramterized saturation function */ uint64_t X_SAT_MIN_5_0:6; /* Bits 0-5 of PSAT SAT_MIN */ uint64_t X_SAT:1; /* Enable saturation in the transfer buffer element type after optional rounding */ uint64_t X_SAT_MIN_12_6:7; /* Bits 6-12 of PSAT SAT_MIN */ uint64_t X_RE:1; /* Enable routing via 1/2 LSB addition after shifting */ uint64_t X_SAT_MIN_15_13:3; /* Bits 13-15 of PSAT SAT_MIN */ __MMA_X_CONFIG_RANGE X_RANGE:2; /* Min/Max range accumulation control on C matrix reads by X FSM */ __MMA_X_CONFIG_SCALE_SHIFT_CTRL X_SCALE_SHIFT_CTRL:1; /* Shift mode */ uint64_t X_RSVD3:1; /* Reserved */ uint64_t X_SHIFT:7; /* Right shift amount, signed or unsigned depending on CTYPE field. Accepts __MMA_X_CONFIG_SHIFT values when X_SCALE_SHIFT_CTRL is enabled. */ __MMA_X_CONFIG_VPACKN X_VPACKN:1; /* 4-bit packing control */ __MMA_X_CONFIG_XTYPE X_XTYPE:4; /* Transfer buffer element type. Not all combinations of CTYPE and XTYPE are supported */ uint64_t X_SAT_MAX_3_0:4; /* Bits 0-3 of PSAT SAT_MAX */ __MMA_X_CONFIG_CTYPE X_CTYPE:3; /* C matrix element type. This must be consistent with the B FSM setting */ uint64_t X_SAT_MAX_8_4:5; /* Bits 4-8 of PSAT SAT_MAX */ uint64_t X_CSWPER:32; /* C read bank switch period */ uint64_t X_CRRSTPER:8; /* C read row offset reset period */ uint64_t X_COFFSET:8; /* C matrix row read address offset */ uint64_t X_CSTART:1; /* Initial C bank selection */ uint64_t X_SAT_MAX_15_9:7; /* Bits 9-15 of PSAT SAT_MAX */ uint64_t RSVD:6; /* Reserved */ __MMA_PARITYCTRL PARITYCTRL:2; /* Parity control */ } __HWA_CONFIG_REG_v1; /*----------------------------------------------------------------------------*/ /* __HWA_OFFSET_REG */ /* The same offset structure is used for both MMA1 and MMA2. */ /* Note: A_LUT_VAL_n is reserved on MMA2-256 and should be set to 0. */ /*----------------------------------------------------------------------------*/ typedef struct __attribute__((__packed__)) __HWA_OFFSET_REG_t { uint64_t offset0:6; uint64_t offset1:6; uint64_t offset2:6; uint64_t offset3:6; uint8_t A_LUT_VAL_0; uint64_t offset4:6; uint64_t offset5:6; uint64_t offset6:6; uint64_t offset7:6; uint8_t A_LUT_VAL_1; uint64_t offset8:6; uint64_t offset9:6; uint64_t offset10:6; uint64_t offset11:6; uint8_t A_LUT_VAL_2; uint64_t offset12:6; uint64_t offset13:6; uint64_t offset14:6; uint64_t offset15:6; uint8_t A_LUT_VAL_3; uint64_t offset16:6; uint64_t offset17:6; uint64_t offset18:6; uint64_t offset19:6; uint8_t A_LUT_VAL_4; uint64_t offset20:6; uint64_t offset21:6; uint64_t offset22:6; uint64_t offset23:6; uint8_t A_LUT_VAL_5; uint64_t offset24:6; uint64_t offset25:6; uint64_t offset26:6; uint64_t offset27:6; uint8_t A_LUT_VAL_6; uint64_t offset28:6; uint64_t offset29:6; uint64_t offset30:6; uint64_t offset31:6; uint8_t A_LUT_VAL_7; uint64_t offset32:6; uint64_t offset33:6; uint64_t offset34:6; uint64_t offset35:6; uint8_t A_LUT_VAL_8; uint64_t offset36:6; uint64_t offset37:6; uint64_t offset38:6; uint64_t offset39:6; uint8_t A_LUT_VAL_9; uint64_t offset40:6; uint64_t offset41:6; uint64_t offset42:6; uint64_t offset43:6; uint8_t A_LUT_VAL_10; uint64_t offset44:6; uint64_t offset45:6; uint64_t offset46:6; uint64_t offset47:6; uint8_t A_LUT_VAL_11; uint64_t offset48:6; uint64_t offset49:6; uint64_t offset50:6; uint64_t offset51:6; uint8_t A_LUT_VAL_12; uint64_t offset52:6; uint64_t offset53:6; uint64_t offset54:6; uint64_t offset55:6; uint8_t A_LUT_VAL_13; uint64_t offset56:6; uint64_t offset57:6; uint64_t offset58:6; uint64_t offset59:6; uint8_t A_LUT_VAL_14; uint64_t offset60:6; uint64_t offset61:6; uint64_t offset62:6; uint64_t offset63:6; uint8_t A_LUT_VAL_15; } __HWA_OFFSET_REG; /******************************************************************************/ /* API Enumerations */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Enumeration for the third argument in the __HWAOPEN intrinsic */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_OPEN_FSM_RESET = 0, __MMA_OPEN_FSM_MINRESET = 2, __MMA_OPEN_FSM_MAXRESET = 3, __MMA_OPEN_FSM_LAST = 3 /* Don't use directly. */ } __MMA_OPEN_FSM; /*----------------------------------------------------------------------------*/ /* Constants used in __HWAOP and __HWAOPXFER intrinsics */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_A_LDA = 0, /* 'A' vector sourced from most recent __HWALDA */ __MMA_A_SOURCE_SELECT_LAST = 23 /* Don't use directly. */ } __MMA_A_SOURCE_SELECT; /*----------------------------------------------------------------------------*/ /* Constants used in __HWAXFER intrinsic */ /*----------------------------------------------------------------------------*/ typedef enum __attribute__((__packed__)) { __MMA_XFER_SRC_C = 0, /* C matrix, X FSM sequences C matrix addresses */ /* 3 reserved */ /* 4-7 reserved */ __MMA_XFER_SRC_HWA_CONFIG = 8, /* HWA_CONFIG, no X FSM update */ __MMA_XFER_SRC_HWA_OFFSET = 9, /* HWA_OFFSET, no X FSM update */ __MMA_XFER_SRC_HWA_STATUS = 10, /* HWA_STATUS, no X FSM update */ __MMA_XFER_SRC_HWA_BUSY = 11, /* HWA_BUSY, no X FSM update */ __MMA_XFER_SRC_LAST = 15 /* Don't use directly. */ } __MMA_XFER_SRC; /******************************************************************************/ /* Core API */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Use the __HWA_CONFIG_REG_v1 and __HWA_OFFSET_REG structs that are */ /* defined in this file to set up the necessary parameters for the MMA. The */ /* programmer should pass an enum value from the __MMA_OPEN_FSM enum typedef */ /* to the mma_open_fsm parameter (see the MMA specification for full */ /* details). */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Implementation details. Do not use directly. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __hwaopen(__ulong8, __ulong8, __attribute__((constrange((0), (3)))) __MMA_OPEN_FSM); /* Deprecated, do not use */ /*----------------------------------------------------------------------------*/ /* void __HWAOPEN(__HWA_CONFIG_REG_vn, __HWA_OFFSET_REG, __MMA_OPEN_FSM) */ /* Configures and opens the MMA. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __HWAOPEN(__HWA_CONFIG_REG_v1, __HWA_OFFSET_REG, __attribute__((constrange((0), (3)))) __MMA_OPEN_FSM); /*----------------------------------------------------------------------------*/ /* void __HWACLOSE(uint32_t dst) */ /* Closes the MMA. A constant literal value of 0 should be passed as dst. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWACLOSE(__attribute__((constrange((0), (0)))) int); /*----------------------------------------------------------------------------*/ /* void __HWALD*(__mma_vec src2) */ /* Load one row into a single MMA storage area. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWALDA(__mma_vec src1); void __attribute__((builtin)) __attribute__((impure)) __HWALDB(__mma_vec src1); void __attribute__((builtin)) __attribute__((impure)) __HWALDC(__mma_vec src1); /*----------------------------------------------------------------------------*/ /* void __HWALD**(__mma_vec src2) */ /* Load one row into the first MMA storage area and another row into the */ /* other MMA storage area. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWALDAB(__mma_vec src1, __mma_vec src2); void __attribute__((builtin)) __attribute__((impure)) __HWALDBC(__mma_vec src1, __mma_vec src2); /*----------------------------------------------------------------------------*/ /* void __HWAOP(__MMA_A_SOURCE_SELECT) */ /* Perform one operation on the MMA using the specified source. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWAOP(__attribute__((constrange((0), (23)))) __MMA_A_SOURCE_SELECT src1); /*----------------------------------------------------------------------------*/ /* void __HWAXFER(__MMA_XFER_SRC) */ /* Load the MMA transfer buffer for the specified source. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWAXFER(__attribute__((constrange((0), (15)))) __MMA_XFER_SRC); /*----------------------------------------------------------------------------*/ /* void __HWAFENCE_OPXFER() */ /* Creates a barrier for scheduling that a MMA OP (__HWAOP) or MMA transfer */ /* (__HWAXFER) cannot move past. */ /* When compiled under host emulation, __HWAFENCE_OPXFER does nothing. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWAFENCE_OPXFER(); /*----------------------------------------------------------------------------*/ /* void __HWAOPXFER(__MMA_A_SOURCE_SELECT) */ /* Perform one operation on the MMA using the specified source and one */ /* transfer. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWAOPXFER(__attribute__((constrange((0), (23)))) __MMA_A_SOURCE_SELECT src1); /*----------------------------------------------------------------------------*/ /* __mma_vec __HWARCV(uint32_t) */ /* Retrieves data from the MMA transfer buffer. A constant literal value of */ /* 0 should be passed as index. */ /*----------------------------------------------------------------------------*/ __mma_vec __attribute__((builtin)) __attribute__((impure)) __HWARCV(__attribute__((constrange((0), (0)))) int); /* S-unit HWARCV (with constant) */ /*----------------------------------------------------------------------------*/ /* void __HWASWAP(uint32_t) */ /* Prevents high level optimization between two MMA loops. In particular, */ /* it will prevent loop fusion. Under host emulation mode, it does nothing. */ /*----------------------------------------------------------------------------*/ void __attribute__((builtin)) __attribute__((impure)) __HWASWAP(__attribute__((constrange((0), (0)))) int); /*----------------------------------------------------------------------------*/ /* void __HWAADV() */ /* Models an advance of the MMA finite state machines. When compiling with */ /* the target compiler, __HWAADV does nothing. */ /*----------------------------------------------------------------------------*/ /******************************************************************************/ /* Helper API -- Initializations */ /******************************************************************************/ /*----------------------------------------------------------------------------*/ /* Generate an __HWA_CONFIG_REG_v1 with safe default values */ /*----------------------------------------------------------------------------*/ static __inline __HWA_CONFIG_REG_v1 __attribute__((__always_inline__)) __gen_HWA_CONFIG_REG_v1() { const __HWA_CONFIG_REG_v1 config = { /* A_ATYPE = */ __MMA_A_CONFIG_ATYPE_UINT8, /* A_RSVD1 = */ 0, /* A_A_LUTEN = */ __MMA_A_CONFIG_NOLUT, /* A_RSVD2 = */ 0, /* A_ARF_CTRL = */ __MMA_A_CONFIG_ARF_DISABLE, /* A_ARF_BASE = */ 0, /* A_RSVD3 = */ 0, /* A_ARF_SIZE = */ 0, /* A_RSVD4 = */ 0, /* B_BSWPER = */ 0, /* B_BRSTPER = */ 0, /* B_BTYPE = */ __MMA_B_CONFIG_SIZE8, /* B_LDBOPT = */ __MMA_LDBOPT_MMA1, /* B_B4EXP = */ __MMA_B_CONFIG_B4EXP_MMA1, /* B_RSVD1 = */ 0, /* B_ORDER = */ __MMA_B_CONFIG_ROW, /* B_RSVD2 = */ 0, /* B_BSTART = */ 0, /* B_BCNT1_ENABLE = */ 0, /* B_RSVD3 = */ 0, /* B_BOFFSET = */ 0, /* B_RSVD4 = */ 0, /* C_ATYPE = */ __MMA_C_CONFIG_ATYPE_UA, /* C_ARF_BASE = */ 0, /* C_ARF_C7 = */ 0, /* C_BTYPE = */ __MMA_C_CONFIG_BTYPE_UINT8, /* C_RSVD2 = */ 0, /* C_OPERATION0 = */ __MMA_C_CONFIG_MUL, /* C_LOP0 = */ __MMA_C_CONFIG_LOP_C, /* C_RSVD3 = */ 0, /* C_OPERATION1 = */ __MMA_C_CONFIG_MUL, /* C_LOP1 = */ __MMA_C_CONFIG_LOP_C, /* C_BIASORDER = */ __MMA_C_CONFIG_BIAS_ORDER_COLUMN, /* C_RSVD4 = */ 0, /* C_HWLDDST = */ __MMA_C_CONFIG_HWLDDST_X4_0, /* C_RSVD5 = */ 0, /* C_HWLDTYPE = */ __MMA_C_CONFIG_HWLDTYPE_UINT8, /* C_RSVD6 = */ 0, /* C_OPSTART = */ __MMA_C_CONFIG_OPSTART_OPERATION0, /* C_BSTART = */ 0, /* C_CRSTART = */ 0, /* C_CWSTART = */ 0, /* C_CLSTART = */ 0, /* C_RSVD7 = */ 0, /* C_CROFFSET = */ 0, /* C_RSVD8 = */ 0, /* C_CWOFFSET = */ 0, /* C_RSVD9 = */ 0, /* C_CLOFFSET = */ 0, /* C_RSVD10 = */ 0, /* C_CLSWTPER = */ 0, /* C_CLRSTPER = */ 0, /* C_OP1PER = */ 0, /* C_OP0PER = */ 0, /* C_BSWPER = */ 0, /* C_CRSWPER = */ 0, /* C_CWSWPER = */ 0, /* C_CRRSTPER = */ 0, /* C_CWRSTPER = */ 0, /* X_ReLU = */ 0, /* X_PSAT = */ 0, /* X_SAT_MIN_5_0 = */ 0, /* X_SAT = */ 0, /* X_SAT_MIN_12_6 = */ 0, /* X_RE = */ 0, /* X_SAT_MIN_15_13 = */ 0, /* X_RANGE = */ __MMA_X_CONFIG_RANGE_DISABLE_NOINIT, /* X_SCALE_SHIFT_CTRL = */ __MMA_X_CONFIG_SCALE_SHIFT_CTRL_DISABLE, /* X_RSVD3 = */ 0, /* X_SHIFT = */ 0, /* X_VPACKN = */ __MMA_X_CONFIG_VPACKN_DISABLE, /* X_XTYPE = */ __MMA_X_CONFIG_XTYPE_UINT8, /* X_SAT_MAX_3_0 = */ 0, /* X_CTYPE = */ __MMA_X_CONFIG_CTYPE_UINT32, /* X_SAT_MAX_8_4 = */ 0, /* X_CSWPER = */ 0, /* X_CRRSTPER = */ 0, /* X_COFFSET = */ 0, /* X_CSTART = */ 0, /* X_SAT_MAX_15_9 = */ 0, /* X_RSVD6 = */ 0, /* PARITYCTRL = */ __MMA_NORMAL }; return config; } /*----------------------------------------------------------------------------*/ /* Generate an __HWA_OFFSET_REG with default values (all 0's) */ /*----------------------------------------------------------------------------*/ static __inline __HWA_OFFSET_REG __attribute__((__always_inline__)) __gen_HWA_OFFSET_REG() { const __HWA_OFFSET_REG offset = { /* offset0 = */ 0, /* offset1 = */ 0, /* offset2 = */ 0, /* offset3 = */ 0, /* A_LUT_VAL_0 = */ 0, /* offset4 = */ 0, /* offset5 = */ 0, /* offset6 = */ 0, /* offset7 = */ 0, /* A_LUT_VAL_1 = */ 0, /* offset8 = */ 0, /* offset9 = */ 0, /* offset10 = */ 0, /* offset11 = */ 0, /* A_LUT_VAL_2 = */ 0, /* offset12 = */ 0, /* offset13 = */ 0, /* offset14 = */ 0, /* offset15 = */ 0, /* A_LUT_VAL_3 = */ 0, /* offset16 = */ 0, /* offset17 = */ 0, /* offset18 = */ 0, /* offset19 = */ 0, /* A_LUT_VAL_4 = */ 0, /* offset20 = */ 0, /* offset21 = */ 0, /* offset22 = */ 0, /* offset23 = */ 0, /* A_LUT_VAL_5 = */ 0, /* offset24 = */ 0, /* offset25 = */ 0, /* offset26 = */ 0, /* offset27 = */ 0, /* A_LUT_VAL_6 = */ 0, /* offset28 = */ 0, /* offset29 = */ 0, /* offset30 = */ 0, /* offset31 = */ 0, /* A_LUT_VAL_7 = */ 0, /* offset32 = */ 0, /* offset33 = */ 0, /* offset34 = */ 0, /* offset35 = */ 0, /* A_LUT_VAL_8 = */ 0, /* offset36 = */ 0, /* offset37 = */ 0, /* offset38 = */ 0, /* offset39 = */ 0, /* A_LUT_VAL_9 = */ 0, /* offset40 = */ 0, /* offset41 = */ 0, /* offset42 = */ 0, /* offset43 = */ 0, /* A_LUT_VAL_10 = */ 0, /* offset44 = */ 0, /* offset45 = */ 0, /* offset46 = */ 0, /* offset47 = */ 0, /* A_LUT_VAL_11 = */ 0, /* offset48 = */ 0, /* offset49 = */ 0, /* offset50 = */ 0, /* offset51 = */ 0, /* A_LUT_VAL_12 = */ 0, /* offset52 = */ 0, /* offset53 = */ 0, /* offset54 = */ 0, /* offset55 = */ 0, /* A_LUT_VAL_13 = */ 0, /* offset56 = */ 0, /* offset57 = */ 0, /* offset58 = */ 0, /* offset59 = */ 0, /* A_LUT_VAL_14 = */ 0, /* offset60 = */ 0, /* offset61 = */ 0, /* offset62 = */ 0, /* offset63 = */ 0, /* A_LUT_VAL_15 = */ 0 }; return offset; } /*****************************************************************************/ /* C7X_LUTHIST.H */ /* */ /* Copyright (c) 2015 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* C7X_CR.H */ /* */ /* Copyright (c) 2021 Texas Instruments Incorporated */ /* http://www.ti.com/ */ /* */ /* Redistribution and use in source and binary forms, with or without */ /* modification, are permitted provided that the following conditions */ /* are met: */ /* */ /* Redistributions of source code must retain the above copyright */ /* notice, this list of conditions and the following disclaimer. */ /* */ /* Redistributions in binary form must reproduce the above copyright */ /* notice, this list of conditions and the following disclaimer in */ /* the documentation and/or other materials provided with the */ /* distribution. */ /* */ /* Neither the name of Texas Instruments Incorporated nor the names */ /* of its contributors may be used to endorse or promote products */ /* derived from this software without specific prior written */ /* permission. */ /* */ /* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ /* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ /* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */ /* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ /* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ /* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */ /* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */ /* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */ /* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */ /* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* */ /*****************************************************************************/ /*****************************************************************************/ /* LOOKUP TABLE / HISTOGRAM CONTROLS AND SETUP FLAGS */ /*****************************************************************************/ /*----------------------------------------------------------------------------*/ /* Enable or disable LUT/HIST in TSR */ /* Use these macros to enable or disable the 19th bit in TSR register */ /* corresponding to turning ON or OFF the LUT/HIST feature. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST L1D page sizes. */ /* Use the below options to indicate the LUT/HIST page size in L1D. */ /* As per spec the page sizes can only be in multiples of 4kb, from a min of */ /* 0kb to 16kb. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST set number */ /* Up to 4 sets of different configurations can be pre programmed using the */ /* LTBR0-3 and LTCR0-3 control registers. Use the indexes below to indicate */ /* control register in use. */ /* Ex. using __LUT_SET2 will indicate that the programmer is using LTBR2 */ /* and LTCR2 registers. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Histogram Weight Sizes. */ /* Use these macros to indicate weight sizes. */ /* Supported values are 8bit and 16bit sizes. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Interpolation mode. */ /* Use these macros to enable or disable interpolated table lookup. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Saturation mode. */ /* Use these macros to enable or disable saturation while computing histogram */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Sign of data. */ /* Use these macros to indicate signed or unsigned data. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Number of tables. */ /* Use these macros to indicate number of parallel tables and histograms. */ /* The supported number are 1, 2, 4, 8, 16 parallel tables/histograms */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Element size. */ /* Use these macros to indicate bit depth of data. */ /* Supported values are 8bit, 16bit and 32bit depths. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Table sizes. */ /* Use these macros to indicate the size of SRAM memory */ /* allocated to each table. */ /* Supported values are 0.5, 1, 2, 4, 8, 16, 32 KBytes. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /* Promote options. */ /* Single power of 2 promotes are possible using below options. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* LUT/HIST LTCR configuration. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* struct : __sLTCRFlags_t */ /* Desc : Structure to hold predefined LTCR flags. */ /* */ /* elements: uint8_t INTERPOLATION */ /* - Flag to enable/disable interpolated table lookup. */ /* uint8_t SATURATION */ /* - Flag to enable/disable saturation in histograms. */ /* uint8_t SIGNUNSIGN */ /* - Flag to inidicate signed or unsigned data. */ /* uint8_t ELETYPE */ /* - Flag to indicate the bit depth of data. */ /* uint8_t NUMTBLS */ /* - Flag to indicate the number of parallel tables. */ /* uint8_t TBLSIZE */ /* - Flag to indicate the size of mem allocated for each table. */ /* uint8_t WEIGHTSIZE */ /* - Flag to indicate the histogram weight sizes. */ /* uint8_t PROMOTION */ /* - Flag to indicate the data promotion level (unpack). */ /* */ /*----------------------------------------------------------------------------*/ typedef struct _sLTCR_t { uint8_t INTERPOLATION; uint8_t SATURATION; uint8_t SIGNUNSIGN; uint8_t ELETYPE; uint8_t NUMTBLS; uint8_t TBLSIZE; uint8_t WEIGHTSIZE; uint8_t PROMOTION; } __sLTCRFlags_t; /*----------------------------------------------------------------------------*/ /* Use this macro to set or clear the LTER bits to enable or disable */ /* individual LUT/HIST sets. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Use this macro to set the LTBR register. The setIdx is used to */ /* indicate 1 out of 4 LTBR registers. The base address must be 128 bytes */ /* aligned of 16bit length. */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Use this macro to set the LTCR register. The setIdx is used to indicate 1 */ /* out of 4 LTCR registers, and flags indicates a 32bit value packed with the */ /* appropriate flags (as returned from __lut_set_param()). */ /* */ /* e.g.: __LUT_SET_LTCR(__LUT_SET2, __lut_set_param(&flags)); */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ /* Func: __lut_set_param */ /* */ /* Args: __sLTCRFlags_t *pLTCRFlags */ /* - Pointer to __sLTCRFlags_t structure. */ /* */ /* Return: Returns a 32bit value packed with LTCR flags */ /* */ /* Desc: This function is used to set the LTCR flags. The options are */ /* read from structure pointer and packed. */ /* */ /*----------------------------------------------------------------------------*/ uint32_t __lut_set_param(__sLTCRFlags_t *pLTCRFlags); /*****************************************************************************/ /* The __LUT_SET argument indicates which LTBRx/LTCRx set reg to use. The */ /* corresponding LTCR and LTBR registers are implied by the given __LUT_SET. */ /*****************************************************************************/ void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __lookup_init (__attribute__((constrange(((0)), ((3))))) int, __uchar64 src, __uint off); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __lookup_init (__attribute__((constrange(((0)), ((3))))) int, __ushort32 src, __uint off); void __attribute__((builtin)) __attribute__((impure)) __attribute__((overloadable)) __lookup_init (__attribute__((constrange(((0)), ((3))))) int, __uint16 src, __uint off); void __attribute__((builtin)) __attribute__((impure)) __lookup_write (__attribute__((constrange(((0)), ((3))))) int, __uint16 src, __uint16 off); __char16 __attribute__((builtin)) __lookup_read_char (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __uchar16 __attribute__((builtin)) __lookup_read_uchar (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __short16 __attribute__((builtin)) __lookup_read_short (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __ushort16 __attribute__((builtin)) __lookup_read_ushort (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __int16 __attribute__((builtin)) __lookup_read_int (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __uint16 __attribute__((builtin)) __lookup_read_uint (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); __long8 __attribute__((builtin)) __lookup_read_long (__attribute__((constrange(((0)), ((3))))) int, __uint8 off); __ulong8 __attribute__((builtin)) __lookup_read_ulong (__attribute__((constrange(((0)), ((3))))) int, __uint8 off); void __attribute__((builtin)) __attribute__((impure)) __hist (__attribute__((constrange(((0)), ((3))))) int, __uint16 off); void __attribute__((builtin)) __attribute__((impure)) __hist_weighted(__attribute__((constrange(((0)), ((3))))) int, __int16 weight, __uint16 off); static __SE_TEMPLATE_v1 divideSE; static __SA_TEMPLATE_v1 divideSA; // Ok for out to equal either dividend (destructive) void complexDivideRealConst(float *dividend, uint32_t divisor, float *out) { __overload("__se_open",(__se_mem((void *)dividend)),(__uint)(0U),(divideSE))((__se_mem((void *)dividend)),(0U),(divideSE)); __overload("__sa_open",(__uint)(0U),(divideSA))((0U),(divideSA)); for(int i = 0; i < 512 * 512 * 2 / 16; i++) *(float16*)__sa_adv(0U, sizeof(float16)/__numelemof(float16), out) = __se_ac_float16(0U, 1U) / divisor; __se_close(0U); __sa_close(0U); }