[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/4] target-m68k: add fscale, fgetman and fgetex
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH 4/4] target-m68k: add fscale, fgetman and fgetexp |
Date: |
Tue, 4 Jul 2017 02:07:26 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 |
Le 03/07/2017 à 22:31, Richard Henderson a écrit :
> On 07/03/2017 12:50 PM, Laurent Vivier wrote:
>> fmove.x #0x000000000ABCDEF12345,%fp0
>> fgetman.x %fp0,%fp6
>> fp0 2.1518178707571747286191852003521627e-4938 (raw
>> 0x0000000000000abcdef12345)
>> fp6 1.342222103012886691431049257516861 (raw
>> 0x3fff0000abcdef1234500000)
>
> This one shows exactly what I was thinking about.
>
>> So I guess the mantissa must be shifted to left until we have a 1 in the
>> explicit integer part bit?
>
> Yes.
>
> Please try fgetexp on this same input.
fmove.x #0x000000000ABCDEF12345,%fp0
fgetexp.x %fp0,%fp6
fp0 (raw 0x0000000000000abcdef12345)
fp6 -16403
> I suspect the answer is -16384 - clz64(val->l.lower).
It looks like -16383 - clz64(val->l.lower)
fmove.x #0x000056789ABCDEF12345,%fp0
fgetexp.x %fp0,%fp6
fp0 (raw 0x0000000056789abcdef12345)
fp6 -16384
fmove.x #0x000086789ABCDEF12345,%fp0
fgetexp.x %fp0,%fp6
fp0 (raw 0x0000000086789abcdef12345)
fp6 -16383
Thanks,
Laurent
[Qemu-devel] [PATCH 1/4] softfloat: use floatx80_infinity in softfloat, Laurent Vivier, 2017/07/03
[Qemu-devel] [PATCH 2/4] target/m68k: add FPU trigonometric instructions, Laurent Vivier, 2017/07/03