- TYPE_CODE_VOID = 3, // VOID
- TYPE_CODE_FLOAT = 4, // FLOAT
- TYPE_CODE_DOUBLE = 5, // DOUBLE
- TYPE_CODE_LABEL = 6, // LABEL
- TYPE_CODE_OPAQUE = 7, // OPAQUE
- TYPE_CODE_INTEGER = 8, // INTEGER: [width]
- TYPE_CODE_POINTER = 9, // POINTER: [pointee type]
- TYPE_CODE_FUNCTION = 10, // FUNCTION: [vararg, retty, #pararms, paramty N]
- TYPE_CODE_STRUCT = 11, // STRUCT: [ispacked, #elts, eltty x N]
- TYPE_CODE_ARRAY = 12, // ARRAY: [numelts, eltty]
- TYPE_CODE_VECTOR = 13 // VECTOR: [numelts, eltty]
+ TYPE_CODE_VOID = 2, // VOID
+ TYPE_CODE_FLOAT = 3, // FLOAT
+ TYPE_CODE_DOUBLE = 4, // DOUBLE
+ TYPE_CODE_LABEL = 5, // LABEL
+ TYPE_CODE_OPAQUE = 6, // OPAQUE
+ TYPE_CODE_INTEGER = 7, // INTEGER: [width]
+ TYPE_CODE_POINTER = 8, // POINTER: [pointee type]
+ TYPE_CODE_FUNCTION = 9, // FUNCTION: [vararg, retty, paramty x N]
+ TYPE_CODE_STRUCT = 10, // STRUCT: [ispacked, eltty x N]
+ TYPE_CODE_ARRAY = 11, // ARRAY: [numelts, eltty]
+ TYPE_CODE_VECTOR = 12, // VECTOR: [numelts, eltty]
+
+ // These are not with the other floating point types because they're
+ // a late addition, and putting them in the right place breaks
+ // binary compatibility.
+ TYPE_CODE_X86_FP80 = 13, // X86 LONG DOUBLE
+ TYPE_CODE_FP128 = 14, // LONG DOUBLE (112 bit mantissa)
+ TYPE_CODE_PPC_FP128= 15 // PPC LONG DOUBLE (2 doubles)