Deleted Added
full compact
cse.c (52284) cse.c (52750)
1/* Common subexpression elimination for GNU compiler.
2 Copyright (C) 1987, 88, 89, 92-7, 1998, 1999 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)

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

5856 chosing positive and negative constants. Having the positive
5857 constant previously-used is the more common case. Be sure
5858 the resulting constant is non-negative; if const_arg1 were
5859 the smallest negative number this would overflow: depending
5860 on the mode, this would either just be the same value (and
5861 hence not save anything) or be incorrect. */
5862 if (const_arg1 != 0 && GET_CODE (const_arg1) == CONST_INT
5863 && INTVAL (const_arg1) < 0
1/* Common subexpression elimination for GNU compiler.
2 Copyright (C) 1987, 88, 89, 92-7, 1998, 1999 Free Software Foundation, Inc.
3
4This file is part of GNU CC.
5
6GNU CC is free software; you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation; either version 2, or (at your option)

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

5856 chosing positive and negative constants. Having the positive
5857 constant previously-used is the more common case. Be sure
5858 the resulting constant is non-negative; if const_arg1 were
5859 the smallest negative number this would overflow: depending
5860 on the mode, this would either just be the same value (and
5861 hence not save anything) or be incorrect. */
5862 if (const_arg1 != 0 && GET_CODE (const_arg1) == CONST_INT
5863 && INTVAL (const_arg1) < 0
5864 && - INTVAL (const_arg1) >= 0
5864 /* This used to test
5865
5866 - INTVAL (const_arg1) >= 0
5867
5868 But The Sun V5.0 compilers mis-compiled that test. So
5869 instead we test for the problematic value in a more direct
5870 manner and hope the Sun compilers get it correct. */
5871 && INTVAL (const_arg1) !=
5872 ((HOST_WIDE_INT) 1 << (HOST_BITS_PER_WIDE_INT - 1))
5865 && GET_CODE (folded_arg1) == REG)
5866 {
5867 rtx new_const = GEN_INT (- INTVAL (const_arg1));
5868 struct table_elt *p
5869 = lookup (new_const, safe_hash (new_const, mode) % NBUCKETS,
5870 mode);
5871
5872 if (p)

--- 3420 unchanged lines hidden ---
5873 && GET_CODE (folded_arg1) == REG)
5874 {
5875 rtx new_const = GEN_INT (- INTVAL (const_arg1));
5876 struct table_elt *p
5877 = lookup (new_const, safe_hash (new_const, mode) % NBUCKETS,
5878 mode);
5879
5880 if (p)

--- 3420 unchanged lines hidden ---