|
From: <sv...@va...> - 2010-10-04 09:34:54
|
Author: sewardj
Date: 2010-10-04 10:34:46 +0100 (Mon, 04 Oct 2010)
New Revision: 2059
Log:
Give all the ARM code generation enums non-overlapping value ranges, so
as to get better diagnostic information about type errors from gcc-4.5.
Modified:
trunk/priv/host_arm_defs.h
Modified: trunk/priv/host_arm_defs.h
===================================================================
--- trunk/priv/host_arm_defs.h 2010-10-01 14:06:22 UTC (rev 2058)
+++ trunk/priv/host_arm_defs.h 2010-10-04 09:34:46 UTC (rev 2059)
@@ -195,7 +195,7 @@
/* --- Addressing Mode suitable for Neon --- */
typedef
enum {
- ARMamN_R,
+ ARMamN_R=5,
ARMamN_RR
/* ... */
}
@@ -227,7 +227,7 @@
typedef
enum {
- ARMri84_I84=5, /* imm8 `ror` (2 * imm4) */
+ ARMri84_I84=7, /* imm8 `ror` (2 * imm4) */
ARMri84_R /* reg */
}
ARMRI84Tag;
@@ -256,7 +256,7 @@
/* --------- Reg or imm5 operands --------- */
typedef
enum {
- ARMri5_I5=7, /* imm5, 1 .. 31 only (no zero!) */
+ ARMri5_I5=9, /* imm5, 1 .. 31 only (no zero!) */
ARMri5_R /* reg */
}
ARMRI5Tag;
@@ -321,7 +321,7 @@
typedef
enum {
- ARMNRS_Reg,
+ ARMNRS_Reg=11,
ARMNRS_Scalar
}
ARMNRS_tag;
@@ -342,7 +342,7 @@
/* --------- */
typedef
enum {
- ARMalu_ADD=10, /* plain 32-bit add */
+ ARMalu_ADD=20, /* plain 32-bit add */
ARMalu_ADDS, /* 32-bit add, and set the flags */
ARMalu_ADC, /* 32-bit add with carry */
ARMalu_SUB, /* plain 32-bit subtract */
@@ -360,7 +360,7 @@
typedef
enum {
- ARMsh_SHL=20,
+ ARMsh_SHL=40,
ARMsh_SHR,
ARMsh_SAR
}
@@ -371,7 +371,7 @@
typedef
enum {
- ARMun_NEG=30,
+ ARMun_NEG=50,
ARMun_NOT,
ARMun_CLZ
}
@@ -382,7 +382,7 @@
typedef
enum {
- ARMmul_PLAIN=40,
+ ARMmul_PLAIN=60,
ARMmul_ZX,
ARMmul_SX
}
@@ -393,7 +393,7 @@
typedef
enum {
- ARMvfp_ADD=50,
+ ARMvfp_ADD=70,
ARMvfp_SUB,
ARMvfp_MUL,
ARMvfp_DIV
@@ -405,7 +405,7 @@
typedef
enum {
- ARMvfpu_COPY=60,
+ ARMvfpu_COPY=80,
ARMvfpu_NEG,
ARMvfpu_ABS,
ARMvfpu_SQRT
@@ -416,7 +416,7 @@
typedef
enum {
- ARMneon_VAND=70,
+ ARMneon_VAND=90,
ARMneon_VORR,
ARMneon_VXOR,
ARMneon_VADD,
@@ -477,7 +477,7 @@
typedef
enum {
- ARMneon_VSHL,
+ ARMneon_VSHL=150,
ARMneon_VSAL, /* Yah, not SAR but SAL */
ARMneon_VQSHL,
ARMneon_VQSAL
@@ -486,7 +486,7 @@
typedef
enum {
- ARMneon_COPY,
+ ARMneon_COPY=160,
ARMneon_COPYLU,
ARMneon_COPYLS,
ARMneon_COPYN,
@@ -526,7 +526,7 @@
typedef
enum {
- ARMneon_SETELEM,
+ ARMneon_SETELEM=200,
ARMneon_GETELEMU,
ARMneon_GETELEMS
}
@@ -534,7 +534,7 @@
typedef
enum {
- ARMneon_TRN=100,
+ ARMneon_TRN=210,
ARMneon_ZIP,
ARMneon_UZP
/* ... */
@@ -555,7 +555,7 @@
typedef
enum {
/* baseline */
- ARMin_Alu=70,
+ ARMin_Alu=220,
ARMin_Shift,
ARMin_Unary,
ARMin_CmpOrTst,
|