ifcvt.c (noce_try_store_flag_constants): Test for overflow in computing DIFF.
* ifcvt.c (noce_try_store_flag_constants): Test for overflow in computing DIFF. From-SVN: r47374
This commit is contained in:
parent
d99b0e7965
commit
188235dff1
@ -1,3 +1,8 @@
|
||||
2001-11-27 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* ifcvt.c (noce_try_store_flag_constants): Test for overflow
|
||||
in computing DIFF.
|
||||
|
||||
2001-11-27 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* cppfiles.c (read_include_file): Add comment.
|
||||
|
@ -650,6 +650,12 @@ noce_try_store_flag_constants (if_info)
|
||||
mode = GET_MODE (if_info->x);
|
||||
ifalse = INTVAL (if_info->a);
|
||||
itrue = INTVAL (if_info->b);
|
||||
|
||||
/* Make sure we can represent the difference between the two values. */
|
||||
if ((itrue - ifalse > 0)
|
||||
!= ((ifalse < 0) != (itrue < 0) ? ifalse < 0 : ifalse < itrue))
|
||||
return FALSE;
|
||||
|
||||
diff = trunc_int_for_mode (itrue - ifalse, mode);
|
||||
|
||||
can_reverse = (reversed_comparison_code (if_info->cond, if_info->jump)
|
||||
|
Loading…
Reference in New Issue
Block a user