Commit Graph

114 Commits

Author SHA1 Message Date
matt
5db28f425f When mova[lq] to a push operand, do a pusha[lq] instead. 2007-04-06 20:50:33 +00:00
matt
4af7958221 Fix 64-bit negation. 2007-04-06 20:49:02 +00:00
matt
086f0329dc Fix constraints on ffs. 2007-04-02 16:45:39 +00:00
matt
20feb5b064 Fix cut-and-pasto. 2007-04-02 16:44:31 +00:00
matt
831f4686c1 Get rid of old unused constraints. 2007-04-02 16:44:17 +00:00
matt
abe5cdbc17 Add __builtin_ffs support. 2007-03-31 23:12:37 +00:00
matt
deb622ec5b Final step. Turn on generation of PIC code. Full release build builds and
works.
2007-03-31 05:55:11 +00:00
matt
dec8719ee4 For nonimmediate operands of SImode, don't use "g" anymore, use "nrmT" instead.
"g" matches just about anything including SYMBOL_REF, CONST, LABEL_REF which
should not be operands for most instructions in PIC mode.  (movsi can handle
then and addsi3 can handle them in a few limited cases).
2007-03-31 01:23:26 +00:00
matt
aa3062f197 Step 2. Produces PIC code but doesn't satisfies the constraints needed
by userland.  (external symbols can still be indirected and relocs for
symbol + offset are emitted).
2007-03-31 00:59:47 +00:00
matt
57ad7b9e42 Use HOST_WIDE_INT where appropriate. Cleanup split_quadword_operands 2007-03-30 22:03:28 +00:00
matt
f775e4410d Enable new quadmove code. Only use mova[lq] instead of ashl when
!optimize_size.  When optimize_size is on, try to use ashl if possible
if setting a 6bit unsigned quantity in the word.
2007-03-30 22:02:26 +00:00
matt
120d27ab08 Add symbolic_operand (matches const, symbol_ref, label_ref). 2007-03-30 21:25:01 +00:00
matt
1336eda547 Remove split_quadword_operands 2007-03-30 21:24:03 +00:00
matt
9e311d116b Simplify the address_operand patterns. Use gcc's macros and split between
push and mov addr patterns.
2007-03-30 21:23:42 +00:00
matt
d18d7c0fc4 Fix a few missing REG_P, use symbolic_operand instead of testint CONST/SYMBOL_REF/LABEL_REF, make split_quadword_operands static, don't pass the insn just the rtx code for the insn 2007-03-30 21:15:24 +00:00
matt
58ad121651 Step 1 of getting gcc to generate VAX PIC code again. These steps are being
committed in "smallish" steps.  This step incorporates the switch to MEM_P,
REG_P, and CONST_INT_P.  Use bool/true/false where appropriate.  PRINT_OPERAND
moves from being a large macro in vax.h print_operand in vax.c.  Fix rtx cost
for a constant of 0.  This eliminates unneeded moves when setting to 0 would
be fine.

Lastly, include completely new (on by default) code for DImode move, addition,
and subtract.  This code is significantly faster and smaller that what existed
before.
2007-03-30 20:25:46 +00:00
matt
7457e904c0 Add CONST_INT_P 2007-03-30 19:47:19 +00:00
christos
493edcfdc7 improve on TARGET_LIBC_PROVIDES_SSP test suggested from phone. 2007-02-23 21:31:13 +00:00
christos
bb1029ffc1 Don't mark 0 length arrays as being too small for stack protection. 2007-01-27 01:27:29 +00:00
mrg
fb1bedf6c8 bump NetBSD version 2007-01-11 07:19:06 +00:00
mrg
d84579c1c7 merge GCC 4.1.2-20070110. 2007-01-11 06:59:53 +00:00
mrg
d4afbdede5 import GCC-4.1 branch from 20070110 (revision 120647). this fixes the
44 GCC PR's listed below (some have already been applied to NetBSD GCC)
and at least one NetBSD PR:

	PR bootstrap/28400
	PR c++/27369
	PR c/25795
	PR c/25993
	PR c/29092
	PR c/29736
	PR c/30360
	PR debug/26964
	PR libstdc++/11953
	PR middle-end/21032
	PR middle-end/26306
	PR middle-end/27826
	PR middle-end/28116
	PR middle-end/29241
	PR middle-end/29250
	PR middle-end/29584
	PR middle-end/29695
	PR middle-end/29753
	PR middle-end/30286
	PR rtl-optimization/25514
	PR rtl-optimization/27736
	PR rtl-optimization/27761
	PR rtl-optimization/28970
	PR rtl-optimization/29631
	PR rtl-optimization/29797
	PR target/18553
	PR target/24036
	PR target/29114
	PR target/29319
	PR target/29377
	PR target/29449
	PR target/30039
	PR target/30173
	PR target/30185
	PR target/30230
	PR tree-opt/28545
	PR tree-opt/29788
	PR tree-opt/29964
	PR tree-optimization/27891
	PR tree-optimization/28888
	PR tree-optimization/29581
	PR tree-optimization/29610
	PR tree-optimization/29637
	PR tree-optimization/30212
2007-01-11 02:52:39 +00:00
mrg
79780a5fbb import GCC-4.1 branch from 20070110 (revision 120647). this fixes the
44 GCC PR's listed below (some have already been applied to NetBSD GCC)
and at least one NetBSD PR:

	PR bootstrap/28400
	PR c++/27369
	PR c/25795
	PR c/25993
	PR c/29092
	PR c/29736
	PR c/30360
	PR debug/26964
	PR libstdc++/11953
	PR middle-end/21032
	PR middle-end/26306
	PR middle-end/27826
	PR middle-end/28116
	PR middle-end/29241
	PR middle-end/29250
	PR middle-end/29584
	PR middle-end/29695
	PR middle-end/29753
	PR middle-end/30286
	PR rtl-optimization/25514
	PR rtl-optimization/27736
	PR rtl-optimization/27761
	PR rtl-optimization/28970
	PR rtl-optimization/29631
	PR rtl-optimization/29797
	PR target/18553
	PR target/24036
	PR target/29114
	PR target/29319
	PR target/29377
	PR target/29449
	PR target/30039
	PR target/30173
	PR target/30185
	PR target/30230
	PR tree-opt/28545
	PR tree-opt/29788
	PR tree-opt/29964
	PR tree-optimization/27891
	PR tree-optimization/28888
	PR tree-optimization/29581
	PR tree-optimization/29610
	PR tree-optimization/29637
	PR tree-optimization/30212
2007-01-11 02:42:35 +00:00
mrg
b0b8ac17fb import GCC-4.1 branch from 20070110 (revision 120647). this fixes the
44 GCC PR's listed below (some have already been applied to NetBSD GCC)
and at least one NetBSD PR:

	PR bootstrap/28400
	PR c++/27369
	PR c/25795
	PR c/25993
	PR c/29092
	PR c/29736
	PR c/30360
	PR debug/26964
	PR libstdc++/11953
	PR middle-end/21032
	PR middle-end/26306
	PR middle-end/27826
	PR middle-end/28116
	PR middle-end/29241
	PR middle-end/29250
	PR middle-end/29584
	PR middle-end/29695
	PR middle-end/29753
	PR middle-end/30286
	PR rtl-optimization/25514
	PR rtl-optimization/27736
	PR rtl-optimization/27761
	PR rtl-optimization/28970
	PR rtl-optimization/29631
	PR rtl-optimization/29797
	PR target/18553
	PR target/24036
	PR target/29114
	PR target/29319
	PR target/29377
	PR target/29449
	PR target/30039
	PR target/30173
	PR target/30185
	PR target/30230
	PR tree-opt/28545
	PR tree-opt/29788
	PR tree-opt/29964
	PR tree-optimization/27891
	PR tree-optimization/28888
	PR tree-optimization/29581
	PR tree-optimization/29610
	PR tree-optimization/29637
	PR tree-optimization/30212
2007-01-11 02:31:47 +00:00
matt
9b573944b4 2006-12-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/30039
	* pa.md (high:DI and lo_sum:DI): Handle 64-bit CONST_INTs in 32-bit
	patterns.  Correct length of high:DI instruction sequence.
2006-12-10 00:19:32 +00:00
chs
a3f1a799dd apply part of gcc SVN rev 112421 (for building on solaris):
* config.gcc (sh*-*-*): Don't use c-c ranges for tr.
2006-12-09 21:59:50 +00:00
skrll
d6e38a90f8 Pull across the gcc fixes for the ICEs seen when cross-compiling hp700 on
64bit hosts.

	- gimpy's fix has been done differently when fixing gcc
	  target/29114
	- the second is one I debugged with Dave Anglin's help. The fix
	  is from Dave.

There still seem to be codegen bugs, however.

Bump version to NetBSD nb3 20061125

OK'd by mrg.
2006-11-25 10:05:43 +00:00
mrg
d010dedb55 bump version to NetBSD nb2 20061121 2006-11-23 05:43:40 +00:00
mrg
5c4d804998 fix a compile problem with the mjpegtools package. PR#35082. this reverts
a recent GCC change that fixed their bug 28506.  from Richard Guenther (suse).
2006-11-22 05:18:57 +00:00
christos
af0800f25f add a netbsd test for having stack protector in libc. 2006-11-08 22:01:36 +00:00
mrg
d8a42ed9c7 merge GCC 4.1-20061021. 2006-10-22 00:41:20 +00:00
mrg
86e81e1a09 import GCC 4.1 branch from 20061021.
includes fixes for these 109 GCC PR's:

 4520 13685 13983 17519 19505 20256 22209 22313 23454 24367 25211
25468 25519 25636 25636 26435 26504 26570 26719 26764 26881 26969
26983 26991 26991 26993 27075 27184 27226 27287 27287 27291 27334
27363 27428 27489 27490 27537 27558 27565 27566 27616 27639 27681
27697 27721 27724 27768 27793 27793 27795 27827 27878 27889 27893
28029 28075 28136 28148 28150 28162 28170 28187 28207 28207 28218
28221 28238 28243 28247 28257 28259 28267 28283 28286 28299 28386
28402 28403 28418 28473 28490 28493 28621 28634 28636 28649 28651
28677 28683 28726 28814 28825 28862 28900 28924 28946 28952 28960
28980 29006 29091 29119 29132 29154 29198 29230 29290 29323
2006-10-21 22:57:09 +00:00
mrg
b738ee7f82 import GCC 4.1 branch from 20061021.
includes fixes for these 109 GCC PR's:

 4520 13685 13983 17519 19505 20256 22209 22313 23454 24367 25211
25468 25519 25636 25636 26435 26504 26570 26719 26764 26881 26969
26983 26991 26991 26993 27075 27184 27226 27287 27287 27291 27334
27363 27428 27489 27490 27537 27558 27565 27566 27616 27639 27681
27697 27721 27724 27768 27793 27793 27795 27827 27878 27889 27893
28029 28075 28136 28148 28150 28162 28170 28187 28207 28207 28218
28221 28238 28243 28247 28257 28259 28267 28283 28286 28299 28386
28402 28403 28418 28473 28490 28493 28621 28634 28636 28649 28651
28677 28683 28726 28814 28825 28862 28900 28924 28946 28952 28960
28980 29006 29091 29119 29132 29154 29198 29230 29290 29323
2006-10-21 22:45:05 +00:00
mrg
3849e25709 import GCC 4.1 branch from 20061021.
includes fixes for these 109 GCC PR's:

 4520 13685 13983 17519 19505 20256 22209 22313 23454 24367 25211
25468 25519 25636 25636 26435 26504 26570 26719 26764 26881 26969
26983 26991 26991 26993 27075 27184 27226 27287 27287 27291 27334
27363 27428 27489 27490 27537 27558 27565 27566 27616 27639 27681
27697 27721 27724 27768 27793 27793 27795 27827 27878 27889 27893
28029 28075 28136 28148 28150 28162 28170 28187 28207 28207 28218
28221 28238 28243 28247 28257 28259 28267 28283 28286 28299 28386
28402 28403 28418 28473 28490 28493 28621 28634 28636 28649 28651
28677 28683 28726 28814 28825 28862 28900 28924 28946 28952 28960
28980 29006 29091 29119 29132 29154 29198 29230 29290 29323
2006-10-21 22:40:12 +00:00
mrg
622e071e10 import GCC 4.1 branch from 20061021.
includes fixes for these 109 GCC PR's:

 4520 13685 13983 17519 19505 20256 22209 22313 23454 24367 25211
25468 25519 25636 25636 26435 26504 26570 26719 26764 26881 26969
26983 26991 26991 26993 27075 27184 27226 27287 27287 27291 27334
27363 27428 27489 27490 27537 27558 27565 27566 27616 27639 27681
27697 27721 27724 27768 27793 27793 27795 27827 27878 27889 27893
28029 28075 28136 28148 28150 28162 28170 28187 28207 28207 28218
28221 28238 28243 28247 28257 28259 28267 28283 28286 28299 28386
28402 28403 28418 28473 28490 28493 28621 28634 28636 28649 28651
28677 28683 28726 28814 28825 28862 28900 28924 28946 28952 28960
28980 29006 29091 29119 29132 29154 29198 29230 29290 29323
2006-10-21 22:29:06 +00:00
mrg
2c32a05a20 import GCC 4.1 branch from 20061021.
includes fixes for these 109 GCC PR's:

 4520 13685 13983 17519 19505 20256 22209 22313 23454 24367 25211
25468 25519 25636 25636 26435 26504 26570 26719 26764 26881 26969
26983 26991 26991 26993 27075 27184 27226 27287 27287 27291 27334
27363 27428 27489 27490 27537 27558 27565 27566 27616 27639 27681
27697 27721 27724 27768 27793 27793 27795 27827 27878 27889 27893
28029 28075 28136 28148 28150 28162 28170 28187 28207 28207 28218
28221 28238 28243 28247 28257 28259 28267 28283 28286 28299 28386
28402 28403 28418 28473 28490 28493 28621 28634 28636 28649 28651
28677 28683 28726 28814 28825 28862 28900 28924 28946 28952 28960
28980 29006 29091 29119 29132 29154 29198 29230 29290 29323
2006-10-21 22:18:57 +00:00
mrg
1c6384e73d fix a merge-botch from our GCC3 fixes.
TARGET_5200 is TARGET_COLDFIRE now.
2006-10-21 05:31:41 +00:00
drochner
b7e3bcb0e5 gcc4/gdb6 work well with dwarf debug symbols (at least in the example
from PR toolchain/25094), so revert the local change which made .stabs
the default
2006-10-19 18:10:38 +00:00
apb
da8e22116c Use ${HOST_SH} instead of the host system's /bin/sh wherever possible:
* Use ${CONFIG_SHELL:-/bin/sh} instead of just /bin/sh when creating
  temporary shell scripts.
2006-09-29 20:11:07 +00:00
apb
cb575a16ce Use ${HOST_SH} instead of the host system's /bin/sh wherever possible:
* Add CONFIG_SHELL=$(SHELL) to the environment when invoking genmultilib.
  Due to substitutions made by associated configure scripts, the make
  variable $(SHELL) will actually refer to the environment variable
  ${CONFIG_SHELL}.
2006-09-29 20:10:01 +00:00
matt
b23fae2957 Fix problem with cross compiles on LP64 platforms. When splitting a DI
only compare against HOST_BITS_PER_WIDE_INT if TARGET_64BIT is true.
Otherwise, compare against 32 (as would happen on a IPL32 platform).
2006-09-23 19:07:19 +00:00
matt
4a7a5c53dd For thing that get a INTVAL result, make their type HOST_WIDE_INT. 2006-09-23 19:03:43 +00:00
matt
97da8b0449 Use HOST_WIDE_INT instead of long. 2006-09-23 19:00:03 +00:00
skrll
64001ed248 Our hppa userland space register convention isn't as flat as it needs to be
for MASK_NO_SPACE_REGS. The assumption is that sr4-sr7 == process space
id, but we have sr7 = kernel space id (0). This was inherited from
OpenBSD.

If sr4-sr7 == process space id, then

        ldw     %r1(,%r2),%r3
and
        ldw     %r2(,%r1),%r3

are equivlent for all values of %r1 and %r2.

If the right compat stuff is in place we can change the space register
convention and turn MASK_NO_SPACE_REGS back on.
2006-09-22 13:11:57 +00:00
cherry
c53d4b12a7 Fix libgcc4 build for ia64
Change #if to #ifdef
XXX: Feed upstream ?
2006-09-21 15:13:02 +00:00
scw
ddf78ea470 Check explicitly for sh5*-*-netbsd* when setting sh_multilibs. 2006-09-04 19:51:26 +00:00
mrg
56937a15b3 port the GCC3 gcc/config/ia64/netbsd.h. only change is to remove a call
to the no longer available/required NETBSD_OS_CPP_BUILTINS_LP64() macro.
2006-09-01 21:56:18 +00:00
matt
59b53ad312 More mips64 toolchain changes. With these changes, the mips64 toolchain
can build a mips64 kernel.
2006-08-26 20:01:29 +00:00
uwe
f482b86d5d gcc4 generated extremely unoptimal code for shifts of 64-bit ints on SuperH.
Pull over a fix from gcc 4.1 branch.

ok mrg@

Author: sayle
Date: Fri Jul 21 13:22:31 2006
New Revision: 115644

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=115644
Log:

        PR middle-end/28283
        * expmed.c (expand_shift): Additionally check that the shift_cost
        is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
        before implementing a LSHIFT_EXPR as a sequence of additions.
        * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
        middle-end that DImode shifts need to be synthesized by expand.


Modified:
    branches/gcc-4_1-branch/gcc/ChangeLog
    branches/gcc-4_1-branch/gcc/config/sh/sh.c
    branches/gcc-4_1-branch/gcc/expmed.c
2006-07-24 23:36:03 +00:00
dan
33b0624dcd Change date in the nbX part of the version string to match the date
the nbX change was made.  The original gcc cvs/svn branch date is kept
separately.

After discussion with simonb@ who pointed me at rev 1.4 where he'd
corrected the same wrong assumption.
2006-07-11 07:32:07 +00:00