qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target/m68k: Change fpu_rom from const static a


From: Kamil Rytarowski
Subject: Re: [Qemu-devel] [PATCH] target/m68k: Change fpu_rom from const static array to switch
Date: Mon, 4 Sep 2017 18:38:05 +0200
User-agent: Mozilla/5.0 (X11; NetBSD amd64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0

On 04.09.2017 18:17, Peter Maydell wrote:
> On 4 September 2017 at 16:53, Laurent Vivier <address@hidden> wrote:
>> Le 04/09/2017 à 17:02, Peter Maydell a écrit :
>>> On 4 September 2017 at 15:09, Laurent Vivier <address@hidden> wrote:
>>>> You can:
>>>>
>>>> either replace the "#define floatx80_pi make_floatx80(...)" by a "const
>>>> floatx80 floatx80_pi = make_floatx80_init(...)"
>>>>
>>>> or replace all the macros in the m68k/fpu_helper.c array by
>>>> make_floatx80_init(...)
>>>
>>> Taking a step back, what's different about floatx80 and float12
>>> that means they need separate _init and non-init versions of
>>> the macros, when for float16/float32/float64 we instead have
>>> #define make_float32(x) __extension__ ({ float32 f32_val = {x}; f32_val; })
>>> #define const_float32(x) { x }
>>
>> floatx80/float128 are structureq while float16/float32/float64 are
>> native data types.
> 
> If USE_SOFTFLOAT_STRUCT_TYPES is defined then float16/32/64 are
> also struct types and use the make_ and const_ macros as above.
> 
> (We should check whether USE_SOFTFLOAT_STRUCT_TYPES still builds,
> it tends to bitrot. If it does then maybe we should use it by default
> since gcc 3 is now just a memory...)
> 

USE_SOFTFLOAT_STRUCT_TYPES breaks for me on SmartOS:

migration/vmstate-types.c: In function 'put_float64':
migration/vmstate-types.c:430:5: error: conversion to non-scalar type
requested

>>> ? Could we move to consistency for the macro naming we're using?
>>
>> Do you mean "s/make_floatx80_init/const_floatx80/"?
> 
> Yes (and the same implementation would be nice too).
> 

I will push my patch as is and later it can be refactored by a
maintainer. Is this fine?

https://github.com/NetBSD/pkgsrc-wip/blob/master/qemu-git/patches/patch-target_m68k_fpu__helper.c

> thanks
> -- PMM
> 


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]