+
+ * m32r.cpu (HASH-PREFIX): Delete.
+ (duhpo, dshpo): New pmacros.
+ (simm8, simm16): Delete HASH-PREFIX attribute, define with dshpo.
+ (uimm3, uimm4, uimm5, uimm8, uimm16, imm1): Delete HASH-PREFIX
+ attribute, define with dshpo.
+ (uimm24): Delete HASH-PREFIX attribute.
+ * m32r.opc (CGEN_PRINT_NORMAL): Delete.
+ (print_signed_with_hash_prefix): New function.
+ (print_unsigned_with_hash_prefix): New function.
+ * xc16x.cpu (dowh): New pmacro.
+ (upof16): Define with dowh, specify print handler.
+ (qbit, qlobit, qhibit): Ditto.
+ (upag16): Ditto.
+ * xc16x.opc (CGEN_PRINT_NORMAL): Delete.
+ (print_with_dot_prefix): New functions.
+ (print_with_pof_prefix, print_with_pag_prefix): New functions.
+
+
+ * frv.cpu (floating-point-conversion): Update call to fp conv op.
+ (floating-point-dual-conversion, ne-floating-point-dual-conversion,
+ conditional-floating-point-conversion, ne-floating-point-conversion,
+ float-parallel-mul-add-double-semantics): Ditto.
+
+
+ * m32c.cpu (f-dsp-32-u24): Fix mode of extract handler.
+ (f-dsp-40-u20, f-dsp-40-u24): Ditto.
+
+
+ * m32c.opc (parse_signed16): Fix typo.
+
+
+ * frv.opc: Fix shadowed variable warnings.
+ * m32c.opc: Fix shadowed variable warnings.
+
+
+ Must use VOID expression in VOID context.
+ * xc16x.cpu (mov4): Fix mode of `sequence'.
+ (mov9, mov10): Ditto.
+ (movbsrr, moveb1, jmprel, jmpseg, jmps): Fix mode of `if'.
+ (callr, callseg, calls, trap, rets, reti): Ditto.
+ (jb, jbc, jnb, jnbs): Fix mode of `if'. Comment out no-op `sll'.
+ (atomic, extr, extp, extp1, extpg1, extpr, extpr1): Fix mode of `cond'.
+ (exts, exts1, extsr, extsr1, prior): Ditto.
+
+
+ * m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
+ cgen-ops.h -> cgen/basic-ops.h.
+
+
+ * m32r.cpu (stb-plus): Typo fix.
+
+
+ * m32r.cpu (sth-plus): Fix address mode and calculation.
+ (stb-plus): Ditto.
+ (clrpsw): Fix mask calculation.
+ (bset, bclr, btst): Make mode in bit calculation match expression.
+
+ * xc16x.cpu (rtl-version): Set to 0.8.
+ (gr-names, ext-names,psw-names): Update, print-name -> enum-prefix,
+ make uppercase. Remove unnecessary name-prefix spec.
+ (grb-names, conditioncode-names, extconditioncode-names): Ditto.
+ (grb8-names, r8-names, regmem8-names, regdiv8-names): Ditto.
+ (reg0-name, reg0-name1, regbmem8-names, memgr8-names): Ditto.
+ (h-cr): New hardware.
+ (muls): Comment out parts that won't compile, add fixme.
+ (mulu, divl, divlu, jmpabs, jmpa-, jmprel, jbc, jnbs, callr): Ditto.
+ (scxti, scxtmg, scxtm, bclear, bclr18, bset19, bitset, bmov): Ditto.
+ (bmovn, band, bor, bxor, bcmp, bfldl, bfldh): Ditto.
+
+
+ * cpu/simplify.inc (*): One line doc strings don't need \n.
+ (df): Invoke define-full-ifield instead of claiming it's an alias.
+ (dno): Define.
+ (dnop): Mark as deprecated.
+
+
+ * m32c.opc (parse_lab_5_3): Use correct enum.
+
+
+ * frv.cpu (mabshs): Explicitly sign-extend arguments of abs to DI.
+ (DI-ext-HI, DI-ext-UHI, DI-ext-DI): New pmacros.
+ (media-arith-sat-semantics): Explicitly sign- or zero-extend
+ arguments of "operation" to DI using "mode" and the new pmacros.
+
+
+ * cris.cpu (cris-implemented-writable-specregs-v32): Correct size
+ of number 2, PID.
+
+
+ * lm32.cpu: New file.
+ * lm32.opc: New file.
+
+
+ * mt.opc (parse_imm16): Apply 2007-09-26 opcodes/mt-asm.c change
+ to source.
+
+
+ * cris.cpu (movs, movu): Use result of extension operation when
+ updating flags.
+
+
+ * cris.cpu: Update copyright notice to refer to GPLv3.
+ * frv.cpu, frv.opc, iq10.cpu, iq2000m.cpu, iq2000.opc, m32c.cpu,
+ m32c.opc, m32r.cpu, m32r.opc, mt.cpu, mt.opc, sh64-compact.cpu,
+ sh64-media.cpu, sh.cpu, sh.opc, simplify.inc, xc16x.cpu,
+ xc16x.opc: Likewise.
+ * iq2000.cpu: Fix copyright notice to refer to FSF.
+
+
+ * frv.cpu (spr-names): Support new coprocessor SPR registers.
+
+
+ * xc16x.cpu: Restore after accidentally overwriting this file with
+ xc16x.opc.
+
+
+ * m32c.cpu (Imm-8-s4n): Fix print hook.
+ (Lab-24-8, Lab-32-8, Lab-40-8): Fix.
+ (arith-jnz-imm4-dst-defn): Make relaxable.
+ (arith-jnz16-imm4-dst-defn): Fix encodings.
+
+
+ * m32c.cpu (f-dsp-40-u20, f-dsp-48-u20, Dsp-40-u20, Dsp-40-u20,
+ mem20): New.
+ (src16-16-20-An-relative-*): New.
+ (dst16-*-20-An-relative-*): New.
+ (dst16-16-16sa-*): New
+ (dst16-16-16ar-*): New
+ (dst32-16-16sa-Unprefixed-*): New
+ (jsri): Fix operands.
+ (setzx): Fix encoding.
+
+
+ * m32r.opc: Formatting.
+
+
+ * iq2000.cpu: Fix include paths for iq2000m.cpu and iq10.cpu.
+
+
+ * m32c.opc (parse_unsigned_bitbase): Take a new parameter which
+ decides if this function accepts symbolic constants or not.
+ (parse_signed_bitbase): Likewise.
+ (parse_unsigned_bitbase8): Pass the new parameter.
+ (parse_unsigned_bitbase11): Likewise.
+ (parse_unsigned_bitbase16): Likewise.
+ (parse_unsigned_bitbase19): Likewise.
+ (parse_unsigned_bitbase27): Likewise.
+ (parse_signed_bitbase8): Likewise.
+ (parse_signed_bitbase11): Likewise.
+ (parse_signed_bitbase19): Likewise.
+
+
+ * m32c.cpu (Bit3-S): New.
+ (btst:s): New.
+ * m32c.opc (parse_bit3_S): New.
+
+ * m32c.cpu (decimal-subtraction16-insn): Add second operand.
+ (btst): Add optional :G suffix for MACH32.
+ (or.b:S): New.
+ (pop.w:G): Add optional :G suffix for MACH16.
+ (push.b.imm): Fix syntax.
+
+
+ * m32c.cpu (mul.l): New.
+ (mulu.l): New.
+
+
+ * xc16x.opc (parse_hash): Return NULL if the input was parsed or
+ an error message otherwise.
+ (parse_dot, parse_pof, parse_pag, parse_sof, parse_seg): Likewise.
+ Fix up comments to correctly describe the functions.
+
+
+ * m32c.cpu (RL_TYPE): New attribute, with macros.
+ (Lab-8-24): Add RELAX.
+ (unary-insn-defn-g, binary-arith-imm-dst-defn,
+ binary-arith-imm4-dst-defn): Add 1ADDR attribute.
+ (binary-arith-src-dst-defn): Add 2ADDR attribute.
+ (jcnd16-5, jcnd16, jcnd32, jmp16.s, jmp16.b, jmp16.w, jmp16.a,
+ jmp32.s, jmp32.b, jmp32.w, jmp32.a, jsr16.w, jsr16.a): Add JUMP
+ attribute.
+ (jsri16, jsri32): Add 1ADDR attribute.
+ (jsr32.w, jsr32.a): Add JUMP attribute.
+
+
+ * xc16x.cpu: New file containing complete CGEN specific XC16X CPU
+ description.
+ * xc16x.opc: New file containing supporting XC16C routines.
+
+
+ * iq2000.opc (parse_hi16): Truncate shifted values to 16 bits.
+
+
+ * m32c.cpu (mov.w:q): Fix mode.
+ (push32.b.imm): Likewise, for the comment.
+
+
+ Second part of ms1 to mt renaming.
+ * mt.cpu (define-arch, define-isa): Set name to mt.
+ (define-mach): Adjust.
+ * mt.opc (CGEN_ASM_HASH): Update.
+ (mt_asm_hash, mt_cgen_insn_supported): Renamed.
+ (parse_loopsize, parse_imm16): Adjust.
+
+
+ * m32c.cpu (jsri): Fix order so register names aren't treated as
+ symbols.
+ (indexb, indexbd, indexbs, indexl, indexld, indexls, indexw,
+ indexwd, indexws): Fix encodings.
+
+
+ * mt.cpu: Rename from ms1.cpu.
+ * mt.opc: Rename from ms1.opc.
+
+
+ * cris.cpu (simplecris-common-writable-specregs)
+ (simplecris-common-readable-specregs): Split from
+ simplecris-common-specregs. All users changed.
+ (cris-implemented-writable-specregs-v0)
+ (cris-implemented-readable-specregs-v0): Similar from
+ cris-implemented-specregs-v0.
+ (cris-implemented-writable-specregs-v3)
+ (cris-implemented-readable-specregs-v3)
+ (cris-implemented-writable-specregs-v8)
+ (cris-implemented-readable-specregs-v8)
+ (cris-implemented-writable-specregs-v10)
+ (cris-implemented-readable-specregs-v10)
+ (cris-implemented-writable-specregs-v32)
+ (cris-implemented-readable-specregs-v32): Similar.
+ (bdap-32-pc, move-m-pcplus-p0, move-m-spplus-p8): New
+ insns and specializations.
+
+
+ Add ms2
+ * ms1.cpu (ms2, ms2bf): New architecture variant, cpu, machine and
+ model.
+ (f-uu8, f-uu1, f-imm16l, f-loopo, f-cb1sel, f-cb2sel, f-cb1incr,
+ f-cb2incr, f-rc3): New fields.
+ (LOOP): New instruction.
+ (JAL-HAZARD): New hazard.
+ (imm16o, loopsize, imm16l, rc3, cb1sel, cb2sel, cb1incr, cb2incr):
+ New operands.
+ (mul, muli, dbnz, iflush): Enable for ms2
+ (jal, reti): Has JAL-HAZARD.
+ (ldctxt, ldfb, stfb): Only ms1.
+ (fbcb): Only ms1,ms1-003.
+ (wfbinc, mefbinc, wfbincr, mwfbincr, fbcbincs, mfbcbincs,
+ fbcbincrs, mfbcbincrs): Enable for ms2.
+ (loop, loopu, dfbc, dwfb, fbwfb, dfbr): New ms2 insns.
+ * ms1.opc (parse_loopsize): New.
+ (parse_imm16): hi16/lo16 relocs are applicable to IMM16L.
+ (print_pcrel): New.
+
+
+ Contribute the following change:
+
+ * frv.opc: Use CGEN_ATTR_VALUE_ENUM_TYPE in place of
+ CGEN_ATTR_VALUE_TYPE.
+ * m32c.opc (m32c_cgen_insn_supported): Use CGEN_INSN_BITSET_ATTR_VALUE.
+ Use cgen_bitset_intersect_p.
+
+
+ * m32c.cpu (Imm-8-s4n, Imm-12-s4n): New.
+ (arith-jnz16-imm4-dst-defn, arith-jnz32-imm4-dst-defn,
+ arith-jnz-imm4-dst-mach, arith-jnz-imm4-dst): Keep track of which
+ imm operand is needed.
+ (adjnz, sbjnz): Pass the right operands.
+ (unary-insn-defn, unary16-defn, unary32-defn, unary-insn-mach,
+ unary-insn): Add -g variants for opcodes that need to support :G.
+ (not.BW:G, push.BW:G): Call it.
+ (stzx16-imm8-imm8-dsp8sb, stzx16-imm8-imm8-dsp8fb,
+ stzx16-imm8-imm8-abs16): Fix operand typos.
+ * m32c.opc (m32c_asm_hash): Support bnCND.
+ (parse_signed4n, print_signed4n): New.
+
+
+ * m32c.cpu (f-dsp-8-s24, Dsp-8-s24): New.
+ (mov-dspsp-dst-defn, mov-src-dspsp-defn, mov16-dspsp-dst-defn,
+ mov16-src-dspsp-defn, mov32-dspsp-dst-defn, mov32-src-dspsp-defn):
+ dsp8[sp] is signed.
+ (mov.WL:S #imm,A0/A1): dsp24 is signed (i.e. -0x800000..0xffffff).
+ (mov.BW:S r0,r1): Fix typo r1l->r1.
+ (tst): Allow :G suffix.
+ * m32c.opc (parse_signed24): New, for -0x800000..0xffffff.
+
+
+ * m32r.opc (parse_hi16): Do not assume a 32-bit host word size.
+
+
+ * m32c.cpu (add16-bQ-sp,add16-wQ-sp): Fix to allow either width by
+ making one a macro of the other.
+
+
+ * m32c.cpu (lde, ste): Add dsp[a0] and [a1a] addressing.
+ (indexb, indexbd, indexbs, indexw, indexwd, indexws, indexl,
+ indexld, indexls): .w variants have `1' bit.
+ (rot32.b): QI, not SI.
+ (rot32.w): HI, not SI.
+ (xchg16): HI for .w variant.
+
+
+ * m32r.opc (parse_slo16): Fix bad application of previous patch.
+
+
+ * m32r.opc (parse_slo16): Better version of previous patch.
+
+
+ * cpu/m32r.opc (parse_slo16): Do not assume a 32-bit host word
+ size.
+
+
+ * m32c.opc (parse_unsigned8): Add %dsp8().
+ (parse_signed8): Add %hi8().
+ (parse_unsigned16): Add %dsp16().
+ (parse_signed16): Add %lo16() and %hi16().
+ (parse_lab_5_3): Make valuep a bfd_vma *.
+
+
+ * m32c.cpu (f-16-8, f-24-8, f-32-16, f-dsp-8-u24): New opcode
+ components.
+ (f-lab32-jmp-s): Fix insertion sequence.
+ (Dsp-8-u24, Lab-5-3, Lab32-jmp-s): New operands.
+ (Dsp-40-s8): Make parameter be signed.
+ (Dsp-40-s16): Likewise.
+ (Dsp-48-s8): Likewise.
+ (Dsp-48-s16): Likewise.
+ (Imm-13-u3): Likewise. (Despite its name!)
+ (BitBase16-16-s8): Make the parameter be unsigned.
+ (BitBase16-8-u11-S): Likewise.
+ (Lab-8-8, Lab-8-16, Lab-16-8, jcnd16-5, jcnd16, jcnd32, jmp16.s,
+ jmp16.b, jmp16.w, jmp32.s, jmp32.b, jmp32.w, jsp16.w, jsr32.w): Allow
+ relaxation.
+
+ * m32c.opc: Fix formatting.
+ Use safe-ctype.h instead of ctype.h
+ Move duplicated code sequences into a macro.
+ Fix compile time warnings about signedness mismatches.
+ Remove dead code.
+ (parse_lab_5_3): New parser function.
+
+
+ * m32c.opc (m32c_cgen_insn_supported): Use int, not CGEN_BITSET,
+ to represent isa sets.
+
+
+ * m32c.cpu, m32c.opc: Fix copyright.
+
+
+ * m32c.cpu, m32c.opc: Machine description for the Renesas M32C.
+
+
+ * ms1.opc (print_dollarhex): Correct format string.
+
+
+ * iq2000.cpu: Include from binutils cpu dir.
+
+
+ * iq2000.opc (parse_lo16, parse_mlo16): Make value parameter
+ unsigned in order to avoid compile time warnings about sign
+ conflicts.
+
+ * ms1.opc (parse_*): Likewise.
+ (parse_imm16): Use a "void *" as it is passed both signed and
+ unsigned arguments.
+
* frv.opc: Update to ISO C90 function declaration style.
media-expand-halfword-to-double-semantics, mexpdhd, cmexpdhd,
cmhtob): Use new operands.
* frv.opc (CGEN_VERBOSE_ASSEMBLER_ERRORS): Define.
- (parse_even_register): New function.
+ (parse_even_register): New function.