OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [fold-const.c] - Diff between revs 280 and 378

Show entire file | Details | Blame | View Log

Rev 280 Rev 378
Line 4735... Line 4735...
                               build_int_cst (exp_type, 0),
                               build_int_cst (exp_type, 0),
                               0, high, 1);
                               0, high, 1);
          n_high = range_binop (MINUS_EXPR, exp_type,
          n_high = range_binop (MINUS_EXPR, exp_type,
                                build_int_cst (exp_type, 0),
                                build_int_cst (exp_type, 0),
                                0, low, 0);
                                0, low, 0);
          low = n_low, high = n_high;
          if (n_high != 0 && TREE_OVERFLOW (n_high))
          exp = arg0;
            break;
          continue;
          goto normalize;
 
 
        case BIT_NOT_EXPR:
        case BIT_NOT_EXPR:
          /* ~ X -> -X - 1  */
          /* ~ X -> -X - 1  */
          exp = build2 (MINUS_EXPR, exp_type, negate_expr (arg0),
          exp = build2 (MINUS_EXPR, exp_type, negate_expr (arg0),
                        build_int_cst (exp_type, 1));
                        build_int_cst (exp_type, 1));
Line 4771... Line 4771...
            break;
            break;
 
 
          if (TYPE_OVERFLOW_UNDEFINED (arg0_type))
          if (TYPE_OVERFLOW_UNDEFINED (arg0_type))
            *strict_overflow_p = true;
            *strict_overflow_p = true;
 
 
 
        normalize:
          /* Check for an unsigned range which has wrapped around the maximum
          /* Check for an unsigned range which has wrapped around the maximum
             value thus making n_high < n_low, and normalize it.  */
             value thus making n_high < n_low, and normalize it.  */
          if (n_low && n_high && tree_int_cst_lt (n_high, n_low))
          if (n_low && n_high && tree_int_cst_lt (n_high, n_low))
            {
            {
              low = range_binop (PLUS_EXPR, arg0_type, n_high, 0,
              low = range_binop (PLUS_EXPR, arg0_type, n_high, 0,

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.