From 6698ed01270c9d5a24c404b36883d3e31ae63a0f Mon Sep 17 00:00:00 2001
From: Jakub Jelinek <jakub@redhat.com>
Date: Mon, 2 Jul 2012 08:56:24 +0200
Subject: [PATCH] re PR tree-optimization/53645 (Missed optimization for vector
 integer division lowering)

	PR tree-optimization/53645
	* tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
	instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.

From-SVN: r189108
---
 gcc/ChangeLog           | 6 ++++++
 gcc/tree-vect-generic.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ec8b683b9460..c08b5cd45a38 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/53645
+	* tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
+	instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.
+
 2012-07-01  Wei Guozhi  <carrot@google.com>
 
 	PR target/53447
diff --git a/gcc/tree-vect-generic.c b/gcc/tree-vect-generic.c
index 37fa5e3665ff..8d051015d8bd 100644
--- a/gcc/tree-vect-generic.c
+++ b/gcc/tree-vect-generic.c
@@ -768,7 +768,7 @@ expand_vector_divmod (gimple_stmt_iterator *gsi, tree type, tree op0,
 	{
 	  for (i = 0; i < nunits; i++)
 	    sel[i] = !BYTES_BIG_ENDIAN + (i & ~1) + ((i & 1) ? nunits : 0);
-	  if (!can_vec_perm_p (TYPE_MODE (wider_type), false, sel))
+	  if (!can_vec_perm_p (TYPE_MODE (type), false, sel))
 	    decl_e = decl_o = NULL_TREE;
 	}
       else
-- 
GitLab