Deleted Added
sdiff udiff text old ( 169690 ) new ( 220150 )
full compact
1/* RTL simplification functions for GNU compiler.
2 Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
3 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
4 Free Software Foundation, Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under

--- 575 unchanged lines hidden (view full) ---

584 if (GET_CODE (op) == XOR
585 && XEXP (op, 1) == const1_rtx
586 && nonzero_bits (XEXP (op, 0), mode) == 1)
587 return plus_constant (XEXP (op, 0), -1);
588
589 /* (neg (lt x 0)) is (ashiftrt X C) if STORE_FLAG_VALUE is 1. */
590 /* (neg (lt x 0)) is (lshiftrt X C) if STORE_FLAG_VALUE is -1. */
591 if (GET_CODE (op) == LT
592 && XEXP (op, 1) == const0_rtx)
593 {
594 enum machine_mode inner = GET_MODE (XEXP (op, 0));
595 int isize = GET_MODE_BITSIZE (inner);
596 if (STORE_FLAG_VALUE == 1)
597 {
598 temp = simplify_gen_binary (ASHIFTRT, inner, XEXP (op, 0),
599 GEN_INT (isize - 1));
600 if (mode == inner)

--- 4289 unchanged lines hidden ---