This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC][PATCH] Remove SLOW_BYTE_ACCESS


On Fri, 17 Nov 2017 11:01:21 PST (-0800), Wilco.Dijkstra@arm.com wrote:
Remove SLOW_BYTE_ACCESS given it's confusing, badly named,
badly documented and used incorrectly.  Although most targets
define it as 1, there are several targets which confuse it
(based on comments next to it) and set it to 0 since the name obviously implies it should be 0 when byte accesses are not slow.

It's hard to tell whether there are targets which actually have
slow *WORD* accesses, where it may be preferable to use narrow
accesses for bitfields.  If this is the case (maybe an old 8-bit
target?) then we should consider improving the narrow_volatile_bitfield
callback. That way you could pass the size/alignment/volatile and
decide per bitfield access.

What do people think?

FWIW, this tripped us up. I don't know about the other targets, but it certainly would have saved us a few hours had things been this way a year ago :).


ChangeLog:
2017-11-17  Wilco Dijkstra  <wdijkstr@arm.com>

	* config/aarch64/aarch64.h: Remove SLOW_BYTE_ACCESS.
	* config/alpha/alpha.h: Likewise.
	* config/arc/arc.h: Likewise.
	* config/arm/arm.h: Likewise.
	* config/avr/avr.h: Likewise.
	* config/bfin/bfin.h: Likewise.
	* config/c6x/c6x.h: Likewise.
	* config/cr16/cr16.h: Likewise.
	* config/cris/cris.h: Likewise.
	* config/epiphany/epiphany.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/frv/frv.h: Likewise.
	* config/ft32/ft32.h: Likewise.
	* config/h8300/h8300.h: Likewise.
	* config/i386/i386.h: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/iq2000/iq2000.h: Likewise.
	* config/lm32/lm32.h: Likewise.
	* config/m32c/m32c.h: Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/m68k/m68k.h: Likewise.
	* config/mcore/mcore.h: Likewise.
	* config/microblaze/microblaze.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/mmix/mmix.h: Likewise.
	* config/mn10300/mn10300.h: Likewise.
	* config/moxie/moxie.h: Likewise.
	* config/msp430/msp430.h: Likewise.
	* config/nds32/nds32.h: Likewise.
	* config/nios2/nios2.h: Likewise.
	* config/nvptx/nvptx.h: Likewise.
	* config/pa/pa.h: Likewise.
	* config/pdp11/pdp11.h: Likewise.
	* config/powerpcspe/powerpcspe.h: Likewise.
	* config/riscv/riscv.h: Likewise.
	* config/rl78/rl78.h: Likewise.
	* config/rs6000/rs6000.h: Likewise.
	* config/rx/rx.h: Likewise.
	* config/s390/s390.h: Likewise.
	* config/sh/sh.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/spu/spu.h: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/tilegx/tilegx.h: Likewise.
	* config/tilepro/tilepro.h: Likewise.
	* config/v850/v850.h: Likewise.
	* config/vax/vax.h: Likewise.
	* config/visium/visium.h: Likewise.
	* config/xtensa/xtensa.h: Likewise.
	* doc/tm.texi: Likewise.
	* doc/tm.texi.in: Likewise.
	* dojump.c: Likewise.
	* stor-layout.c: Likewise.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]