summaryrefslogtreecommitdiff
path: root/gas/doc/c-mips.texi
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2010-02-25 11:15:46 +0000
committerNick Clifton <nickc@redhat.com>2010-02-25 11:15:46 +0000
commit43ec71bb4c761538a3c8813856654de756661cce (patch)
treecd45ddd5db24b516cc7b4a3bf8309b4d98ebe862 /gas/doc/c-mips.texi
parent0fadd98120383e3c66511ed240526978496902d3 (diff)
downloadbinutils-redhat-43ec71bb4c761538a3c8813856654de756661cce.tar.gz
* 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.
Diffstat (limited to 'gas/doc/c-mips.texi')
-rw-r--r--gas/doc/c-mips.texi18
1 files changed, 16 insertions, 2 deletions
diff --git a/gas/doc/c-mips.texi b/gas/doc/c-mips.texi
index 34fa6944fd..641e60f4cc 100644
--- a/gas/doc/c-mips.texi
+++ b/gas/doc/c-mips.texi
@@ -1,5 +1,5 @@
@c Copyright 1991, 1992, 1993, 1994, 1995, 1997, 1999, 2000, 2001,
-@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
@c Free Software Foundation, Inc.
@c This is part of the GAS manual.
@c For copying conditions, see the file as.texinfo.
@@ -78,7 +78,7 @@ VxWorks-style position-independent macro expansions.
@itemx -mips2
@itemx -mips3
@itemx -mips4
-@itemx -mips5
+@itemx -mips5xo
@itemx -mips32
@itemx -mips32r2
@itemx -mips64
@@ -172,6 +172,20 @@ This tells the assembler to accept MT instructions.
Cause nops to be inserted if the read of the destination register
of an mfhi or mflo instruction occurs in the following two instructions.
+@item -mfix-loongson2f-jump
+@itemx -mno-fix-loongson2f-jump
+Eliminate instruction fetch from outside 256M region to work around the
+Loongson2F @samp{jump} instructions. Without it, under extreme cases,
+the kernel may crash. The issue has been solved in latest processor
+batches, but this fix has no side effect to them.
+
+@item -mfix-loongson2f-nop
+@itemx -mno-fix-loongson2f-nop
+Replace nops by @code{or at,at,zero} to work around the Loongson2F
+@samp{nop} errata. Without it, under extreme cases, cpu might
+deadlock. The issue has been solved in latest loongson2f batches, but
+this fix has no side effect to them.
+
@item -mfix-vr4120
@itemx -mno-fix-vr4120
Insert nops to work around certain VR4120 errata. This option is