diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-12-30 16:36:37 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-12-30 16:36:37 +0000 |
commit | 18e0764dd54c2f83183dc369856fff977e261e06 (patch) | |
tree | 3af456018a63e8b551ccb1f2acf187465bb6ba1a /gas/config | |
parent | d9ad8adf035242e612ebbb7adbfcd375b9e71d22 (diff) | |
download | gdb-18e0764dd54c2f83183dc369856fff977e261e06.zip gdb-18e0764dd54c2f83183dc369856fff977e261e06.tar.gz gdb-18e0764dd54c2f83183dc369856fff977e261e06.tar.bz2 |
* config/tc-mips.c (mips16_macro): Add case for M_ABS.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 11 |
1 files changed, 11 insertions, 0 deletions
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); } } |