re PR tree-optimization/54976 (FAIL: gcc.dg/torture/pr47975.c (internal compiler error))
2012-10-19 Richard Biener <rguenther@suse.de> PR tree-optimization/54976 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Robustify against odd inner_mode inputs. From-SVN: r192611
This commit is contained in:
parent
57fc62cb32
commit
dfc2e2acc9
@ -1,3 +1,9 @@
|
||||
2012-10-19 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/54976
|
||||
* tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
|
||||
Robustify against odd inner_mode inputs.
|
||||
|
||||
2012-10-19 Zhenqiang Chen <zhenqiang.chen@linaro.org>
|
||||
|
||||
PR target/54892
|
||||
|
@ -6082,16 +6082,21 @@ get_vectype_for_scalar_type_and_size (tree scalar_type, unsigned size)
|
||||
When the component mode passes the above test simply use a type
|
||||
corresponding to that mode. The theory is that any use that
|
||||
would cause problems with this will disable vectorization anyway. */
|
||||
if (!SCALAR_FLOAT_TYPE_P (scalar_type)
|
||||
&& !INTEGRAL_TYPE_P (scalar_type)
|
||||
&& !POINTER_TYPE_P (scalar_type))
|
||||
else if (!SCALAR_FLOAT_TYPE_P (scalar_type)
|
||||
&& !INTEGRAL_TYPE_P (scalar_type)
|
||||
&& !POINTER_TYPE_P (scalar_type))
|
||||
scalar_type = lang_hooks.types.type_for_mode (inner_mode, 1);
|
||||
|
||||
/* We can't build a vector type of elements with alignment bigger than
|
||||
their size. */
|
||||
if (nbytes < TYPE_ALIGN_UNIT (scalar_type))
|
||||
else if (nbytes < TYPE_ALIGN_UNIT (scalar_type))
|
||||
scalar_type = lang_hooks.types.type_for_mode (inner_mode, 1);
|
||||
|
||||
/* If we felt back to using the mode fail if there was
|
||||
no scalar type for it. */
|
||||
if (scalar_type == NULL_TREE)
|
||||
return NULL_TREE;
|
||||
|
||||
/* If no size was supplied use the mode the target prefers. Otherwise
|
||||
lookup a vector mode of the specified size. */
|
||||
if (size == 0)
|
||||
|
Loading…
Reference in New Issue
Block a user