aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-mips.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index b9e7860..9df5fd3 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,8 @@
Fri Dec 13 13:00:33 1996 Ian Lance Taylor <ian@cygnus.com>
+ * config/tc-mips.c (mips16_macro): Remove nop instructions after
+ branch instructions.
+
* config/tc-mips.c (md_begin): If configured for an embedded ELF
system, don't set the section alignment to 2**4.
(s_change_sec): Likewise.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 4b1f0e6..1bd8f91 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -5711,9 +5711,8 @@ mips16_macro (ip)
macro_build ((char *) NULL, &icnt, NULL,
dbl ? "ddiv" : "div",
"0,x,y", xreg, yreg);
- expr1.X_add_number = 4;
+ expr1.X_add_number = 2;
macro_build ((char *) NULL, &icnt, &expr1, "bnez", "x,p", yreg);
- macro_build ((char *) NULL, &icnt, NULL, "nop", "");
macro_build ((char *) NULL, &icnt, NULL, "break", "6", 7);
/* FIXME: The normal code checks for of -1 / -0x80000000 here,
since that causes an overflow. We should do that as well,
@@ -5743,9 +5742,8 @@ mips16_macro (ip)
++mips_noreorder;
mips_any_noreorder = 1;
macro_build ((char *) NULL, &icnt, NULL, s, "0,x,y", xreg, yreg);
- expr1.X_add_number = 4;
+ expr1.X_add_number = 2;
macro_build ((char *) NULL, &icnt, &expr1, "bnez", "x,p", yreg);
- macro_build ((char *) NULL, &icnt, NULL, "nop", "", 0);
macro_build ((char *) NULL, &icnt, NULL, "break", "6", 7);
--mips_noreorder;
macro_build ((char *) NULL, &icnt, NULL, s2, "x", zreg);