libc/include/opcode
Richard Sandiford b1b497cb2e include/opcode/
* mips.h (M_ACLR_OB, M_ASET_OB, M_CACHE_OB, M_CACHEE_OB, M_L_DOB)
	(M_LB_A, M_LBE_OB, M_LBU_A, M_LBUE_OB, M_LD_A, M_LD_OB, M_LDC2_OB)
	(M_LDL_OB, M_LDM_OB, M_LDP_OB, M_LDR_OB, M_LH_A, M_LHE_OB, M_LHU_A)
	(M_LHUE_OB, M_LL_OB, M_LLD_OB, M_LLE_OB, M_LS_A, M_LW_A, M_LWE_OB)
	(M_LWC0_A, M_LWC1_A, M_LWC2_A, M_LWC2_OB, M_LWC3_A, M_LWL_A, M_LWL_OB)
	(M_LWLE_OB, M_LWM_OB, M_LWP_OB, M_LWR_A, M_LWR_OB, M_LWRE_OB, M_LWU_OB)
	(M_PREF_OB, M_PREFE_OB, M_S_DOB, M_SAA_OB, M_SAAD_OB, M_SC_OB)
	(M_SCD_OB, M_SCE_OB, M_SD_A, M_SD_OB, M_SDC2_OB, M_SDL_OB, M_SDM_OB)
	(M_SDP_OB, M_SDR_OB, M_SB_A, M_SBE_OB, M_SH_A, M_SHE_OB, M_SW_A)
	(M_SWE_OB, M_SWC0_A, M_SWC1_A, M_SWC2_A, M_SWC2_OB, M_SWC3_A, M_SWL_A)
	(M_SWL_OB, M_SWLE_OB, M_SWM_OB, M_SWP_OB, M_SWR_A, M_SWR_OB, M_SWRE_OB)
	(M_ULD, M_ULH, M_ULHU, M_ULW, M_USH, M_USW, M_USD): Delete.
	(M_ULD_A, M_ULH_A, M_ULHU_A, M_ULW_A, M_USH_A, M_USW_A, M_USD_A):
	Rename to...
	(M_ULD_AB, M_ULH_AB, M_ULHU_AB, M_ULW_AB, M_USH_AB, M_USW_AB)
	(M_USD_AB): ...these.

opcodes/
	* mips-opc.c (mips_builtin_opcodes): Remove o(b) macros.  Move LD
	and SD A(B) macros up.
	* micromips-opc.c (micromips_opcodes): Likewise.

gas/
	* config/tc-mips.c (gprel16_reloc_p): New function.
	(macro_read_relocs): Assume BFD_RELOC_LO16 if all relocs are
	BFD_RELOC_UNUSED.
	(offset_high_part, small_offset_p): New functions.
	(nacro): Use them.  Remove *_OB and *_DOB cases.  For single-
	register load and store macros, handle the 16-bit offset case first.
	If a 16-bit offset is not suitable for the instruction we're
	generating, load it into the temporary register using
	ADDRESS_ADDI_INSN.  Make the M_LI_DD code fall through into the
	M_L_DAB code once the address has been constructed.  For double load
	and store macros, again handle the 16-bit offset case first.
	If the second register cannot be accessed from the same high
	part as the first, load it into AT using ADDRESS_ADDI_INSN.
	Fix the handling of LD in cases where the first register is the
	same as the base.  Also handle the case where the offset is
	not 16 bits and the second register cannot be accessed from the
	same high part as the first.  For unaligned loads and stores,
	fuse the offbits == 12 and old "ab" handling.  Apply this handling
	whenever the second offset needs a different high part from the first.
	Construct the offset using ADDRESS_ADDI_INSN where possible,
	for offbits == 16 as well as offbits == 12.  Use offset_reloc
	when constructing the individual loads and stores.
	(mips_ip): Set up imm_expr, imm2_expr, offset_expr, imm_reloc
	and offset_reloc before matching against a particular opcode.
	Handle elided 'A' constants.  Allow 'A' constants to use
	relocation operators.

gas/testsuite/
	* gas/mips/ldstla-32.d: Avoid "lui at,0x0" sequences for
	truncated constants.
	* gas/mips/ldstla-32-shared.d: Likewise.
	* gas/mips/mcu.d: Use ADDIU in preference to LI+ADDU when adding
	16-bit constants to the base.
	* gas/mips/micromips@mcu.d: Likewise.
	* gas/mips/micromips@cache.d: Likewise.
	* gas/mips/micromips@pref.d: Likewise.
	* gas/mips/micromips.d, gas/mips/micromips-insn32.d,
	gas/mips/micromips-noinsn32.d, gas/mips/micromips-trap.d: Likewise.
	Allow the full 16-bit offset range to be used for SB, LB and LBU in
	USH and ULH sequences.  Fix the expected output for LD and SD when
	the two LW and SW offsets need different high parts.
	* gas/mips/eva.s: Test PREFE with relocation operators.
	* gas/mips/eva.d: Use ADDIU in preference to LI+ADDU for 16-bit
	constants.  Update after eva.s change.
	* gas/mips/micromips@eva.d: Likewise.
	* gas/mips/ld-reloc.s, gas/mips/ld-reloc.d, gas/mips/l_d-reloc.s,
	gas/mips/l_d-reloc.d, gas/mips/ulw-reloc.s, gas/mips/ulw-reloc.d,
	gas/mips/micromips@ulw-reloc.d, gas/mips/ulh-reloc.s,
	gas/mips/ulh-reloc.d: New tests.
	* gas/mips/mips.exp: Run them.
2013-07-07 11:32:30 +00:00
..
aarch64.h include/opcode/ 2013-02-28 19:18:40 +00:00
alpha.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
arc.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
arm.h Add support for AArch32 CRC instruction in ARMv8. 2013-03-11 11:09:32 +00:00
avr.h * gas/config/tc-avr.c: Change ISA for devices with USB support to 2013-06-01 07:14:44 +00:00
bfin.h sim: bfin: fix sign extension in dsp insns with MM flag 2011-06-18 19:42:55 +00:00
cgen.h cgen/ 2010-10-09 06:50:21 +00:00
ChangeLog include/opcode/ 2013-07-07 11:32:30 +00:00
ChangeLog-9103 Add copyright notices 2012-12-10 12:48:00 +00:00
convex.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
cr16.h (make_instruction): Rename to cr16_make_instruction. 2013-01-07 15:09:07 +00:00
cris.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
crx.h gas/ 2012-02-27 06:37:38 +00:00
d10v.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
d30v.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
dlx.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
h8300.h * elf32-h8300 (h8_relax_section): Add new relaxation of mov 2013-03-21 16:08:06 +00:00
hppa.h * hppa.h (pa_opcodes): Use "cX" completer instead of "cx" in fstqx 2012-10-15 00:22:35 +00:00
i370.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
i386.h Implement Intel Transactional Synchronization Extensions 2012-02-08 18:20:39 +00:00
i860.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
i960.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ia64.h Add Intel Itanium Series 9500 support 2012-09-04 13:52:04 +00:00
m68hc11.h * config/tc-m68hc11.c: Add S12X and XGATE co-processor support. 2012-05-15 12:55:51 +00:00
m68k.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
m88k.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
metag.h * common.h: Fix case of "Meta". 2013-01-10 09:49:18 +00:00
mips.h include/opcode/ 2013-07-07 11:32:30 +00:00
mmix.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mn10200.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
mn10300.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
moxie.h Don't abort() when disassembling bad moxie instructions. 2012-09-28 03:53:39 +00:00
msp430-decode.h * msp430-decode.opc: New. 2013-06-21 15:01:56 +00:00
msp430.h * archures.c: Add some more MSP430 machine numbers. 2013-05-02 21:06:14 +00:00
nios2.h 2013-06-12 Sandra Loosemore <sandra@codesourcery.com> 2013-06-12 23:03:20 +00:00
np1.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ns32k.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
or32.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
pdp11.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
pj.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
pn.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
ppc.h include/opcode/ 2013-01-11 02:25:35 +00:00
pyr.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
rl78.h [.] 2011-11-02 03:09:07 +00:00
rx.h [include/opcode] 2010-07-29 18:41:26 +00:00
s390.h 2012-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> 2012-10-04 08:47:32 +00:00
score-datadep.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
score-inst.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
sparc.h Increase the accuracy of sparc instruction aliases. 2013-04-06 22:22:03 +00:00
spu-insns.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
spu.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tahoe.h Add copyright notices 2012-12-17 16:56:03 +00:00
tic4x.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tic6x-control-registers.h include/ 2010-09-29 10:14:02 +00:00
tic6x-insn-formats.h PR binutils/15068 2013-03-27 11:43:37 +00:00
tic6x-opcode-table.h PR binutils/15068 2013-03-28 09:25:11 +00:00
tic6x.h PR binutils/15068 2013-03-27 11:43:37 +00:00
tic30.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tic54x.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tic80.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
tilegx.h Improve TLS support on TILE-Gx/TILEPro: 2012-02-25 22:24:21 +00:00
tilepro.h Improve TLS support on TILE-Gx/TILEPro: 2012-02-25 22:24:21 +00:00
v850.h * elf32-v850.c (v850_elf_is_target_special_symbol): New function. 2013-04-03 14:42:10 +00:00
vax.h Upgrade header files to use GPLv3 2010-04-15 10:26:09 +00:00
xgate.h gas/config/ 2012-07-05 19:37:52 +00:00