ARM: Use fewer micro-ops for register update loads if possible.
authorGene WU <gene.wu@arm.com>
Thu, 26 Aug 2010 00:10:42 +0000 (19:10 -0500)
committerGene WU <gene.wu@arm.com>
Thu, 26 Aug 2010 00:10:42 +0000 (19:10 -0500)
commit4d8f4db8d135a23ceb5d54d3096e0598dd31e2fe
treedfc8029938e5580810c2a6b5cede6e72cf6f0524
parentc2d5d2b53d1d3bfb83ce0cf0332f81c4ffea112f
ARM: Use fewer micro-ops for register update loads if possible.

Allow some loads that update the base register to use just two micro-ops. three
micro-ops are only used if the destination register matches the offset register
or the PC is the destination regsiter. If the PC is updated it needs to be
the last micro-op otherwise O3 will mispredict.
src/arch/arm/insts/macromem.cc
src/arch/arm/insts/macromem.hh
src/arch/arm/insts/mem.hh
src/arch/arm/isa/insts/ldr.isa
src/arch/arm/isa/insts/macromem.isa
src/arch/arm/isa/insts/mem.isa
src/arch/arm/isa/insts/str.isa
src/arch/arm/isa/templates/macromem.isa
src/arch/arm/isa/templates/mem.isa
src/arch/arm/isa/templates/pred.isa