qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add support for a helper with 7 arguments


From: Richard Henderson
Subject: Re: [PATCH] Add support for a helper with 7 arguments
Date: Thu, 6 Feb 2020 06:02:58 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 2/5/20 10:41 PM, Taylor Simpson wrote:
> Currently, helpers can only take up to 6 arguments.  This patch adds the
> capability for up to 7 arguments.  I have tested it with the Hexagon port
> that I am preparing for submission.

This is not safe, in general, without other changes.

>From include/tcg/tcg.h:

> /* While we limit helpers to 6 arguments, for 32-bit hosts, with padding,
>    this imples a max of 6*2 (64-bit in) + 2 (64-bit out) = 14 operands.
>    There are never more than 2 outputs, which means that we can store all
>    dead + sync data within 16 bits.  */
> #define DEAD_ARG  4
> #define SYNC_ARG  1
> typedef uint16_t TCGLifeData;

Thus 7 uint64_t inputs, on a 32-bit host, will overflow TCGLifeData.

What are you doing that requires so many arguments?


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]