summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-09-29 22:12:52 +0000
committerKoen Kooi <koen@dominion.thruhere.net>2011-10-04 13:48:57 +0200
commitb9b5306e551f26d76e9dc5fa6f10c2c095fe6e0f (patch)
tree3908112a2010485903e16f9f7fec5d0fec2a37fa /meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch
parent9f2e55480dc94e90ac09ca468cf2f0dacb54ae2d (diff)
downloadmeta-openembedded-b9b5306e551f26d76e9dc5fa6f10c2c095fe6e0f.tar.gz
gcc-4.6: Bring in latest linaro patches
Adjust existing patches for latest FSF gcc-4_6-branch Signed-off-by: Khem Raj <raj.khem@gmail.com> Acked-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch')
-rw-r--r--meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch185
1 files changed, 71 insertions, 114 deletions
diff --git a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch
index 37e3036b22..ff34514ff7 100644
--- a/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch
+++ b/meta-oe/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106769.patch
@@ -50,8 +50,10 @@
50 * gcc.dg/vect/vect-widen-mult-half.c: New test. 50 * gcc.dg/vect/vect-widen-mult-half.c: New test.
51 51
52=== added file 'gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c' 52=== added file 'gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c'
53--- old/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c 1970-01-01 00:00:00 +0000 53Index: gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c
54+++ new/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c 2011-07-06 12:04:10 +0000 54===================================================================
55--- /dev/null 1970-01-01 00:00:00.000000000 +0000
56+++ gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/slp-widen-mult-half.c 2011-09-16 20:32:57.279056697 -0700
55@@ -0,0 +1,52 @@ 57@@ -0,0 +1,52 @@
56+/* { dg-require-effective-target vect_int } */ 58+/* { dg-require-effective-target vect_int } */
57+ 59+
@@ -105,10 +107,10 @@
105+/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */ 107+/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
106+/* { dg-final { cleanup-tree-dump "vect" } } */ 108+/* { dg-final { cleanup-tree-dump "vect" } } */
107+ 109+
108 110Index: gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c
109=== added file 'gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c' 111===================================================================
110--- old/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c 1970-01-01 00:00:00 +0000 112--- /dev/null 1970-01-01 00:00:00.000000000 +0000
111+++ new/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c 2011-07-06 12:04:10 +0000 113+++ gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half-u8.c 2011-09-16 20:32:57.279056697 -0700
112@@ -0,0 +1,59 @@ 114@@ -0,0 +1,59 @@
113+/* { dg-require-effective-target vect_int } */ 115+/* { dg-require-effective-target vect_int } */
114+ 116+
@@ -169,10 +171,10 @@
169+/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */ 171+/* { dg-final { scan-tree-dump-times "pattern recognized" 2 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
170+/* { dg-final { cleanup-tree-dump "vect" } } */ 172+/* { dg-final { cleanup-tree-dump "vect" } } */
171+ 173+
172 174Index: gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c
173=== added file 'gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c' 175===================================================================
174--- old/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c 1970-01-01 00:00:00 +0000 176--- /dev/null 1970-01-01 00:00:00.000000000 +0000
175+++ new/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c 2011-07-06 12:04:10 +0000 177+++ gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/vect-widen-mult-half.c 2011-09-16 20:32:57.279056697 -0700
176@@ -0,0 +1,49 @@ 178@@ -0,0 +1,49 @@
177+/* { dg-require-effective-target vect_int } */ 179+/* { dg-require-effective-target vect_int } */
178+ 180+
@@ -223,10 +225,10 @@
223+/* { dg-final { scan-tree-dump-times "pattern recognized" 1 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */ 225+/* { dg-final { scan-tree-dump-times "pattern recognized" 1 "vect" { target vect_widen_mult_hi_to_si_pattern } } } */
224+/* { dg-final { cleanup-tree-dump "vect" } } */ 226+/* { dg-final { cleanup-tree-dump "vect" } } */
225+ 227+
226 228Index: gcc-4_6-branch/gcc/tree-vect-loop.c
227=== modified file 'gcc/tree-vect-loop.c' 229===================================================================
228--- old/gcc/tree-vect-loop.c 2011-07-04 11:13:51 +0000 230--- gcc-4_6-branch.orig/gcc/tree-vect-loop.c 2011-09-16 20:31:52.000000000 -0700
229+++ new/gcc/tree-vect-loop.c 2011-07-11 11:02:55 +0000 231+++ gcc-4_6-branch/gcc/tree-vect-loop.c 2011-09-16 20:32:57.289056641 -0700
230@@ -181,6 +181,8 @@ 232@@ -181,6 +181,8 @@
231 stmt_vec_info stmt_info; 233 stmt_vec_info stmt_info;
232 int i; 234 int i;
@@ -246,7 +248,6 @@
246- tree vf_vectype; 248- tree vf_vectype;
247- gimple stmt = gsi_stmt (si), pattern_stmt; 249- gimple stmt = gsi_stmt (si), pattern_stmt;
248- stmt_info = vinfo_for_stmt (stmt); 250- stmt_info = vinfo_for_stmt (stmt);
249-
250+ tree vf_vectype; 251+ tree vf_vectype;
251+ 252+
252+ if (analyze_pattern_stmt) 253+ if (analyze_pattern_stmt)
@@ -256,7 +257,7 @@
256+ } 257+ }
257+ else 258+ else
258+ stmt = gsi_stmt (si); 259+ stmt = gsi_stmt (si);
259+ 260
260+ stmt_info = vinfo_for_stmt (stmt); 261+ stmt_info = vinfo_for_stmt (stmt);
261+ 262+
262 if (vect_print_dump_info (REPORT_DETAILS)) 263 if (vect_print_dump_info (REPORT_DETAILS))
@@ -376,10 +377,10 @@
376 } /* stmts in BB */ 377 } /* stmts in BB */
377 } /* BBs in loop */ 378 } /* BBs in loop */
378 379
379 380Index: gcc-4_6-branch/gcc/tree-vect-patterns.c
380=== modified file 'gcc/tree-vect-patterns.c' 381===================================================================
381--- old/gcc/tree-vect-patterns.c 2011-06-22 12:10:44 +0000 382--- gcc-4_6-branch.orig/gcc/tree-vect-patterns.c 2011-09-16 20:31:52.000000000 -0700
382+++ new/gcc/tree-vect-patterns.c 2011-07-06 12:04:10 +0000 383+++ gcc-4_6-branch/gcc/tree-vect-patterns.c 2011-09-16 20:32:57.289056641 -0700
383@@ -39,10 +39,13 @@ 384@@ -39,10 +39,13 @@
384 #include "diagnostic-core.h" 385 #include "diagnostic-core.h"
385 386
@@ -552,21 +553,6 @@
552 S5 prod_T = a_T * CONST; 553 S5 prod_T = a_T * CONST;
553 554
554- Input: 555- Input:
555-
556- * LAST_STMT: A stmt from which the pattern search begins. In the example,
557- when this function is called with S5, the pattern {S3,S4,S5,(S6)} is
558- detected.
559-
560- Output:
561-
562- * TYPE_IN: The type of the input arguments to the pattern.
563-
564- * TYPE_OUT: The type of the output of this pattern.
565-
566- * Return value: A new stmt that will be used to replace the sequence of
567- stmts that constitute the pattern. In this case it will be:
568- WIDEN_MULT <a_t, b_t>
569- */
570+ A special case of multiplication by constants is when 'TYPE' is 4 times 556+ A special case of multiplication by constants is when 'TYPE' is 4 times
571+ bigger than 'type', but CONST fits an intermediate type 2 times smaller 557+ bigger than 'type', but CONST fits an intermediate type 2 times smaller
572+ than 'TYPE'. In that case we create an additional pattern stmt for S3 558+ than 'TYPE'. In that case we create an additional pattern stmt for S3
@@ -584,20 +570,30 @@
584+ '--> prod_T' = a_it w* CONST; 570+ '--> prod_T' = a_it w* CONST;
585+ 571+
586+ Input/Output: 572+ Input/Output:
587+ 573
574- * LAST_STMT: A stmt from which the pattern search begins. In the example,
575- when this function is called with S5, the pattern {S3,S4,S5,(S6)} is
576- detected.
588+ * STMTS: Contains a stmt from which the pattern search begins. In the 577+ * STMTS: Contains a stmt from which the pattern search begins. In the
589+ example, when this function is called with S5, the pattern {S3,S4,S5,(S6)} 578+ example, when this function is called with S5, the pattern {S3,S4,S5,(S6)}
590+ is detected. In case of unsigned widen-mult, the original stmt (S5) is 579+ is detected. In case of unsigned widen-mult, the original stmt (S5) is
591+ replaced with S6 in STMTS. In case of multiplication by a constant 580+ replaced with S6 in STMTS. In case of multiplication by a constant
592+ of an intermediate type (the last case above), STMTS also contains S3 581+ of an intermediate type (the last case above), STMTS also contains S3
593+ (inserted before S5). 582+ (inserted before S5).
594+ 583
584- Output:
595+ Output: 585+ Output:
596+ 586
587- * TYPE_IN: The type of the input arguments to the pattern.
597+ * TYPE_IN: The type of the input arguments to the pattern. 588+ * TYPE_IN: The type of the input arguments to the pattern.
598+ 589
590- * TYPE_OUT: The type of the output of this pattern.
599+ * TYPE_OUT: The type of the output of this pattern. 591+ * TYPE_OUT: The type of the output of this pattern.
600+ 592
593- * Return value: A new stmt that will be used to replace the sequence of
594- stmts that constitute the pattern. In this case it will be:
595- WIDEN_MULT <a_t, b_t>
596- */
601+ * Return value: A new stmt that will be used to replace the sequence of 597+ * Return value: A new stmt that will be used to replace the sequence of
602+ stmts that constitute the pattern. In this case it will be: 598+ stmts that constitute the pattern. In this case it will be:
603+ WIDEN_MULT <a_t, b_t> 599+ WIDEN_MULT <a_t, b_t>
@@ -932,10 +928,10 @@
932 928
933 if (vect_print_dump_info (REPORT_DETAILS)) 929 if (vect_print_dump_info (REPORT_DETAILS))
934 fprintf (vect_dump, "=== vect_pattern_recog ==="); 930 fprintf (vect_dump, "=== vect_pattern_recog ===");
935 931Index: gcc-4_6-branch/gcc/tree-vect-slp.c
936=== modified file 'gcc/tree-vect-slp.c' 932===================================================================
937--- old/gcc/tree-vect-slp.c 2011-06-19 10:59:13 +0000 933--- gcc-4_6-branch.orig/gcc/tree-vect-slp.c 2011-09-16 20:31:52.000000000 -0700
938+++ new/gcc/tree-vect-slp.c 2011-07-06 12:04:10 +0000 934+++ gcc-4_6-branch/gcc/tree-vect-slp.c 2011-09-16 20:32:57.289056641 -0700
939@@ -152,7 +152,9 @@ 935@@ -152,7 +152,9 @@
940 if (loop && def_stmt && gimple_bb (def_stmt) 936 if (loop && def_stmt && gimple_bb (def_stmt)
941 && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt)) 937 && flow_bb_inside_loop_p (loop, gimple_bb (def_stmt))
@@ -947,10 +943,10 @@
947 { 943 {
948 if (!*first_stmt_dt0) 944 if (!*first_stmt_dt0)
949 *pattern0 = true; 945 *pattern0 = true;
950 946Index: gcc-4_6-branch/gcc/tree-vect-stmts.c
951=== modified file 'gcc/tree-vect-stmts.c' 947===================================================================
952--- old/gcc/tree-vect-stmts.c 2011-06-22 06:21:13 +0000 948--- gcc-4_6-branch.orig/gcc/tree-vect-stmts.c 2011-09-16 20:31:52.000000000 -0700
953+++ new/gcc/tree-vect-stmts.c 2011-07-06 12:04:10 +0000 949+++ gcc-4_6-branch/gcc/tree-vect-stmts.c 2011-09-16 20:32:57.289056641 -0700
954@@ -126,33 +126,72 @@ 950@@ -126,33 +126,72 @@
955 951
956 static void 952 static void
@@ -974,21 +970,6 @@
974 if (STMT_VINFO_IN_PATTERN_P (stmt_info)) 970 if (STMT_VINFO_IN_PATTERN_P (stmt_info))
975 { 971 {
976- gimple pattern_stmt; 972- gimple pattern_stmt;
977-
978- /* This is the last stmt in a sequence that was detected as a
979- pattern that can potentially be vectorized. Don't mark the stmt
980- as relevant/live because it's not going to be vectorized.
981- Instead mark the pattern-stmt that replaces it. */
982-
983- pattern_stmt = STMT_VINFO_RELATED_STMT (stmt_info);
984-
985- if (vect_print_dump_info (REPORT_DETAILS))
986- fprintf (vect_dump, "last stmt in pattern. don't mark relevant/live.");
987- stmt_info = vinfo_for_stmt (pattern_stmt);
988- gcc_assert (STMT_VINFO_RELATED_STMT (stmt_info) == stmt);
989- save_relevant = STMT_VINFO_RELEVANT (stmt_info);
990- save_live_p = STMT_VINFO_LIVE_P (stmt_info);
991- stmt = pattern_stmt;
992+ bool found = false; 973+ bool found = false;
993+ if (!used_in_pattern) 974+ if (!used_in_pattern)
994+ { 975+ {
@@ -1026,7 +1007,21 @@
1026+ pattern that can potentially be vectorized. Don't mark the stmt 1007+ pattern that can potentially be vectorized. Don't mark the stmt
1027+ as relevant/live because it's not going to be vectorized. 1008+ as relevant/live because it's not going to be vectorized.
1028+ Instead mark the pattern-stmt that replaces it. */ 1009+ Instead mark the pattern-stmt that replaces it. */
1029+ 1010
1011- /* This is the last stmt in a sequence that was detected as a
1012- pattern that can potentially be vectorized. Don't mark the stmt
1013- as relevant/live because it's not going to be vectorized.
1014- Instead mark the pattern-stmt that replaces it. */
1015-
1016- pattern_stmt = STMT_VINFO_RELATED_STMT (stmt_info);
1017-
1018- if (vect_print_dump_info (REPORT_DETAILS))
1019- fprintf (vect_dump, "last stmt in pattern. don't mark relevant/live.");
1020- stmt_info = vinfo_for_stmt (pattern_stmt);
1021- gcc_assert (STMT_VINFO_RELATED_STMT (stmt_info) == stmt);
1022- save_relevant = STMT_VINFO_RELEVANT (stmt_info);
1023- save_live_p = STMT_VINFO_LIVE_P (stmt_info);
1024- stmt = pattern_stmt;
1030+ pattern_stmt = STMT_VINFO_RELATED_STMT (stmt_info); 1025+ pattern_stmt = STMT_VINFO_RELATED_STMT (stmt_info);
1031+ 1026+
1032+ if (vect_print_dump_info (REPORT_DETAILS)) 1027+ if (vect_print_dump_info (REPORT_DETAILS))
@@ -1119,9 +1114,6 @@
1119- VEC_free (gimple, heap, worklist); 1114- VEC_free (gimple, heap, worklist);
1120- return false; 1115- return false;
1121- } 1116- }
1122- }
1123- else
1124- return false;
1125+ break; 1117+ break;
1126+ 1118+
1127+ case GIMPLE_BINARY_RHS: 1119+ case GIMPLE_BINARY_RHS:
@@ -1154,7 +1146,9 @@
1154+ 1146+
1155+ default: 1147+ default:
1156+ return false; 1148+ return false;
1157+ } 1149 }
1150- else
1151- return false;
1158 } 1152 }
1159 else if (is_gimple_call (stmt)) 1153 else if (is_gimple_call (stmt))
1160 { 1154 {
@@ -1173,7 +1167,7 @@
1173 gcc_assert (vec_stmt); 1167 gcc_assert (vec_stmt);
1174 if (gimple_code (vec_stmt) == GIMPLE_PHI) 1168 if (gimple_code (vec_stmt) == GIMPLE_PHI)
1175 vec_oprnd = PHI_RESULT (vec_stmt); 1169 vec_oprnd = PHI_RESULT (vec_stmt);
1176@@ -4886,6 +4946,7 @@ 1170@@ -4894,6 +4954,7 @@
1177 enum vect_relevant relevance = STMT_VINFO_RELEVANT (stmt_info); 1171 enum vect_relevant relevance = STMT_VINFO_RELEVANT (stmt_info);
1178 bool ok; 1172 bool ok;
1179 tree scalar_type, vectype; 1173 tree scalar_type, vectype;
@@ -1181,14 +1175,13 @@
1181 1175
1182 if (vect_print_dump_info (REPORT_DETAILS)) 1176 if (vect_print_dump_info (REPORT_DETAILS))
1183 { 1177 {
1184@@ -4907,16 +4968,22 @@ 1178@@ -4915,16 +4976,22 @@
1185 - any LABEL_EXPRs in the loop 1179 - any LABEL_EXPRs in the loop
1186 - computations that are used only for array indexing or loop control. 1180 - computations that are used only for array indexing or loop control.
1187 In basic blocks we only analyze statements that are a part of some SLP 1181 In basic blocks we only analyze statements that are a part of some SLP
1188- instance, therefore, all the statements are relevant. */ 1182- instance, therefore, all the statements are relevant. */
1189-
1190+ instance, therefore, all the statements are relevant. 1183+ instance, therefore, all the statements are relevant.
1191+ 1184
1192+ Pattern statement need to be analyzed instead of the original statement 1185+ Pattern statement need to be analyzed instead of the original statement
1193+ if the original statement is not relevant. Otherwise, we analyze both 1186+ if the original statement is not relevant. Otherwise, we analyze both
1194+ statements. */ 1187+ statements. */
@@ -1207,7 +1200,7 @@
1207 stmt = pattern_stmt; 1200 stmt = pattern_stmt;
1208 stmt_info = vinfo_for_stmt (pattern_stmt); 1201 stmt_info = vinfo_for_stmt (pattern_stmt);
1209 if (vect_print_dump_info (REPORT_DETAILS)) 1202 if (vect_print_dump_info (REPORT_DETAILS))
1210@@ -4933,6 +5000,21 @@ 1203@@ -4941,6 +5008,21 @@
1211 return true; 1204 return true;
1212 } 1205 }
1213 } 1206 }
@@ -1229,42 +1222,7 @@
1229 1222
1230 switch (STMT_VINFO_DEF_TYPE (stmt_info)) 1223 switch (STMT_VINFO_DEF_TYPE (stmt_info))
1231 { 1224 {
1232@@ -5066,7 +5148,6 @@ 1225@@ -5605,8 +5687,12 @@
1233 bool is_store = false;
1234 gimple vec_stmt = NULL;
1235 stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
1236- gimple orig_stmt_in_pattern, orig_scalar_stmt = stmt;
1237 bool done;
1238
1239 switch (STMT_VINFO_TYPE (stmt_info))
1240@@ -5205,25 +5286,7 @@
1241 }
1242
1243 if (vec_stmt)
1244- {
1245- STMT_VINFO_VEC_STMT (stmt_info) = vec_stmt;
1246- orig_stmt_in_pattern = STMT_VINFO_RELATED_STMT (stmt_info);
1247- if (orig_stmt_in_pattern)
1248- {
1249- stmt_vec_info stmt_vinfo = vinfo_for_stmt (orig_stmt_in_pattern);
1250- /* STMT was inserted by the vectorizer to replace a computation idiom.
1251- ORIG_STMT_IN_PATTERN is a stmt in the original sequence that
1252- computed this idiom. We need to record a pointer to VEC_STMT in
1253- the stmt_info of ORIG_STMT_IN_PATTERN. See more details in the
1254- documentation of vect_pattern_recog. */
1255- if (STMT_VINFO_IN_PATTERN_P (stmt_vinfo))
1256- {
1257- gcc_assert (STMT_VINFO_RELATED_STMT (stmt_vinfo)
1258- == orig_scalar_stmt);
1259- STMT_VINFO_VEC_STMT (stmt_vinfo) = vec_stmt;
1260- }
1261- }
1262- }
1263+ STMT_VINFO_VEC_STMT (stmt_info) = vec_stmt;
1264
1265 return is_store;
1266 }
1267@@ -5601,8 +5664,12 @@
1268 || *dt == vect_nested_cycle) 1226 || *dt == vect_nested_cycle)
1269 { 1227 {
1270 stmt_vec_info stmt_info = vinfo_for_stmt (*def_stmt); 1228 stmt_vec_info stmt_info = vinfo_for_stmt (*def_stmt);
@@ -1278,10 +1236,10 @@
1278 *vectype = STMT_VINFO_VECTYPE (stmt_info); 1236 *vectype = STMT_VINFO_VECTYPE (stmt_info);
1279 gcc_assert (*vectype != NULL_TREE); 1237 gcc_assert (*vectype != NULL_TREE);
1280 } 1238 }
1281 1239Index: gcc-4_6-branch/gcc/tree-vectorizer.h
1282=== modified file 'gcc/tree-vectorizer.h' 1240===================================================================
1283--- old/gcc/tree-vectorizer.h 2011-07-04 11:13:51 +0000 1241--- gcc-4_6-branch.orig/gcc/tree-vectorizer.h 2011-09-16 20:31:52.000000000 -0700
1284+++ new/gcc/tree-vectorizer.h 2011-07-11 11:02:55 +0000 1242+++ gcc-4_6-branch/gcc/tree-vectorizer.h 2011-09-16 20:32:57.299056515 -0700
1285@@ -890,7 +890,7 @@ 1243@@ -890,7 +890,7 @@
1286 /* Pattern recognition functions. 1244 /* Pattern recognition functions.
1287 Additional pattern recognition functions can (and will) be added 1245 Additional pattern recognition functions can (and will) be added
@@ -1291,4 +1249,3 @@
1291 #define NUM_PATTERNS 4 1249 #define NUM_PATTERNS 4
1292 void vect_pattern_recog (loop_vec_info); 1250 void vect_pattern_recog (loop_vec_info);
1293 1251
1294