This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Committed] Fix up one more autovectorizer testcase after my patch
On Tue, 2006-12-12 at 14:25 -0800, Andrew_Pinski@PlayStation.Sony.Com
wrote:
> This is what I checked in after another bootstrap and test, I had to fix
> another vectorizer issue as it was not setting DECL_GIMPLE_REG_P which was
> added after I posted my patch.
I found another case where we use create_tmp_var instead of
vect_get_new_vect_var which we setup DECL_GIMPLE_REG_P correctly
already. This was caught by the powerpc-darwin autotester and it does
not show up on i686-linux which is why I did not check it while
bootstrapping.
Committed as obvious after a quick build/test on powerpc-darwin.
Note the reason why I did a build and not a bootstrap is because this
code is not involved during bootstrap.
Thanks,
Andrew Pinski
ChangeLog:
* tree-vect-transform.c (vect_permute_load_chain):
Set DECL_GIMPLE_REG_P to true for the vect_perm_*
temp variables.
Index: tree-vect-transform.c
===================================================================
--- tree-vect-transform.c (revision 119816)
+++ tree-vect-transform.c (working copy)
@@ -3177,6 +3177,7 @@ vect_permute_load_chain (VEC(tree,heap)
/* data_ref = permute_even (first_data_ref, second_data_ref); */
perm_dest = create_tmp_var (vectype, "vect_perm_even");
+ DECL_GIMPLE_REG_P (perm_dest) = 1;
add_referenced_var (perm_dest);
perm_stmt = build2 (GIMPLE_MODIFY_STMT, void_type_node, perm_dest,
@@ -3192,6 +3193,7 @@ vect_permute_load_chain (VEC(tree,heap)
/* data_ref = permute_odd (first_data_ref, second_data_ref); */
perm_dest = create_tmp_var (vectype, "vect_perm_odd");
+ DECL_GIMPLE_REG_P (perm_dest) = 1;
add_referenced_var (perm_dest);
perm_stmt = build2 (GIMPLE_MODIFY_STMT, void_type_node, perm_dest,