diff options
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 9 | ||||
-rw-r--r-- | opcodes/arm-dis.c | 847 |
2 files changed, 443 insertions, 413 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index a01e494..c113745 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,5 +1,14 @@ 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com> + * arm-dis.c (enum isa): New enum. + (struct sopcode32): New structure. + (coprocessor_opcodes): change type of entries to struct sopcode32 and + set isa field of all current entries to ANY. + (print_insn_coprocessor): Change type of insn to struct sopcode32. + Only match an entry if its isa field allows the current mode. + +2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com> + * arm-dis.c (thumb_opcodes): Document %n control code. Add entry for CLRM. (print_insn_thumb32): Add logic to print %n CLRM register list. diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index e70641c..dfb6ac7 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -75,6 +75,23 @@ struct opcode32 const char * assembler; /* How to disassemble this insn. */ }; +enum isa { + ANY, + T32, + ARM +}; + + +/* Shared (between Arm and Thumb mode) opcode. */ +struct sopcode32 +{ + enum isa isa; /* Execution mode instruction availability. */ + arm_feature_set arch; /* Architecture defining this insn. */ + unsigned long value; /* If arch is 0 then value is a sentinel. */ + unsigned long mask; /* Recognise insn if (op & mask) == value. */ + const char * assembler; /* How to disassemble this insn. */ +}; + struct opcode16 { arm_feature_set arch; /* Architecture defining this insn. */ @@ -147,885 +164,885 @@ enum opcode_sentinel_enum /* Common coprocessor opcodes shared between Arm and Thumb-2. */ -static const struct opcode32 coprocessor_opcodes[] = +static const struct sopcode32 coprocessor_opcodes[] = { /* XScale instructions. */ - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e200010, 0x0fff0ff0, "mia%c\tacc0, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e280010, 0x0fff0ff0, "miaph%c\tacc0, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e2c0010, 0x0ffc0ff0, "mia%17'T%17`B%16'T%16`B%c\tacc0, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c400000, 0x0ff00fff, "mar%c\tacc0, %12-15r, %16-19r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c500000, 0x0ff00fff, "mra%c\t%12-15r, %16-19r, acc0"}, /* Intel Wireless MMX technology instructions. */ - {ARM_FEATURE_CORE_LOW (0), SENTINEL_IWMMXT_START, 0, "" }, - {ARM_FEATURE_COPROC (ARM_CEXT_IWMMXT), + {ANY, ARM_FEATURE_CORE_LOW (0), SENTINEL_IWMMXT_START, 0, "" }, + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_IWMMXT), 0x0e130130, 0x0f3f0fff, "tandc%22-23w%c\t%12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e400010, 0x0ff00f3f, "tbcst%6-7w%c\t%16-19g, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e130170, 0x0f3f0ff8, "textrc%22-23w%c\t%12-15r, #%0-2d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100070, 0x0f300ff0, "textrm%3?su%22-23w%c\t%12-15r, %16-19g, #%0-2d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e600010, 0x0ff00f38, "tinsr%6-7w%c\t%16-19g, %12-15r, #%0-2d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000110, 0x0ff00fff, "tmcr%c\t%16-19G, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c400000, 0x0ff00ff0, "tmcrr%c\t%0-3g, %12-15r, %16-19r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e2c0010, 0x0ffc0e10, "tmia%17?tb%16?tb%c\t%5-8g, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e200010, 0x0fff0e10, "tmia%c\t%5-8g, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e280010, 0x0fff0e10, "tmiaph%c\t%5-8g, %0-3r, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100030, 0x0f300fff, "tmovmsk%22-23w%c\t%12-15r, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100110, 0x0ff00ff0, "tmrc%c\t%12-15r, %16-19G"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c500000, 0x0ff00ff0, "tmrrc%c\t%12-15r, %16-19r, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e130150, 0x0f3f0fff, "torc%22-23w%c\t%12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e120190, 0x0f3f0fff, "torvsc%22-23w%c\t%12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e2001c0, 0x0f300fff, "wabs%22-23w%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0001c0, 0x0f300fff, "wacc%22-23w%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000180, 0x0f000ff0, "wadd%20-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e2001a0, 0x0fb00ff0, "waddbhus%22?ml%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ea001a0, 0x0ff00ff0, "waddsubhx%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000020, 0x0f800ff0, "waligni%c\t%12-15g, %16-19g, %0-3g, #%20-22d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e800020, 0x0fc00ff0, "walignr%20-21d%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e200000, 0x0fe00ff0, "wand%20'n%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e800000, 0x0fa00ff0, "wavg2%22?hb%20'r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e400000, 0x0fe00ff0, "wavg4%20'r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000060, 0x0f300ff0, "wcmpeq%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100060, 0x0f100ff0, "wcmpgt%21?su%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfc500100, 0xfe500f00, "wldrd\t%12-15g, %r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfc100100, 0xfe500f00, "wldrw\t%12-15G, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c100000, 0x0e100e00, "wldr%L%c\t%12-15g, %l"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e400100, 0x0fc00ff0, "wmac%21?su%20'z%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e800100, 0x0fc00ff0, "wmadd%21?su%20'x%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ec00100, 0x0fd00ff0, "wmadd%21?sun%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000160, 0x0f100ff0, "wmax%21?su%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000080, 0x0f100fe0, "wmerge%c\t%12-15g, %16-19g, %0-3g, #%21-23d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0000a0, 0x0f800ff0, "wmia%21?tb%20?tb%22'n%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e800120, 0x0f800ff0, "wmiaw%21?tb%20?tb%22'n%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100160, 0x0f100ff0, "wmin%21?su%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000100, 0x0fc00ff0, "wmul%21?su%20?ml%23'r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ed00100, 0x0fd00ff0, "wmul%21?sumr%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ee000c0, 0x0fe00ff0, "wmulwsm%20`r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ec000c0, 0x0fe00ff0, "wmulwum%20`r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0eb000c0, 0x0ff00ff0, "wmulwl%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e8000a0, 0x0f800ff0, "wqmia%21?tb%20?tb%22'n%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100080, 0x0fd00ff0, "wqmulm%21'r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ec000e0, 0x0fd00ff0, "wqmulwm%21'r%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000000, 0x0ff00ff0, "wor%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000080, 0x0f000ff0, "wpack%20-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfe300040, 0xff300ef0, "wror%22-23w\t%12-15g, %16-19g, #%i"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e300040, 0x0f300ff0, "wror%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e300140, 0x0f300ff0, "wror%22-23wg%c\t%12-15g, %16-19g, %0-3G"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000120, 0x0fa00ff0, "wsad%22?hb%20'z%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0001e0, 0x0f000ff0, "wshufh%c\t%12-15g, %16-19g, #%Z"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfe100040, 0xff300ef0, "wsll%22-23w\t%12-15g, %16-19g, #%i"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100040, 0x0f300ff0, "wsll%22-23w%8'g%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100148, 0x0f300ffc, "wsll%22-23w%8'g%c\t%12-15g, %16-19g, %0-3G"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfe000040, 0xff300ef0, "wsra%22-23w\t%12-15g, %16-19g, #%i"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000040, 0x0f300ff0, "wsra%22-23w%8'g%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e000148, 0x0f300ffc, "wsra%22-23w%8'g%c\t%12-15g, %16-19g, %0-3G"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfe200040, 0xff300ef0, "wsrl%22-23w\t%12-15g, %16-19g, #%i"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e200040, 0x0f300ff0, "wsrl%22-23w%8'g%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e200148, 0x0f300ffc, "wsrl%22-23w%8'g%c\t%12-15g, %16-19g, %0-3G"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfc400100, 0xfe500f00, "wstrd\t%12-15g, %r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0xfc000100, 0xfe500f00, "wstrw\t%12-15G, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0c000000, 0x0e100e00, "wstr%L%c\t%12-15g, %l"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0001a0, 0x0f000ff0, "wsub%20-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0ed001c0, 0x0ff00ff0, "wsubaddhx%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e1001c0, 0x0f300ff0, "wabsdiff%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0000c0, 0x0fd00fff, "wunpckeh%21?sub%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e4000c0, 0x0fd00fff, "wunpckeh%21?suh%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e8000c0, 0x0fd00fff, "wunpckeh%21?suw%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e0000e0, 0x0f100fff, "wunpckel%21?su%22-23w%c\t%12-15g, %16-19g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e1000c0, 0x0f300ff0, "wunpckih%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e1000e0, 0x0f300ff0, "wunpckil%22-23w%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), 0x0e100000, 0x0ff00ff0, "wxor%c\t%12-15g, %16-19g, %0-3g"}, - {ARM_FEATURE_CORE_LOW (0), + {ANY, ARM_FEATURE_CORE_LOW (0), SENTINEL_IWMMXT_END, 0, "" }, /* Floating point coprocessor (FPA) instructions. */ - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e000100, 0x0ff08f10, "adf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e100100, 0x0ff08f10, "muf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e200100, 0x0ff08f10, "suf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e300100, 0x0ff08f10, "rsf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e400100, 0x0ff08f10, "dvf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e500100, 0x0ff08f10, "rdf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e600100, 0x0ff08f10, "pow%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e700100, 0x0ff08f10, "rpw%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e800100, 0x0ff08f10, "rmf%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e900100, 0x0ff08f10, "fml%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ea00100, 0x0ff08f10, "fdv%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0eb00100, 0x0ff08f10, "frd%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ec00100, 0x0ff08f10, "pol%c%P%R\t%12-14f, %16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e008100, 0x0ff08f10, "mvf%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e108100, 0x0ff08f10, "mnf%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e208100, 0x0ff08f10, "abs%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e308100, 0x0ff08f10, "rnd%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e408100, 0x0ff08f10, "sqt%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e508100, 0x0ff08f10, "log%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e608100, 0x0ff08f10, "lgn%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e708100, 0x0ff08f10, "exp%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e808100, 0x0ff08f10, "sin%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e908100, 0x0ff08f10, "cos%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ea08100, 0x0ff08f10, "tan%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0eb08100, 0x0ff08f10, "asn%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ec08100, 0x0ff08f10, "acs%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ed08100, 0x0ff08f10, "atn%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ee08100, 0x0ff08f10, "urd%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ef08100, 0x0ff08f10, "nrm%c%P%R\t%12-14f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e000110, 0x0ff00f1f, "flt%c%P%R\t%16-18f, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e100110, 0x0fff0f98, "fix%c%R\t%12-15r, %0-2f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e200110, 0x0fff0fff, "wfs%c\t%12-15r"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e300110, 0x0fff0fff, "rfs%c\t%12-15r"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e400110, 0x0fff0fff, "wfc%c\t%12-15r"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e500110, 0x0fff0fff, "rfc%c\t%12-15r"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0e90f110, 0x0ff8fff0, "cmf%c\t%16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0eb0f110, 0x0ff8fff0, "cnf%c\t%16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ed0f110, 0x0ff8fff0, "cmfe%c\t%16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0ef0f110, 0x0ff8fff0, "cnfe%c\t%16-18f, %0-3f"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0c000100, 0x0e100f00, "stf%c%Q\t%12-14f, %A"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V1), 0x0c100100, 0x0e100f00, "ldf%c%Q\t%12-14f, %A"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V2), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V2), 0x0c000200, 0x0e100f00, "sfm%c\t%12-14f, %F, %A"}, - {ARM_FEATURE_COPROC (FPU_FPA_EXT_V2), + {ANY, ARM_FEATURE_COPROC (FPU_FPA_EXT_V2), 0x0c100200, 0x0e100f00, "lfm%c\t%12-14f, %F, %A"}, /* ARMv8-M Mainline Security Extensions instructions. */ - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M_MAIN), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M_MAIN), 0xec300a00, 0xfff0ffff, "vlldm\t%16-19r"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M_MAIN), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8M_MAIN), 0xec200a00, 0xfff0ffff, "vlstm\t%16-19r"}, /* Register load/store. */ - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0d2d0b00, 0x0fbf0f01, "vpush%c\t%B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0d200b00, 0x0fb00f01, "vstmdb%c\t%16-19r!, %B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0d300b00, 0x0fb00f01, "vldmdb%c\t%16-19r!, %B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0c800b00, 0x0f900f01, "vstmia%c\t%16-19r%21'!, %B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0cbd0b00, 0x0fbf0f01, "vpop%c\t%B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0c900b00, 0x0f900f01, "vldmia%c\t%16-19r%21'!, %B"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0d000b00, 0x0f300f00, "vstr%c\t%12-15,22D, %A"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD | FPU_NEON_EXT_V1), 0x0d100b00, 0x0f300f00, "vldr%c\t%12-15,22D, %A"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d2d0a00, 0x0fbf0f00, "vpush%c\t%y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d200a00, 0x0fb00f00, "vstmdb%c\t%16-19r!, %y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d300a00, 0x0fb00f00, "vldmdb%c\t%16-19r!, %y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0c800a00, 0x0f900f00, "vstmia%c\t%16-19r%21'!, %y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0cbd0a00, 0x0fbf0f00, "vpop%c\t%y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0c900a00, 0x0f900f00, "vldmia%c\t%16-19r%21'!, %y3"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d000a00, 0x0f300f00, "vstr%c\t%y1, %A"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d100a00, 0x0f300f00, "vldr%c\t%y1, %A"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d200b01, 0x0fb00f01, "fstmdbx%c\t%16-19r!, %z3\t;@ Deprecated"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0d300b01, 0x0fb00f01, "fldmdbx%c\t%16-19r!, %z3\t;@ Deprecated"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0c800b01, 0x0f900f01, "fstmiax%c\t%16-19r%21'!, %z3\t;@ Deprecated"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0c900b01, 0x0f900f01, "fldmiax%c\t%16-19r%21'!, %z3\t;@ Deprecated"}, /* Data transfer between ARM and NEON registers. */ - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e800b10, 0x0ff00f70, "vdup%c.32\t%16-19,7D, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e800b30, 0x0ff00f70, "vdup%c.16\t%16-19,7D, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0ea00b10, 0x0ff00f70, "vdup%c.32\t%16-19,7Q, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0ea00b30, 0x0ff00f70, "vdup%c.16\t%16-19,7Q, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0ec00b10, 0x0ff00f70, "vdup%c.8\t%16-19,7D, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0ee00b10, 0x0ff00f70, "vdup%c.8\t%16-19,7Q, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0c400b10, 0x0ff00fd0, "vmov%c\t%0-3,5D, %12-15r, %16-19r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0c500b10, 0x0ff00fd0, "vmov%c\t%12-15r, %16-19r, %0-3,5D"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e000b10, 0x0fd00f70, "vmov%c.32\t%16-19,7D[%21d], %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e100b10, 0x0f500f70, "vmov%c.32\t%12-15r, %16-19,7D[%21d]"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e000b30, 0x0fd00f30, "vmov%c.16\t%16-19,7D[%6,21d], %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e100b30, 0x0f500f30, "vmov%c.%23?us16\t%12-15r, %16-19,7D[%6,21d]"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e400b10, 0x0fd00f10, "vmov%c.8\t%16-19,7D[%5,6,21d], %12-15r"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_V1), 0x0e500b10, 0x0f500f10, "vmov%c.%23?us8\t%12-15r, %16-19,7D[%5,6,21d]"}, /* Half-precision conversion instructions. */ - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0eb20b40, 0x0fbf0f50, "vcvt%7?tb%c.f64.f16\t%z1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0eb30b40, 0x0fbf0f50, "vcvt%7?tb%c.f16.f64\t%y1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FP16), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FP16), 0x0eb20a40, 0x0fbf0f50, "vcvt%7?tb%c.f32.f16\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FP16), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FP16), 0x0eb30a40, 0x0fbf0f50, "vcvt%7?tb%c.f16.f32\t%y1, %y0"}, /* Floating point coprocessor (VFP) instructions. */ - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee00a10, 0x0fff0fff, "vmsr%c\tfpsid, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee10a10, 0x0fff0fff, "vmsr%c\tfpscr, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee60a10, 0x0fff0fff, "vmsr%c\tmvfr1, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee70a10, 0x0fff0fff, "vmsr%c\tmvfr0, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0ee50a10, 0x0fff0fff, "vmsr%c\tmvfr2, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee80a10, 0x0fff0fff, "vmsr%c\tfpexc, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee90a10, 0x0fff0fff, "vmsr%c\tfpinst, %12-15r\t@ Impl def"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eea0a10, 0x0fff0fff, "vmsr%c\tfpinst2, %12-15r\t@ Impl def"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef00a10, 0x0fff0fff, "vmrs%c\t%12-15r, fpsid"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef1fa10, 0x0fffffff, "vmrs%c\tAPSR_nzcv, fpscr"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef10a10, 0x0fff0fff, "vmrs%c\t%12-15r, fpscr"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0ef50a10, 0x0fff0fff, "vmrs%c\t%12-15r, mvfr2"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef60a10, 0x0fff0fff, "vmrs%c\t%12-15r, mvfr1"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef70a10, 0x0fff0fff, "vmrs%c\t%12-15r, mvfr0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef80a10, 0x0fff0fff, "vmrs%c\t%12-15r, fpexc"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef90a10, 0x0fff0fff, "vmrs%c\t%12-15r, fpinst\t@ Impl def"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0efa0a10, 0x0fff0fff, "vmrs%c\t%12-15r, fpinst2\t@ Impl def"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e000b10, 0x0fd00fff, "vmov%c.32\t%z2[%21d], %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e100b10, 0x0fd00fff, "vmov%c.32\t%12-15r, %z2[%21d]"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ee00a10, 0x0ff00fff, "vmsr%c\t<impl def %16-19x>, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ef00a10, 0x0ff00fff, "vmrs%c\t%12-15r, <impl def %16-19x>"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e000a10, 0x0ff00f7f, "vmov%c\t%y2, %12-15r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e100a10, 0x0ff00f7f, "vmov%c\t%12-15r, %y2"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb50a40, 0x0fbf0f70, "vcmp%7'e%c.f32\t%y1, #0.0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb50b40, 0x0fbf0f70, "vcmp%7'e%c.f64\t%z1, #0.0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb00a40, 0x0fbf0fd0, "vmov%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb00ac0, 0x0fbf0fd0, "vabs%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb00b40, 0x0fbf0fd0, "vmov%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb00bc0, 0x0fbf0fd0, "vabs%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb10a40, 0x0fbf0fd0, "vneg%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb10ac0, 0x0fbf0fd0, "vsqrt%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb10b40, 0x0fbf0fd0, "vneg%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb10bc0, 0x0fbf0fd0, "vsqrt%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb70ac0, 0x0fbf0fd0, "vcvt%c.f64.f32\t%z1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb70bc0, 0x0fbf0fd0, "vcvt%c.f32.f64\t%y1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb80a40, 0x0fbf0f50, "vcvt%c.f32.%7?su32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb80b40, 0x0fbf0f50, "vcvt%c.f64.%7?su32\t%z1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0eb40a40, 0x0fbf0f50, "vcmp%7'e%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0eb40b40, 0x0fbf0f50, "vcmp%7'e%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), 0x0eba0a40, 0x0fbe0f50, "vcvt%c.f32.%16?us%7?31%7?26\t%y1, %y1, #%5,0-3k"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), 0x0eba0b40, 0x0fbe0f50, "vcvt%c.f64.%16?us%7?31%7?26\t%z1, %z1, #%5,0-3k"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0ebc0a40, 0x0fbe0f50, "vcvt%7`r%c.%16?su32.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0ebc0b40, 0x0fbe0f50, "vcvt%7`r%c.%16?su32.f64\t%y1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), 0x0ebe0a40, 0x0fbe0f50, "vcvt%c.%16?us%7?31%7?26.f32\t%y1, %y1, #%5,0-3k"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), 0x0ebe0b40, 0x0fbe0f50, "vcvt%c.%16?us%7?31%7?26.f64\t%z1, %z1, #%5,0-3k"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0c500b10, 0x0fb00ff0, "vmov%c\t%12-15r, %16-19r, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3xD), 0x0eb00a00, 0x0fb00ff0, "vmov%c.f32\t%y1, #%0-3,16-19E"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V3), 0x0eb00b00, 0x0fb00ff0, "vmov%c.f64\t%z1, #%0-3,16-19E"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), 0x0c400a10, 0x0ff00fd0, "vmov%c\t%y4, %12-15r, %16-19r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), 0x0c400b10, 0x0ff00fd0, "vmov%c\t%z0, %12-15r, %16-19r"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V2), 0x0c500a10, 0x0ff00fd0, "vmov%c\t%12-15r, %16-19r, %y4"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e000a00, 0x0fb00f50, "vmla%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e000a40, 0x0fb00f50, "vmls%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e000b00, 0x0fb00f50, "vmla%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e000b40, 0x0fb00f50, "vmls%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e100a00, 0x0fb00f50, "vnmls%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e100a40, 0x0fb00f50, "vnmla%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e100b00, 0x0fb00f50, "vnmls%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e100b40, 0x0fb00f50, "vnmla%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e200a00, 0x0fb00f50, "vmul%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e200a40, 0x0fb00f50, "vnmul%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e200b00, 0x0fb00f50, "vmul%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e200b40, 0x0fb00f50, "vnmul%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e300a00, 0x0fb00f50, "vadd%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e300a40, 0x0fb00f50, "vsub%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e300b00, 0x0fb00f50, "vadd%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e300b40, 0x0fb00f50, "vsub%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1xD), 0x0e800a00, 0x0fb00f50, "vdiv%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_V1), 0x0e800b00, 0x0fb00f50, "vdiv%c.f64\t%z1, %z2, %z0"}, /* Cirrus coprocessor instructions. */ - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d100400, 0x0f500f00, "cfldrs%c\tmvf%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c100400, 0x0f500f00, "cfldrs%c\tmvf%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d500400, 0x0f500f00, "cfldrd%c\tmvd%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c500400, 0x0f500f00, "cfldrd%c\tmvd%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d100500, 0x0f500f00, "cfldr32%c\tmvfx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c100500, 0x0f500f00, "cfldr32%c\tmvfx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d500500, 0x0f500f00, "cfldr64%c\tmvdx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c500500, 0x0f500f00, "cfldr64%c\tmvdx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d000400, 0x0f500f00, "cfstrs%c\tmvf%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c000400, 0x0f500f00, "cfstrs%c\tmvf%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d400400, 0x0f500f00, "cfstrd%c\tmvd%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c400400, 0x0f500f00, "cfstrd%c\tmvd%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d000500, 0x0f500f00, "cfstr32%c\tmvfx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c000500, 0x0f500f00, "cfstr32%c\tmvfx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0d400500, 0x0f500f00, "cfstr64%c\tmvdx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0c400500, 0x0f500f00, "cfstr64%c\tmvdx%12-15d, %A"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000450, 0x0ff00ff0, "cfmvsr%c\tmvf%16-19d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100450, 0x0ff00ff0, "cfmvrs%c\t%12-15r, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000410, 0x0ff00ff0, "cfmvdlr%c\tmvd%16-19d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100410, 0x0ff00ff0, "cfmvrdl%c\t%12-15r, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000430, 0x0ff00ff0, "cfmvdhr%c\tmvd%16-19d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100430, 0x0ff00fff, "cfmvrdh%c\t%12-15r, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000510, 0x0ff00fff, "cfmv64lr%c\tmvdx%16-19d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100510, 0x0ff00fff, "cfmvr64l%c\t%12-15r, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000530, 0x0ff00fff, "cfmv64hr%c\tmvdx%16-19d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100530, 0x0ff00fff, "cfmvr64h%c\t%12-15r, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e200440, 0x0ff00fff, "cfmval32%c\tmvax%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100440, 0x0ff00fff, "cfmv32al%c\tmvfx%12-15d, mvax%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e200460, 0x0ff00fff, "cfmvam32%c\tmvax%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100460, 0x0ff00fff, "cfmv32am%c\tmvfx%12-15d, mvax%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e200480, 0x0ff00fff, "cfmvah32%c\tmvax%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100480, 0x0ff00fff, "cfmv32ah%c\tmvfx%12-15d, mvax%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e2004a0, 0x0ff00fff, "cfmva32%c\tmvax%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1004a0, 0x0ff00fff, "cfmv32a%c\tmvfx%12-15d, mvax%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e2004c0, 0x0ff00fff, "cfmva64%c\tmvax%12-15d, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1004c0, 0x0ff00fff, "cfmv64a%c\tmvdx%12-15d, mvax%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e2004e0, 0x0fff0fff, "cfmvsc32%c\tdspsc, mvdx%12-15d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1004e0, 0x0fff0fff, "cfmv32sc%c\tmvdx%12-15d, dspsc"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000400, 0x0ff00fff, "cfcpys%c\tmvf%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000420, 0x0ff00fff, "cfcpyd%c\tmvd%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000460, 0x0ff00fff, "cfcvtsd%c\tmvd%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000440, 0x0ff00fff, "cfcvtds%c\tmvf%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000480, 0x0ff00fff, "cfcvt32s%c\tmvf%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e0004a0, 0x0ff00fff, "cfcvt32d%c\tmvd%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e0004c0, 0x0ff00fff, "cfcvt64s%c\tmvf%12-15d, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e0004e0, 0x0ff00fff, "cfcvt64d%c\tmvd%12-15d, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100580, 0x0ff00fff, "cfcvts32%c\tmvfx%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1005a0, 0x0ff00fff, "cfcvtd32%c\tmvfx%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1005c0, 0x0ff00fff, "cftruncs32%c\tmvfx%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1005e0, 0x0ff00fff, "cftruncd32%c\tmvfx%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000550, 0x0ff00ff0, "cfrshl32%c\tmvfx%16-19d, mvfx%0-3d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000570, 0x0ff00ff0, "cfrshl64%c\tmvdx%16-19d, mvdx%0-3d, %12-15r"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000500, 0x0ff00f10, "cfsh32%c\tmvfx%12-15d, mvfx%16-19d, #%I"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e200500, 0x0ff00f10, "cfsh64%c\tmvdx%12-15d, mvdx%16-19d, #%I"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100490, 0x0ff00ff0, "cfcmps%c\t%12-15r, mvf%16-19d, mvf%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1004b0, 0x0ff00ff0, "cfcmpd%c\t%12-15r, mvd%16-19d, mvd%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100590, 0x0ff00ff0, "cfcmp32%c\t%12-15r, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e1005b0, 0x0ff00ff0, "cfcmp64%c\t%12-15r, mvdx%16-19d, mvdx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300400, 0x0ff00fff, "cfabss%c\tmvf%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300420, 0x0ff00fff, "cfabsd%c\tmvd%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300440, 0x0ff00fff, "cfnegs%c\tmvf%12-15d, mvf%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300460, 0x0ff00fff, "cfnegd%c\tmvd%12-15d, mvd%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300480, 0x0ff00ff0, "cfadds%c\tmvf%12-15d, mvf%16-19d, mvf%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3004a0, 0x0ff00ff0, "cfaddd%c\tmvd%12-15d, mvd%16-19d, mvd%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3004c0, 0x0ff00ff0, "cfsubs%c\tmvf%12-15d, mvf%16-19d, mvf%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3004e0, 0x0ff00ff0, "cfsubd%c\tmvd%12-15d, mvd%16-19d, mvd%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100400, 0x0ff00ff0, "cfmuls%c\tmvf%12-15d, mvf%16-19d, mvf%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100420, 0x0ff00ff0, "cfmuld%c\tmvd%12-15d, mvd%16-19d, mvd%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300500, 0x0ff00fff, "cfabs32%c\tmvfx%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300520, 0x0ff00fff, "cfabs64%c\tmvdx%12-15d, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300540, 0x0ff00fff, "cfneg32%c\tmvfx%12-15d, mvfx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300560, 0x0ff00fff, "cfneg64%c\tmvdx%12-15d, mvdx%16-19d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300580, 0x0ff00ff0, "cfadd32%c\tmvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3005a0, 0x0ff00ff0, "cfadd64%c\tmvdx%12-15d, mvdx%16-19d, mvdx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3005c0, 0x0ff00ff0, "cfsub32%c\tmvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e3005e0, 0x0ff00ff0, "cfsub64%c\tmvdx%12-15d, mvdx%16-19d, mvdx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100500, 0x0ff00ff0, "cfmul32%c\tmvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100520, 0x0ff00ff0, "cfmul64%c\tmvdx%12-15d, mvdx%16-19d, mvdx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100540, 0x0ff00ff0, "cfmac32%c\tmvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100560, 0x0ff00ff0, "cfmsc32%c\tmvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e000600, 0x0ff00f10, "cfmadd32%c\tmvax%5-7d, mvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e100600, 0x0ff00f10, "cfmsub32%c\tmvax%5-7d, mvfx%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e200600, 0x0ff00f10, "cfmadda32%c\tmvax%5-7d, mvax%12-15d, mvfx%16-19d, mvfx%0-3d"}, - {ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), + {ANY, ARM_FEATURE_COPROC (ARM_CEXT_MAVERICK), 0x0e300600, 0x0ff00f10, "cfmsuba32%c\tmvax%5-7d, mvax%12-15d, mvfx%16-19d, mvfx%0-3d"}, /* VFP Fused multiply add instructions. */ - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0ea00a00, 0x0fb00f50, "vfma%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0ea00b00, 0x0fb00f50, "vfma%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0ea00a40, 0x0fb00f50, "vfms%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0ea00b40, 0x0fb00f50, "vfms%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0e900a40, 0x0fb00f50, "vfnma%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0e900b40, 0x0fb00f50, "vfnma%c.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0e900a00, 0x0fb00f50, "vfnms%c.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_FMA), 0x0e900b00, 0x0fb00f50, "vfnms%c.f64\t%z1, %z2, %z0"}, /* FP v5. */ - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe000a00, 0xff800f50, "vsel%20-21c%u.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe000b00, 0xff800f50, "vsel%20-21c%u.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe800a00, 0xffb00f50, "vmaxnm%u.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe800b00, 0xffb00f50, "vmaxnm%u.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe800a40, 0xffb00f50, "vminnm%u.f32\t%y1, %y2, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfe800b40, 0xffb00f50, "vminnm%u.f64\t%z1, %z2, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfebc0a40, 0xffbc0f50, "vcvt%16-17?mpna%u.%7?su32.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfebc0b40, 0xffbc0f50, "vcvt%16-17?mpna%u.%7?su32.f64\t%y1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0eb60a40, 0x0fbe0f50, "vrint%7,16??xzr%c.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0x0eb60b40, 0x0fbe0f50, "vrint%7,16??xzr%c.f64\t%z1, %z0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfeb80a40, 0xffbc0fd0, "vrint%16-17?mpna%u.f32\t%y1, %y0"}, - {ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), + {ANY, ARM_FEATURE_COPROC (FPU_VFP_EXT_ARMV8), 0xfeb80b40, 0xffbc0fd0, "vrint%16-17?mpna%u.f64\t%z1, %z0"}, /* Generic coprocessor instructions. */ - {ARM_FEATURE_CORE_LOW (0), SENTINEL_GENERIC_START, 0, "" }, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5E), + {ANY, ARM_FEATURE_CORE_LOW (0), SENTINEL_GENERIC_START, 0, "" }, + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5E), 0x0c400000, 0x0ff00000, "mcrr%c\t%8-11d, %4-7d, %12-15R, %16-19r, cr%0-3d"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5E), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5E), 0x0c500000, 0x0ff00000, "mrrc%c\t%8-11d, %4-7d, %12-15Ru, %16-19Ru, cr%0-3d"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0e000000, 0x0f000010, "cdp%c\t%8-11d, %20-23d, cr%12-15d, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0e10f010, 0x0f10f010, "mrc%c\t%8-11d, %21-23d, APSR_nzcv, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0e100010, 0x0f100010, "mrc%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0e000010, 0x0f100010, "mcr%c\t%8-11d, %21-23d, %12-15R, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0c000000, 0x0e100000, "stc%22'l%c\t%8-11d, cr%12-15d, %A"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V2), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V2), 0x0c100000, 0x0e100000, "ldc%22'l%c\t%8-11d, cr%12-15d, %A"}, /* V6 coprocessor instructions. */ - {ARM_FEATURE_CORE_LOW (ARM_EXT_V6), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V6), 0xfc500000, 0xfff00000, "mrrc2%c\t%8-11d, %4-7d, %12-15Ru, %16-19Ru, cr%0-3d"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V6), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V6), 0xfc400000, 0xfff00000, "mcrr2%c\t%8-11d, %4-7d, %12-15R, %16-19R, cr%0-3d"}, /* ARMv8.3 AdvSIMD instructions in the space of coprocessor 8. */ - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfc800800, 0xfeb00f10, "vcadd%c.f16\t%12-15,22V, %16-19,7V, %0-3,5V, #%24?29%24'70"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfc900800, 0xfeb00f10, "vcadd%c.f32\t%12-15,22V, %16-19,7V, %0-3,5V, #%24?29%24'70"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfc200800, 0xff300f10, "vcmla%c.f16\t%12-15,22V, %16-19,7V, %0-3,5V, #%23'90"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfd200800, 0xff300f10, "vcmla%c.f16\t%12-15,22V, %16-19,7V, %0-3,5V, #%23?21%23?780"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfc300800, 0xff300f10, "vcmla%c.f32\t%12-15,22V, %16-19,7V, %0-3,5V, #%23'90"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfd300800, 0xff300f10, "vcmla%c.f32\t%12-15,22V, %16-19,7V, %0-3,5V, #%23?21%23?780"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfe000800, 0xffa00f10, "vcmla%c.f16\t%12-15,22V, %16-19,7V, %0-3D[%5?10], #%20'90"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfe200800, 0xffa00f10, "vcmla%c.f16\t%12-15,22V, %16-19,7V, %0-3D[%5?10], #%20?21%20?780"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfe800800, 0xffa00f10, "vcmla%c.f32\t%12-15,22V, %16-19,7V, %0-3,5D[0], #%20'90"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0xfea00800, 0xffa00f10, "vcmla%c.f32\t%12-15,22V, %16-19,7V, %0-3,5D[0], #%20?21%20?780"}, /* Dot Product instructions in the space of coprocessor 13. */ - {ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD), 0xfc200d00, 0xffb00f00, "v%4?usdot.%4?us8\t%12-15,22V, %16-19,7V, %0-3,5V"}, - {ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD), + {ANY, ARM_FEATURE_COPROC (FPU_NEON_EXT_DOTPROD), 0xfe000d00, 0xff000f00, "v%4?usdot.%4?us8\t%12-15,22V, %16-19,7V, %0-3D[%5?10]"}, /* ARMv8.2 FMAC Long instructions in the space of coprocessor 8. */ - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfc200810, 0xffb00f50, "vfmal.f16\t%12-15,22D, s%7,16-19d, s%5,0-3d"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfca00810, 0xffb00f50, "vfmsl.f16\t%12-15,22D, s%7,16-19d, s%5,0-3d"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfc200850, 0xffb00f50, "vfmal.f16\t%12-15,22Q, d%16-19,7d, d%0-3,5d"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfca00850, 0xffb00f50, "vfmsl.f16\t%12-15,22Q, d%16-19,7d, d%0-3,5d"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfe000810, 0xffb00f50, "vfmal.f16\t%12-15,22D, s%7,16-19d, s%5,0-2d[%3d]"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfe100810, 0xffb00f50, "vfmsl.f16\t%12-15,22D, s%7,16-19d, s%5,0-2d[%3d]"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfe000850, 0xffb00f50, "vfmal.f16\t%12-15,22Q, d%16-19,7d, d%0-2d[%3,5d]"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST | ARM_EXT2_V8_2A), 0xfe100850, 0xffb00f50, "vfmsl.f16\t%12-15,22Q, d%16-19,7d, d%0-2d[%3,5d]"}, /* V5 coprocessor instructions. */ - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5), 0xfc100000, 0xfe100000, "ldc2%22'l%c\t%8-11d, cr%12-15d, %A"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5), 0xfc000000, 0xfe100000, "stc2%22'l%c\t%8-11d, cr%12-15d, %A"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5), 0xfe000000, 0xff000010, "cdp2%c\t%8-11d, %20-23d, cr%12-15d, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5), 0xfe000010, 0xff100010, "mcr2%c\t%8-11d, %21-23d, %12-15R, cr%16-19d, cr%0-3d, {%5-7d}"}, - {ARM_FEATURE_CORE_LOW (ARM_EXT_V5), + {ANY, ARM_FEATURE_CORE_LOW (ARM_EXT_V5), 0xfe100010, 0xff100010, "mrc2%c\t%8-11d, %21-23d, %12-15r, cr%16-19d, cr%0-3d, {%5-7d}"}, /* ARMv8.2 half-precision Floating point coprocessor 9 (VFP) instructions. cp_num: bit <11:8> == 0b1001. cond: bit <31:28> == 0b1110, otherwise, it's UNPREDICTABLE. */ - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb009c0, 0x0fbf0fd0, "vabs%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e300900, 0x0fb00f50, "vadd%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb40940, 0x0fbf0f50, "vcmp%7'e%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb50940, 0x0fbf0f70, "vcmp%7'e%c.f16\t%y1, #0.0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eba09c0, 0x0fbe0fd0, "vcvt%c.f16.%16?us%7?31%7?26\t%y1, %y1, #%5,0-3k"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0ebe09c0, 0x0fbe0fd0, "vcvt%c.%16?us%7?31%7?26.f16\t%y1, %y1, #%5,0-3k"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0ebc0940, 0x0fbe0f50, "vcvt%7`r%c.%16?su32.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb80940, 0x0fbf0f50, "vcvt%c.f16.%7?su32\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfebc0940, 0xffbc0f50, "vcvt%16-17?mpna%u.%7?su32.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e800900, 0x0fb00f50, "vdiv%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0ea00900, 0x0fb00f50, "vfma%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0ea00940, 0x0fb00f50, "vfms%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e900940, 0x0fb00f50, "vfnma%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e900900, 0x0fb00f50, "vfnms%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfeb00ac0, 0xffbf0fd0, "vins.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfeb00a40, 0xffbf0fd0, "vmovx%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0d100900, 0x0f300f00, "vldr%c.16\t%y1, %A"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0d000900, 0x0f300f00, "vstr%c.16\t%y1, %A"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfe800900, 0xffb00f50, "vmaxnm%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfe800940, 0xffb00f50, "vminnm%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e000900, 0x0fb00f50, "vmla%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e000940, 0x0fb00f50, "vmls%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e100910, 0x0ff00f7f, "vmov%c.f16\t%12-15r, %y2"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e000910, 0x0ff00f7f, "vmov%c.f16\t%y2, %12-15r"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xeb00900, 0x0fb00ff0, "vmov%c.f16\t%y1, #%0-3,16-19E"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e200900, 0x0fb00f50, "vmul%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb10940, 0x0fbf0fd0, "vneg%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e100940, 0x0fb00f50, "vnmla%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e100900, 0x0fb00f50, "vnmls%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e200940, 0x0fb00f50, "vnmul%c.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb60940, 0x0fbe0f50, "vrint%7,16??xzr%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfeb80940, 0xffbc0fd0, "vrint%16-17?mpna%u.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0xfe000900, 0xff800f50, "vsel%20-21c%u.f16\t%y1, %y2, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0eb109c0, 0x0fbf0fd0, "vsqrt%c.f16\t%y1, %y0"}, - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_FP16_INST), 0x0e300940, 0x0fb00f50, "vsub%c.f16\t%y1, %y2, %y0"}, /* ARMv8.3 javascript conversion instruction. */ - {ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), + {ANY, ARM_FEATURE_CORE_HIGH (ARM_EXT2_V8_3A), 0x0eb90bc0, 0x0fbf0fd0, "vjcvt%c.s32.f64\t%y1, %z0"}, - {ARM_FEATURE_CORE_LOW (0), 0, 0, 0} + {ANY, ARM_FEATURE_CORE_LOW (0), 0, 0, 0} }; /* Neon opcode table: This does not encode the top byte -- that is @@ -3429,7 +3446,7 @@ print_insn_coprocessor (bfd_vma pc, long given, bfd_boolean thumb) { - const struct opcode32 *insn; + const struct sopcode32 *insn; void *stream = info->stream; fprintf_ftype func = info->fprintf_func; unsigned long mask; @@ -3505,6 +3522,10 @@ print_insn_coprocessor (bfd_vma pc, } } + if ((insn->isa == T32 && !thumb) + || (insn->isa == ARM && thumb)) + continue; + if ((given & mask) != value) continue; |