This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi, The enclosed patch improves the ColdFire support for hardware divide and MAC instructions by providing separate machine types for each unit. The new options are -mmac and -mhwdiv. The previous options -m5206e and -m5307 are also available as aliases. This makes life a lot easier for adding V4 ColdFire support as well as using custom CF cores which may or may not have these optional instructions. The MAC and hwdiv options are now documented in gas usage and in the gas docs. I have included a couple of simple test cases for the hw-divide and mac instructions. These have been hand disassembled to check that they are OK. There was a bug in the support for div.w which restricted the CF addressing modes too much. It has the same restrictions as the 68000+. I don't have a copyright assignment on file for binutils...what all do I need to do to make this patch "legal"? If this patch is OK I have a patch for V4 CF stuff being worked on if that affects anything. Dave bfd/ChangeLog: Sun July 17 12:41:00 1999 David J. Fiddes <D.J@fiddes.surfaid.org> * archures.c (enum bfd_architecture): Add ColdFire machine type as bfd_mach_mcf5200. * cpu-m68k.c (struct arch_info_struct): Add ColdFire machine type as m68k:5200. * bfd-in2.h: Regenerate. gas/ChangeLog: Sun July 17 12:41:00 1999 David J. Fiddes <D.J@fiddes.surfaid.org> * config/tc-m68k.c (struct archs): Remove 5206e and 5307 machine types. Add mac and hwdiv machine types. Add aliases for 5203, 5206e and 5307. (global): New option vars no_mac and no_hwdiv. (select_control_regs): Remove redundant mcf5206e and mcf5307 machine types. (m68k_init_after_args): Add option handling for mmac and mhwdiv options. (md_parse_option): Stop mmac being treated as a malformed mc68xxx style option. Add -mno-mac and -mno-hwdiv option handling. (md_show_usage): Add 5202,5203,5204,5206,5206e and 5307 to list of processors. Add mac and hwdiv option flags. * doc/c-m68k.texi (M68K-Opts): Added 5202,5203,5204,5206,5206e and 5307 to list of ColdFire processors. Added mmac/mno-mac and mhwdiv/mno-hwdiv to list of documented options. * testsuite/gas/m68k/all.exp: Added mcf-mac and mcfhwdiv test cases. * testsuite/gas/m68k/mcf-hwdiv.s: Test assembler constaining all valid ColdFire hw divide instructions. * testsuite/gas/m68k/mcf-hwdiv.d: Test dump of above. * testsuite/gas/m68k/mcf-mac.s: Test assembler for basic operation of ColdFire MAC instructions. * testsuite/gas/m68k/mcf-mac.d: Test dump of above. opcodes/ChangeLog: Sun July 17 12:41:00 1999 David J. Fiddes <D.J@fiddes.surfaid.org> * m68k-dis.c (print_insn_m68k): Add ColdFire architecture mask when explicitly asked for. Add mcfmac and mcfhwdiv to achitecture mask by default. * m68k-opc.c (struct m68k_opcodes): Changed divs.w and divu.w for ColdFire hwdiv option to have the same addressing modes as 68000up. Separated mcf5206e|mcf5307 specific options into hardware divide(mcfhwdiv) and MAC(mcfmac) instructions. include/opcode/ChangeLog: Sun July 17 12:41:00 1999 David J. Fiddes <D.J@fiddes.surfaid.org> * m68k.h: Remove mcf5206e and mcf5307 machine types. Add mcfmac and mcfhwdiv machine types. Shorten mcf machine type alias to just include mcf5200.
binutils-coldfire-options-19990717.diff.gz
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |