binutils-gdb/include/opcode
Matthew Wahab d685192a58 [AArch64] Add ARMv8.2 instructions BFC and REV64.
ARMv8.2 adds two new instructions: BFC as an alias for BFM and REV64 as
an alias for REV. This patch set adds support for these to binutils,
enabled when the -march=armv8.2-a is given. It depends on the support
for an instruction being its preferred form which was added in an
earlier patch.

This patch adds the alias BFC <Rd>, #<imm>, #<width> as the preferred
form for BFM when the source is a zero register and the conditions for
using the BFI form are met (in other words, BFC is the preferred form
for BFI <Rd>, <Rs>, #<imm>, #<width> when the <Rs> is a zero register).

gas/testsuite/
2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>

	* gas/aarch64/alias-2.d: New.
	* gas/aarch64/alias-2.s: New.

include/opcode/
2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>

	* aarch64.h (aarch64_op): Add OP_BFC.

opcodes/
2015-11-27  Matthew Wahab  <matthew.wahab@arm.com>

	* aarch64-asm-2.c: Regenerate.
	* aarch64-asm.c (convert_bfc_to_bfm): New.
	(convert_to_real): Add case for OP_BFC.
	* aarch64-dis-2.c: Regenerate.
	* aarch64-dis.c: (convert_bfm_to_bfc): New.
	(convert_to_alias): Add case for OP_BFC.
	* aarch64-opc-2.c: Regenerate.
	* aarch64-opc.c (operand_general_constraint_met_p): Weaken assert
	to allow width operand in three-operand instructions.
	* aarch64-tbl.h (QL_BF1): New.
	(aarch64_feature_v8_2): New.
	(ARMV8_2): New.
	(aarch64_opcode_table): Add "bfc".

Change-Id: I6efe318b2538ba11f0caece7c6d70957441c872b
2015-11-27 15:28:42 +00:00
..
aarch64.h [AArch64] Add ARMv8.2 instructions BFC and REV64. 2015-11-27 15:28:42 +00:00
alpha.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
arc-func.h New ARC implementation. 2015-10-07 14:20:19 +01:00
arc.h New ARC implementation. 2015-10-07 14:20:19 +01:00
arm.h [ARM] Add ARMv8.2 architecture feature and command line option. 2015-11-19 09:24:14 +00:00
avr.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
bfin.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cgen.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
ChangeLog [AArch64] Add ARMv8.2 instructions BFC and REV64. 2015-11-27 15:28:42 +00:00
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:03 +00:00
convex.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cr16.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
cris.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
crx.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
d10v.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
d30v.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
dlx.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ft32.h FT32: define macros for instruction recognition. 2015-09-28 11:23:54 -07:00
h8300.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
hppa.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i370.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i386.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i860.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
i960.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ia64.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68hc11.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m68k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
m88k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
metag.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mips.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mmix.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mn10200.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
mn10300.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
moxie.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
msp430-decode.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
msp430.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nds32.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nios2.h Opcodes and assembler support for Nios II R2 2015-07-01 16:08:03 -07:00
nios2r1.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
nios2r2.h Opcodes and assembler support for Nios II R2 2015-07-01 16:08:03 -07:00
np1.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ns32k.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pdp11.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pj.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
pn.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
ppc.h Add assembler, disassembler and linker support for power9. 2015-11-11 19:52:52 -06:00
pyr.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
rl78.h Make RL78 disassembler and simulator respect ISA for mul/div 2015-04-30 15:25:49 -04:00
rx.h Disassemble RX NOP instructions as such. 2015-11-02 14:37:33 +00:00
s390.h Add support for extensions in the .machine pseudoop on S/390, e.g. ".machine zEC12+nohtm+vx" 2015-09-29 13:22:07 +01:00
score-datadep.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
score-inst.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
sparc.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spu-insns.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
spu.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tahoe.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic4x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-control-registers.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-insn-formats.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x-opcode-table.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic6x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic30.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic54x.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tic80.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
tilegx.h Wrap a few opcodes headers in extern "C" for C++ 2015-02-19 22:45:47 +00:00
tilepro.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
v850.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
vax.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
visium.h Make register name tables in visium.h static in order to prevent multiple definitions. 2015-09-09 14:50:08 +01:00
xgate.h ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30