[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/33] target/mips: Have check_msa_access() return a boolean
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 05/33] target/mips: Have check_msa_access() return a boolean |
Date: |
Sun, 24 Oct 2021 14:48:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 |
On 10/24/21 03:02, Richard Henderson wrote:
> On 10/23/21 2:47 PM, Philippe Mathieu-Daudé wrote:
>> Have check_msa_access() return a boolean value so we can
>> return early if MSA is not enabled.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>> target/mips/tcg/msa_translate.c | 20 +++++++++++++-------
>> 1 file changed, 13 insertions(+), 7 deletions(-)
>>
>> diff --git a/target/mips/tcg/msa_translate.c
>> b/target/mips/tcg/msa_translate.c
>> index 3ef912da6b8..9e0a08fe335 100644
>> --- a/target/mips/tcg/msa_translate.c
>> +++ b/target/mips/tcg/msa_translate.c
>> @@ -293,19 +293,19 @@ void msa_translate_init(void)
>> }
>> }
>> -static inline int check_msa_access(DisasContext *ctx)
>> +static inline bool check_msa_access(DisasContext *ctx)
>> {
>> if (unlikely((ctx->hflags & MIPS_HFLAG_FPU) &&
>> !(ctx->hflags & MIPS_HFLAG_F64))) {
>> gen_reserved_instruction(ctx);
>> - return 0;
>> + return false;
>> }
>> if (unlikely(!(ctx->hflags & MIPS_HFLAG_MSA))) {
>> generate_exception_end(ctx, EXCP_MSADIS);
>> - return 0;
>> + return false;
>> }
>
> When we return false, we have raised an exception.
>
>> @@ -354,7 +354,9 @@ static bool gen_msa_BxZ_V(DisasContext *ctx, int
>> wt, int s16, TCGCond cond)
>> {
>> TCGv_i64 t0;
>> - check_msa_access(ctx);
>> + if (!check_msa_access(ctx)) {
>> + return false;
>> + }
>
> ... which means that here we should return true, meaning that we have
> recognized the instruction and emitted some code for it. In this case:
> we have recognized that the instruction is valid but not enabled.
>
> Otherwise, we will return to decode_opc and (eventually) emit another
> gen_reserved_instruction.
Yes, this is what I intended to do. I incorrectly copied/pasted 'false'
then it spread all over the file. Thanks for catching this.
- [PATCH 00/33] target/mips: Fully convert MSA opcodes to decodetree, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 01/33] tests/tcg: Fix some targets default cross compiler path, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 02/33] target/mips: Fix MSA MADDV.B opcode, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 03/33] target/mips: Fix MSA MSUBV.B opcode, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 04/33] tests/tcg/mips: Run MSA opcodes tests on user-mode emulation, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 05/33] target/mips: Have check_msa_access() return a boolean, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 06/33] target/mips: Use enum definitions from CPUMIPSMSADataFormat enum, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 07/33] target/mips: Rename sa16 -> sa, bz_df -> bz -> bz_v, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 08/33] target/mips: Convert MSA LDI opcode to decodetree, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 09/33] target/mips: Introduce generic TRANS_CHECK() for decodetree helpers, Philippe Mathieu-Daudé, 2021/10/23
- [PATCH 10/33] target/mips: Extract df_extract() helper, Philippe Mathieu-Daudé, 2021/10/23