Hi, Currently the 'mach' file of the disassemble_info struct initialized by cgen_disassemble is left with the default value of 0, which indicates to use the default bfd machine. This patch allows the specification of a bfd machine number, so that targets with multiple cgen MACHs can filter the insn set correctly when disassembling. The machine number is an optional argument to cgen_bi_endian_cpu::disassemble with a default value of zero, to preserve the current behaviour in ports which don't use this feature. The machine number is then passed to cgen_disassemble which stores it in the disassemble_info for use by the disassembler. The machine number is also stored in the bfd_arch_hack struct by register_name and is compared against the requested machine number in bfd_lookup_arch. This has been tested against an internal port which uses this feature and against xstormy16 which does not. ok to commit? Dave