summaryrefslogtreecommitdiff
path: root/gas/ChangeLog
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2013-08-04 07:31:38 +0000
committerRichard Sandiford <rsandifo@nildram.co.uk>2013-08-04 07:31:38 +0000
commit26536ae14077d97493dfb8478014c0dd3bee7573 (patch)
tree59531c76233bbc11148dcfd5ebb771388a0190ba /gas/ChangeLog
parent8fae92b899125de3b1a7d2e2b4c7da0fb1a7f2ef (diff)
downloadbinutils-redhat-26536ae14077d97493dfb8478014c0dd3bee7573.tar.gz
include/opcode/
2013-08-04 Jürgen Urban <JuergenUrban@gmx.de> Richard Sandiford <rdsandiford@googlemail.com> * mips.h: Document new VU0 operand characters. (OP_VU0_SUFFIX, OP_VU0_MATCH_SUFFIX): New mips_operand_types. (OP_REG_VF, OP_REG_VI, OP_REG_R5900_I, OP_REG_R5900_Q, OP_REG_R5900_R) (OP_REG_R5900_ACC): New mips_reg_operand_types. (INSN2_VU0_CHANNEL_SUFFIX): New macro. (mips_vu0_channel_mask): Declare. opcodes/ 2013-08-04 Jürgen Urban <JuergenUrban@gmx.de> Richard Sandiford <rdsandiford@googlemail.com> * mips-dis.c (print_reg): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I, OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC. (print_vu0_channel): New function. (print_insn_arg): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX. (print_insn_args): Handle '#'. (print_insn_mips): Handle INSN2_VU0_CHANNEL_SUFFIX. * mips-opc.c (mips_vu0_channel_mask): New constant. (decode_mips_operand): Handle new VU0 operand types. (VU0, VU0CH): New macros. (mips_builtin_opcodes): Add VU0 opcodes. Use "+7" rather than "E" for LQC2 and SQC2. Use "+9" rather than "G" for EE CFC2 and CTC2. Use "+6" rather than "G" for QMFC2 and QMTC2. gas/ 2013-08-04 Jürgen Urban <JuergenUrban@gmx.de> Richard Sandiford <rdsandiford@googlemail.com> * config/tc-mips.c (MAX_OPERANDS): Bump to 6. (RWARN): Bump to 0x8000000. (RTYPE_VI, RTYPE_VF, RTYPE_R5900_I, RTYPE_R5900_Q, RTYPE_R5900_R) (RTYPE_R5900_ACC): New register types. (RTYPE_MASK): Include them. (R5900_I_NAMES, R5900_Q_NAMES, R5900_R_NAMES, R5900_ACC_NAMES): New macros. (reg_names): Include them. (mips_parse_register_1): New function, split out from... (mips_parse_register): ...here. Add a channels_ptr parameter. Look for VU0 channel suffixes when nonnull. (reg_lookup): Update the call to mips_parse_register. (mips_parse_vu0_channels): New function. (OT_CHANNELS, OT_DOUBLE_CHAR): New mips_operand_token_types. (mips_operand_token): Add a "channels" field to the union. Extend the comment above "ch" to OT_DOUBLE_CHAR. (mips_parse_base_start): Match -- and ++. Handle channel suffixes. (mips_parse_argument_token): Handle channel suffixes here too. (validate_mips_insn): Handle INSN2_VU0_CHANNEL_SUFFIX. Ignore OP_VU0_MATCH_SUFFIX when calculating the used bits. Handle '#' formats. (md_begin): Register $vfN and $vfI registers. (operand_reg_mask): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX. (convert_reg_type): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I, OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC. (match_vu0_suffix_operand): New function. (match_operand): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX. (macro): Use "+7" rather than "E" for LDQ2 and STQ2. (mips_lookup_insn): New function. (mips_ip): Use it. Allow "+K" operands to be elided at the end of an instruction. Handle '#' sequences. gas/testsuite/ 2013-08-04 Jürgen Urban <JuergenUrban@gmx.de> * gas/mips/r5900-vu0.d: Expect $vfN and $viN instead of numeric coprocessor registers. * gas/mips/r5900-all-vu0.s, gas/mips/r5900-all-vu0.d, gas/mips/r5900-full-vu0.s, gas/mips/r5900-full-vu0.d, gas/mips/r5900-error-vu0.s, gas/mips/r5900-error-vu0.l: New tests. * gas/mips/mips.exp: Run them.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r--gas/ChangeLog35
1 files changed, 35 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 19bc225505..21eab91378 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,38 @@
+2013-08-04 Jürgen Urban <JuergenUrban@gmx.de>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tc-mips.c (MAX_OPERANDS): Bump to 6.
+ (RWARN): Bump to 0x8000000.
+ (RTYPE_VI, RTYPE_VF, RTYPE_R5900_I, RTYPE_R5900_Q, RTYPE_R5900_R)
+ (RTYPE_R5900_ACC): New register types.
+ (RTYPE_MASK): Include them.
+ (R5900_I_NAMES, R5900_Q_NAMES, R5900_R_NAMES, R5900_ACC_NAMES): New
+ macros.
+ (reg_names): Include them.
+ (mips_parse_register_1): New function, split out from...
+ (mips_parse_register): ...here. Add a channels_ptr parameter.
+ Look for VU0 channel suffixes when nonnull.
+ (reg_lookup): Update the call to mips_parse_register.
+ (mips_parse_vu0_channels): New function.
+ (OT_CHANNELS, OT_DOUBLE_CHAR): New mips_operand_token_types.
+ (mips_operand_token): Add a "channels" field to the union.
+ Extend the comment above "ch" to OT_DOUBLE_CHAR.
+ (mips_parse_base_start): Match -- and ++. Handle channel suffixes.
+ (mips_parse_argument_token): Handle channel suffixes here too.
+ (validate_mips_insn): Handle INSN2_VU0_CHANNEL_SUFFIX.
+ Ignore OP_VU0_MATCH_SUFFIX when calculating the used bits.
+ Handle '#' formats.
+ (md_begin): Register $vfN and $vfI registers.
+ (operand_reg_mask): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
+ (convert_reg_type): Handle OP_REG_VI, OP_REG_VF, OP_REG_R5900_I,
+ OP_REG_R5900_Q, OP_REG_R5900_R and OP_REG_R5900_ACC.
+ (match_vu0_suffix_operand): New function.
+ (match_operand): Handle OP_VU0_SUFFIX and OP_VU0_MATCH_SUFFIX.
+ (macro): Use "+7" rather than "E" for LDQ2 and STQ2.
+ (mips_lookup_insn): New function.
+ (mips_ip): Use it. Allow "+K" operands to be elided at the end
+ of an instruction. Handle '#' sequences.
+
2013-08-03 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (macro, mips16_macro): Create an array of operand