在 2023/4/4 上午4:13, Richard Henderson 写道:
On 4/3/23 05:55, gaosong wrote:
Hi, Richard

在 2023/4/1 下午1:03, Richard Henderson 写道:
On 3/27/23 20:06, Song Gao wrote:
+static void gen_vsat_s(unsigned vece, TCGv_vec t, TCGv_vec a, int64_t imm)
+{
+    TCGv_vec t1;
+    int64_t max  = (1l << imm) - 1;

This needed 1ull, but better to just use

    max = MAKE_64BIT_MASK(0, imm - 1);
For the signed  version use ll?
I think use MAKE_64BIT_MASK(0, imm -1 )  for the signed version is not suitable.

int64_t max = MAKE_64BIT_MASK(0, imm);
int64_t min = ~max // or -1 - max

The same problem with imm = 0,
MAKE_64BIT_MASK(0, 0) is always  0xffffffffffffffff. :-)

Thanks.
Song Gao


Reply via email to