[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