include/exec/helper-head.h: support f16 in helper calls

This allows us to explicitly pass float16 to helpers rather than
assuming uint32_t and dealing with the result. Of course they will be
passed in i32 sized registers by default.

Backports commit 35737497008aeabce5dc381a41d3827bec486192 from qemu
This commit is contained in:
Alex Bennée 2018-03-08 12:27:58 -05:00 committed by Lioncash
parent f4df29ca4f
commit e56ed38819
No known key found for this signature in database
GPG key ID: 4E3C3CC1031BA9C7

View file

@ -28,6 +28,7 @@
#define dh_alias_int i32 #define dh_alias_int i32
#define dh_alias_i64 i64 #define dh_alias_i64 i64
#define dh_alias_s64 i64 #define dh_alias_s64 i64
#define dh_alias_f16 i32
#define dh_alias_f32 i32 #define dh_alias_f32 i32
#define dh_alias_f64 i64 #define dh_alias_f64 i64
#ifdef TARGET_LONG_BITS #ifdef TARGET_LONG_BITS
@ -48,6 +49,7 @@
#define dh_ctype_int int #define dh_ctype_int int
#define dh_ctype_i64 uint64_t #define dh_ctype_i64 uint64_t
#define dh_ctype_s64 int64_t #define dh_ctype_s64 int64_t
#define dh_ctype_f16 float16
#define dh_ctype_f32 float32 #define dh_ctype_f32 float32
#define dh_ctype_f64 float64 #define dh_ctype_f64 float64
#define dh_ctype_tl target_ulong #define dh_ctype_tl target_ulong
@ -93,6 +95,7 @@
#define dh_is_signed_s32 1 #define dh_is_signed_s32 1
#define dh_is_signed_i64 0 #define dh_is_signed_i64 0
#define dh_is_signed_s64 1 #define dh_is_signed_s64 1
#define dh_is_signed_f16 0
#define dh_is_signed_f32 0 #define dh_is_signed_f32 0
#define dh_is_signed_f64 0 #define dh_is_signed_f64 0
#define dh_is_signed_tl 0 #define dh_is_signed_tl 0