On 11/15/18 11:34 PM, Alistair Francis wrote: > +#define TCG_TARGET_HAS_add2_i32 0 > +#define TCG_TARGET_HAS_sub2_i32 0
You're not allowed to not implement this for riscv-32, along with brcond2 and setcond2. > +#define TCG_TARGET_HAS_movcond_i32 0 The architecture manual suggests that implementations recognize short branch-over and convert internally to predication. Do any do that? Even if they don't, you might implement it that way anyway, as the code size savings are large vs the inline fallback (6 insns). But you can definitely put that off for a later patch. > +#define TCG_TARGET_HAS_ext16u_i32 1 Really? I thought this required two insns... Or do you expand to shifts while the default is x & 0xffff, which would take 3 insns? I guess I'll find out as I keep reading. ;-) r~