[llvm-commits] [llvm-gcc-4.2] r80814 - in /llvm-gcc-4.2/trunk/gcc/config/arm: arm.c arm_neon.h neon.ml
Anton Korobeynikov
asl at math.spbu.ru
Wed Sep 2 11:59:09 PDT 2009
Author: asl
Date: Wed Sep 2 13:59:09 2009
New Revision: 80814
URL: http://llvm.org/viewvc/llvm-project?rev=80814&view=rev
Log:
Missed part from my V1DI'fication. This makes something around 50
tests from gcc NEON testsuite happy
Modified:
llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
llvm-gcc-4.2/trunk/gcc/config/arm/arm_neon.h
llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.c?rev=80814&r1=80813&r2=80814&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.c Wed Sep 2 13:59:09 2009
@@ -16688,7 +16688,6 @@
#define pv4hi_TN V4HI2_type_node
#define pv2si_TN V2SI2_type_node
#define pv2sf_TN V2SF2_type_node
-#define pdi_TN DI1_type_node
#define pv16qi_TN V16QI2_type_node
#define pv8hi_TN V8HI2_type_node
@@ -16701,7 +16700,7 @@
#define pv4hi_TN V4HI_pointer_node
#define pv2si_TN V2SI_pointer_node
#define pv2sf_TN V2SF_pointer_node
-#define pdi_TN intDI_pointer_node
+#define pv1di_TN V1DI_pointer_node
#define pv16qi_TN V16QI_pointer_node
#define pv8hi_TN V8HI_pointer_node
@@ -16816,12 +16815,8 @@
"__builtin_neon_v4hi2");
tree V2SI2_type_node = build_multivec_type (V2SI_type_node, 2,
"__builtin_neon_v2si2");
- tree V1DI2_type_node = build_multivec_type (V1DI_type_node, 1,
+ tree V1DI2_type_node = build_multivec_type (V1DI_type_node, 2,
"__builtin_neon_v1di2");
- tree DI1_type_node = build_multivec_type (neon_intDI_type_node, 1,
- "__builtin_neon_di1");
- tree DI2_type_node = build_multivec_type (neon_intDI_type_node, 2,
- "__builtin_neon_di2");
tree V2SF2_type_node = build_multivec_type (V2SF_type_node, 2,
"__builtin_neon_v2sf2");
tree V8QI3_type_node = build_multivec_type (V8QI_type_node, 3,
@@ -16830,8 +16825,8 @@
"__builtin_neon_v4hi3");
tree V2SI3_type_node = build_multivec_type (V2SI_type_node, 3,
"__builtin_neon_v2si3");
- tree DI3_type_node = build_multivec_type (neon_intDI_type_node, 3,
- "__builtin_neon_di3");
+ tree V1DI3_type_node = build_multivec_type (V1DI_type_node, 3,
+ "__builtin_neon_v1di2");
tree V2SF3_type_node = build_multivec_type (V2SF_type_node, 3,
"__builtin_neon_v2sf3");
tree V8QI4_type_node = build_multivec_type (V8QI_type_node, 4,
@@ -16840,8 +16835,8 @@
"__builtin_neon_v4hi4");
tree V2SI4_type_node = build_multivec_type (V2SI_type_node, 4,
"__builtin_neon_v2si4");
- tree DI4_type_node = build_multivec_type (neon_intDI_type_node, 4,
- "__builtin_neon_di4");
+ tree V1DI4_type_node = build_multivec_type (V1DI_type_node, 4,
+ "__builtin_neon_v1di2");
tree V2SF4_type_node = build_multivec_type (V2SF_type_node, 4,
"__builtin_neon_v2sf4");
tree V16QI2_type_node = build_multivec_type (V16QI_type_node, 2,
@@ -16880,17 +16875,17 @@
tree V8QI2_type_node = intTI_type_node;
tree V4HI2_type_node = intTI_type_node;
tree V2SI2_type_node = intTI_type_node;
- tree DI2_type_node = intTI_type_node;
+ tree V1DI2_type_node = intTI_type_node;
tree V2SF2_type_node = intTI_type_node;
tree V8QI3_type_node = intEI_type_node;
tree V4HI3_type_node = intEI_type_node;
tree V2SI3_type_node = intEI_type_node;
- tree DI3_type_node = intEI_type_node;
+ tree V1DI3_type_node = intEI_type_node;
tree V2SF3_type_node = intEI_type_node;
tree V8QI4_type_node = intOI_type_node;
tree V4HI4_type_node = intOI_type_node;
tree V2SI4_type_node = intOI_type_node;
- tree DI4_type_node = intOI_type_node;
+ tree V1DI4_type_node = intOI_type_node;
tree V2SF4_type_node = intOI_type_node;
tree V16QI2_type_node = intOI_type_node;
tree V8HI2_type_node = intOI_type_node;
@@ -17359,7 +17354,7 @@
tree ti_ftype_const_si_pointer =
build_function_type_list (V2SI2_type_node, const_intSI_pointer_node, NULL);
tree ti_ftype_const_di_pointer =
- build_function_type_list (DI2_type_node, const_intDI_pointer_node, NULL);
+ build_function_type_list (V1DI2_type_node, const_intDI_pointer_node, NULL);
tree ti_ftype_const_sf_pointer =
build_function_type_list (V2SF2_type_node, const_float_pointer_node, NULL);
@@ -17431,7 +17426,7 @@
V2SI2_type_node, NULL);
tree void_ftype_di_pointer_ti =
build_function_type_list (void_type_node, intDI_pointer_node,
- DI2_type_node, NULL);
+ V1DI2_type_node, NULL);
tree void_ftype_sf_pointer_ti =
build_function_type_list (void_type_node, float_pointer_node,
V2SF2_type_node, NULL);
@@ -17508,7 +17503,7 @@
tree ei_ftype_const_si_pointer =
build_function_type_list (V2SI3_type_node, const_intSI_pointer_node, NULL);
tree ei_ftype_const_di_pointer =
- build_function_type_list (DI3_type_node, const_intDI_pointer_node, NULL);
+ build_function_type_list (V1DI3_type_node, const_intDI_pointer_node, NULL);
tree ei_ftype_const_sf_pointer =
build_function_type_list (V2SF3_type_node, const_float_pointer_node, NULL);
@@ -17559,7 +17554,7 @@
V2SI3_type_node, NULL);
tree void_ftype_di_pointer_ei =
build_function_type_list (void_type_node, intDI_pointer_node,
- DI3_type_node, NULL);
+ V1DI3_type_node, NULL);
tree void_ftype_sf_pointer_ei =
build_function_type_list (void_type_node, float_pointer_node,
V2SF3_type_node, NULL);
@@ -17605,7 +17600,7 @@
/* Load size-4 structure operations, double-word. */
tree oi_ftype_const_di_pointer =
- build_function_type_list (DI4_type_node, const_intDI_pointer_node, NULL);
+ build_function_type_list (V1DI4_type_node, const_intDI_pointer_node, NULL);
/* Load size-4 structure operations, quad-word. */
tree xi_ftype_const_qi_pointer =
@@ -17636,7 +17631,7 @@
/* Store size-4 structure operations, double-word. */
tree void_ftype_di_pointer_oi =
build_function_type_list (void_type_node, intDI_pointer_node,
- DI4_type_node, NULL);
+ V1DI4_type_node, NULL);
/* Store size-4 structure operations, quad-word. */
tree void_ftype_qi_pointer_xi =
@@ -17709,32 +17704,30 @@
"__builtin_neon_v4hi2");
(*lang_hooks.types.register_builtin_type) (V2SI2_type_node,
"__builtin_neon_v2si2");
- (*lang_hooks.types.register_builtin_type) (DI1_type_node,
- "__builtin_neon_di1");
- (*lang_hooks.types.register_builtin_type) (DI2_type_node,
- "__builtin_neon_di2");
(*lang_hooks.types.register_builtin_type) (V2SF2_type_node,
"__builtin_neon_v2sf2");
+ (*lang_hooks.types.register_builtin_type) (V1DI2_type_node,
+ "__builtin_neon_v1di2");
(*lang_hooks.types.register_builtin_type) (V8QI3_type_node,
"__builtin_neon_v8qi3");
(*lang_hooks.types.register_builtin_type) (V4HI3_type_node,
"__builtin_neon_v4hi3");
(*lang_hooks.types.register_builtin_type) (V2SI3_type_node,
"__builtin_neon_v2si3");
- (*lang_hooks.types.register_builtin_type) (DI3_type_node,
- "__builtin_neon_di3");
(*lang_hooks.types.register_builtin_type) (V2SF3_type_node,
"__builtin_neon_v2sf3");
+ (*lang_hooks.types.register_builtin_type) (V1DI3_type_node,
+ "__builtin_neon_v1di3");
(*lang_hooks.types.register_builtin_type) (V8QI4_type_node,
"__builtin_neon_v8qi4");
(*lang_hooks.types.register_builtin_type) (V4HI4_type_node,
"__builtin_neon_v4hi4");
(*lang_hooks.types.register_builtin_type) (V2SI4_type_node,
"__builtin_neon_v2si4");
- (*lang_hooks.types.register_builtin_type) (DI4_type_node,
- "__builtin_neon_di4");
(*lang_hooks.types.register_builtin_type) (V2SF4_type_node,
"__builtin_neon_v2sf4");
+ (*lang_hooks.types.register_builtin_type) (V1DI4_type_node,
+ "__builtin_neon_v1di4");
(*lang_hooks.types.register_builtin_type) (V16QI2_type_node,
"__builtin_neon_v16qi2");
(*lang_hooks.types.register_builtin_type) (V8HI2_type_node,
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm_neon.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm_neon.h?rev=80814&r1=80813&r2=80814&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm_neon.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm_neon.h Wed Sep 2 13:59:09 2009
@@ -4717,14 +4717,14 @@
#define vld2_s64(__a) \
({ \
- union { int64x1x2_t __i; __builtin_neon_di2 __o; } __rv; \
+ union { int64x1x2_t __i; __builtin_neon_v1di2 __o; } __rv; \
__rv.__o = __builtin_neon_vld2v1di (__a); \
__rv.__i; \
})
#define vld2_u64(__a) \
({ \
- union { uint64x1x2_t __i; __builtin_neon_di2 __o; } __rv; \
+ union { uint64x1x2_t __i; __builtin_neon_v1di2 __o; } __rv; \
__rv.__o = __builtin_neon_vld2v1di (__a); \
__rv.__i; \
})
@@ -4977,14 +4977,14 @@
#define vld2_dup_s64(__a) \
({ \
- union { int64x1x2_t __i; __builtin_neon_di2 __o; } __rv; \
+ union { int64x1x2_t __i; __builtin_neon_v1di2 __o; } __rv; \
__rv.__o = __builtin_neon_vld2_dupv1di (__a); \
__rv.__i; \
})
#define vld2_dup_u64(__a) \
({ \
- union { uint64x1x2_t __i; __builtin_neon_di2 __o; } __rv; \
+ union { uint64x1x2_t __i; __builtin_neon_v1di2 __o; } __rv; \
__rv.__o = __builtin_neon_vld2_dupv1di (__a); \
__rv.__i; \
})
@@ -5045,13 +5045,13 @@
#define vst2_s64(__a, __b) \
({ \
- union { int64x1x2_t __i; __builtin_neon_di2 __o; } __bu = { __b }; \
+ union { int64x1x2_t __i; __builtin_neon_v1di2 __o; } __bu = { __b }; \
__builtin_neon_vst2v1di (__a, __bu.__o); \
})
#define vst2_u64(__a, __b) \
({ \
- union { uint64x1x2_t __i; __builtin_neon_di2 __o; } __bu = { __b }; \
+ union { uint64x1x2_t __i; __builtin_neon_v1di2 __o; } __bu = { __b }; \
__builtin_neon_vst2v1di (__a, __bu.__o); \
})
@@ -5264,14 +5264,14 @@
#define vld3_s64(__a) \
({ \
- union { int64x1x3_t __i; __builtin_neon_di3 __o; } __rv; \
+ union { int64x1x3_t __i; __builtin_neon_v1di3 __o; } __rv; \
__rv.__o = __builtin_neon_vld3v1di (__a); \
__rv.__i; \
})
#define vld3_u64(__a) \
({ \
- union { uint64x1x3_t __i; __builtin_neon_di3 __o; } __rv; \
+ union { uint64x1x3_t __i; __builtin_neon_v1di3 __o; } __rv; \
__rv.__o = __builtin_neon_vld3v1di (__a); \
__rv.__i; \
})
@@ -5524,14 +5524,14 @@
#define vld3_dup_s64(__a) \
({ \
- union { int64x1x3_t __i; __builtin_neon_di3 __o; } __rv; \
+ union { int64x1x3_t __i; __builtin_neon_v1di3 __o; } __rv; \
__rv.__o = __builtin_neon_vld3_dupv1di (__a); \
__rv.__i; \
})
#define vld3_dup_u64(__a) \
({ \
- union { uint64x1x3_t __i; __builtin_neon_di3 __o; } __rv; \
+ union { uint64x1x3_t __i; __builtin_neon_v1di3 __o; } __rv; \
__rv.__o = __builtin_neon_vld3_dupv1di (__a); \
__rv.__i; \
})
@@ -5592,13 +5592,13 @@
#define vst3_s64(__a, __b) \
({ \
- union { int64x1x3_t __i; __builtin_neon_di3 __o; } __bu = { __b }; \
+ union { int64x1x3_t __i; __builtin_neon_v1di3 __o; } __bu = { __b }; \
__builtin_neon_vst3v1di (__a, __bu.__o); \
})
#define vst3_u64(__a, __b) \
({ \
- union { uint64x1x3_t __i; __builtin_neon_di3 __o; } __bu = { __b }; \
+ union { uint64x1x3_t __i; __builtin_neon_v1di3 __o; } __bu = { __b }; \
__builtin_neon_vst3v1di (__a, __bu.__o); \
})
@@ -5811,14 +5811,14 @@
#define vld4_s64(__a) \
({ \
- union { int64x1x4_t __i; __builtin_neon_di4 __o; } __rv; \
+ union { int64x1x4_t __i; __builtin_neon_v1di4 __o; } __rv; \
__rv.__o = __builtin_neon_vld4v1di (__a); \
__rv.__i; \
})
#define vld4_u64(__a) \
({ \
- union { uint64x1x4_t __i; __builtin_neon_di4 __o; } __rv; \
+ union { uint64x1x4_t __i; __builtin_neon_v1di4 __o; } __rv; \
__rv.__o = __builtin_neon_vld4v1di (__a); \
__rv.__i; \
})
@@ -6071,14 +6071,14 @@
#define vld4_dup_s64(__a) \
({ \
- union { int64x1x4_t __i; __builtin_neon_di4 __o; } __rv; \
+ union { int64x1x4_t __i; __builtin_neon_v1di4 __o; } __rv; \
__rv.__o = __builtin_neon_vld4_dupv1di (__a); \
__rv.__i; \
})
#define vld4_dup_u64(__a) \
({ \
- union { uint64x1x4_t __i; __builtin_neon_di4 __o; } __rv; \
+ union { uint64x1x4_t __i; __builtin_neon_v1di4 __o; } __rv; \
__rv.__o = __builtin_neon_vld4_dupv1di (__a); \
__rv.__i; \
})
@@ -6139,13 +6139,13 @@
#define vst4_s64(__a, __b) \
({ \
- union { int64x1x4_t __i; __builtin_neon_di4 __o; } __bu = { __b }; \
+ union { int64x1x4_t __i; __builtin_neon_v1di4 __o; } __bu = { __b }; \
__builtin_neon_vst4v1di (__a, __bu.__o); \
})
#define vst4_u64(__a, __b) \
({ \
- union { uint64x1x4_t __i; __builtin_neon_di4 __o; } __bu = { __b }; \
+ union { uint64x1x4_t __i; __builtin_neon_v1di4 __o; } __bu = { __b }; \
__builtin_neon_vst4v1di (__a, __bu.__o); \
})
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml?rev=80814&r1=80813&r2=80814&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/neon.ml Wed Sep 2 13:59:09 2009
@@ -1781,17 +1781,17 @@
B_TId8mode -> "__builtin_neon_v8qi2"
| B_TId16mode -> "__builtin_neon_v4hi2"
| B_TId32mode -> "__builtin_neon_v2si2"
- | B_TId64mode -> "__builtin_neon_di2"
+ | B_TId64mode -> "__builtin_neon_v1di2"
| B_TIdSFmode -> "__builtin_neon_v2sf2"
| B_EId8mode -> "__builtin_neon_v8qi3"
| B_EId16mode -> "__builtin_neon_v4hi3"
| B_EId32mode -> "__builtin_neon_v2si3"
- | B_EId64mode -> "__builtin_neon_di3"
+ | B_EId64mode -> "__builtin_neon_v1di3"
| B_EIdSFmode -> "__builtin_neon_v2sf3"
| B_OId8mode -> "__builtin_neon_v8qi4"
| B_OId16mode -> "__builtin_neon_v4hi4"
| B_OId32mode -> "__builtin_neon_v2si4"
- | B_OId64mode -> "__builtin_neon_di4"
+ | B_OId64mode -> "__builtin_neon_v1di4"
| B_OIdSFmode -> "__builtin_neon_v2sf4"
| B_OIq8mode -> "__builtin_neon_v16qi2"
| B_OIq16mode -> "__builtin_neon_v8hi2"
More information about the llvm-commits
mailing list