aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorChao-ying Fu <fu@mips.com>2008-11-06 19:36:38 +0000
committerChao-ying Fu <fu@mips.com>2008-11-06 19:36:38 +0000
commit620edafdb92c372c858afde8dc3f53512c002030 (patch)
treed39fe07b96daddfef565d3a30d58ea47610d9050 /gas
parentde9a3e5195524b2aa19b5b1d0af1dce353569970 (diff)
downloadfsf-binutils-gdb-620edafdb92c372c858afde8dc3f53512c002030.zip
fsf-binutils-gdb-620edafdb92c372c858afde8dc3f53512c002030.tar.gz
fsf-binutils-gdb-620edafdb92c372c858afde8dc3f53512c002030.tar.bz2
2008-11-06 Chao-ying Fu <fu@mips.com>
* config/tc-mips.c (validate_mips_insn): Add case '1'. (mips_ip): Add case '1' to process sync type.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c6
2 files changed, 10 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 7e66ede..8bb6dab 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2008-11-06 Chao-ying Fu <fu@mips.com>
+
+ * config/tc-mips.c (validate_mips_insn): Add case '1'.
+ (mips_ip): Add case '1' to process sync type.
+
2008-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.tgt: Add m32c-*-rtems* and m32r-*-rtems*.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 5c65384..cc900c3 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -8457,6 +8457,7 @@ validate_mips_insn (const struct mips_opcode *opc)
case '%': USE_BITS (OP_MASK_VECALIGN, OP_SH_VECALIGN); break;
case '[': break;
case ']': break;
+ case '1': USE_BITS (OP_MASK_SHAMT, OP_SH_SHAMT); break;
case '2': USE_BITS (OP_MASK_BP, OP_SH_BP); break;
case '3': USE_BITS (OP_MASK_SA3, OP_SH_SA3); break;
case '4': USE_BITS (OP_MASK_SA4, OP_SH_SA4); break;
@@ -9243,6 +9244,7 @@ do_msbd:
case 'k': /* cache code */
case 'h': /* prefx code */
+ case '1': /* sync type */
my_getExpression (&imm_expr, s);
check_absolute_expr (ip, &imm_expr);
if ((unsigned long) imm_expr.X_add_number > 31)
@@ -9251,8 +9253,10 @@ do_msbd:
(unsigned long) imm_expr.X_add_number);
if (*args == 'k')
INSERT_OPERAND (CACHE, *ip, imm_expr.X_add_number);
- else
+ else if (*args == 'h')
INSERT_OPERAND (PREFX, *ip, imm_expr.X_add_number);
+ else
+ INSERT_OPERAND (SHAMT, *ip, imm_expr.X_add_number);
imm_expr.X_op = O_absent;
s = expr_end;
continue;