although there is saturation in svp64 the mins etc
instructions are standalone. would it be useful to
allow zero-immediate in RA or RB?
Author: Jacob Lifshay <firstname.lastname@example.org>
Date: Thu Apr 20 17:45:05 2023 -0700
change integer min/max to use (RA|0)
I still need to change the simulator
this was added to the simulator in
I assume this again needs binutils update, since they do different RA vs (RA|0).
(In reply to Dmitry Selyutin from comment #3)
> I assume this again needs binutils update, since they do different RA vs
this should have been done as part of adding minmax instead of mins/maxs/minu/maxu
I think I know the reason We don't actually distinguish RA and RA0 in the codegen. There might be more places where we have this problem.
So this is a common problem related to sv_binutils.py. I'll revisit all instructions we added and check for RA0 operand.
It seems that minmax does not have its RA operand described as RA_OR_ZERO, therefore current binutils definition matches what we have at repo. I pushed a branch minmax_ra0 branch to openpower-isa with the relevant changes, and wait for CI to complete.
That said, I rechecked all instructions we have in binutils, and it seems that setvl must be fixed: it should have RA0 operand in binutils instead of RA.
For the record, the count of instructions we support is 295. I counted instructions marked as SFFS, but these are the only ones we have now.
1. openpower-isa was updated with RA_OR_ZERO for minmax instruction.
2. binutils were updated with RA0 for minmax and its aliases.
3. In scope of this task, I rechecked all instructions we added into binutils, and found that setvl must also have RA0 operand, so I updated it respectively.