/* Generated automatically by the program `genconstants'
   from the machine description file `md'.  */

#ifndef GCC_INSN_CONSTANTS_H
#define GCC_INSN_CONSTANTS_H

#define R13_REGNUM 13
#define R7_REGNUM 7
#define R16_REGNUM 16
#define R23_REGNUM 23
#define R19_REGNUM 19
#define R26_REGNUM 26
#define R29_REGNUM 29
#define R0_REGNUM 0
#define R3_REGNUM 3
#define SP_REGNUM 31
#define R6_REGNUM 6
#define R9_REGNUM 9
#define V0_REGNUM 32
#define R8_REGNUM 8
#define V15_REGNUM 47
#define V31_REGNUM 63
#define R14_REGNUM 14
#define R21_REGNUM 21
#define R17_REGNUM 17
#define R24_REGNUM 24
#define R27_REGNUM 27
#define R1_REGNUM 1
#define R4_REGNUM 4
#define AP_REGNUM 65
#define R20_REGNUM 20
#define R30_REGNUM 30
#define LR_REGNUM 30
#define SFP_REGNUM 64
#define R12_REGNUM 12
#define R15_REGNUM 15
#define R22_REGNUM 22
#define CC_REGNUM 66
#define R18_REGNUM 18
#define R25_REGNUM 25
#define R28_REGNUM 28
#define R2_REGNUM 2
#define IP1_REGNUM 17
#define R10_REGNUM 10
#define R5_REGNUM 5
#define IP0_REGNUM 16
#define R11_REGNUM 11

enum unspec {
  UNSPEC_CASESI = 0,
  UNSPEC_CLS = 1,
  UNSPEC_FRECPE = 2,
  UNSPEC_FRECPS = 3,
  UNSPEC_FRECPX = 4,
  UNSPEC_FRINTA = 5,
  UNSPEC_FRINTI = 6,
  UNSPEC_FRINTM = 7,
  UNSPEC_FRINTN = 8,
  UNSPEC_FRINTP = 9,
  UNSPEC_FRINTX = 10,
  UNSPEC_FRINTZ = 11,
  UNSPEC_GOTSMALLPIC = 12,
  UNSPEC_GOTSMALLTLS = 13,
  UNSPEC_GOTTINYPIC = 14,
  UNSPEC_LD1 = 15,
  UNSPEC_LD2 = 16,
  UNSPEC_LD3 = 17,
  UNSPEC_LD4 = 18,
  UNSPEC_MB = 19,
  UNSPEC_NOP = 20,
  UNSPEC_PRLG_STK = 21,
  UNSPEC_RBIT = 22,
  UNSPEC_SISD_NEG = 23,
  UNSPEC_SISD_SSHL = 24,
  UNSPEC_SISD_USHL = 25,
  UNSPEC_SSHL_2S = 26,
  UNSPEC_SSHR64 = 27,
  UNSPEC_ST1 = 28,
  UNSPEC_ST2 = 29,
  UNSPEC_ST3 = 30,
  UNSPEC_ST4 = 31,
  UNSPEC_TLS = 32,
  UNSPEC_TLSDESC = 33,
  UNSPEC_USHL_2S = 34,
  UNSPEC_USHR64 = 35,
  UNSPEC_VSTRUCTDUMMY = 36,
  UNSPEC_ASHIFT_SIGNED = 37,
  UNSPEC_ASHIFT_UNSIGNED = 38,
  UNSPEC_FMAX = 39,
  UNSPEC_FMAXNMV = 40,
  UNSPEC_FMAXV = 41,
  UNSPEC_FMIN = 42,
  UNSPEC_FMINNMV = 43,
  UNSPEC_FMINV = 44,
  UNSPEC_FADDV = 45,
  UNSPEC_SADDV = 46,
  UNSPEC_UADDV = 47,
  UNSPEC_SMAXV = 48,
  UNSPEC_SMINV = 49,
  UNSPEC_UMAXV = 50,
  UNSPEC_UMINV = 51,
  UNSPEC_SHADD = 52,
  UNSPEC_UHADD = 53,
  UNSPEC_SRHADD = 54,
  UNSPEC_URHADD = 55,
  UNSPEC_SHSUB = 56,
  UNSPEC_UHSUB = 57,
  UNSPEC_SRHSUB = 58,
  UNSPEC_URHSUB = 59,
  UNSPEC_ADDHN = 60,
  UNSPEC_RADDHN = 61,
  UNSPEC_SUBHN = 62,
  UNSPEC_RSUBHN = 63,
  UNSPEC_ADDHN2 = 64,
  UNSPEC_RADDHN2 = 65,
  UNSPEC_SUBHN2 = 66,
  UNSPEC_RSUBHN2 = 67,
  UNSPEC_SQDMULH = 68,
  UNSPEC_SQRDMULH = 69,
  UNSPEC_PMUL = 70,
  UNSPEC_USQADD = 71,
  UNSPEC_SUQADD = 72,
  UNSPEC_SQXTUN = 73,
  UNSPEC_SQXTN = 74,
  UNSPEC_UQXTN = 75,
  UNSPEC_SSRA = 76,
  UNSPEC_USRA = 77,
  UNSPEC_SRSRA = 78,
  UNSPEC_URSRA = 79,
  UNSPEC_SRSHR = 80,
  UNSPEC_URSHR = 81,
  UNSPEC_SQSHLU = 82,
  UNSPEC_SQSHL = 83,
  UNSPEC_UQSHL = 84,
  UNSPEC_SQSHRUN = 85,
  UNSPEC_SQRSHRUN = 86,
  UNSPEC_SQSHRN = 87,
  UNSPEC_UQSHRN = 88,
  UNSPEC_SQRSHRN = 89,
  UNSPEC_UQRSHRN = 90,
  UNSPEC_SSHL = 91,
  UNSPEC_USHL = 92,
  UNSPEC_SRSHL = 93,
  UNSPEC_URSHL = 94,
  UNSPEC_SQRSHL = 95,
  UNSPEC_UQRSHL = 96,
  UNSPEC_SSLI = 97,
  UNSPEC_USLI = 98,
  UNSPEC_SSRI = 99,
  UNSPEC_USRI = 100,
  UNSPEC_SSHLL = 101,
  UNSPEC_USHLL = 102,
  UNSPEC_ADDP = 103,
  UNSPEC_TBL = 104,
  UNSPEC_CONCAT = 105,
  UNSPEC_ZIP1 = 106,
  UNSPEC_ZIP2 = 107,
  UNSPEC_UZP1 = 108,
  UNSPEC_UZP2 = 109,
  UNSPEC_TRN1 = 110,
  UNSPEC_TRN2 = 111,
  UNSPEC_AESE = 112,
  UNSPEC_AESD = 113,
  UNSPEC_AESMC = 114,
  UNSPEC_AESIMC = 115,
  UNSPEC_SHA1C = 116,
  UNSPEC_SHA1M = 117,
  UNSPEC_SHA1P = 118,
  UNSPEC_SHA1H = 119,
  UNSPEC_SHA1SU0 = 120,
  UNSPEC_SHA1SU1 = 121,
  UNSPEC_SHA256H = 122,
  UNSPEC_SHA256H2 = 123,
  UNSPEC_SHA256SU0 = 124,
  UNSPEC_SHA256SU1 = 125,
  UNSPEC_PMULL = 126,
  UNSPEC_PMULL2 = 127
};
#define NUM_UNSPEC_VALUES 128
extern const char *const unspec_strings[];

enum unspecv {
  UNSPECV_EH_RETURN = 0,
  UNSPECV_GET_FPCR = 1,
  UNSPECV_SET_FPCR = 2,
  UNSPECV_GET_FPSR = 3,
  UNSPECV_SET_FPSR = 4,
  UNSPECV_LX = 5,
  UNSPECV_SX = 6,
  UNSPECV_LDA = 7,
  UNSPECV_STL = 8,
  UNSPECV_ATOMIC_CMPSW = 9,
  UNSPECV_ATOMIC_EXCHG = 10,
  UNSPECV_ATOMIC_OP = 11
};
#define NUM_UNSPECV_VALUES 12
extern const char *const unspecv_strings[];

#endif /* GCC_INSN_CONSTANTS_H */
