Michael Meissner
b840bfb0a2
Respin DI support to be combine friendly; Allow push of SF without temp reg; Fix broken i386 untyped_call
...
From-SVN: r8098
1994-09-20 18:36:51 +00:00
Michael Meissner
c1450f196c
Do not use separate 386 patterns for SF/DF/XF/DI pushes; allow SF/DF/XF/DI pushes to push from memory if no scratch register available; allow use of leal on 486; allow XF<-XF memory moves on 386
...
From-SVN: r8088
1994-09-15 19:33:07 +00:00
Michael Meissner
eb085d72be
More DF/XF/DI fixes.
...
From-SVN: r8079
1994-09-13 21:44:15 +00:00
Michael Meissner
6ecbf3001a
Merge push patterns for memory/nonmemory
...
From-SVN: r8048
1994-09-09 16:50:00 +00:00
Michael Meissner
0be5d99ff2
Rewrite movsf/movdf/movdi patterns
...
From-SVN: r8039
1994-09-08 17:58:36 +00:00
Michael Meissner
e7f8067642
Fix DImode move problems.
...
From-SVN: r8022
1994-09-03 18:18:53 +00:00
Michael Meissner
91f0226f7c
Fix indexing off arg ptr & push of byte values.
...
From-SVN: r7994
1994-08-28 03:22:52 +00:00
Michael Meissner
2f2a49e848
Add -mno-wide-multiply, -mno-move, make addresses more compatible with other parts of compiler.
...
From-SVN: r7990
1994-08-26 20:01:41 +00:00
Michael Meissner
4b71cd6ed2
Support 32x32->64 bit multiply
...
From-SVN: r7480
1994-06-15 02:44:18 +00:00
Richard Kenner
157735e867
(TARGET_NO_FANCY_MATH_387): Implement new option.
...
From-SVN: r7152
1994-04-25 14:21:16 -04:00
Richard Kenner
74f171be20
(mulhi3): Use SImode for MULT RTL.
...
From-SVN: r7011
1994-04-09 16:28:47 -04:00
Richard Kenner
c64ca3e9be
i386.md (movhi, movqi): Properly recognized unsigned forms of -1 for
...
dec[bw] insns.
From-SVN: r6909
1994-03-25 20:17:04 -05:00
James Van Artsdalen
2f17722aa9
(pushxf,movxf,extenddfxf2,extendsfxf2): Handle XFmode write to MEM by eading...
...
(pushxf,movxf,extenddfxf2,extendsfxf2): Handle XFmode write to MEM by
eading back value after write if source doesn't die.
(movxf,extenddfxf2,extendsfxf2): Don't emit fld before calling
output_to_reg: output_to_reg does that now.
From-SVN: r5601
1993-10-05 05:52:39 +00:00
James Van Artsdalen
4fb21e9046
(tstxf_cc, tstxf, cmpxf, cmpxf_cc, cmpxf_ccfpeq, swapxf, movxf,
...
extenddfxf2, extendsfxf2, truncxfsf2, truncxfdf2, fixuns_truncxfsi2,
fix_truncxfdi2, fix_truncxfsi2, floatsixf2, floatdixf2, addxf3, subxf3,
mulxf3, divxf3, negxf2, absxf2, sqrtxf2): New patterns.
From-SVN: r5573
1993-10-03 23:57:15 +00:00
James Van Artsdalen
b980bec031
(addhi3): Use byte opcodes when the low byte of a word is known to be zero.
...
From-SVN: r5563
1993-10-02 22:26:01 +00:00
Richard Stallman
6d7512e473
(ffssi2 and ffshi2 recognizers): Generate unique labels by hand.
...
From-SVN: r5041
1993-07-30 06:46:33 +00:00
Richard Stallman
c0f0634494
(movstrictqi): Change q<-g alternative to q<-m.
...
From-SVN: r4984
1993-07-25 21:29:10 +00:00
Richard Stallman
7a87bc5714
(ffssi2, ffshi2): Assume bsf produces garbage if input is 0.
...
(ffssi2, ffshi2): Assume bsf produces
garbage if input is 0. Use jumps to load output in that case.
From-SVN: r4911
1993-07-13 07:34:25 +00:00
Richard Stallman
0eb60d83ec
(call_pop, call, call_value_pop, call_value)
...
(call_pop, call, call_value_pop, call_value)
(untyped_call): Use expander_call_insn_operand.
From-SVN: r4700
1993-06-19 22:33:04 +00:00
Richard Stallman
387dc8a86b
(call matchers): Use call_insn_operand.
...
(call expanders): If address uses a virtual reg or arg pointer reg,
copy it.
From-SVN: r4394
1993-05-09 04:57:26 +00:00
Richard Stallman
71a247f08c
(extendsidi2): Use cdq or cltd, not cwtl.
...
From-SVN: r4371
1993-05-06 18:58:51 +00:00
Richard Stallman
8a2648ca07
(extendsidi2): Use cdq, not cwtl.
...
From-SVN: r4363
1993-05-06 17:30:45 +00:00
Tom Wood
8712e5c6f3
(untyped_call pattern): Fix typo.
...
From-SVN: r3853
1993-03-23 15:10:07 +00:00
Tom Wood
576182a333
(untyped_call, untyped_return): New patterns.
...
From-SVN: r3837
1993-03-23 12:48:46 +00:00
James Van Artsdalen
0fcad51326
(movsf,movdf): Use an input reload for MEM-MEM moves.
...
(extendsfdf2): Don't allow GENERAL_REGS in any operand.
(truncdfsf2): Allocate a stack temp in expander.
Use that in the output function.
(fix_truncMN2,fixuns_truncMN2): Likewise.
Allocate scratch reg from Q_REGS.
From-SVN: r3830
1993-03-22 07:47:01 +00:00
James Van Artsdalen
fe4435d988
(truncdfsf2): Rewrite to allow FLOAT_REGS in constraints for better register preferences.
...
(truncdfsf2): Rewrite to allow FLOAT_REGS in constraints
for better register preferences.
(movM): If REG_WAS_0, make sure the reg hasn't changed since then.
(cmpM expanders): Don't allow both operands to be MEM.
Use VOIDmode for the COMPARE rtx instead of CCmode.
(cmpM recognizers): Likewise.
Remove constraints for constants from operand 0.
(cmpdf,cmpsf recognizers): When using VOIDmode as mode of the COMPARE rtx,
require that the mode be exactly VOIDmode.
From-SVN: r3716
1993-03-12 09:34:38 +00:00
James Van Artsdalen
74c475adae
(extendsidi2): Use correct mnemonic for cwtl opcode.
...
From-SVN: r3441
1993-02-08 14:09:00 +00:00
Richard Kenner
8aa9dc6a81
Delete emacs local-variables block at end.
...
From-SVN: r3342
1993-01-25 18:53:41 -05:00
James Van Artsdalen
b2f1f92b17
(extendsidi2): Fix typo in regno.
...
From-SVN: r3326
1993-01-25 12:09:21 +00:00
James Van Artsdalen
08a7baacfb
(cmpM_cc): Allow first operand to be a MEM.
...
Don't allow both operands to be MEM.
(float addM3,subM3,divM3,mulM3 recognizers): Don't allow either operand
to be a constant.
(all float patterns, FLOAT_EXTEND operands): Don't allow GENERAL_REGS
for float_extended operand.
(all float patterns, FLOAT operands): Change constraints to get better
register classification.
(fix_truncMN2 patterns): Likewise.
(floatMN2 patterns): Likewise.
From-SVN: r3296
1993-01-20 06:48:48 +00:00
James Van Artsdalen
1dde5fd23a
(cmpstr patterns): Fix mode mismatch in SET.
...
From-SVN: r3230
1993-01-14 12:46:45 +00:00
James Van Artsdalen
9c530261cb
(extendsidi2,zero_extendsidi2): New patterns.
...
(adddi3,subdi3): Don't emit code for low part if known to be zero.
From-SVN: r3187
1993-01-11 00:18:24 +00:00
James Van Artsdalen
e15ee990a6
(movsf,movdf): Change constraints to use integer regs for mem-mem copies.
...
From-SVN: r3004
1992-12-31 06:22:03 +00:00
James Van Artsdalen
47af5d5065
(bit complement): Constrain inputs and outputs to match,
...
instead of using match_dup.
(zero_extract test): Reenable with separate patterns to match
QImode and SImode zero_extract.
From-SVN: r2984
1992-12-30 03:37:29 +00:00
James Van Artsdalen
e1f998ad66
(floatMN2 recognizers): Don't omit mode on a match_operand that might be reloaded.
...
(floatMN2 recognizers): Don't omit mode on a match_operand that might
be reloaded. Split into separate patterns for each mode.
(zero_extract test): Disable for now.
From-SVN: r2747
1992-11-12 13:37:42 +00:00
James Van Artsdalen
d009991095
(movstrsi): mask move count after signed shift.
...
From-SVN: r2719
1992-11-09 02:36:53 +00:00
Richard Stallman
f3f0d311cd
(andsi3): Mask immed op to 0xff in QI-reg ff00-byte case.
...
From-SVN: r2704
1992-11-06 09:44:25 +00:00
Richard Stallman
e12f90a924
(movdi): Delete the `&' from constraint.
...
From-SVN: r2608
1992-10-26 05:52:15 +00:00
James Van Artsdalen
9816614945
(cmpstrM patterns): Compare strings of unsigned chars, not strings of
...
signed chars.
From-SVN: r2414
1992-10-12 21:38:15 +00:00
Michael Meissner
c2177307a5
Fix shared library in i386; correctly spell macro in mips.h.
...
From-SVN: r2373
1992-10-08 20:07:04 +00:00
James Van Artsdalen
afc2c5a76f
(sCOND patterns): Don't allow a MEM in the SET_DEST...
...
(sCOND patterns): Don't allow a MEM in the SET_DEST, because these insns
can't have input reloads, and a MEM might need an input address reload.
From-SVN: r2163
1992-09-19 11:55:33 +00:00
James Van Artsdalen
442426450e
(addsi3,ashlsi3): Handle the case where the stack pointer appears as an
...
index reg.
From-SVN: r2140
1992-09-17 05:20:26 +00:00
Michael Meissner
e837539976
Do cld before each string move/compare.
...
From-SVN: r2125
1992-09-15 18:44:07 +00:00
James Van Artsdalen
783cdf659a
(cmpstrsi): Rewrite expander to handle operands correctly.
...
From-SVN: r2060
1992-09-06 10:36:53 +00:00
James Van Artsdalen
664921b428
(movstrsi): Rewrite to handle operands correctly.
...
From-SVN: r1984
1992-08-28 06:24:41 +00:00
James Van Artsdalen
a199fdd675
(all patterns): Use GEN_INT instead of gen_rtx to get const_ints.
...
Avoid double-negative "! NON_*" constructs for clarity.
Pass NULL_PTR as null parameter instead of 0.
(sqrtM2): Patterns are only valid if IEEE FP or -ffast-math.
(sinM2,cosM2): New patterns.
(zero_extract test): New pattern.
From-SVN: r1982
1992-08-28 01:43:02 +00:00
Charles Hannum
95393dfdf8
entered into RCS
...
From-SVN: r1481
1992-07-06 21:48:21 +00:00
Richard Stallman
207f835880
*** empty log message ***
...
From-SVN: r1369
1992-07-01 09:18:59 +00:00
James Van Artsdalen
10f4f53f43
*** empty log message ***
...
From-SVN: r1096
1992-05-27 17:53:14 +00:00
James Van Artsdalen
56c0e8fa11
*** empty log message ***
...
From-SVN: r959
1992-05-11 19:53:17 +00:00