cpu, arm: Distinguish Float* and SimdFloat*, create FloatMem* opClass
authorFernando Endo <fernando.endo2@gmail.com>
Sat, 15 Oct 2016 19:58:45 +0000 (14:58 -0500)
committerFernando Endo <fernando.endo2@gmail.com>
Sat, 15 Oct 2016 19:58:45 +0000 (14:58 -0500)
commit6c72c3551978ef2eabbe9727bf24fd2fcf385318
treed7b37cfe5b12e2136afe5f90ea22d67a512d0018
parent2f5262eb67f0539ab6c07d56eeae1b72f6b6b509
cpu, arm: Distinguish Float* and SimdFloat*, create FloatMem* opClass

Modify the opClass assigned to AArch64 FP instructions from SimdFloat* to
Float*. Also create the FloatMemRead and FloatMemWrite opClasses, which
distinguishes writes to the INT and FP register banks.
Change the latency of (Simd)FloatMultAcc to 5, based on the Cortex-A72,
where the "latency" of FMADD is 3 if the next instruction is a FMADD and
has only the augend to destination dependency, otherwise it's 7 cycles.

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>
configs/common/O3_ARM_v7a.py
src/arch/arm/isa/insts/fp64.isa
src/arch/isa_parser.py
src/cpu/FuncUnit.py
src/cpu/minor/MinorCPU.py
src/cpu/o3/FuncUnitConfig.py
src/cpu/op_class.hh