arch-arm: Add FP16 support and other primitives to fplib
authorEdmund Grimley Evans <Edmund.Grimley-Evans@arm.com>
Fri, 10 Nov 2017 10:07:30 +0000 (10:07 +0000)
committerGiacomo Gabrielli <giacomo.gabrielli@arm.com>
Tue, 2 Oct 2018 08:53:25 +0000 (08:53 +0000)
commit3afece061e063db27798288ec8dc9a378a320e02
tree317a7ce92693f259648bd63f7fb1802bb70c3506
parentb992ecbc5b11c38f9469fe1a02dd1302f97f77c7
arch-arm: Add FP16 support and other primitives to fplib

This changeset:
- extends fplib to support emulation of half-precision floating-point
  (FP16) operations;
- extends fplib to support additional primitives introduced by the Arm
  Scalable Vector Extension (SVE) (fplibExpa, fplibScale,
  fplibTrigMAdd, fplibTrigSMul, fplibTrigSSel);
- adds the FZ16 bit to FPSCR;
- cleans up fplib code by replacing constants with preprocessor macros
  and by adding inline functions to recognise NaNs and infinities.

Change-Id: If8fdb2a5824b478c8310bbc126ec60cc1105f135
Signed-off-by: Giacomo Gabrielli <giacomo.gabrielli@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/13044
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
src/arch/arm/insts/fplib.cc
src/arch/arm/insts/fplib.hh
src/arch/arm/miscregs_types.hh