aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2009-07-22 15:04:19 +0200
committerUros Bizjak <uros@gcc.gnu.org>2009-07-22 15:04:19 +0200
commit1a66936f87bd6fce4765c9cb157734d2f1850282 (patch)
treef0fb816ee970af01b57baa845827d4de444fc2f8 /gcc
parentaf4beb4b957395c1eddac112cf14fa4e53d6c414 (diff)
downloadgcc-1a66936f87bd6fce4765c9cb157734d2f1850282.zip
gcc-1a66936f87bd6fce4765c9cb157734d2f1850282.tar.gz
gcc-1a66936f87bd6fce4765c9cb157734d2f1850282.tar.bz2
predicates.md (zero_extended_scalar_load_operand): Use CONST_VECTOR_NUNITS to determine number of elements.
* config/i386/predicates.md (zero_extended_scalar_load_operand): Use CONST_VECTOR_NUNITS to determine number of elements. From-SVN: r149930
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/i386/predicates.md11
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7e939cd..bfafc2a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
@@ -110,7 +115,8 @@
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.
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 196599b..2a4b61d 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -750,13 +750,12 @@
{
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);