On 11/27/2016 11:48 AM, Laurent Vivier wrote:
>> > +return (int64_t)(data << d.bofs) >> (64 - len);
> We must use d.len instead of len, otherwise we shift with 32bit value.
>
> -return (int64_t)(data << d.bofs) >> (64 - len);
> +return (int64_t)(data << d.bofs) >> (64 - d.len);
Whoops
Le 09/11/2016 à 14:46, Richard Henderson a écrit :
> --- a/target-m68k/op_helper.c
> +++ b/target-m68k/op_helper.c
> +uint32_t HELPER(bfexts_mem)(CPUM68KState *env, uint32_t addr,
> +int32_t ofs, uint32_t len)
> +{
> +uintptr_t ra = GETPC();
> +struct bf_data d =
Signed-off-by: Richard Henderson
---
target-m68k/cpu.h | 1 +
target-m68k/helper.h| 7 ++
target-m68k/op_helper.c | 185
target-m68k/translate.c | 142 -
4 files changed, 333 insertions(+), 2 deleti