------- Comment #4 from pinskia at gcc dot gnu dot org 2008-08-05 18:03 -------
Reduced testcase:
void ath9k_hw_9280_spur_mitigate( int bin, int cur_vit_mask) {
int i;
signed char mask_m[123];
signed char mask_p[123];
signed char mask_amt;
for (i = 0; i < 123;i++)
{
int __x1 = ({int __x = cur_vit_mask - bin;(__x < 0) ? -__x : __x;});
mask_amt = __x1< 75;
mask_m[cur_vit_mask ] = mask_amt;
mask_p[cur_vit_mask] = mask_amt;
cur_vit_mask --;
}
f(mask_p);
f(mask_m);
}
Expand is getting:
(int) ivtmp.20 >= -74 && (int) ivtmp.20 <= 74
Which comes from folding of:
ABS_EXPR <(int) ivtmp.20> <= 74
Which is folded at:
4509 exp = fold_convert (lang_hooks.types.type_for_mode
4510 (GET_MODE (SUBREG_REG (target)),
4511 SUBREG_PROMOTED_UNSIGNED_P (target)),
4512 exp);
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |ice-on-valid-code
Last reconfirmed|0000-00-00 00:00:00 |2008-08-05 18:03:10
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37014