Commit d51a6714 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/66233 (internal compiler error: in expand_fix, at optabs.c:5358)

	PR tree-optimization/66233
	* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
	Simplify.

	* gcc.c-torture/execute/pr66233.c: New test.

From-SVN: r223500
parent c39d5e4a
2015-05-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/66233
* match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
Simplify.
2015-05-21 Jeff Law <law@redhat.com> 2015-05-21 Jeff Law <law@redhat.com>
* config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
......
...@@ -730,16 +730,12 @@ along with GCC; see the file COPYING3. If not see ...@@ -730,16 +730,12 @@ along with GCC; see the file COPYING3. If not see
(for integers). Avoid this if the final type is a pointer since (for integers). Avoid this if the final type is a pointer since
then we sometimes need the middle conversion. Likewise if the then we sometimes need the middle conversion. Likewise if the
final type has a precision not equal to the size of its mode. */ final type has a precision not equal to the size of its mode. */
(if (((inter_int && inside_int) (if (((inter_int && inside_int) || (inter_float && inside_float))
|| (inter_float && inside_float) && (final_int || final_float)
|| (inter_vec && inside_vec))
&& inter_prec >= inside_prec && inter_prec >= inside_prec
&& (inter_float || inter_vec && (inter_float || inter_unsignedp == inside_unsignedp)
|| inter_unsignedp == inside_unsignedp) && ! (final_prec != GET_MODE_PRECISION (TYPE_MODE (type))
&& ! (final_prec != GET_MODE_PRECISION (element_mode (type)) && TYPE_MODE (type) == TYPE_MODE (inter_type)))
&& element_mode (type) == element_mode (inter_type))
&& ! final_ptr
&& (! final_vec || inter_prec == inside_prec))
(ocvt @0)) (ocvt @0))
/* If we have a sign-extension of a zero-extended value, we can /* If we have a sign-extension of a zero-extended value, we can
......
2015-05-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/66233
* gcc.c-torture/execute/pr66233.c: New test.
2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org> 2015-05-21 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/66176 PR fortran/66176
......
/* PR tree-optimization/66233 */
unsigned int v[8];
__attribute__((noinline, noclone)) void
foo (void)
{
int i;
for (i = 0; i < 8; i++)
v[i] = (float) i;
}
int
main ()
{
unsigned int i;
foo ();
for (i = 0; i < 8; i++)
if (v[i] != i)
__builtin_abort ();
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment