From: Ian Lance Taylor Date: Mon, 30 Dec 1996 16:36:37 +0000 (+0000) Subject: * config/tc-mips.c (mips16_macro): Add case for M_ABS. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=18e0764dd54c2f83183dc369856fff977e261e06;p=binutils-gdb.git * config/tc-mips.c (mips16_macro): Add case for M_ABS. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 7c34c07f10e..2fb674d71e4 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,7 @@ +Mon Dec 30 11:35:40 1996 Ian Lance Taylor + + * config/tc-mips.c (mips16_macro): Add case for M_ABS. + Fri Dec 27 22:51:51 1996 Fred Fish * 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 d90c7e6590f..d4bd7c68790 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); } }