Commit Graph

139 Commits

Author SHA1 Message Date
matt 3649c80dc2 Fix LP64 issue with invalid register names. When printing a register name,
look in reg_renumber if the register >= FIRST_PSEUDO_REGISTER.
Add code to not use movc3 for small fixed (<= 48 byte) moves.  Instead
expand them to the proper series of mov[qlwb] instructions.
2007-04-20 16:30:32 +00:00
matt 517c8a8b40 Make movmemhi insn pattern use "o" constraint to avoid codegen bugs.
Fix some non-use of MEM_P, REG_P, CONST_INT_P.
2007-04-18 22:55:24 +00:00
matt d96c1bd9b7 At lower optimization levels, constants can tricle to subdi3. Deal with it. 2007-04-14 20:43:03 +00:00
matt e449ba3363 Change tst<mode> pattern to use nrmT for constraints instead of g. 2007-04-13 20:02:42 +00:00
matt c9e6e23717 If possible, adjust extzv/insv to not cross int boundaries. 2007-04-11 02:21:07 +00:00
matt 0606d1948b when pic, symbol [ + offset ] + reg is indexed so it's mode dependent.
Make sure we indicate that.  (fixes the as bug)
2007-04-09 03:44:14 +00:00
matt 2d3546bb65 Fix a optimize_size problem in the correct (and smaller) manner. 2007-04-08 10:32:42 +00:00
matt 768e321a24 Switch back to mnegl hi, mnegl lo, sbwc and prevent split_quadword_operands
from using POST_INC in the case of negation.  Fix reversal of operands in
-Os use of ashq.
2007-04-08 03:07:23 +00:00
matt 2c37c6c8f1 Fix a problem with -Os. 2007-04-07 22:50:27 +00:00
matt 43a709f886 2006-08-24 Richard Guenther <rguenther@suse.de>
* builtins.c (fold_builtin_classify): Fix typo.
2007-04-07 06:13:15 +00:00
matt 4fab8ae973 Fix addition of negative 64bit constants. Don't optimize the instructions
too much otherwise we might use some that don't affect the carry bit.  Make
sure we are using paired instructions (add/adwc, sub/sbwc).
2007-04-06 22:46:36 +00:00
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
freza 592d6d615c Fix MKDEBUGLIB build. 2007-02-16 16:34:17 +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 80ab5c909f fix the list of headers to check for on netbsd 2007-01-13 08:30:13 +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
cbiere 4b14bb6309 Changed error message of ENOPROTOOPT to "Protocol option not available". 2006-10-31 00:38:06 +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