target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE, FRECPE
commitb6d4443a7bf607c5ca5d4b8dabffc421e571f4eb
authorAlex Bennée <alex.bennee@linaro.org>
Mon, 17 Mar 2014 16:31:52 +0000 (17 16:31 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 17 Mar 2014 16:31:52 +0000 (17 16:31 +0000)
tree34110bfb27348b7adbabcff3eecfd75aff0d2dd3
parent7baeabce1d25c667d0ec7e4e74a1312e0b887b54
target-arm: A64: Implement AdvSIMD reciprocal estimate insns URECPE, FRECPE

Implement URECPE and FRECPE instructions in both scalar and vector forms.
The actual reciprocal estimate function is shared with the A32/T32 Neon
code. However in A64 we aren't using the Neon "standard FPSCR value"
so extra checks are necessary to handle non-squashed denormal inputs
which can never happen for A32/T32. Calling conventions for the helpers
are thus modified to pass the fpst directly; we mark the helpers as
TCG_CALL_NO_RWG since we're changing the declarations anyway.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Message-id: 1394822294-14837-21-git-send-email-peter.maydell@linaro.org
target-arm/helper.c
target-arm/helper.h
target-arm/translate-a64.c
target-arm/translate.c