* config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
mips_fix_loongson2f_jump): New variables.
(md_longopts): Add New options -mfix-loongson2f-nop/jump,
-mno-fix-loongson2f-nop/jump.
(md_parse_option): Initialize variables via above options.
(options): New enums for the above options.
(md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
(fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
New functions.
(append_insn): call fix_loongson2f().
(mips_handle_align): Replace the implicit nops.
* config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
for the new mips_handle_align().
* doc/c-mips.texi: Document the new options.
* gas/mips/loongson-2f-2.s: New test of -mfix-loongson2f-nop.
* gas/mips/loongson-2f-2.d: Likewise.
* gas/mips/loongson-2f-3.s: New test of -mfix-loongson2f-jump.
* gas/mips/loongson-2f-3.d: Likewise.
* gas/mips/mips.exp: Run the new tests.
* opcode/mips.h (LOONGSON2F_NOP_INSN): New macro.
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
2010-02-25 Wu Zhangjin <wuzhangjin@gmail.com>
|
||||
|
||||
* mips.h: (LOONGSON2F_NOP_INSN): New macro.
|
||||
|
||||
2010-02-08 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
|
||||
|
||||
* opcode/ppc.h (PPC_OPCODE_TITAN): Define.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* mips.h. Mips opcode list for GDB, the GNU debugger.
|
||||
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
2003, 2004, 2005, 2008, 2009
|
||||
2003, 2004, 2005, 2008, 2009, 2010
|
||||
Free Software Foundation, Inc.
|
||||
Contributed by Ralph Campbell and OSF
|
||||
Commented and modified by Ian Lance Taylor, Cygnus Support
|
||||
@@ -1106,4 +1106,8 @@ extern int bfd_mips_num_opcodes;
|
||||
extern const struct mips_opcode mips16_opcodes[];
|
||||
extern const int bfd_mips16_num_opcodes;
|
||||
|
||||
/* A NOP insn impemented as "or at,at,zero".
|
||||
Used to implement -mfix-loongson2f. */
|
||||
#define LOONGSON2F_NOP_INSN 0x00200825
|
||||
|
||||
#endif /* _MIPS_H_ */
|
||||
|
||||
Reference in New Issue
Block a user