I80960XL support (sanitized), misc cleanup:

* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro.  Calls tc_headers_hook.

* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX was used
previously.
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.

* config/tc-i960.c (po_hash): Declaration deleted.
(next_object_file_charP): Ditto.
(regnames, aregs, coj): Now const.
(parse_memop): Static array def_scale now const.
(md_begin): Cast away const when passing hash routines addresses of values in
regnames or aregs.
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms.  Continue to
accept one-word forms.
(struct tabentry, arch_tab): Moved to top level from inside md_parse_option.
Now const.
(md_show_usage): Use arch_tab to generate usage message.  Print hyphenated
forms of relax options.

* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
TC_S_FORCE_TO_*): Moved from here...
* config/tc-i960.c: ... to here.  Changed DEFINE_I960_AOUT stuff to test
OBJ_AOUT and OBJ_BOUT directly.

* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ, M1-M3, REG_OPC,
R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F, {R,F}{,L}{2,4}, M, SFR_OK, LIT_OK,
FP_OK, REG_ALIGN, MEMOP, I_*): Macros deleted.

* config/tc-i960.c (ARCH_XL): Define.
(arch_tab): Include XL.
(targ_has_sfr, targ_has_iclass): Handle XL.
(tc_headers_hook): Set flags to F_I960XL for i960XL.
This commit is contained in:
Ken Raeburn 1994-07-27 00:58:19 +00:00
parent 39792caf99
commit 10db66ecfd
3 changed files with 60 additions and 2 deletions

View File

@ -101,5 +101,26 @@ Things-to-lose:
Do-last: Do-last:
i960xl_files=ChangeLog
if ( echo $* | grep keep\-i960xl > /dev/null ) ; then
if [ -n "${verbose}" ] ; then
echo Keeping i960xl stuff in $i960xl_files.
fi
else
if [ -n "${verbose}" ]; then
echo -n Cleaning i960xl in `pwd`:
fi
for f in $i960xl_files ; do
if [ -n "${verbose}" ] ; then
echo -n " " $f
fi
sed '/start\-sanitize\-i960xl/,/end\-sanitize\-i960xl/d' < $f > new
if [ -n "${safe}" ] ; then
mv $f .Recover
fi
mv new $f
done
fi
# #
# End of file. # End of file.

View File

@ -34,6 +34,43 @@ Tue Jul 26 18:21:24 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME * config/obj-coff.c (fixup_segment) [TC_I960]: Use SF_GET_BALNAME
and SF_GET_CALLNAME instead of the TC_S_IS_ versions. and SF_GET_CALLNAME instead of the TC_S_IS_ versions.
* config/tc-i960.h (TC_COFF_SET_MACHINE): New macro. Calls
tc_headers_hook.
* config/tc-i960.c (targ_has_iclass): Use I_CX | I_CX2 where I_CX
was used previously.
(tc_headers_hook): If I_CX2 is found, set flags to F_I960CA.
* config/tc-i960.c (po_hash): Declaration deleted.
(next_object_file_charP): Ditto.
(regnames, aregs, coj): Now const.
(parse_memop): Static array def_scale now const.
(md_begin): Cast away const when passing hash routines addresses
of values in regnames or aregs.
(md_longopts): Added "link-relax" and "no-relax" hyphenated forms.
Continue to accept one-word forms.
(struct tabentry, arch_tab): Moved to top level from inside
md_parse_option. Now const.
(md_show_usage): Use arch_tab to generate usage message. Print
hyphenated forms of relax options.
* config/tc-i960.h (DEFINE_I960_AOUT, TC_S_IS_*, TC_S_*_SYSPROC,
TC_S_FORCE_TO_*): Moved from here...
* config/tc-i960.c: ... to here. Changed DEFINE_I960_AOUT stuff
to test OBJ_AOUT and OBJ_BOUT directly.
* config/tc-i960.h (CTRL, COBR, COJ, REG, MEM*, FBRA, CALLJ,
M1-M3, REG_OPC, R_*, SFR, LIT, FP, OP, R, RS, RL, RSL, F,
{R,F}{,L}{2,4}, M, SFR_OK, LIT_OK, FP_OK, REG_ALIGN, MEMOP, I_*):
Macros deleted.
start-sanitize-i960xl
* config/tc-i960.c (ARCH_XL): Define.
(arch_tab): Include XL.
(targ_has_sfr, targ_has_iclass): Handle XL.
(tc_headers_hook): Set flags to F_I960XL for i960XL.
end-sanitize-i960xl
Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com) Fri Jul 15 15:36:51 1994 Ken Raeburn (raeburn@cujo.cygnus.com)
* subsegs.c (section_symbol): Had last change backwards. * subsegs.c (section_symbol): Had last change backwards.

View File

@ -33,7 +33,7 @@ GNU as\-\-the portable GNU assembler.
.RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c .RB "\||\|" \-ACC "\||\|" \-AKA "\||\|" \-AKB\c
.RB "\||\|" \-AKC "\||\|" \-AMC "\|]" .RB "\||\|" \-AKC "\||\|" \-AMC "\|]"
.RB "[\|" \-b "\|]" .RB "[\|" \-b "\|]"
.RB "[\|" \-norelax "\|]" .RB "[\|" \-no-relax "\|]"
.I m680x0-only options: .I m680x0-only options:
.br .br
@ -181,7 +181,7 @@ Specify which variant of the 960 architecture is the target.
(When configured for Intel 960.) (When configured for Intel 960.)
Add code to collect statistics about branches taken. Add code to collect statistics about branches taken.
.TP .TP
.B \-norelax .B \-no-relax
.I .I
(When configured for Intel 960.) (When configured for Intel 960.)
Do not alter compare-and-branch instructions for long displacements; Do not alter compare-and-branch instructions for long displacements;