-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
+ comment.
+ * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
+ (aarch64_simd_intEI_type_node): Likewise.
+ (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.
+
+2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
* config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
Change operand mode from <V_THREE_ELEM> to BLK.
#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
static tree aarch64_fp16_type_node = NULL_TREE;
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;
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:
#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;
/* 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);
}
/* 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)
{