diff options
Diffstat (limited to 'gcc-4.9/gcc/config/tilegx/tilegx-builtins.h')
-rw-r--r-- | gcc-4.9/gcc/config/tilegx/tilegx-builtins.h | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/config/tilegx/tilegx-builtins.h b/gcc-4.9/gcc/config/tilegx/tilegx-builtins.h new file mode 100644 index 000000000..f2b031b08 --- /dev/null +++ b/gcc-4.9/gcc/config/tilegx/tilegx-builtins.h @@ -0,0 +1,325 @@ +/* Enum for builtin intrinsics for TILE-Gx. + Copyright (C) 2011-2014 Free Software Foundation, Inc. + Contributed by Walter Lee (walt@tilera.com) + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3, or (at your + option) any later version. + + GCC is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING3. If not see + <http://www.gnu.org/licenses/>. */ + +#ifndef GCC_TILEGX_BUILTINS_H +#define GCC_TILEGX_BUILTINS_H + +enum tilegx_builtin +{ + TILEGX_INSN_ADD, + TILEGX_INSN_ADDX, + TILEGX_INSN_ADDXSC, + TILEGX_INSN_AND, + TILEGX_INSN_BFEXTS, + TILEGX_INSN_BFEXTU, + TILEGX_INSN_BFINS, + TILEGX_INSN_CLZ, + TILEGX_INSN_CMOVEQZ, + TILEGX_INSN_CMOVNEZ, + TILEGX_INSN_CMPEQ, + TILEGX_INSN_CMPEXCH, + TILEGX_INSN_CMPEXCH4, + TILEGX_INSN_CMPLES, + TILEGX_INSN_CMPLEU, + TILEGX_INSN_CMPLTS, + TILEGX_INSN_CMPLTU, + TILEGX_INSN_CMPNE, + TILEGX_INSN_CMUL, + TILEGX_INSN_CMULA, + TILEGX_INSN_CMULAF, + TILEGX_INSN_CMULF, + TILEGX_INSN_CMULFR, + TILEGX_INSN_CMULH, + TILEGX_INSN_CMULHR, + TILEGX_INSN_CRC32_32, + TILEGX_INSN_CRC32_8, + TILEGX_INSN_CTZ, + TILEGX_INSN_DBLALIGN, + TILEGX_INSN_DBLALIGN2, + TILEGX_INSN_DBLALIGN4, + TILEGX_INSN_DBLALIGN6, + TILEGX_INSN_DRAIN, + TILEGX_INSN_DTLBPR, + TILEGX_INSN_EXCH, + TILEGX_INSN_EXCH4, + TILEGX_INSN_FDOUBLE_ADD_FLAGS, + TILEGX_INSN_FDOUBLE_ADDSUB, + TILEGX_INSN_FDOUBLE_MUL_FLAGS, + TILEGX_INSN_FDOUBLE_PACK1, + TILEGX_INSN_FDOUBLE_PACK2, + TILEGX_INSN_FDOUBLE_SUB_FLAGS, + TILEGX_INSN_FDOUBLE_UNPACK_MAX, + TILEGX_INSN_FDOUBLE_UNPACK_MIN, + TILEGX_INSN_FETCHADD, + TILEGX_INSN_FETCHADD4, + TILEGX_INSN_FETCHADDGEZ, + TILEGX_INSN_FETCHADDGEZ4, + TILEGX_INSN_FETCHAND, + TILEGX_INSN_FETCHAND4, + TILEGX_INSN_FETCHOR, + TILEGX_INSN_FETCHOR4, + TILEGX_INSN_FINV, + TILEGX_INSN_FLUSH, + TILEGX_INSN_FLUSHWB, + TILEGX_INSN_FNOP, + TILEGX_INSN_FSINGLE_ADD1, + TILEGX_INSN_FSINGLE_ADDSUB2, + TILEGX_INSN_FSINGLE_MUL1, + TILEGX_INSN_FSINGLE_MUL2, + TILEGX_INSN_FSINGLE_PACK1, + TILEGX_INSN_FSINGLE_PACK2, + TILEGX_INSN_FSINGLE_SUB1, + TILEGX_INSN_ICOH, + TILEGX_INSN_ILL, + TILEGX_INSN_INFO, + TILEGX_INSN_INFOL, + TILEGX_INSN_INV, + TILEGX_INSN_LD, + TILEGX_INSN_LD1S, + TILEGX_INSN_LD1U, + TILEGX_INSN_LD2S, + TILEGX_INSN_LD2U, + TILEGX_INSN_LD4S, + TILEGX_INSN_LD4U, + TILEGX_INSN_LDNA, + TILEGX_INSN_LDNT, + TILEGX_INSN_LDNT1S, + TILEGX_INSN_LDNT1U, + TILEGX_INSN_LDNT2S, + TILEGX_INSN_LDNT2U, + TILEGX_INSN_LDNT4S, + TILEGX_INSN_LDNT4U, + TILEGX_INSN_LD_L2, + TILEGX_INSN_LD1S_L2, + TILEGX_INSN_LD1U_L2, + TILEGX_INSN_LD2S_L2, + TILEGX_INSN_LD2U_L2, + TILEGX_INSN_LD4S_L2, + TILEGX_INSN_LD4U_L2, + TILEGX_INSN_LDNA_L2, + TILEGX_INSN_LDNT_L2, + TILEGX_INSN_LDNT1S_L2, + TILEGX_INSN_LDNT1U_L2, + TILEGX_INSN_LDNT2S_L2, + TILEGX_INSN_LDNT2U_L2, + TILEGX_INSN_LDNT4S_L2, + TILEGX_INSN_LDNT4U_L2, + TILEGX_INSN_LD_MISS, + TILEGX_INSN_LD1S_MISS, + TILEGX_INSN_LD1U_MISS, + TILEGX_INSN_LD2S_MISS, + TILEGX_INSN_LD2U_MISS, + TILEGX_INSN_LD4S_MISS, + TILEGX_INSN_LD4U_MISS, + TILEGX_INSN_LDNA_MISS, + TILEGX_INSN_LDNT_MISS, + TILEGX_INSN_LDNT1S_MISS, + TILEGX_INSN_LDNT1U_MISS, + TILEGX_INSN_LDNT2S_MISS, + TILEGX_INSN_LDNT2U_MISS, + TILEGX_INSN_LDNT4S_MISS, + TILEGX_INSN_LDNT4U_MISS, + TILEGX_INSN_LNK, + TILEGX_INSN_MF, + TILEGX_INSN_MFSPR, + TILEGX_INSN_MM, + TILEGX_INSN_MNZ, + TILEGX_INSN_MOVE, + TILEGX_INSN_MTSPR, + TILEGX_INSN_MUL_HS_HS, + TILEGX_INSN_MUL_HS_HU, + TILEGX_INSN_MUL_HS_LS, + TILEGX_INSN_MUL_HS_LU, + TILEGX_INSN_MUL_HU_HU, + TILEGX_INSN_MUL_HU_LS, + TILEGX_INSN_MUL_HU_LU, + TILEGX_INSN_MUL_LS_LS, + TILEGX_INSN_MUL_LS_LU, + TILEGX_INSN_MUL_LU_LU, + TILEGX_INSN_MULA_HS_HS, + TILEGX_INSN_MULA_HS_HU, + TILEGX_INSN_MULA_HS_LS, + TILEGX_INSN_MULA_HS_LU, + TILEGX_INSN_MULA_HU_HU, + TILEGX_INSN_MULA_HU_LS, + TILEGX_INSN_MULA_HU_LU, + TILEGX_INSN_MULA_LS_LS, + TILEGX_INSN_MULA_LS_LU, + TILEGX_INSN_MULA_LU_LU, + TILEGX_INSN_MULAX, + TILEGX_INSN_MULX, + TILEGX_INSN_MZ, + TILEGX_INSN_NAP, + TILEGX_INSN_NOP, + TILEGX_INSN_NOR, + TILEGX_INSN_OR, + TILEGX_INSN_PCNT, + TILEGX_INSN_PREFETCH_L1, + TILEGX_INSN_PREFETCH_L1_FAULT, + TILEGX_INSN_PREFETCH_L2, + TILEGX_INSN_PREFETCH_L2_FAULT, + TILEGX_INSN_PREFETCH_L3, + TILEGX_INSN_PREFETCH_L3_FAULT, + TILEGX_INSN_REVBITS, + TILEGX_INSN_REVBYTES, + TILEGX_INSN_ROTL, + TILEGX_INSN_SHL, + TILEGX_INSN_SHL16INSLI, + TILEGX_INSN_SHL1ADD, + TILEGX_INSN_SHL1ADDX, + TILEGX_INSN_SHL2ADD, + TILEGX_INSN_SHL2ADDX, + TILEGX_INSN_SHL3ADD, + TILEGX_INSN_SHL3ADDX, + TILEGX_INSN_SHLX, + TILEGX_INSN_SHRS, + TILEGX_INSN_SHRU, + TILEGX_INSN_SHRUX, + TILEGX_INSN_SHUFFLEBYTES, + TILEGX_INSN_SHUFFLEBYTES1, + TILEGX_INSN_ST, + TILEGX_INSN_ST1, + TILEGX_INSN_ST2, + TILEGX_INSN_ST4, + TILEGX_INSN_STNT, + TILEGX_INSN_STNT1, + TILEGX_INSN_STNT2, + TILEGX_INSN_STNT4, + TILEGX_INSN_SUB, + TILEGX_INSN_SUBX, + TILEGX_INSN_SUBXSC, + TILEGX_INSN_TBLIDXB0, + TILEGX_INSN_TBLIDXB1, + TILEGX_INSN_TBLIDXB2, + TILEGX_INSN_TBLIDXB3, + TILEGX_INSN_V1ADD, + TILEGX_INSN_V1ADDI, + TILEGX_INSN_V1ADDUC, + TILEGX_INSN_V1ADIFFU, + TILEGX_INSN_V1AVGU, + TILEGX_INSN_V1CMPEQ, + TILEGX_INSN_V1CMPEQI, + TILEGX_INSN_V1CMPLES, + TILEGX_INSN_V1CMPLEU, + TILEGX_INSN_V1CMPLTS, + TILEGX_INSN_V1CMPLTSI, + TILEGX_INSN_V1CMPLTU, + TILEGX_INSN_V1CMPLTUI, + TILEGX_INSN_V1CMPNE, + TILEGX_INSN_V1DDOTPU, + TILEGX_INSN_V1DDOTPUA, + TILEGX_INSN_V1DDOTPUS, + TILEGX_INSN_V1DDOTPUSA, + TILEGX_INSN_V1DOTP, + TILEGX_INSN_V1DOTPA, + TILEGX_INSN_V1DOTPU, + TILEGX_INSN_V1DOTPUA, + TILEGX_INSN_V1DOTPUS, + TILEGX_INSN_V1DOTPUSA, + TILEGX_INSN_V1INT_H, + TILEGX_INSN_V1INT_L, + TILEGX_INSN_V1MAXU, + TILEGX_INSN_V1MAXUI, + TILEGX_INSN_V1MINU, + TILEGX_INSN_V1MINUI, + TILEGX_INSN_V1MNZ, + TILEGX_INSN_V1MULTU, + TILEGX_INSN_V1MULU, + TILEGX_INSN_V1MULUS, + TILEGX_INSN_V1MZ, + TILEGX_INSN_V1SADAU, + TILEGX_INSN_V1SADU, + TILEGX_INSN_V1SHL, + TILEGX_INSN_V1SHLI, + TILEGX_INSN_V1SHRS, + TILEGX_INSN_V1SHRSI, + TILEGX_INSN_V1SHRU, + TILEGX_INSN_V1SHRUI, + TILEGX_INSN_V1SUB, + TILEGX_INSN_V1SUBUC, + TILEGX_INSN_V2ADD, + TILEGX_INSN_V2ADDI, + TILEGX_INSN_V2ADDSC, + TILEGX_INSN_V2ADIFFS, + TILEGX_INSN_V2AVGS, + TILEGX_INSN_V2CMPEQ, + TILEGX_INSN_V2CMPEQI, + TILEGX_INSN_V2CMPLES, + TILEGX_INSN_V2CMPLEU, + TILEGX_INSN_V2CMPLTS, + TILEGX_INSN_V2CMPLTSI, + TILEGX_INSN_V2CMPLTU, + TILEGX_INSN_V2CMPLTUI, + TILEGX_INSN_V2CMPNE, + TILEGX_INSN_V2DOTP, + TILEGX_INSN_V2DOTPA, + TILEGX_INSN_V2INT_H, + TILEGX_INSN_V2INT_L, + TILEGX_INSN_V2MAXS, + TILEGX_INSN_V2MAXSI, + TILEGX_INSN_V2MINS, + TILEGX_INSN_V2MINSI, + TILEGX_INSN_V2MNZ, + TILEGX_INSN_V2MULFSC, + TILEGX_INSN_V2MULS, + TILEGX_INSN_V2MULTS, + TILEGX_INSN_V2MZ, + TILEGX_INSN_V2PACKH, + TILEGX_INSN_V2PACKL, + TILEGX_INSN_V2PACKUC, + TILEGX_INSN_V2SADAS, + TILEGX_INSN_V2SADAU, + TILEGX_INSN_V2SADS, + TILEGX_INSN_V2SADU, + TILEGX_INSN_V2SHL, + TILEGX_INSN_V2SHLI, + TILEGX_INSN_V2SHLSC, + TILEGX_INSN_V2SHRS, + TILEGX_INSN_V2SHRSI, + TILEGX_INSN_V2SHRU, + TILEGX_INSN_V2SHRUI, + TILEGX_INSN_V2SUB, + TILEGX_INSN_V2SUBSC, + TILEGX_INSN_V4ADD, + TILEGX_INSN_V4ADDSC, + TILEGX_INSN_V4INT_H, + TILEGX_INSN_V4INT_L, + TILEGX_INSN_V4PACKSC, + TILEGX_INSN_V4SHL, + TILEGX_INSN_V4SHLSC, + TILEGX_INSN_V4SHRS, + TILEGX_INSN_V4SHRU, + TILEGX_INSN_V4SUB, + TILEGX_INSN_V4SUBSC, + TILEGX_INSN_WH64, + TILEGX_INSN_XOR, + TILEGX_NETWORK_BARRIER, + TILEGX_IDN0_RECEIVE, + TILEGX_IDN1_RECEIVE, + TILEGX_IDN_SEND, + TILEGX_UDN0_RECEIVE, + TILEGX_UDN1_RECEIVE, + TILEGX_UDN2_RECEIVE, + TILEGX_UDN3_RECEIVE, + TILEGX_UDN_SEND, + TILEGX_BUILTIN_max +}; + +#endif /* !GCC_TILEGX_BUILTINS_H */ |