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

Reply via email to