------- 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