Commit Graph

51 Commits

Author SHA1 Message Date
Richard Kenner
7ac18cf65b (mov[sd]i and splits): Change call to alpha_emit_set_const.
From-SVN: r9533
1995-04-28 10:38:02 -04:00
Richard Kenner
13aa593cd6 (probe_stack): Probe with write, not read.
(allocate_stack): Update and correct stack probe code.

From-SVN: r9384
1995-04-14 18:48:49 -04:00
Richard Kenner
55e70146bd (calll, tablejump, movsi): New variants for NT.
From-SVN: r9371
1995-04-13 08:46:37 -04:00
Richard Kenner
d2d671fc9d (movsi): Allow FP regs and add case for store of FP reg.
(movsi): Allow FP regs and add case for store of FP reg.  Remove cvtlq
from MEM to FP reg case.

From-SVN: r9210
1995-03-18 17:00:29 -05:00
Doug Evans
2ee5c7a836 (movsicc): New named pattern.
(movdicc, movsfcc, movdfcc): Likewise.
(SImode conditional move): New matcher.

From-SVN: r8796
1995-01-25 04:11:29 +00:00
Richard Kenner
03af65c41e (sign_extend): Disable pattern with explicit SUBREG.
(cmov): Allow first operand of comparison to be zero, 2nd reg.

From-SVN: r8524
1994-11-19 06:26:31 -05:00
Richard Kenner
b58f0de150 (addsi3, adddi3): For patterns valid only during reload, allow operand
1 to be `some_operand'.

From-SVN: r8483
1994-11-17 14:44:28 -05:00
Richard Kenner
99d13c4024 (reload_outqi): Correctly handle scratch assignments for unaligned
case when ADDR is a REG.

From-SVN: r8353
1994-10-28 17:12:18 -04:00
Richard Kenner
80728f83db (define_split comparison op with power of two minus 1): Fix typo.
From-SVN: r8330
1994-10-20 18:40:25 -04:00
Richard Kenner
cc2394a432 (call): Rework to use macro version of jsr.
From-SVN: r7967
1994-08-24 17:15:04 -04:00
Richard Kenner
96c9d70dda (tablejump): Rework to look like normal add but verify that label is for next insn and is tablejump...
(tablejump): Rework to look like normal add but verify that label is
for next insn and is tablejump; look for ADDR_DIFF_ELT.

From-SVN: r7831
1994-07-30 12:54:26 -04:00
Richard Kenner
db19fab5ec (ashldi3): Update pattern for (sign_extend (ashift ..)) to match the
current canonicalization.

From-SVN: r7743
1994-07-12 12:19:40 -04:00
Richard Kenner
53693fe555 (reload_inqi): Make operand[2] be TImode and pass register number that differs to unaligned_loadqi.
(reload_inqi): Make operand[2] be TImode and pass register number that
differs to unaligned_loadqi.
(reload_outqi): Change overlap in temps to unaligned_storeqi.

From-SVN: r7672
1994-07-07 17:35:26 -04:00
Richard Kenner
018dac8bab Add new pattern for double-add when have reg + frame pointer.
Slight changes to all such patterns and add define_splits for them.

From-SVN: r7608
1994-06-29 16:13:22 -04:00
Torbjorn Granlund
74a6106962 (umuldi3_highpart): New expander and matcher.
From-SVN: r7592
1994-06-29 00:19:15 +00:00
Richard Kenner
d46f42a50a (iordi3): Rename ior_operand to or_operand.
(xordi3): Use or_operand and add second alternative.
(eqv): Only accept registers.

From-SVN: r7369
1994-05-27 16:38:54 -04:00
Richard Kenner
d0c84fdaa3 Add define_split for sign-extended PLUS of a MULT of an SImode
comparison.

From-SVN: r7364
1994-05-27 14:15:25 -04:00
Richard Kenner
5c72c15e2e Add define_split for sign-extended PLUS of an SImode comparison;
change comparison to DImode.

From-SVN: r7360
1994-05-27 07:26:20 -04:00
Richard Kenner
c9325fd6c6 (addsi3, subsi3): Add define_expand to make adddi3/subdi3; old pattern
is now anonymous.

From-SVN: r7226
1994-05-06 12:52:00 -04:00
Richard Kenner
1c2bdc6003 (compare define_split): Fix bugs in last addition.
From-SVN: r7037
1994-04-11 18:20:53 -04:00
Richard Kenner
3797f4d4d4 Add define_split to simplify "(unsigned) x > 0xffffff".
From-SVN: r6988
1994-04-06 08:46:56 -04:00
Richard Kenner
269673180b (unaligned_{load,store}hi): Clear low bit of address before using as operand to extwl, mskwl, and inswl.
(unaligned_{load,store}hi): Clear low bit of address before using as operand
to extwl, mskwl, and inswl.
(movhi, reload_inhi, reload_outhi): Pass extra scratch value.

From-SVN: r6696
1994-03-05 16:27:45 -05:00
Richard Kenner
027b95a6da (mskXl): Add missing NOT in patterns.
From-SVN: r6691
1994-03-03 18:11:36 -05:00
Richard Kenner
59e6092731 (neg[sd]f2): Use %R1 consistently.
From-SVN: r6623
1994-02-25 07:34:38 -05:00
Richard Kenner
8bffcaf6a0 (mul*): Disallow multiply by constant.
From-SVN: r6621
1994-02-25 06:42:11 -05:00
Torbjorn Granlund
98ff4808a0 (divsi3): Emit all RTL from RTL template.
(udivsi3, modsi3, umodsi3, divdi3, udivdi3, moddi3, umoddi3): Likewise.

From-SVN: r6602
1994-02-22 12:58:56 +00:00
Richard Kenner
6db77abd9e (minsf3, maxdf3, mindf3): Properly insert constant of zero into
patterns.

From-SVN: r6455
1994-02-01 06:06:13 -05:00
Richard Kenner
2bbc163fd3 (maxsf3, minsf3): Correct numerous errors.
From-SVN: r6338
1993-12-27 12:02:09 -05:00
Richard Kenner
60614fddd4 (iordi3): Use ornot for some constant cases.
From-SVN: r6332
1993-12-27 06:28:38 -05:00
Richard Kenner
454f33b937 (define_attr type): Add new type ISUBR.
(divmod): Set to type ISUBR.

From-SVN: r6303
1993-12-24 08:56:03 -05:00
Richard Kenner
79bdabb4db (movdi): Use 'Q' instead of 'm' for FP.
From-SVN: r6109
1993-11-16 07:15:44 -05:00
Richard Kenner
2d2e51b746 (movsf, movdf): Add 'G' to constraint for operand 1 when operand 0 is
a register and support it in alternative 0.

From-SVN: r6083
1993-11-13 22:31:36 -05:00
Richard Kenner
6412a77ea5 (smaxdi3): Was incorrectly called maxdi3.
From-SVN: r6059
1993-11-10 18:49:56 -05:00
Torbjorn Granlund
55ff92b8a8 Clean up usage of commutative declarator `%'.
From-SVN: r5655
1993-10-07 12:56:20 +00:00
Richard Kenner
bf0263690e (shifts): Use reg_or_6bit_operand for shift counts.
From-SVN: r5090
1993-08-06 16:11:53 -04:00
Richard Stallman
800713ef8f (extendsidi2): Correctly do operation when in FP
registers and, since expensive, don't have FP regs as a preference.

From-SVN: r4624
1993-06-01 22:53:54 +00:00
Richard Kenner
818913ead2 (blockage): Use unspec_volatile #1; #0 is IMB.
From-SVN: r4170
1993-04-16 20:58:54 -04:00
Richard Kenner
e6f948e3de (untyped_call, blockage): New patterns.
From-SVN: r4169
1993-04-16 20:26:58 -04:00
Richard Kenner
f1644e9a37 (sminsf, smindf, smaxsf, smaxdf): Should be minsf, etc.
From-SVN: r4131
1993-04-13 16:34:37 -04:00
Richard Kenner
2695850994 (add/sub): Correct predicates and constraints for sNaddX and addX insns...
(add/sub): Correct predicates and constraints for sNaddX and addX insns; we
can use sNsubX and subX to add small negative constants.
Don't split addition to SP since we want to update it just once.
(beq, bne): Use subtract, not compare for ints; it's more efficient.
(define_split for comparisons): Always prefer add/sub if it will work.
(probe_stack, allocate_stack): New patterns.

From-SVN: r4078
1993-04-10 10:56:02 -04:00
Richard Kenner
9cea650364 Add new define_split for doing sign-extended adds of some large
constants using sNaddl.

From-SVN: r3662
1993-03-05 18:41:22 -05:00
Richard Kenner
5e2a751adc Add three special-cases of CMP insns against zero.
From-SVN: r3573
1993-03-01 07:29:39 -05:00
Richard Kenner
4ba7b922dd (call insns): Always reload gp after a full call.
Use current_file_function_operand to see when we can use BSR.

From-SVN: r3458
1993-02-10 16:12:51 -05:00
Brendan Kehoe
c0ce409ada alpha.md (fix_truncdfdi2, [...]): Use cvttqc', not cvttq', to avoid rounding up.
* alpha.md (fix_truncdfdi2, fix_truncsfdi2): Use `cvttqc', not
        `cvttq', to avoid rounding up.

From-SVN: r3454
1993-02-09 22:16:37 -05:00
Richard Kenner
8aa9dc6a81 Delete emacs local-variables block at end.
From-SVN: r3342
1993-01-25 18:53:41 -05:00
Brendan Kehoe
5ce6bbdb2e Fix typos.
From-SVN: r3139
1993-01-06 20:52:42 -05:00
Brendan Kehoe
df065f1db7 alpha.h (ASM_FILE_START): Change .verstamp ident for BL10.
* alpha.h (ASM_FILE_START): Change .verstamp ident for BL10.
        * alpha.md (div/mod): Change calling sequence to agree with BL10.

From-SVN: r3138
1993-01-06 20:38:58 -05:00
Richard Kenner
190315a70f Add new UNSPEC_VOLATILE 0 to flush instruction cache.
From-SVN: r2875
1992-12-15 17:41:56 -05:00
Richard Kenner
67aac05d14 (add-mult): Add missing `&' in constraints of kludge plus/plus/mult
pattern.

From-SVN: r2842
1992-12-06 16:25:41 -05:00
Richard Kenner
6181e18d54 entered into RCS
From-SVN: r2616
1992-10-26 16:01:36 -05:00