predicates.md (zero_extended_scalar_load_operand): Use CONST_VECTOR_NUNITS to determi...
authorUros Bizjak <uros@gcc.gnu.org>
Wed, 22 Jul 2009 13:04:19 +0000 (15:04 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 22 Jul 2009 13:04:19 +0000 (15:04 +0200)
* config/i386/predicates.md (zero_extended_scalar_load_operand):
Use CONST_VECTOR_NUNITS to determine number of elements.

From-SVN: r149930

gcc/ChangeLog
gcc/config/i386/predicates.md

index 7e939cd..bfafc2a 100644 (file)
@@ -1,3 +1,8 @@
+2009-07-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (zero_extended_scalar_load_operand):
+       Use CONST_VECTOR_NUNITS to determine number of elements.
+
 2009-07-22  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/constraints.md (ZQ, ZR, ZS, ZT): New constraints.
        combined_args_to_skip and args_to_skip.
        * tree-inline.c (update_clone_info): New function.
        (tree_function_versioning): Call update_clone_info.
-       * cgraphunit.c: (cgraph_materialize_clone): Dump materialized functions.
+       * cgraphunit.c: (cgraph_materialize_clone): Dump materialized
+       functions.
        (cgraph_materialize_all_clones): More extensive dumping, working
        with combined_args_to_skip rather than args_to_skip.
 
index 196599b..2a4b61d 100644 (file)
 {
   unsigned n_elts;
   op = maybe_get_pool_constant (op);
-  if (!op)
-    return 0;
-  if (GET_CODE (op) != CONST_VECTOR)
+
+  if (!(op && GET_CODE (op) == CONST_VECTOR))
     return 0;
-  n_elts =
-    (GET_MODE_SIZE (GET_MODE (op)) /
-     GET_MODE_SIZE (GET_MODE_INNER (GET_MODE (op))));
+
+  n_elts = CONST_VECTOR_NUNITS (op);
+
   for (n_elts--; n_elts > 0; n_elts--)
     {
       rtx elt = CONST_VECTOR_ELT (op, n_elts);