~ubuntu-branches/ubuntu/maverick/ghdl/maverick

« back to all changes in this revision

Viewing changes to gcc/gcc/combine.c

  • Committer: Bazaar Package Importer
  • Author(s): Wesley J. Landaker
  • Date: 2009-04-02 21:23:07 UTC
  • mfrom: (1.1.11 upstream) (3.2.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090402212307-01pkh97q9b3u1vea
Tags: 0.27+svn110+gcc4.3.3+dfsg-1
* Now using gcc-4.3.3
* Updated copyright information
* Added Vcs-Git information
* Updated to policy 3.8.1 

Show diffs side-by-side

added added

removed removed

Lines of Context:
7024
7024
      if (GET_CODE (rhs) == CONST_INT
7025
7025
          && GET_CODE (lhs) == ASHIFT
7026
7026
          && GET_CODE (XEXP (lhs, 1)) == CONST_INT
7027
 
          && INTVAL (rhs) >= INTVAL (XEXP (lhs, 1)))
 
7027
          && INTVAL (rhs) >= INTVAL (XEXP (lhs, 1))
 
7028
          && INTVAL (rhs) < mode_width)
7028
7029
        {
7029
7030
          new = make_compound_operation (XEXP (lhs, 0), next_code);
7030
7031
          new = make_extraction (mode, new,
7044
7045
                && (OBJECT_P (SUBREG_REG (lhs))))
7045
7046
          && GET_CODE (rhs) == CONST_INT
7046
7047
          && INTVAL (rhs) < HOST_BITS_PER_WIDE_INT
 
7048
          && INTVAL (rhs) < mode_width
7047
7049
          && (new = extract_left_shift (lhs, INTVAL (rhs))) != 0)
7048
7050
        new = make_extraction (mode, make_compound_operation (new, next_code),
7049
7051
                               0, NULL_RTX, mode_width - INTVAL (rhs),
7343
7345
      && (GET_MODE_MASK (GET_MODE (x)) & ~mask) == 0)
7344
7346
    return gen_lowpart (mode, x);
7345
7347
 
 
7348
  /* The arithmetic simplifications here do the wrong thing on vector modes.  */
 
7349
  if (VECTOR_MODE_P (mode) || VECTOR_MODE_P (GET_MODE (x)))
 
7350
      return gen_lowpart (mode, x);
 
7351
 
7346
7352
  switch (code)
7347
7353
    {
7348
7354
    case CLOBBER:
9023
9029
      if (GET_CODE (varop) == CLOBBER)
9024
9030
        return NULL_RTX;
9025
9031
 
9026
 
      /* If we discovered we had to complement VAROP, leave.  Making a NOT
9027
 
         here would cause an infinite loop.  */
9028
 
      if (complement_p)
9029
 
        break;
9030
 
 
9031
9032
      /* Convert ROTATERT to ROTATE.  */
9032
9033
      if (code == ROTATERT)
9033
9034
        {
9073
9074
            }
9074
9075
        }
9075
9076
 
 
9077
      /* If we discovered we had to complement VAROP, leave.  Making a NOT
 
9078
         here would cause an infinite loop.  */
 
9079
      if (complement_p)
 
9080
        break;
 
9081
 
9076
9082
      /* An arithmetic right shift of a quantity known to be -1 or 0
9077
9083
         is a no-op.  */
9078
9084
      if (code == ASHIFTRT