aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-12-30 16:36:37 +0000
committerIan Lance Taylor <ian@airs.com>1996-12-30 16:36:37 +0000
commit18e0764dd54c2f83183dc369856fff977e261e06 (patch)
tree3af456018a63e8b551ccb1f2acf187465bb6ba1a
parentd9ad8adf035242e612ebbb7adbfcd375b9e71d22 (diff)
downloadgdb-18e0764dd54c2f83183dc369856fff977e261e06.zip
gdb-18e0764dd54c2f83183dc369856fff977e261e06.tar.gz
gdb-18e0764dd54c2f83183dc369856fff977e261e06.tar.bz2
* config/tc-mips.c (mips16_macro): Add case for M_ABS.
-rw-r--r--gas/ChangeLog4
-rw-r--r--gas/config/tc-mips.c11
2 files changed, 15 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7c34c07..2fb674d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,7 @@
+Mon Dec 30 11:35:40 1996 Ian Lance Taylor <ian@cygnus.com>
+
+ * config/tc-mips.c (mips16_macro): Add case for M_ABS.
+
Fri Dec 27 22:51:51 1996 Fred Fish <fnf@cygnus.com>
* NOTES.config (Implementation): as.h #define's "GAS" not "gas",
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index d90c7e6..d4bd7c6 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -5973,6 +5973,17 @@ mips16_macro (ip)
macro_build ((char *) NULL, &icnt, &imm_expr, s, s3, xreg);
macro_build ((char *) NULL, &icnt, &offset_expr, s2, "p");
break;
+
+ case M_ABS:
+ expr1.X_add_number = 0;
+ macro_build ((char *) NULL, &icnt, &expr1, "slti", "x,8", yreg);
+ if (xreg != yreg)
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
+ "move", "y,X", xreg, yreg);
+ expr1.X_add_number = 2;
+ macro_build ((char *) NULL, &icnt, &expr1, "bteqz", "p");
+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
+ "neg", "x,w", xreg, xreg);
}
}