On 9/13/21 8:05 PM, Luis Fernando Fujita Pires wrote: >>> value = extract64(value, 0, nr_bits); >>> value = ((target_long)value << (64 - nr_bits)) >> (64 - nr_bits); >> >> Oops, sorry. 64 might not be correct here. It would depend on the target >> being >> either 32 or 64. > > In fact, sextract already does the sign extension, so this should be all > that's needed, right? > value = sextract<32,64>(value, 0, nr_bits);
I am fine with any solution ! Please give a try to this machine : https://github.com/legoater/qemu/tree/microwatt It's the only one with a 64 bit decrementer :) (We should come up with a simpler test case) Thanks, C.