[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/4] target/arm: Replace A64 get_fpstatus_ptr() with generic
From: |
Alex Bennée |
Subject: |
Re: [PATCH 1/4] target/arm: Replace A64 get_fpstatus_ptr() with generic fpstatus_ptr() |
Date: |
Thu, 06 Aug 2020 12:44:43 +0100 |
User-agent: |
mu4e 1.5.5; emacs 28.0.50 |
Peter Maydell <peter.maydell@linaro.org> writes:
> We currently have two versions of get_fpstatus_ptr(), which both take
> an effectively boolean argument:
> * the one for A64 takes "bool is_f16" to distinguish fp16 from other ops
> * the one for A32/T32 takes "int neon" to distinguish Neon from other ops
>
> This is confusing, and to implement ARMv8.2-FP16 the A32/T32 one will
> need to make a four-way distinction between "non-Neon, FP16",
> "non-Neon, single/double", "Neon, FP16" and "Neon, single/double".
> The A64 version will then be a strict subset of the A32/T32 version.
>
> To clean this all up, we want to go to a single implementation which
> takes an enum argument with values FPST_FPCR, FPST_STD,
> FPST_FPCR_F16, and FPST_STD_F16. We rename the function to
> fpstatus_ptr() so that unconverted code gets a compilation error
> rather than silently passing the wrong thing to the new function.
>
> This commit implements that new API, and converts A64 to use it:
> get_fpstatus_ptr(false) -> fpstatus_ptr(FPST_FPCR)
> get_fpstatus_ptr(true) -> fpstatus_ptr(FPST_FPCR_F16)
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
How many more can they add ;-)
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
--
Alex Bennée
- [PATCH 0/4] Refactor get_fpstatus_ptr() ready for AArch32 fp16, Peter Maydell, 2020/08/06
- [PATCH 1/4] target/arm: Replace A64 get_fpstatus_ptr() with generic fpstatus_ptr(), Peter Maydell, 2020/08/06
- Re: [PATCH 1/4] target/arm: Replace A64 get_fpstatus_ptr() with generic fpstatus_ptr(),
Alex Bennée <=
- [PATCH 3/4] target/arm: Implement FPST_STD_F16 fpstatus, Peter Maydell, 2020/08/06
- [PATCH 2/4] target/arm: Make A32/T32 use new fpstatus_ptr() API, Peter Maydell, 2020/08/06
- [PATCH 4/4] target/arm: Use correct FPST for VCMLA, VCADD on fp16, Peter Maydell, 2020/08/06
- Re: [PATCH 0/4] Refactor get_fpstatus_ptr() ready for AArch32 fp16, Richard Henderson, 2020/08/06