mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-11 04:16:48 +08:00
invoke.texi (H8/300 Options): Add -ms2600.
* invoke.texi (H8/300 Options): Add -ms2600. * config/h8300.c (h8300_init_once): Output an error when -ms2600 is used without -ms. * config/h8300.h (TARGET_MAC): New. (TARGET_SWITCHES): Add -ms2600 and -mno-s2600. (CONDITIONA_REGISTER_USAGE): Disable the mac register on any machine other than H8/S2600. * config/h8300.md: Accept mac instructions on the H8/S2600 instead of the H8/S2000. From-SVN: r36414
This commit is contained in:
parent
9e8f528cd4
commit
17f0f8fac7
@ -1,3 +1,15 @@
|
||||
2000-09-14 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* invoke.texi (H8/300 Options): Add -ms2600.
|
||||
* config/h8300.c (h8300_init_once): Output an error when -ms2600
|
||||
is used without -ms.
|
||||
* config/h8300.h (TARGET_MAC): New.
|
||||
(TARGET_SWITCHES): Add -ms2600 and -mno-s2600.
|
||||
(CONDITIONA_REGISTER_USAGE): Disable the mac register on any
|
||||
machine other than H8/S2600.
|
||||
* config/h8300.md: Accept mac instructions on the H8/S2600 instead
|
||||
of the H8/S2000.
|
||||
|
||||
2000-09-14 Alexandre Oliva <aoliva@redhat.com>, Bernd Schmidt <bernds@redhat.co.uk>
|
||||
|
||||
* reload.c (find_reloads_address_1): Generate reloads for auto_inc
|
||||
|
@ -107,6 +107,9 @@ h8300_init_once ()
|
||||
h8_push_op = h8_push_ops[cpu_type];
|
||||
h8_pop_op = h8_pop_ops[cpu_type];
|
||||
h8_mov_op = h8_mov_ops[cpu_type];
|
||||
|
||||
if (!TARGET_H8300S && TARGET_MAC)
|
||||
fatal ("-ms2600 is used without -ms.");
|
||||
}
|
||||
|
||||
const char *
|
||||
|
@ -88,6 +88,9 @@ extern int target_flags;
|
||||
#define TARGET_H8300H (target_flags & 4096)
|
||||
#define TARGET_H8300S (target_flags & 1)
|
||||
|
||||
/* mac register and relevant instructions are available. */
|
||||
#define TARGET_MAC (target_flags & 2)
|
||||
|
||||
/* Align all values on the H8/300H the same way as the H8/300. Specifically,
|
||||
32 bit and larger values are aligned on 16 bit boundaries.
|
||||
This is all the hardware requires, but the default is 32 bits for the 300H.
|
||||
@ -104,6 +107,8 @@ extern int target_flags;
|
||||
#define TARGET_SWITCHES \
|
||||
{ {"s", 1, N_("Generate H8/S code")}, \
|
||||
{"no-s", -1, N_("Do not generate H8/S code")}, \
|
||||
{"s2600", 2, N_("Generate H8/S2600 code")}, \
|
||||
{"no-s2600", -2, N_("Do not generate H8/S2600 code")}, \
|
||||
{"int32", 8, N_("Make integers 32 bits wide")}, \
|
||||
{"addresses", 64, NULL}, \
|
||||
{"quickcall", 128, \
|
||||
@ -280,10 +285,10 @@ extern int target_flags;
|
||||
#define REG_ALLOC_ORDER \
|
||||
{ 2, 3, 0, 1, 4, 5, 6, 8, 7, 9}
|
||||
|
||||
#define CONDITIONAL_REGISTER_USAGE \
|
||||
{ \
|
||||
if (!TARGET_H8300S) \
|
||||
fixed_regs[8] = call_used_regs[8] = 1;\
|
||||
#define CONDITIONAL_REGISTER_USAGE \
|
||||
{ \
|
||||
if (!TARGET_MAC) \
|
||||
fixed_regs[8] = call_used_regs[8] = 1; \
|
||||
}
|
||||
|
||||
/* Return number of consecutive hard regs needed starting at reg REGNO
|
||||
|
@ -819,7 +819,7 @@
|
||||
(mem:HI (post_inc:SI (match_operand:SI 1 "register_operand" "r"))))
|
||||
(sign_extend:SI
|
||||
(mem:HI (post_inc:SI (match_operand:SI 2 "register_operand" "r"))))))]
|
||||
"TARGET_H8300S"
|
||||
"TARGET_MAC"
|
||||
"clrmac\;mac @%2+,@%1+"
|
||||
[(set_attr "length" "6")
|
||||
(set_attr "cc" "none_0hit")])
|
||||
@ -832,7 +832,7 @@
|
||||
(sign_extend:SI (mem:HI
|
||||
(post_inc:SI (match_operand:SI 2 "register_operand" "r")))))
|
||||
(match_operand:SI 3 "register_operand" "0")))]
|
||||
"TARGET_H8300S"
|
||||
"TARGET_MAC"
|
||||
"mac @%2+,@%1+"
|
||||
[(set_attr "length" "4")
|
||||
(set_attr "cc" "none_0hit")])
|
||||
|
@ -6681,6 +6681,9 @@ Generate code for the H8/300H.
|
||||
@item -ms
|
||||
Generate code for the H8/S.
|
||||
|
||||
@item -ms2600
|
||||
Generate code for the H8/S2600. This switch must be used with -ms.
|
||||
|
||||
@item -mint32
|
||||
Make @code{int} data 32 bits by default.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user