This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH][AArch64 array_mode 4/8] Remove EImode
- From: Alan Lawrence <alan dot lawrence at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: james dot greenhalgh at arm dot com, marcus dot shawcroft at arm dot com
- Date: Wed, 26 Aug 2015 14:46:55 +0100
- Subject: [PATCH][AArch64 array_mode 4/8] Remove EImode
- Authentication-results: sourceware.org; auth=none
- References: <1440596819-18018-1-git-send-email-alan dot lawrence at arm dot com>
This removes EImode from the (AArch64) compiler, and all mention of or support
for it.
bootstrapped and check-gcc on aarch64-none-linux-gnu
gcc/ChangeLog:
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
comment.
* config/aarch64/aarch64-builtins.c (ei_UP,
aarch64_simd_intEI_type_node): Remove.
(aarch64_simd_builtin_std_type): Remove EImode case.
(aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
* config/aarch64/aarch64-modes.def: Remove EImode.
---
gcc/config/aarch64/aarch64-builtins.c | 8 --------
gcc/config/aarch64/aarch64-modes.def | 5 ++---
gcc/config/aarch64/aarch64.c | 2 +-
3 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/gcc/config/aarch64/aarch64-builtins.c b/gcc/config/aarch64/aarch64-builtins.c
index 294bf9d..9c8ca3b 100644
--- a/gcc/config/aarch64/aarch64-builtins.c
+++ b/gcc/config/aarch64/aarch64-builtins.c
@@ -73,7 +73,6 @@
#define v2di_UP V2DImode
#define v2df_UP V2DFmode
#define ti_UP TImode
-#define ei_UP EImode
#define oi_UP OImode
#define ci_UP CImode
#define xi_UP XImode
@@ -435,7 +434,6 @@ static struct aarch64_simd_type_info aarch64_simd_types [] = {
#undef ENTRY
static tree aarch64_simd_intOI_type_node = NULL_TREE;
-static tree aarch64_simd_intEI_type_node = NULL_TREE;
static tree aarch64_simd_intCI_type_node = NULL_TREE;
static tree aarch64_simd_intXI_type_node = NULL_TREE;
@@ -509,8 +507,6 @@ aarch64_simd_builtin_std_type (enum machine_mode mode,
return QUAL_TYPE (TI);
case OImode:
return aarch64_simd_intOI_type_node;
- case EImode:
- return aarch64_simd_intEI_type_node;
case CImode:
return aarch64_simd_intCI_type_node;
case XImode:
@@ -623,15 +619,11 @@ aarch64_init_simd_builtin_types (void)
#define AARCH64_BUILD_SIGNED_TYPE(mode) \
make_signed_type (GET_MODE_PRECISION (mode));
aarch64_simd_intOI_type_node = AARCH64_BUILD_SIGNED_TYPE (OImode);
- aarch64_simd_intEI_type_node = AARCH64_BUILD_SIGNED_TYPE (EImode);
aarch64_simd_intCI_type_node = AARCH64_BUILD_SIGNED_TYPE (CImode);
aarch64_simd_intXI_type_node = AARCH64_BUILD_SIGNED_TYPE (XImode);
#undef AARCH64_BUILD_SIGNED_TYPE
tdecl = add_builtin_type
- ("__builtin_aarch64_simd_ei" , aarch64_simd_intEI_type_node);
- TYPE_NAME (aarch64_simd_intEI_type_node) = tdecl;
- tdecl = add_builtin_type
("__builtin_aarch64_simd_oi" , aarch64_simd_intOI_type_node);
TYPE_NAME (aarch64_simd_intOI_type_node) = tdecl;
tdecl = add_builtin_type
diff --git a/gcc/config/aarch64/aarch64-modes.def b/gcc/config/aarch64/aarch64-modes.def
index b17b90d..653bd00 100644
--- a/gcc/config/aarch64/aarch64-modes.def
+++ b/gcc/config/aarch64/aarch64-modes.def
@@ -46,9 +46,8 @@ VECTOR_MODE (FLOAT, DF, 1); /* V1DF. */
/* Oct Int: 256-bit integer mode needed for 32-byte vector arguments. */
INT_MODE (OI, 32);
-/* Opaque integer modes for 3, 6 or 8 Neon double registers (2 is
- TImode). */
-INT_MODE (EI, 24);
+/* Opaque integer modes for 3 or 4 Neon q-registers / 6 or 8 Neon d-registers
+ (2 d-regs = 1 q-reg = TImode). */
INT_MODE (CI, 48);
INT_MODE (XI, 64);
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 020f63c..a923b55 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -9305,7 +9305,7 @@ aarch64_simd_attr_length_move (rtx_insn *insn)
}
/* Compute and return the length of aarch64_simd_reglist<mode>, where <mode> is
- one of VSTRUCT modes: OI, CI, EI, or XI. */
+ one of VSTRUCT modes: OI, CI, or XI. */
int
aarch64_simd_attr_length_rglist (enum machine_mode mode)
{
--
1.8.3