diff --git a/qemu/aarch64.h b/qemu/aarch64.h index 95a1232f..8c09415c 100644 --- a/qemu/aarch64.h +++ b/qemu/aarch64.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_aarch64 #define bfloat16_silence_nan bfloat16_silence_nan_aarch64 #define bfloat16_default_nan bfloat16_default_nan_aarch64 +#define bfloat16_to_float32 bfloat16_to_float32_aarch64 +#define bfloat16_to_float64 bfloat16_to_float64_aarch64 +#define bfloat16_to_int16 bfloat16_to_int16_aarch64 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_aarch64 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_aarch64 +#define bfloat16_to_int32 bfloat16_to_int32_aarch64 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_aarch64 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_aarch64 +#define bfloat16_to_int64 bfloat16_to_int64_aarch64 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_aarch64 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_aarch64 +#define bfloat16_to_uint16 bfloat16_to_uint16_aarch64 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_aarch64 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_aarch64 +#define bfloat16_to_uint32 bfloat16_to_uint32_aarch64 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_aarch64 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_aarch64 +#define bfloat16_to_uint64 bfloat16_to_uint64_aarch64 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_aarch64 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_aarch64 +#define bfloat16_round_to_int bfloat16_round_to_int_aarch64 #define bitmap_zero_extend bitmap_zero_extend_aarch64 #define bp_wp_matches bp_wp_matches_aarch64 #define breakpoint_invalidate breakpoint_invalidate_aarch64 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_aarch64 #define float32_squash_input_denormal float32_squash_input_denormal_aarch64 #define float32_sub float32_sub_aarch64 +#define float32_to_bfloat16 float32_to_bfloat16_aarch64 #define float32_to_float128 float32_to_float128_aarch64 #define float32_to_float16 float32_to_float16_aarch64 #define float32_to_float64 float32_to_float64_aarch64 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_aarch64 #define float64_squash_input_denormal float64_squash_input_denormal_aarch64 #define float64_sub float64_sub_aarch64 +#define float64_to_bfloat16 float64_to_bfloat16_aarch64 #define float64_to_float128 float64_to_float128_aarch64 #define float64_to_float16 float64_to_float16_aarch64 #define float64_to_float32 float64_to_float32_aarch64 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_aarch64 #define int128_zero int128_zero_aarch64 #define int8_to_float16 int8_to_float16_aarch64 +#define int16_to_bfloat16 int16_to_bfloat16_aarch64 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_aarch64 #define int16_to_float16 int16_to_float16_aarch64 #define int16_to_float16_scalbn int16_to_float16_scalbn_aarch64 #define int16_to_float32 int16_to_float32_aarch64 #define int16_to_float32_scalbn int16_to_float32_scalbn_aarch64 #define int16_to_float64 int16_to_float64_aarch64 #define int16_to_float64_scalbn int16_to_float64_scalbn_aarch64 +#define int32_to_bfloat16 int32_to_bfloat16_aarch64 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_aarch64 #define int32_to_float128 int32_to_float128_aarch64 #define int32_to_float16 int32_to_float16_aarch64 #define int32_to_float16_scalbn int32_to_float16_scalbn_aarch64 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_aarch64 #define int32_to_float64_scalbn int32_to_float64_scalbn_aarch64 #define int32_to_floatx80 int32_to_floatx80_aarch64 +#define int64_to_bfloat16 int64_to_bfloat16_aarch64 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_aarch64 #define int64_to_float128 int64_to_float128_aarch64 #define int64_to_float16 int64_to_float16_aarch64 #define int64_to_float16_scalbn int64_to_float16_scalbn_aarch64 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_aarch64 #define type_table_lookup type_table_lookup_aarch64 #define uint8_to_float16 uint8_to_float16_aarch64 +#define uint16_to_bfloat16 uint16_to_bfloat16_aarch64 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_aarch64 #define uint16_to_float16 uint16_to_float16_aarch64 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_aarch64 #define uint16_to_float32 uint16_to_float32_aarch64 +#define uint16_to_float32 uint16_to_float32_aarch64 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_aarch64 #define uint16_to_float64 uint16_to_float64_aarch64 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_aarch64 +#define uint32_to_bfloat16 uint32_to_bfloat16_aarch64 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_aarch64 #define uint32_to_float16 uint32_to_float16_aarch64 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_aarch64 #define uint32_to_float32 uint32_to_float32_aarch64 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_aarch64 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_aarch64 #define uint64_to_float128 uint64_to_float128_aarch64 +#define uint64_to_bfloat16 uint64_to_bfloat16_aarch64 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_aarch64 #define uint64_to_float16 uint64_to_float16_aarch64 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_aarch64 #define uint64_to_float32 uint64_to_float32_aarch64 diff --git a/qemu/aarch64eb.h b/qemu/aarch64eb.h index 3101aa6b..dd84fd67 100644 --- a/qemu/aarch64eb.h +++ b/qemu/aarch64eb.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_aarch64eb #define bfloat16_silence_nan bfloat16_silence_nan_aarch64eb #define bfloat16_default_nan bfloat16_default_nan_aarch64eb +#define bfloat16_to_float32 bfloat16_to_float32_aarch64eb +#define bfloat16_to_float64 bfloat16_to_float64_aarch64eb +#define bfloat16_to_int16 bfloat16_to_int16_aarch64eb +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_aarch64eb +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_aarch64eb +#define bfloat16_to_int32 bfloat16_to_int32_aarch64eb +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_aarch64eb +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_aarch64eb +#define bfloat16_to_int64 bfloat16_to_int64_aarch64eb +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_aarch64eb +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_aarch64eb +#define bfloat16_to_uint16 bfloat16_to_uint16_aarch64eb +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_aarch64eb +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_aarch64eb +#define bfloat16_to_uint32 bfloat16_to_uint32_aarch64eb +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_aarch64eb +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_aarch64eb +#define bfloat16_to_uint64 bfloat16_to_uint64_aarch64eb +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_aarch64eb +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_aarch64eb +#define bfloat16_round_to_int bfloat16_round_to_int_aarch64eb #define bitmap_zero_extend bitmap_zero_extend_aarch64eb #define bp_wp_matches bp_wp_matches_aarch64eb #define breakpoint_invalidate breakpoint_invalidate_aarch64eb @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_aarch64eb #define float32_squash_input_denormal float32_squash_input_denormal_aarch64eb #define float32_sub float32_sub_aarch64eb +#define float32_to_bfloat16 float32_to_bfloat16_aarch64eb #define float32_to_float128 float32_to_float128_aarch64eb #define float32_to_float16 float32_to_float16_aarch64eb #define float32_to_float64 float32_to_float64_aarch64eb @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_aarch64eb #define float64_squash_input_denormal float64_squash_input_denormal_aarch64eb #define float64_sub float64_sub_aarch64eb +#define float64_to_bfloat16 float64_to_bfloat16_aarch64eb #define float64_to_float128 float64_to_float128_aarch64eb #define float64_to_float16 float64_to_float16_aarch64eb #define float64_to_float32 float64_to_float32_aarch64eb @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_aarch64eb #define int128_zero int128_zero_aarch64eb #define int8_to_float16 int8_to_float16_aarch64eb +#define int16_to_bfloat16 int16_to_bfloat16_aarch64eb +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_aarch64eb #define int16_to_float16 int16_to_float16_aarch64eb #define int16_to_float16_scalbn int16_to_float16_scalbn_aarch64eb #define int16_to_float32 int16_to_float32_aarch64eb #define int16_to_float32_scalbn int16_to_float32_scalbn_aarch64eb #define int16_to_float64 int16_to_float64_aarch64eb #define int16_to_float64_scalbn int16_to_float64_scalbn_aarch64eb +#define int32_to_bfloat16 int32_to_bfloat16_aarch64eb +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_aarch64eb #define int32_to_float128 int32_to_float128_aarch64eb #define int32_to_float16 int32_to_float16_aarch64eb #define int32_to_float16_scalbn int32_to_float16_scalbn_aarch64eb @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_aarch64eb #define int32_to_float64_scalbn int32_to_float64_scalbn_aarch64eb #define int32_to_floatx80 int32_to_floatx80_aarch64eb +#define int64_to_bfloat16 int64_to_bfloat16_aarch64eb +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_aarch64eb #define int64_to_float128 int64_to_float128_aarch64eb #define int64_to_float16 int64_to_float16_aarch64eb #define int64_to_float16_scalbn int64_to_float16_scalbn_aarch64eb @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_aarch64eb #define type_table_lookup type_table_lookup_aarch64eb #define uint8_to_float16 uint8_to_float16_aarch64eb +#define uint16_to_bfloat16 uint16_to_bfloat16_aarch64eb +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_aarch64eb #define uint16_to_float16 uint16_to_float16_aarch64eb #define uint16_to_float16_scalbn uint16_to_float16_scalbn_aarch64eb #define uint16_to_float32 uint16_to_float32_aarch64eb +#define uint16_to_float32 uint16_to_float32_aarch64eb #define uint16_to_float32_scalbn uint16_to_float32_scalbn_aarch64eb #define uint16_to_float64 uint16_to_float64_aarch64eb #define uint16_to_float64_scalbn uint16_to_float64_scalbn_aarch64eb +#define uint32_to_bfloat16 uint32_to_bfloat16_aarch64eb +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_aarch64eb #define uint32_to_float16 uint32_to_float16_aarch64eb #define uint32_to_float16_scalbn uint32_to_float16_scalbn_aarch64eb #define uint32_to_float32 uint32_to_float32_aarch64eb @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_aarch64eb #define uint32_to_float64_scalbn uint32_to_float64_scalbn_aarch64eb #define uint64_to_float128 uint64_to_float128_aarch64eb +#define uint64_to_bfloat16 uint64_to_bfloat16_aarch64eb +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_aarch64eb #define uint64_to_float16 uint64_to_float16_aarch64eb #define uint64_to_float16_scalbn uint64_to_float16_scalbn_aarch64eb #define uint64_to_float32 uint64_to_float32_aarch64eb diff --git a/qemu/arm.h b/qemu/arm.h index b9657fcf..659a78b7 100644 --- a/qemu/arm.h +++ b/qemu/arm.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_arm #define bfloat16_silence_nan bfloat16_silence_nan_arm #define bfloat16_default_nan bfloat16_default_nan_arm +#define bfloat16_to_float32 bfloat16_to_float32_arm +#define bfloat16_to_float64 bfloat16_to_float64_arm +#define bfloat16_to_int16 bfloat16_to_int16_arm +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_arm +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_arm +#define bfloat16_to_int32 bfloat16_to_int32_arm +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_arm +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_arm +#define bfloat16_to_int64 bfloat16_to_int64_arm +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_arm +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_arm +#define bfloat16_to_uint16 bfloat16_to_uint16_arm +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_arm +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_arm +#define bfloat16_to_uint32 bfloat16_to_uint32_arm +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_arm +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_arm +#define bfloat16_to_uint64 bfloat16_to_uint64_arm +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_arm +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_arm +#define bfloat16_round_to_int bfloat16_round_to_int_arm #define bitmap_zero_extend bitmap_zero_extend_arm #define bp_wp_matches bp_wp_matches_arm #define breakpoint_invalidate breakpoint_invalidate_arm @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_arm #define float32_squash_input_denormal float32_squash_input_denormal_arm #define float32_sub float32_sub_arm +#define float32_to_bfloat16 float32_to_bfloat16_arm #define float32_to_float128 float32_to_float128_arm #define float32_to_float16 float32_to_float16_arm #define float32_to_float64 float32_to_float64_arm @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_arm #define float64_squash_input_denormal float64_squash_input_denormal_arm #define float64_sub float64_sub_arm +#define float64_to_bfloat16 float64_to_bfloat16_arm #define float64_to_float128 float64_to_float128_arm #define float64_to_float16 float64_to_float16_arm #define float64_to_float32 float64_to_float32_arm @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_arm #define int128_zero int128_zero_arm #define int8_to_float16 int8_to_float16_arm +#define int16_to_bfloat16 int16_to_bfloat16_arm +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_arm #define int16_to_float16 int16_to_float16_arm #define int16_to_float16_scalbn int16_to_float16_scalbn_arm #define int16_to_float32 int16_to_float32_arm #define int16_to_float32_scalbn int16_to_float32_scalbn_arm #define int16_to_float64 int16_to_float64_arm #define int16_to_float64_scalbn int16_to_float64_scalbn_arm +#define int32_to_bfloat16 int32_to_bfloat16_arm +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_arm #define int32_to_float128 int32_to_float128_arm #define int32_to_float16 int32_to_float16_arm #define int32_to_float16_scalbn int32_to_float16_scalbn_arm @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_arm #define int32_to_float64_scalbn int32_to_float64_scalbn_arm #define int32_to_floatx80 int32_to_floatx80_arm +#define int64_to_bfloat16 int64_to_bfloat16_arm +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_arm #define int64_to_float128 int64_to_float128_arm #define int64_to_float16 int64_to_float16_arm #define int64_to_float16_scalbn int64_to_float16_scalbn_arm @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_arm #define type_table_lookup type_table_lookup_arm #define uint8_to_float16 uint8_to_float16_arm +#define uint16_to_bfloat16 uint16_to_bfloat16_arm +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_arm #define uint16_to_float16 uint16_to_float16_arm #define uint16_to_float16_scalbn uint16_to_float16_scalbn_arm #define uint16_to_float32 uint16_to_float32_arm +#define uint16_to_float32 uint16_to_float32_arm #define uint16_to_float32_scalbn uint16_to_float32_scalbn_arm #define uint16_to_float64 uint16_to_float64_arm #define uint16_to_float64_scalbn uint16_to_float64_scalbn_arm +#define uint32_to_bfloat16 uint32_to_bfloat16_arm +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_arm #define uint32_to_float16 uint32_to_float16_arm #define uint32_to_float16_scalbn uint32_to_float16_scalbn_arm #define uint32_to_float32 uint32_to_float32_arm @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_arm #define uint32_to_float64_scalbn uint32_to_float64_scalbn_arm #define uint64_to_float128 uint64_to_float128_arm +#define uint64_to_bfloat16 uint64_to_bfloat16_arm +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_arm #define uint64_to_float16 uint64_to_float16_arm #define uint64_to_float16_scalbn uint64_to_float16_scalbn_arm #define uint64_to_float32 uint64_to_float32_arm diff --git a/qemu/armeb.h b/qemu/armeb.h index a64464bd..d4bf59be 100644 --- a/qemu/armeb.h +++ b/qemu/armeb.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_armeb #define bfloat16_silence_nan bfloat16_silence_nan_armeb #define bfloat16_default_nan bfloat16_default_nan_armeb +#define bfloat16_to_float32 bfloat16_to_float32_armeb +#define bfloat16_to_float64 bfloat16_to_float64_armeb +#define bfloat16_to_int16 bfloat16_to_int16_armeb +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_armeb +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_armeb +#define bfloat16_to_int32 bfloat16_to_int32_armeb +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_armeb +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_armeb +#define bfloat16_to_int64 bfloat16_to_int64_armeb +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_armeb +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_armeb +#define bfloat16_to_uint16 bfloat16_to_uint16_armeb +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_armeb +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_armeb +#define bfloat16_to_uint32 bfloat16_to_uint32_armeb +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_armeb +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_armeb +#define bfloat16_to_uint64 bfloat16_to_uint64_armeb +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_armeb +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_armeb +#define bfloat16_round_to_int bfloat16_round_to_int_armeb #define bitmap_zero_extend bitmap_zero_extend_armeb #define bp_wp_matches bp_wp_matches_armeb #define breakpoint_invalidate breakpoint_invalidate_armeb @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_armeb #define float32_squash_input_denormal float32_squash_input_denormal_armeb #define float32_sub float32_sub_armeb +#define float32_to_bfloat16 float32_to_bfloat16_armeb #define float32_to_float128 float32_to_float128_armeb #define float32_to_float16 float32_to_float16_armeb #define float32_to_float64 float32_to_float64_armeb @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_armeb #define float64_squash_input_denormal float64_squash_input_denormal_armeb #define float64_sub float64_sub_armeb +#define float64_to_bfloat16 float64_to_bfloat16_armeb #define float64_to_float128 float64_to_float128_armeb #define float64_to_float16 float64_to_float16_armeb #define float64_to_float32 float64_to_float32_armeb @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_armeb #define int128_zero int128_zero_armeb #define int8_to_float16 int8_to_float16_armeb +#define int16_to_bfloat16 int16_to_bfloat16_armeb +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_armeb #define int16_to_float16 int16_to_float16_armeb #define int16_to_float16_scalbn int16_to_float16_scalbn_armeb #define int16_to_float32 int16_to_float32_armeb #define int16_to_float32_scalbn int16_to_float32_scalbn_armeb #define int16_to_float64 int16_to_float64_armeb #define int16_to_float64_scalbn int16_to_float64_scalbn_armeb +#define int32_to_bfloat16 int32_to_bfloat16_armeb +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_armeb #define int32_to_float128 int32_to_float128_armeb #define int32_to_float16 int32_to_float16_armeb #define int32_to_float16_scalbn int32_to_float16_scalbn_armeb @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_armeb #define int32_to_float64_scalbn int32_to_float64_scalbn_armeb #define int32_to_floatx80 int32_to_floatx80_armeb +#define int64_to_bfloat16 int64_to_bfloat16_armeb +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_armeb #define int64_to_float128 int64_to_float128_armeb #define int64_to_float16 int64_to_float16_armeb #define int64_to_float16_scalbn int64_to_float16_scalbn_armeb @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_armeb #define type_table_lookup type_table_lookup_armeb #define uint8_to_float16 uint8_to_float16_armeb +#define uint16_to_bfloat16 uint16_to_bfloat16_armeb +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_armeb #define uint16_to_float16 uint16_to_float16_armeb #define uint16_to_float16_scalbn uint16_to_float16_scalbn_armeb #define uint16_to_float32 uint16_to_float32_armeb +#define uint16_to_float32 uint16_to_float32_armeb #define uint16_to_float32_scalbn uint16_to_float32_scalbn_armeb #define uint16_to_float64 uint16_to_float64_armeb #define uint16_to_float64_scalbn uint16_to_float64_scalbn_armeb +#define uint32_to_bfloat16 uint32_to_bfloat16_armeb +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_armeb #define uint32_to_float16 uint32_to_float16_armeb #define uint32_to_float16_scalbn uint32_to_float16_scalbn_armeb #define uint32_to_float32 uint32_to_float32_armeb @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_armeb #define uint32_to_float64_scalbn uint32_to_float64_scalbn_armeb #define uint64_to_float128 uint64_to_float128_armeb +#define uint64_to_bfloat16 uint64_to_bfloat16_armeb +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_armeb #define uint64_to_float16 uint64_to_float16_armeb #define uint64_to_float16_scalbn uint64_to_float16_scalbn_armeb #define uint64_to_float32 uint64_to_float32_armeb diff --git a/qemu/fpu/softfloat.c b/qemu/fpu/softfloat.c index 896d81a4..fd97f5b3 100644 --- a/qemu/fpu/softfloat.c +++ b/qemu/fpu/softfloat.c @@ -1976,6 +1976,34 @@ float32 float64_to_float32(float64 a, float_status *s) return float32_round_pack_canonical(pr, s); } +float32 bfloat16_to_float32(bfloat16 a, float_status *s) +{ + FloatParts p = bfloat16_unpack_canonical(a, s); + FloatParts pr = float_to_float(p, &float32_params, s); + return float32_round_pack_canonical(pr, s); +} + +float64 bfloat16_to_float64(bfloat16 a, float_status *s) +{ + FloatParts p = bfloat16_unpack_canonical(a, s); + FloatParts pr = float_to_float(p, &float64_params, s); + return float64_round_pack_canonical(pr, s); +} + +bfloat16 float32_to_bfloat16(float32 a, float_status *s) +{ + FloatParts p = float32_unpack_canonical(a, s); + FloatParts pr = float_to_float(p, &bfloat16_params, s); + return bfloat16_round_pack_canonical(pr, s); +} + +bfloat16 float64_to_bfloat16(float64 a, float_status *s) +{ + FloatParts p = float64_unpack_canonical(a, s); + FloatParts pr = float_to_float(p, &bfloat16_params, s); + return bfloat16_round_pack_canonical(pr, s); +} + /* * Rounds the floating-point value `a' to an integer, and returns the * result as a floating-point value. The operation is performed @@ -2105,6 +2133,18 @@ float64 float64_round_to_int(float64 a, float_status *s) return float64_round_pack_canonical(pr, s); } +/* + * Rounds the bfloat16 value `a' to an integer, and returns the + * result as a bfloat16 value. + */ + +bfloat16 bfloat16_round_to_int(bfloat16 a, float_status *s) +{ + FloatParts pa = bfloat16_unpack_canonical(a, s); + FloatParts pr = round_to_int(pa, s->float_rounding_mode, 0, s); + return bfloat16_round_pack_canonical(pr, s); +} + /* * Returns the result of converting the floating-point value `a' to * the two's complement integer format. The conversion is performed @@ -2327,6 +2367,62 @@ int64_t float64_to_int64_round_to_zero(float64 a, float_status *s) return float64_to_int64_scalbn(a, float_round_to_zero, 0, s); } +/* + * Returns the result of converting the floating-point value `a' to + * the two's complement integer format. + */ + +int16_t bfloat16_to_int16_scalbn(bfloat16 a, FloatRoundMode rmode, int scale, + float_status *s) +{ + return round_to_int_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, INT16_MIN, INT16_MAX, s); +} + +int32_t bfloat16_to_int32_scalbn(bfloat16 a, FloatRoundMode rmode, int scale, + float_status *s) +{ + return round_to_int_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, INT32_MIN, INT32_MAX, s); +} + +int64_t bfloat16_to_int64_scalbn(bfloat16 a, FloatRoundMode rmode, int scale, + float_status *s) +{ + return round_to_int_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, INT64_MIN, INT64_MAX, s); +} + +int16_t bfloat16_to_int16(bfloat16 a, float_status *s) +{ + return bfloat16_to_int16_scalbn(a, s->float_rounding_mode, 0, s); +} + +int32_t bfloat16_to_int32(bfloat16 a, float_status *s) +{ + return bfloat16_to_int32_scalbn(a, s->float_rounding_mode, 0, s); +} + +int64_t bfloat16_to_int64(bfloat16 a, float_status *s) +{ + return bfloat16_to_int64_scalbn(a, s->float_rounding_mode, 0, s); +} + +int16_t bfloat16_to_int16_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_int16_scalbn(a, float_round_to_zero, 0, s); +} + +int32_t bfloat16_to_int32_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_int32_scalbn(a, float_round_to_zero, 0, s); +} + +int64_t bfloat16_to_int64_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_int64_scalbn(a, float_round_to_zero, 0, s); +} + /* * Returns the result of converting the floating-point value `a' to * the unsigned integer format. The conversion is performed according @@ -2552,6 +2648,62 @@ uint64_t float64_to_uint64_round_to_zero(float64 a, float_status *s) return float64_to_uint64_scalbn(a, float_round_to_zero, 0, s); } +/* + * Returns the result of converting the bfloat16 value `a' to + * the unsigned integer format. + */ + +uint16_t bfloat16_to_uint16_scalbn(bfloat16 a, FloatRoundMode rmode, + int scale, float_status *s) +{ + return round_to_uint_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, UINT16_MAX, s); +} + +uint32_t bfloat16_to_uint32_scalbn(bfloat16 a, FloatRoundMode rmode, + int scale, float_status *s) +{ + return round_to_uint_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, UINT32_MAX, s); +} + +uint64_t bfloat16_to_uint64_scalbn(bfloat16 a, FloatRoundMode rmode, + int scale, float_status *s) +{ + return round_to_uint_and_pack(bfloat16_unpack_canonical(a, s), + rmode, scale, UINT64_MAX, s); +} + +uint16_t bfloat16_to_uint16(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint16_scalbn(a, s->float_rounding_mode, 0, s); +} + +uint32_t bfloat16_to_uint32(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint32_scalbn(a, s->float_rounding_mode, 0, s); +} + +uint64_t bfloat16_to_uint64(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint64_scalbn(a, s->float_rounding_mode, 0, s); +} + +uint16_t bfloat16_to_uint16_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint16_scalbn(a, float_round_to_zero, 0, s); +} + +uint32_t bfloat16_to_uint32_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint32_scalbn(a, float_round_to_zero, 0, s); +} + +uint64_t bfloat16_to_uint64_round_to_zero(bfloat16 a, float_status *s) +{ + return bfloat16_to_uint64_scalbn(a, float_round_to_zero, 0, s); +} + /* * Integer to float conversions * @@ -2683,6 +2835,41 @@ float64 int16_to_float64(int16_t a, float_status *status) return int64_to_float64_scalbn(a, 0, status); } +/* + * Returns the result of converting the two's complement integer `a' + * to the bfloat16 format. + */ + +bfloat16 int64_to_bfloat16_scalbn(int64_t a, int scale, float_status *status) +{ + FloatParts pa = int_to_float(a, scale, status); + return bfloat16_round_pack_canonical(pa, status); +} + +bfloat16 int32_to_bfloat16_scalbn(int32_t a, int scale, float_status *status) +{ + return int64_to_bfloat16_scalbn(a, scale, status); +} + +bfloat16 int16_to_bfloat16_scalbn(int16_t a, int scale, float_status *status) +{ + return int64_to_bfloat16_scalbn(a, scale, status); +} + +bfloat16 int64_to_bfloat16(int64_t a, float_status *status) +{ + return int64_to_bfloat16_scalbn(a, 0, status); +} + +bfloat16 int32_to_bfloat16(int32_t a, float_status *status) +{ + return int64_to_bfloat16_scalbn(a, 0, status); +} + +bfloat16 int16_to_bfloat16(int16_t a, float_status *status) +{ + return int64_to_bfloat16_scalbn(a, 0, status); +} /* * Unsigned Integer to float conversions @@ -2813,6 +3000,42 @@ float64 uint16_to_float64(uint16_t a, float_status *status) return uint64_to_float64_scalbn(a, 0, status); } +/* + * Returns the result of converting the unsigned integer `a' to the + * bfloat16 format. + */ + +bfloat16 uint64_to_bfloat16_scalbn(uint64_t a, int scale, float_status *status) +{ + FloatParts pa = uint_to_float(a, scale, status); + return bfloat16_round_pack_canonical(pa, status); +} + +bfloat16 uint32_to_bfloat16_scalbn(uint32_t a, int scale, float_status *status) +{ + return uint64_to_bfloat16_scalbn(a, scale, status); +} + +bfloat16 uint16_to_bfloat16_scalbn(uint16_t a, int scale, float_status *status) +{ + return uint64_to_bfloat16_scalbn(a, scale, status); +} + +bfloat16 uint64_to_bfloat16(uint64_t a, float_status *status) +{ + return uint64_to_bfloat16_scalbn(a, 0, status); +} + +bfloat16 uint32_to_bfloat16(uint32_t a, float_status *status) +{ + return uint64_to_bfloat16_scalbn(a, 0, status); +} + +bfloat16 uint16_to_bfloat16(uint16_t a, float_status *status) +{ + return uint64_to_bfloat16_scalbn(a, 0, status); +} + /* Float Min/Max */ /* min() and max() functions. These can't be implemented as * 'compare and pick one input' because that would mishandle diff --git a/qemu/header_gen.py b/qemu/header_gen.py index 83bd433d..26493754 100644 --- a/qemu/header_gen.py +++ b/qemu/header_gen.py @@ -221,6 +221,27 @@ symbols = ( 'bfloat16_compare_quiet', 'bfloat16_silence_nan', 'bfloat16_default_nan', + 'bfloat16_to_float32', + 'bfloat16_to_float64', + 'bfloat16_to_int16', + 'bfloat16_to_int16_round_to_zero', + 'bfloat16_to_int16_scalbn', + 'bfloat16_to_int32', + 'bfloat16_to_int32_round_to_zero', + 'bfloat16_to_int32_scalbn', + 'bfloat16_to_int64', + 'bfloat16_to_int64_round_to_zero', + 'bfloat16_to_int64_scalbn', + 'bfloat16_to_uint16', + 'bfloat16_to_uint16_round_to_zero', + 'bfloat16_to_uint16_scalbn', + 'bfloat16_to_uint32', + 'bfloat16_to_uint32_round_to_zero', + 'bfloat16_to_uint32_scalbn', + 'bfloat16_to_uint64', + 'bfloat16_to_uint64_round_to_zero', + 'bfloat16_to_uint64_scalbn', + 'bfloat16_round_to_int', 'bitmap_zero_extend', 'bp_wp_matches', 'breakpoint_invalidate', @@ -658,6 +679,7 @@ symbols = ( 'float32_sqrt', 'float32_squash_input_denormal', 'float32_sub', + 'float32_to_bfloat16', 'float32_to_float128', 'float32_to_float16', 'float32_to_float64', @@ -721,6 +743,7 @@ symbols = ( 'float64_sqrt', 'float64_squash_input_denormal', 'float64_sub', + 'float64_to_bfloat16', 'float64_to_float128', 'float64_to_float16', 'float64_to_float32', @@ -1996,12 +2019,16 @@ symbols = ( 'int128_subfrom', 'int128_zero', 'int8_to_float16', + 'int16_to_bfloat16', + 'int16_to_bfloat16_scalbn', 'int16_to_float16', 'int16_to_float16_scalbn', 'int16_to_float32', 'int16_to_float32_scalbn', 'int16_to_float64', 'int16_to_float64_scalbn', + 'int32_to_bfloat16', + 'int32_to_bfloat16_scalbn', 'int32_to_float128', 'int32_to_float16', 'int32_to_float16_scalbn', @@ -2010,6 +2037,8 @@ symbols = ( 'int32_to_float64', 'int32_to_float64_scalbn', 'int32_to_floatx80', + 'int64_to_bfloat16', + 'int64_to_bfloat16_scalbn', 'int64_to_float128', 'int64_to_float16', 'int64_to_float16_scalbn', @@ -3409,12 +3438,17 @@ symbols = ( 'type_table_get', 'type_table_lookup', 'uint8_to_float16', + 'uint16_to_bfloat16', + 'uint16_to_bfloat16_scalbn', 'uint16_to_float16', 'uint16_to_float16_scalbn', 'uint16_to_float32', + 'uint16_to_float32', 'uint16_to_float32_scalbn', 'uint16_to_float64', 'uint16_to_float64_scalbn', + 'uint32_to_bfloat16', + 'uint32_to_bfloat16_scalbn', 'uint32_to_float16', 'uint32_to_float16_scalbn', 'uint32_to_float32', @@ -3422,6 +3456,8 @@ symbols = ( 'uint32_to_float64', 'uint32_to_float64_scalbn', 'uint64_to_float128', + 'uint64_to_bfloat16', + 'uint64_to_bfloat16_scalbn', 'uint64_to_float16', 'uint64_to_float16_scalbn', 'uint64_to_float32', diff --git a/qemu/include/fpu/softfloat.h b/qemu/include/fpu/softfloat.h index 06abba6b..d78a0ae0 100644 --- a/qemu/include/fpu/softfloat.h +++ b/qemu/include/fpu/softfloat.h @@ -351,6 +351,60 @@ static inline bool float16_unordered_quiet(float16 a, float16 b, #define float16_three make_float16(0x4200) #define float16_infinity make_float16(0x7c00) +/*---------------------------------------------------------------------------- +| Software bfloat16 conversion routines. +*----------------------------------------------------------------------------*/ + +bfloat16 bfloat16_round_to_int(bfloat16, float_status *status); +bfloat16 float32_to_bfloat16(float32, float_status *status); +float32 bfloat16_to_float32(bfloat16, float_status *status); +bfloat16 float64_to_bfloat16(float64 a, float_status *status); +float64 bfloat16_to_float64(bfloat16 a, float_status *status); + +int16_t bfloat16_to_int16_scalbn(bfloat16, FloatRoundMode, + int, float_status *status); +int32_t bfloat16_to_int32_scalbn(bfloat16, FloatRoundMode, + int, float_status *status); +int64_t bfloat16_to_int64_scalbn(bfloat16, FloatRoundMode, + int, float_status *status); + +int16_t bfloat16_to_int16(bfloat16, float_status *status); +int32_t bfloat16_to_int32(bfloat16, float_status *status); +int64_t bfloat16_to_int64(bfloat16, float_status *status); + +int16_t bfloat16_to_int16_round_to_zero(bfloat16, float_status *status); +int32_t bfloat16_to_int32_round_to_zero(bfloat16, float_status *status); +int64_t bfloat16_to_int64_round_to_zero(bfloat16, float_status *status); + +uint16_t bfloat16_to_uint16_scalbn(bfloat16 a, FloatRoundMode, + int, float_status *status); +uint32_t bfloat16_to_uint32_scalbn(bfloat16 a, FloatRoundMode, + int, float_status *status); +uint64_t bfloat16_to_uint64_scalbn(bfloat16 a, FloatRoundMode, + int, float_status *status); + +uint16_t bfloat16_to_uint16(bfloat16 a, float_status *status); +uint32_t bfloat16_to_uint32(bfloat16 a, float_status *status); +uint64_t bfloat16_to_uint64(bfloat16 a, float_status *status); + +uint16_t bfloat16_to_uint16_round_to_zero(bfloat16 a, float_status *status); +uint32_t bfloat16_to_uint32_round_to_zero(bfloat16 a, float_status *status); +uint64_t bfloat16_to_uint64_round_to_zero(bfloat16 a, float_status *status); + +bfloat16 int16_to_bfloat16_scalbn(int16_t a, int, float_status *status); +bfloat16 int32_to_bfloat16_scalbn(int32_t a, int, float_status *status); +bfloat16 int64_to_bfloat16_scalbn(int64_t a, int, float_status *status); +bfloat16 uint16_to_bfloat16_scalbn(uint16_t a, int, float_status *status); +bfloat16 uint32_to_bfloat16_scalbn(uint32_t a, int, float_status *status); +bfloat16 uint64_to_bfloat16_scalbn(uint64_t a, int, float_status *status); + +bfloat16 int16_to_bfloat16(int16_t a, float_status *status); +bfloat16 int32_to_bfloat16(int32_t a, float_status *status); +bfloat16 int64_to_bfloat16(int64_t a, float_status *status); +bfloat16 uint16_to_bfloat16(uint16_t a, float_status *status); +bfloat16 uint32_to_bfloat16(uint32_t a, float_status *status); +bfloat16 uint64_to_bfloat16(uint64_t a, float_status *status); + /*---------------------------------------------------------------------------- | Software bfloat16 operations. *----------------------------------------------------------------------------*/ diff --git a/qemu/m68k.h b/qemu/m68k.h index 8b5a0f17..56943144 100644 --- a/qemu/m68k.h +++ b/qemu/m68k.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_m68k #define bfloat16_silence_nan bfloat16_silence_nan_m68k #define bfloat16_default_nan bfloat16_default_nan_m68k +#define bfloat16_to_float32 bfloat16_to_float32_m68k +#define bfloat16_to_float64 bfloat16_to_float64_m68k +#define bfloat16_to_int16 bfloat16_to_int16_m68k +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_m68k +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_m68k +#define bfloat16_to_int32 bfloat16_to_int32_m68k +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_m68k +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_m68k +#define bfloat16_to_int64 bfloat16_to_int64_m68k +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_m68k +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_m68k +#define bfloat16_to_uint16 bfloat16_to_uint16_m68k +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_m68k +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_m68k +#define bfloat16_to_uint32 bfloat16_to_uint32_m68k +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_m68k +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_m68k +#define bfloat16_to_uint64 bfloat16_to_uint64_m68k +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_m68k +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_m68k +#define bfloat16_round_to_int bfloat16_round_to_int_m68k #define bitmap_zero_extend bitmap_zero_extend_m68k #define bp_wp_matches bp_wp_matches_m68k #define breakpoint_invalidate breakpoint_invalidate_m68k @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_m68k #define float32_squash_input_denormal float32_squash_input_denormal_m68k #define float32_sub float32_sub_m68k +#define float32_to_bfloat16 float32_to_bfloat16_m68k #define float32_to_float128 float32_to_float128_m68k #define float32_to_float16 float32_to_float16_m68k #define float32_to_float64 float32_to_float64_m68k @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_m68k #define float64_squash_input_denormal float64_squash_input_denormal_m68k #define float64_sub float64_sub_m68k +#define float64_to_bfloat16 float64_to_bfloat16_m68k #define float64_to_float128 float64_to_float128_m68k #define float64_to_float16 float64_to_float16_m68k #define float64_to_float32 float64_to_float32_m68k @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_m68k #define int128_zero int128_zero_m68k #define int8_to_float16 int8_to_float16_m68k +#define int16_to_bfloat16 int16_to_bfloat16_m68k +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_m68k #define int16_to_float16 int16_to_float16_m68k #define int16_to_float16_scalbn int16_to_float16_scalbn_m68k #define int16_to_float32 int16_to_float32_m68k #define int16_to_float32_scalbn int16_to_float32_scalbn_m68k #define int16_to_float64 int16_to_float64_m68k #define int16_to_float64_scalbn int16_to_float64_scalbn_m68k +#define int32_to_bfloat16 int32_to_bfloat16_m68k +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_m68k #define int32_to_float128 int32_to_float128_m68k #define int32_to_float16 int32_to_float16_m68k #define int32_to_float16_scalbn int32_to_float16_scalbn_m68k @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_m68k #define int32_to_float64_scalbn int32_to_float64_scalbn_m68k #define int32_to_floatx80 int32_to_floatx80_m68k +#define int64_to_bfloat16 int64_to_bfloat16_m68k +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_m68k #define int64_to_float128 int64_to_float128_m68k #define int64_to_float16 int64_to_float16_m68k #define int64_to_float16_scalbn int64_to_float16_scalbn_m68k @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_m68k #define type_table_lookup type_table_lookup_m68k #define uint8_to_float16 uint8_to_float16_m68k +#define uint16_to_bfloat16 uint16_to_bfloat16_m68k +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_m68k #define uint16_to_float16 uint16_to_float16_m68k #define uint16_to_float16_scalbn uint16_to_float16_scalbn_m68k #define uint16_to_float32 uint16_to_float32_m68k +#define uint16_to_float32 uint16_to_float32_m68k #define uint16_to_float32_scalbn uint16_to_float32_scalbn_m68k #define uint16_to_float64 uint16_to_float64_m68k #define uint16_to_float64_scalbn uint16_to_float64_scalbn_m68k +#define uint32_to_bfloat16 uint32_to_bfloat16_m68k +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_m68k #define uint32_to_float16 uint32_to_float16_m68k #define uint32_to_float16_scalbn uint32_to_float16_scalbn_m68k #define uint32_to_float32 uint32_to_float32_m68k @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_m68k #define uint32_to_float64_scalbn uint32_to_float64_scalbn_m68k #define uint64_to_float128 uint64_to_float128_m68k +#define uint64_to_bfloat16 uint64_to_bfloat16_m68k +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_m68k #define uint64_to_float16 uint64_to_float16_m68k #define uint64_to_float16_scalbn uint64_to_float16_scalbn_m68k #define uint64_to_float32 uint64_to_float32_m68k diff --git a/qemu/mips.h b/qemu/mips.h index fa503cbf..e3d616ba 100644 --- a/qemu/mips.h +++ b/qemu/mips.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_mips #define bfloat16_silence_nan bfloat16_silence_nan_mips #define bfloat16_default_nan bfloat16_default_nan_mips +#define bfloat16_to_float32 bfloat16_to_float32_mips +#define bfloat16_to_float64 bfloat16_to_float64_mips +#define bfloat16_to_int16 bfloat16_to_int16_mips +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_mips +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_mips +#define bfloat16_to_int32 bfloat16_to_int32_mips +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_mips +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_mips +#define bfloat16_to_int64 bfloat16_to_int64_mips +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_mips +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_mips +#define bfloat16_to_uint16 bfloat16_to_uint16_mips +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_mips +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_mips +#define bfloat16_to_uint32 bfloat16_to_uint32_mips +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_mips +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_mips +#define bfloat16_to_uint64 bfloat16_to_uint64_mips +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_mips +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_mips +#define bfloat16_round_to_int bfloat16_round_to_int_mips #define bitmap_zero_extend bitmap_zero_extend_mips #define bp_wp_matches bp_wp_matches_mips #define breakpoint_invalidate breakpoint_invalidate_mips @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_mips #define float32_squash_input_denormal float32_squash_input_denormal_mips #define float32_sub float32_sub_mips +#define float32_to_bfloat16 float32_to_bfloat16_mips #define float32_to_float128 float32_to_float128_mips #define float32_to_float16 float32_to_float16_mips #define float32_to_float64 float32_to_float64_mips @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_mips #define float64_squash_input_denormal float64_squash_input_denormal_mips #define float64_sub float64_sub_mips +#define float64_to_bfloat16 float64_to_bfloat16_mips #define float64_to_float128 float64_to_float128_mips #define float64_to_float16 float64_to_float16_mips #define float64_to_float32 float64_to_float32_mips @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_mips #define int128_zero int128_zero_mips #define int8_to_float16 int8_to_float16_mips +#define int16_to_bfloat16 int16_to_bfloat16_mips +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_mips #define int16_to_float16 int16_to_float16_mips #define int16_to_float16_scalbn int16_to_float16_scalbn_mips #define int16_to_float32 int16_to_float32_mips #define int16_to_float32_scalbn int16_to_float32_scalbn_mips #define int16_to_float64 int16_to_float64_mips #define int16_to_float64_scalbn int16_to_float64_scalbn_mips +#define int32_to_bfloat16 int32_to_bfloat16_mips +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_mips #define int32_to_float128 int32_to_float128_mips #define int32_to_float16 int32_to_float16_mips #define int32_to_float16_scalbn int32_to_float16_scalbn_mips @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_mips #define int32_to_float64_scalbn int32_to_float64_scalbn_mips #define int32_to_floatx80 int32_to_floatx80_mips +#define int64_to_bfloat16 int64_to_bfloat16_mips +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_mips #define int64_to_float128 int64_to_float128_mips #define int64_to_float16 int64_to_float16_mips #define int64_to_float16_scalbn int64_to_float16_scalbn_mips @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_mips #define type_table_lookup type_table_lookup_mips #define uint8_to_float16 uint8_to_float16_mips +#define uint16_to_bfloat16 uint16_to_bfloat16_mips +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_mips #define uint16_to_float16 uint16_to_float16_mips #define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips #define uint16_to_float32 uint16_to_float32_mips +#define uint16_to_float32 uint16_to_float32_mips #define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips #define uint16_to_float64 uint16_to_float64_mips #define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips +#define uint32_to_bfloat16 uint32_to_bfloat16_mips +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_mips #define uint32_to_float16 uint32_to_float16_mips #define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips #define uint32_to_float32 uint32_to_float32_mips @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_mips #define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips #define uint64_to_float128 uint64_to_float128_mips +#define uint64_to_bfloat16 uint64_to_bfloat16_mips +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_mips #define uint64_to_float16 uint64_to_float16_mips #define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips #define uint64_to_float32 uint64_to_float32_mips diff --git a/qemu/mips64.h b/qemu/mips64.h index 30290e80..7ad37bd0 100644 --- a/qemu/mips64.h +++ b/qemu/mips64.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_mips64 #define bfloat16_silence_nan bfloat16_silence_nan_mips64 #define bfloat16_default_nan bfloat16_default_nan_mips64 +#define bfloat16_to_float32 bfloat16_to_float32_mips64 +#define bfloat16_to_float64 bfloat16_to_float64_mips64 +#define bfloat16_to_int16 bfloat16_to_int16_mips64 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_mips64 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_mips64 +#define bfloat16_to_int32 bfloat16_to_int32_mips64 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_mips64 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_mips64 +#define bfloat16_to_int64 bfloat16_to_int64_mips64 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_mips64 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_mips64 +#define bfloat16_to_uint16 bfloat16_to_uint16_mips64 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_mips64 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_mips64 +#define bfloat16_to_uint32 bfloat16_to_uint32_mips64 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_mips64 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_mips64 +#define bfloat16_to_uint64 bfloat16_to_uint64_mips64 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_mips64 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_mips64 +#define bfloat16_round_to_int bfloat16_round_to_int_mips64 #define bitmap_zero_extend bitmap_zero_extend_mips64 #define bp_wp_matches bp_wp_matches_mips64 #define breakpoint_invalidate breakpoint_invalidate_mips64 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_mips64 #define float32_squash_input_denormal float32_squash_input_denormal_mips64 #define float32_sub float32_sub_mips64 +#define float32_to_bfloat16 float32_to_bfloat16_mips64 #define float32_to_float128 float32_to_float128_mips64 #define float32_to_float16 float32_to_float16_mips64 #define float32_to_float64 float32_to_float64_mips64 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_mips64 #define float64_squash_input_denormal float64_squash_input_denormal_mips64 #define float64_sub float64_sub_mips64 +#define float64_to_bfloat16 float64_to_bfloat16_mips64 #define float64_to_float128 float64_to_float128_mips64 #define float64_to_float16 float64_to_float16_mips64 #define float64_to_float32 float64_to_float32_mips64 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_mips64 #define int128_zero int128_zero_mips64 #define int8_to_float16 int8_to_float16_mips64 +#define int16_to_bfloat16 int16_to_bfloat16_mips64 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_mips64 #define int16_to_float16 int16_to_float16_mips64 #define int16_to_float16_scalbn int16_to_float16_scalbn_mips64 #define int16_to_float32 int16_to_float32_mips64 #define int16_to_float32_scalbn int16_to_float32_scalbn_mips64 #define int16_to_float64 int16_to_float64_mips64 #define int16_to_float64_scalbn int16_to_float64_scalbn_mips64 +#define int32_to_bfloat16 int32_to_bfloat16_mips64 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_mips64 #define int32_to_float128 int32_to_float128_mips64 #define int32_to_float16 int32_to_float16_mips64 #define int32_to_float16_scalbn int32_to_float16_scalbn_mips64 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_mips64 #define int32_to_float64_scalbn int32_to_float64_scalbn_mips64 #define int32_to_floatx80 int32_to_floatx80_mips64 +#define int64_to_bfloat16 int64_to_bfloat16_mips64 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_mips64 #define int64_to_float128 int64_to_float128_mips64 #define int64_to_float16 int64_to_float16_mips64 #define int64_to_float16_scalbn int64_to_float16_scalbn_mips64 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_mips64 #define type_table_lookup type_table_lookup_mips64 #define uint8_to_float16 uint8_to_float16_mips64 +#define uint16_to_bfloat16 uint16_to_bfloat16_mips64 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_mips64 #define uint16_to_float16 uint16_to_float16_mips64 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips64 #define uint16_to_float32 uint16_to_float32_mips64 +#define uint16_to_float32 uint16_to_float32_mips64 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips64 #define uint16_to_float64 uint16_to_float64_mips64 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips64 +#define uint32_to_bfloat16 uint32_to_bfloat16_mips64 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_mips64 #define uint32_to_float16 uint32_to_float16_mips64 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips64 #define uint32_to_float32 uint32_to_float32_mips64 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_mips64 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips64 #define uint64_to_float128 uint64_to_float128_mips64 +#define uint64_to_bfloat16 uint64_to_bfloat16_mips64 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_mips64 #define uint64_to_float16 uint64_to_float16_mips64 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips64 #define uint64_to_float32 uint64_to_float32_mips64 diff --git a/qemu/mips64el.h b/qemu/mips64el.h index 98190251..f8a686d9 100644 --- a/qemu/mips64el.h +++ b/qemu/mips64el.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_mips64el #define bfloat16_silence_nan bfloat16_silence_nan_mips64el #define bfloat16_default_nan bfloat16_default_nan_mips64el +#define bfloat16_to_float32 bfloat16_to_float32_mips64el +#define bfloat16_to_float64 bfloat16_to_float64_mips64el +#define bfloat16_to_int16 bfloat16_to_int16_mips64el +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_mips64el +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_mips64el +#define bfloat16_to_int32 bfloat16_to_int32_mips64el +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_mips64el +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_mips64el +#define bfloat16_to_int64 bfloat16_to_int64_mips64el +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_mips64el +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_mips64el +#define bfloat16_to_uint16 bfloat16_to_uint16_mips64el +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_mips64el +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_mips64el +#define bfloat16_to_uint32 bfloat16_to_uint32_mips64el +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_mips64el +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_mips64el +#define bfloat16_to_uint64 bfloat16_to_uint64_mips64el +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_mips64el +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_mips64el +#define bfloat16_round_to_int bfloat16_round_to_int_mips64el #define bitmap_zero_extend bitmap_zero_extend_mips64el #define bp_wp_matches bp_wp_matches_mips64el #define breakpoint_invalidate breakpoint_invalidate_mips64el @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_mips64el #define float32_squash_input_denormal float32_squash_input_denormal_mips64el #define float32_sub float32_sub_mips64el +#define float32_to_bfloat16 float32_to_bfloat16_mips64el #define float32_to_float128 float32_to_float128_mips64el #define float32_to_float16 float32_to_float16_mips64el #define float32_to_float64 float32_to_float64_mips64el @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_mips64el #define float64_squash_input_denormal float64_squash_input_denormal_mips64el #define float64_sub float64_sub_mips64el +#define float64_to_bfloat16 float64_to_bfloat16_mips64el #define float64_to_float128 float64_to_float128_mips64el #define float64_to_float16 float64_to_float16_mips64el #define float64_to_float32 float64_to_float32_mips64el @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_mips64el #define int128_zero int128_zero_mips64el #define int8_to_float16 int8_to_float16_mips64el +#define int16_to_bfloat16 int16_to_bfloat16_mips64el +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_mips64el #define int16_to_float16 int16_to_float16_mips64el #define int16_to_float16_scalbn int16_to_float16_scalbn_mips64el #define int16_to_float32 int16_to_float32_mips64el #define int16_to_float32_scalbn int16_to_float32_scalbn_mips64el #define int16_to_float64 int16_to_float64_mips64el #define int16_to_float64_scalbn int16_to_float64_scalbn_mips64el +#define int32_to_bfloat16 int32_to_bfloat16_mips64el +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_mips64el #define int32_to_float128 int32_to_float128_mips64el #define int32_to_float16 int32_to_float16_mips64el #define int32_to_float16_scalbn int32_to_float16_scalbn_mips64el @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_mips64el #define int32_to_float64_scalbn int32_to_float64_scalbn_mips64el #define int32_to_floatx80 int32_to_floatx80_mips64el +#define int64_to_bfloat16 int64_to_bfloat16_mips64el +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_mips64el #define int64_to_float128 int64_to_float128_mips64el #define int64_to_float16 int64_to_float16_mips64el #define int64_to_float16_scalbn int64_to_float16_scalbn_mips64el @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_mips64el #define type_table_lookup type_table_lookup_mips64el #define uint8_to_float16 uint8_to_float16_mips64el +#define uint16_to_bfloat16 uint16_to_bfloat16_mips64el +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_mips64el #define uint16_to_float16 uint16_to_float16_mips64el #define uint16_to_float16_scalbn uint16_to_float16_scalbn_mips64el #define uint16_to_float32 uint16_to_float32_mips64el +#define uint16_to_float32 uint16_to_float32_mips64el #define uint16_to_float32_scalbn uint16_to_float32_scalbn_mips64el #define uint16_to_float64 uint16_to_float64_mips64el #define uint16_to_float64_scalbn uint16_to_float64_scalbn_mips64el +#define uint32_to_bfloat16 uint32_to_bfloat16_mips64el +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_mips64el #define uint32_to_float16 uint32_to_float16_mips64el #define uint32_to_float16_scalbn uint32_to_float16_scalbn_mips64el #define uint32_to_float32 uint32_to_float32_mips64el @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_mips64el #define uint32_to_float64_scalbn uint32_to_float64_scalbn_mips64el #define uint64_to_float128 uint64_to_float128_mips64el +#define uint64_to_bfloat16 uint64_to_bfloat16_mips64el +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_mips64el #define uint64_to_float16 uint64_to_float16_mips64el #define uint64_to_float16_scalbn uint64_to_float16_scalbn_mips64el #define uint64_to_float32 uint64_to_float32_mips64el diff --git a/qemu/mipsel.h b/qemu/mipsel.h index 75c7a3bc..e4dfc241 100644 --- a/qemu/mipsel.h +++ b/qemu/mipsel.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_mipsel #define bfloat16_silence_nan bfloat16_silence_nan_mipsel #define bfloat16_default_nan bfloat16_default_nan_mipsel +#define bfloat16_to_float32 bfloat16_to_float32_mipsel +#define bfloat16_to_float64 bfloat16_to_float64_mipsel +#define bfloat16_to_int16 bfloat16_to_int16_mipsel +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_mipsel +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_mipsel +#define bfloat16_to_int32 bfloat16_to_int32_mipsel +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_mipsel +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_mipsel +#define bfloat16_to_int64 bfloat16_to_int64_mipsel +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_mipsel +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_mipsel +#define bfloat16_to_uint16 bfloat16_to_uint16_mipsel +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_mipsel +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_mipsel +#define bfloat16_to_uint32 bfloat16_to_uint32_mipsel +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_mipsel +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_mipsel +#define bfloat16_to_uint64 bfloat16_to_uint64_mipsel +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_mipsel +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_mipsel +#define bfloat16_round_to_int bfloat16_round_to_int_mipsel #define bitmap_zero_extend bitmap_zero_extend_mipsel #define bp_wp_matches bp_wp_matches_mipsel #define breakpoint_invalidate breakpoint_invalidate_mipsel @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_mipsel #define float32_squash_input_denormal float32_squash_input_denormal_mipsel #define float32_sub float32_sub_mipsel +#define float32_to_bfloat16 float32_to_bfloat16_mipsel #define float32_to_float128 float32_to_float128_mipsel #define float32_to_float16 float32_to_float16_mipsel #define float32_to_float64 float32_to_float64_mipsel @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_mipsel #define float64_squash_input_denormal float64_squash_input_denormal_mipsel #define float64_sub float64_sub_mipsel +#define float64_to_bfloat16 float64_to_bfloat16_mipsel #define float64_to_float128 float64_to_float128_mipsel #define float64_to_float16 float64_to_float16_mipsel #define float64_to_float32 float64_to_float32_mipsel @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_mipsel #define int128_zero int128_zero_mipsel #define int8_to_float16 int8_to_float16_mipsel +#define int16_to_bfloat16 int16_to_bfloat16_mipsel +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_mipsel #define int16_to_float16 int16_to_float16_mipsel #define int16_to_float16_scalbn int16_to_float16_scalbn_mipsel #define int16_to_float32 int16_to_float32_mipsel #define int16_to_float32_scalbn int16_to_float32_scalbn_mipsel #define int16_to_float64 int16_to_float64_mipsel #define int16_to_float64_scalbn int16_to_float64_scalbn_mipsel +#define int32_to_bfloat16 int32_to_bfloat16_mipsel +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_mipsel #define int32_to_float128 int32_to_float128_mipsel #define int32_to_float16 int32_to_float16_mipsel #define int32_to_float16_scalbn int32_to_float16_scalbn_mipsel @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_mipsel #define int32_to_float64_scalbn int32_to_float64_scalbn_mipsel #define int32_to_floatx80 int32_to_floatx80_mipsel +#define int64_to_bfloat16 int64_to_bfloat16_mipsel +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_mipsel #define int64_to_float128 int64_to_float128_mipsel #define int64_to_float16 int64_to_float16_mipsel #define int64_to_float16_scalbn int64_to_float16_scalbn_mipsel @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_mipsel #define type_table_lookup type_table_lookup_mipsel #define uint8_to_float16 uint8_to_float16_mipsel +#define uint16_to_bfloat16 uint16_to_bfloat16_mipsel +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_mipsel #define uint16_to_float16 uint16_to_float16_mipsel #define uint16_to_float16_scalbn uint16_to_float16_scalbn_mipsel #define uint16_to_float32 uint16_to_float32_mipsel +#define uint16_to_float32 uint16_to_float32_mipsel #define uint16_to_float32_scalbn uint16_to_float32_scalbn_mipsel #define uint16_to_float64 uint16_to_float64_mipsel #define uint16_to_float64_scalbn uint16_to_float64_scalbn_mipsel +#define uint32_to_bfloat16 uint32_to_bfloat16_mipsel +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_mipsel #define uint32_to_float16 uint32_to_float16_mipsel #define uint32_to_float16_scalbn uint32_to_float16_scalbn_mipsel #define uint32_to_float32 uint32_to_float32_mipsel @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_mipsel #define uint32_to_float64_scalbn uint32_to_float64_scalbn_mipsel #define uint64_to_float128 uint64_to_float128_mipsel +#define uint64_to_bfloat16 uint64_to_bfloat16_mipsel +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_mipsel #define uint64_to_float16 uint64_to_float16_mipsel #define uint64_to_float16_scalbn uint64_to_float16_scalbn_mipsel #define uint64_to_float32 uint64_to_float32_mipsel diff --git a/qemu/powerpc.h b/qemu/powerpc.h index 61de8961..5fc82019 100644 --- a/qemu/powerpc.h +++ b/qemu/powerpc.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_powerpc #define bfloat16_silence_nan bfloat16_silence_nan_powerpc #define bfloat16_default_nan bfloat16_default_nan_powerpc +#define bfloat16_to_float32 bfloat16_to_float32_powerpc +#define bfloat16_to_float64 bfloat16_to_float64_powerpc +#define bfloat16_to_int16 bfloat16_to_int16_powerpc +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_powerpc +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_powerpc +#define bfloat16_to_int32 bfloat16_to_int32_powerpc +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_powerpc +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_powerpc +#define bfloat16_to_int64 bfloat16_to_int64_powerpc +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_powerpc +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_powerpc +#define bfloat16_to_uint16 bfloat16_to_uint16_powerpc +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_powerpc +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_powerpc +#define bfloat16_to_uint32 bfloat16_to_uint32_powerpc +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_powerpc +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_powerpc +#define bfloat16_to_uint64 bfloat16_to_uint64_powerpc +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_powerpc +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_powerpc +#define bfloat16_round_to_int bfloat16_round_to_int_powerpc #define bitmap_zero_extend bitmap_zero_extend_powerpc #define bp_wp_matches bp_wp_matches_powerpc #define breakpoint_invalidate breakpoint_invalidate_powerpc @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_powerpc #define float32_squash_input_denormal float32_squash_input_denormal_powerpc #define float32_sub float32_sub_powerpc +#define float32_to_bfloat16 float32_to_bfloat16_powerpc #define float32_to_float128 float32_to_float128_powerpc #define float32_to_float16 float32_to_float16_powerpc #define float32_to_float64 float32_to_float64_powerpc @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_powerpc #define float64_squash_input_denormal float64_squash_input_denormal_powerpc #define float64_sub float64_sub_powerpc +#define float64_to_bfloat16 float64_to_bfloat16_powerpc #define float64_to_float128 float64_to_float128_powerpc #define float64_to_float16 float64_to_float16_powerpc #define float64_to_float32 float64_to_float32_powerpc @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_powerpc #define int128_zero int128_zero_powerpc #define int8_to_float16 int8_to_float16_powerpc +#define int16_to_bfloat16 int16_to_bfloat16_powerpc +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_powerpc #define int16_to_float16 int16_to_float16_powerpc #define int16_to_float16_scalbn int16_to_float16_scalbn_powerpc #define int16_to_float32 int16_to_float32_powerpc #define int16_to_float32_scalbn int16_to_float32_scalbn_powerpc #define int16_to_float64 int16_to_float64_powerpc #define int16_to_float64_scalbn int16_to_float64_scalbn_powerpc +#define int32_to_bfloat16 int32_to_bfloat16_powerpc +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_powerpc #define int32_to_float128 int32_to_float128_powerpc #define int32_to_float16 int32_to_float16_powerpc #define int32_to_float16_scalbn int32_to_float16_scalbn_powerpc @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_powerpc #define int32_to_float64_scalbn int32_to_float64_scalbn_powerpc #define int32_to_floatx80 int32_to_floatx80_powerpc +#define int64_to_bfloat16 int64_to_bfloat16_powerpc +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_powerpc #define int64_to_float128 int64_to_float128_powerpc #define int64_to_float16 int64_to_float16_powerpc #define int64_to_float16_scalbn int64_to_float16_scalbn_powerpc @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_powerpc #define type_table_lookup type_table_lookup_powerpc #define uint8_to_float16 uint8_to_float16_powerpc +#define uint16_to_bfloat16 uint16_to_bfloat16_powerpc +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_powerpc #define uint16_to_float16 uint16_to_float16_powerpc #define uint16_to_float16_scalbn uint16_to_float16_scalbn_powerpc #define uint16_to_float32 uint16_to_float32_powerpc +#define uint16_to_float32 uint16_to_float32_powerpc #define uint16_to_float32_scalbn uint16_to_float32_scalbn_powerpc #define uint16_to_float64 uint16_to_float64_powerpc #define uint16_to_float64_scalbn uint16_to_float64_scalbn_powerpc +#define uint32_to_bfloat16 uint32_to_bfloat16_powerpc +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_powerpc #define uint32_to_float16 uint32_to_float16_powerpc #define uint32_to_float16_scalbn uint32_to_float16_scalbn_powerpc #define uint32_to_float32 uint32_to_float32_powerpc @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_powerpc #define uint32_to_float64_scalbn uint32_to_float64_scalbn_powerpc #define uint64_to_float128 uint64_to_float128_powerpc +#define uint64_to_bfloat16 uint64_to_bfloat16_powerpc +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_powerpc #define uint64_to_float16 uint64_to_float16_powerpc #define uint64_to_float16_scalbn uint64_to_float16_scalbn_powerpc #define uint64_to_float32 uint64_to_float32_powerpc diff --git a/qemu/riscv32.h b/qemu/riscv32.h index a0dc0c57..19d0597e 100644 --- a/qemu/riscv32.h +++ b/qemu/riscv32.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_riscv32 #define bfloat16_silence_nan bfloat16_silence_nan_riscv32 #define bfloat16_default_nan bfloat16_default_nan_riscv32 +#define bfloat16_to_float32 bfloat16_to_float32_riscv32 +#define bfloat16_to_float64 bfloat16_to_float64_riscv32 +#define bfloat16_to_int16 bfloat16_to_int16_riscv32 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_riscv32 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_riscv32 +#define bfloat16_to_int32 bfloat16_to_int32_riscv32 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_riscv32 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_riscv32 +#define bfloat16_to_int64 bfloat16_to_int64_riscv32 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_riscv32 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_riscv32 +#define bfloat16_to_uint16 bfloat16_to_uint16_riscv32 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_riscv32 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_riscv32 +#define bfloat16_to_uint32 bfloat16_to_uint32_riscv32 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_riscv32 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_riscv32 +#define bfloat16_to_uint64 bfloat16_to_uint64_riscv32 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_riscv32 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_riscv32 +#define bfloat16_round_to_int bfloat16_round_to_int_riscv32 #define bitmap_zero_extend bitmap_zero_extend_riscv32 #define bp_wp_matches bp_wp_matches_riscv32 #define breakpoint_invalidate breakpoint_invalidate_riscv32 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_riscv32 #define float32_squash_input_denormal float32_squash_input_denormal_riscv32 #define float32_sub float32_sub_riscv32 +#define float32_to_bfloat16 float32_to_bfloat16_riscv32 #define float32_to_float128 float32_to_float128_riscv32 #define float32_to_float16 float32_to_float16_riscv32 #define float32_to_float64 float32_to_float64_riscv32 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_riscv32 #define float64_squash_input_denormal float64_squash_input_denormal_riscv32 #define float64_sub float64_sub_riscv32 +#define float64_to_bfloat16 float64_to_bfloat16_riscv32 #define float64_to_float128 float64_to_float128_riscv32 #define float64_to_float16 float64_to_float16_riscv32 #define float64_to_float32 float64_to_float32_riscv32 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_riscv32 #define int128_zero int128_zero_riscv32 #define int8_to_float16 int8_to_float16_riscv32 +#define int16_to_bfloat16 int16_to_bfloat16_riscv32 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_riscv32 #define int16_to_float16 int16_to_float16_riscv32 #define int16_to_float16_scalbn int16_to_float16_scalbn_riscv32 #define int16_to_float32 int16_to_float32_riscv32 #define int16_to_float32_scalbn int16_to_float32_scalbn_riscv32 #define int16_to_float64 int16_to_float64_riscv32 #define int16_to_float64_scalbn int16_to_float64_scalbn_riscv32 +#define int32_to_bfloat16 int32_to_bfloat16_riscv32 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_riscv32 #define int32_to_float128 int32_to_float128_riscv32 #define int32_to_float16 int32_to_float16_riscv32 #define int32_to_float16_scalbn int32_to_float16_scalbn_riscv32 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_riscv32 #define int32_to_float64_scalbn int32_to_float64_scalbn_riscv32 #define int32_to_floatx80 int32_to_floatx80_riscv32 +#define int64_to_bfloat16 int64_to_bfloat16_riscv32 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_riscv32 #define int64_to_float128 int64_to_float128_riscv32 #define int64_to_float16 int64_to_float16_riscv32 #define int64_to_float16_scalbn int64_to_float16_scalbn_riscv32 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_riscv32 #define type_table_lookup type_table_lookup_riscv32 #define uint8_to_float16 uint8_to_float16_riscv32 +#define uint16_to_bfloat16 uint16_to_bfloat16_riscv32 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_riscv32 #define uint16_to_float16 uint16_to_float16_riscv32 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_riscv32 #define uint16_to_float32 uint16_to_float32_riscv32 +#define uint16_to_float32 uint16_to_float32_riscv32 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_riscv32 #define uint16_to_float64 uint16_to_float64_riscv32 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_riscv32 +#define uint32_to_bfloat16 uint32_to_bfloat16_riscv32 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_riscv32 #define uint32_to_float16 uint32_to_float16_riscv32 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_riscv32 #define uint32_to_float32 uint32_to_float32_riscv32 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_riscv32 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_riscv32 #define uint64_to_float128 uint64_to_float128_riscv32 +#define uint64_to_bfloat16 uint64_to_bfloat16_riscv32 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_riscv32 #define uint64_to_float16 uint64_to_float16_riscv32 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_riscv32 #define uint64_to_float32 uint64_to_float32_riscv32 diff --git a/qemu/riscv64.h b/qemu/riscv64.h index e8bb608d..35209103 100644 --- a/qemu/riscv64.h +++ b/qemu/riscv64.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_riscv64 #define bfloat16_silence_nan bfloat16_silence_nan_riscv64 #define bfloat16_default_nan bfloat16_default_nan_riscv64 +#define bfloat16_to_float32 bfloat16_to_float32_riscv64 +#define bfloat16_to_float64 bfloat16_to_float64_riscv64 +#define bfloat16_to_int16 bfloat16_to_int16_riscv64 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_riscv64 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_riscv64 +#define bfloat16_to_int32 bfloat16_to_int32_riscv64 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_riscv64 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_riscv64 +#define bfloat16_to_int64 bfloat16_to_int64_riscv64 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_riscv64 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_riscv64 +#define bfloat16_to_uint16 bfloat16_to_uint16_riscv64 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_riscv64 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_riscv64 +#define bfloat16_to_uint32 bfloat16_to_uint32_riscv64 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_riscv64 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_riscv64 +#define bfloat16_to_uint64 bfloat16_to_uint64_riscv64 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_riscv64 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_riscv64 +#define bfloat16_round_to_int bfloat16_round_to_int_riscv64 #define bitmap_zero_extend bitmap_zero_extend_riscv64 #define bp_wp_matches bp_wp_matches_riscv64 #define breakpoint_invalidate breakpoint_invalidate_riscv64 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_riscv64 #define float32_squash_input_denormal float32_squash_input_denormal_riscv64 #define float32_sub float32_sub_riscv64 +#define float32_to_bfloat16 float32_to_bfloat16_riscv64 #define float32_to_float128 float32_to_float128_riscv64 #define float32_to_float16 float32_to_float16_riscv64 #define float32_to_float64 float32_to_float64_riscv64 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_riscv64 #define float64_squash_input_denormal float64_squash_input_denormal_riscv64 #define float64_sub float64_sub_riscv64 +#define float64_to_bfloat16 float64_to_bfloat16_riscv64 #define float64_to_float128 float64_to_float128_riscv64 #define float64_to_float16 float64_to_float16_riscv64 #define float64_to_float32 float64_to_float32_riscv64 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_riscv64 #define int128_zero int128_zero_riscv64 #define int8_to_float16 int8_to_float16_riscv64 +#define int16_to_bfloat16 int16_to_bfloat16_riscv64 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_riscv64 #define int16_to_float16 int16_to_float16_riscv64 #define int16_to_float16_scalbn int16_to_float16_scalbn_riscv64 #define int16_to_float32 int16_to_float32_riscv64 #define int16_to_float32_scalbn int16_to_float32_scalbn_riscv64 #define int16_to_float64 int16_to_float64_riscv64 #define int16_to_float64_scalbn int16_to_float64_scalbn_riscv64 +#define int32_to_bfloat16 int32_to_bfloat16_riscv64 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_riscv64 #define int32_to_float128 int32_to_float128_riscv64 #define int32_to_float16 int32_to_float16_riscv64 #define int32_to_float16_scalbn int32_to_float16_scalbn_riscv64 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_riscv64 #define int32_to_float64_scalbn int32_to_float64_scalbn_riscv64 #define int32_to_floatx80 int32_to_floatx80_riscv64 +#define int64_to_bfloat16 int64_to_bfloat16_riscv64 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_riscv64 #define int64_to_float128 int64_to_float128_riscv64 #define int64_to_float16 int64_to_float16_riscv64 #define int64_to_float16_scalbn int64_to_float16_scalbn_riscv64 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_riscv64 #define type_table_lookup type_table_lookup_riscv64 #define uint8_to_float16 uint8_to_float16_riscv64 +#define uint16_to_bfloat16 uint16_to_bfloat16_riscv64 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_riscv64 #define uint16_to_float16 uint16_to_float16_riscv64 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_riscv64 #define uint16_to_float32 uint16_to_float32_riscv64 +#define uint16_to_float32 uint16_to_float32_riscv64 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_riscv64 #define uint16_to_float64 uint16_to_float64_riscv64 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_riscv64 +#define uint32_to_bfloat16 uint32_to_bfloat16_riscv64 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_riscv64 #define uint32_to_float16 uint32_to_float16_riscv64 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_riscv64 #define uint32_to_float32 uint32_to_float32_riscv64 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_riscv64 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_riscv64 #define uint64_to_float128 uint64_to_float128_riscv64 +#define uint64_to_bfloat16 uint64_to_bfloat16_riscv64 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_riscv64 #define uint64_to_float16 uint64_to_float16_riscv64 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_riscv64 #define uint64_to_float32 uint64_to_float32_riscv64 diff --git a/qemu/sparc.h b/qemu/sparc.h index cb39403e..b1bef5f5 100644 --- a/qemu/sparc.h +++ b/qemu/sparc.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_sparc #define bfloat16_silence_nan bfloat16_silence_nan_sparc #define bfloat16_default_nan bfloat16_default_nan_sparc +#define bfloat16_to_float32 bfloat16_to_float32_sparc +#define bfloat16_to_float64 bfloat16_to_float64_sparc +#define bfloat16_to_int16 bfloat16_to_int16_sparc +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_sparc +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_sparc +#define bfloat16_to_int32 bfloat16_to_int32_sparc +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_sparc +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_sparc +#define bfloat16_to_int64 bfloat16_to_int64_sparc +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_sparc +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_sparc +#define bfloat16_to_uint16 bfloat16_to_uint16_sparc +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_sparc +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_sparc +#define bfloat16_to_uint32 bfloat16_to_uint32_sparc +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_sparc +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_sparc +#define bfloat16_to_uint64 bfloat16_to_uint64_sparc +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_sparc +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_sparc +#define bfloat16_round_to_int bfloat16_round_to_int_sparc #define bitmap_zero_extend bitmap_zero_extend_sparc #define bp_wp_matches bp_wp_matches_sparc #define breakpoint_invalidate breakpoint_invalidate_sparc @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_sparc #define float32_squash_input_denormal float32_squash_input_denormal_sparc #define float32_sub float32_sub_sparc +#define float32_to_bfloat16 float32_to_bfloat16_sparc #define float32_to_float128 float32_to_float128_sparc #define float32_to_float16 float32_to_float16_sparc #define float32_to_float64 float32_to_float64_sparc @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_sparc #define float64_squash_input_denormal float64_squash_input_denormal_sparc #define float64_sub float64_sub_sparc +#define float64_to_bfloat16 float64_to_bfloat16_sparc #define float64_to_float128 float64_to_float128_sparc #define float64_to_float16 float64_to_float16_sparc #define float64_to_float32 float64_to_float32_sparc @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_sparc #define int128_zero int128_zero_sparc #define int8_to_float16 int8_to_float16_sparc +#define int16_to_bfloat16 int16_to_bfloat16_sparc +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_sparc #define int16_to_float16 int16_to_float16_sparc #define int16_to_float16_scalbn int16_to_float16_scalbn_sparc #define int16_to_float32 int16_to_float32_sparc #define int16_to_float32_scalbn int16_to_float32_scalbn_sparc #define int16_to_float64 int16_to_float64_sparc #define int16_to_float64_scalbn int16_to_float64_scalbn_sparc +#define int32_to_bfloat16 int32_to_bfloat16_sparc +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_sparc #define int32_to_float128 int32_to_float128_sparc #define int32_to_float16 int32_to_float16_sparc #define int32_to_float16_scalbn int32_to_float16_scalbn_sparc @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_sparc #define int32_to_float64_scalbn int32_to_float64_scalbn_sparc #define int32_to_floatx80 int32_to_floatx80_sparc +#define int64_to_bfloat16 int64_to_bfloat16_sparc +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_sparc #define int64_to_float128 int64_to_float128_sparc #define int64_to_float16 int64_to_float16_sparc #define int64_to_float16_scalbn int64_to_float16_scalbn_sparc @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_sparc #define type_table_lookup type_table_lookup_sparc #define uint8_to_float16 uint8_to_float16_sparc +#define uint16_to_bfloat16 uint16_to_bfloat16_sparc +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_sparc #define uint16_to_float16 uint16_to_float16_sparc #define uint16_to_float16_scalbn uint16_to_float16_scalbn_sparc #define uint16_to_float32 uint16_to_float32_sparc +#define uint16_to_float32 uint16_to_float32_sparc #define uint16_to_float32_scalbn uint16_to_float32_scalbn_sparc #define uint16_to_float64 uint16_to_float64_sparc #define uint16_to_float64_scalbn uint16_to_float64_scalbn_sparc +#define uint32_to_bfloat16 uint32_to_bfloat16_sparc +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_sparc #define uint32_to_float16 uint32_to_float16_sparc #define uint32_to_float16_scalbn uint32_to_float16_scalbn_sparc #define uint32_to_float32 uint32_to_float32_sparc @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_sparc #define uint32_to_float64_scalbn uint32_to_float64_scalbn_sparc #define uint64_to_float128 uint64_to_float128_sparc +#define uint64_to_bfloat16 uint64_to_bfloat16_sparc +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_sparc #define uint64_to_float16 uint64_to_float16_sparc #define uint64_to_float16_scalbn uint64_to_float16_scalbn_sparc #define uint64_to_float32 uint64_to_float32_sparc diff --git a/qemu/sparc64.h b/qemu/sparc64.h index 982e3ec5..e08aeb85 100644 --- a/qemu/sparc64.h +++ b/qemu/sparc64.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_sparc64 #define bfloat16_silence_nan bfloat16_silence_nan_sparc64 #define bfloat16_default_nan bfloat16_default_nan_sparc64 +#define bfloat16_to_float32 bfloat16_to_float32_sparc64 +#define bfloat16_to_float64 bfloat16_to_float64_sparc64 +#define bfloat16_to_int16 bfloat16_to_int16_sparc64 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_sparc64 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_sparc64 +#define bfloat16_to_int32 bfloat16_to_int32_sparc64 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_sparc64 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_sparc64 +#define bfloat16_to_int64 bfloat16_to_int64_sparc64 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_sparc64 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_sparc64 +#define bfloat16_to_uint16 bfloat16_to_uint16_sparc64 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_sparc64 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_sparc64 +#define bfloat16_to_uint32 bfloat16_to_uint32_sparc64 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_sparc64 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_sparc64 +#define bfloat16_to_uint64 bfloat16_to_uint64_sparc64 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_sparc64 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_sparc64 +#define bfloat16_round_to_int bfloat16_round_to_int_sparc64 #define bitmap_zero_extend bitmap_zero_extend_sparc64 #define bp_wp_matches bp_wp_matches_sparc64 #define breakpoint_invalidate breakpoint_invalidate_sparc64 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_sparc64 #define float32_squash_input_denormal float32_squash_input_denormal_sparc64 #define float32_sub float32_sub_sparc64 +#define float32_to_bfloat16 float32_to_bfloat16_sparc64 #define float32_to_float128 float32_to_float128_sparc64 #define float32_to_float16 float32_to_float16_sparc64 #define float32_to_float64 float32_to_float64_sparc64 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_sparc64 #define float64_squash_input_denormal float64_squash_input_denormal_sparc64 #define float64_sub float64_sub_sparc64 +#define float64_to_bfloat16 float64_to_bfloat16_sparc64 #define float64_to_float128 float64_to_float128_sparc64 #define float64_to_float16 float64_to_float16_sparc64 #define float64_to_float32 float64_to_float32_sparc64 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_sparc64 #define int128_zero int128_zero_sparc64 #define int8_to_float16 int8_to_float16_sparc64 +#define int16_to_bfloat16 int16_to_bfloat16_sparc64 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_sparc64 #define int16_to_float16 int16_to_float16_sparc64 #define int16_to_float16_scalbn int16_to_float16_scalbn_sparc64 #define int16_to_float32 int16_to_float32_sparc64 #define int16_to_float32_scalbn int16_to_float32_scalbn_sparc64 #define int16_to_float64 int16_to_float64_sparc64 #define int16_to_float64_scalbn int16_to_float64_scalbn_sparc64 +#define int32_to_bfloat16 int32_to_bfloat16_sparc64 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_sparc64 #define int32_to_float128 int32_to_float128_sparc64 #define int32_to_float16 int32_to_float16_sparc64 #define int32_to_float16_scalbn int32_to_float16_scalbn_sparc64 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_sparc64 #define int32_to_float64_scalbn int32_to_float64_scalbn_sparc64 #define int32_to_floatx80 int32_to_floatx80_sparc64 +#define int64_to_bfloat16 int64_to_bfloat16_sparc64 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_sparc64 #define int64_to_float128 int64_to_float128_sparc64 #define int64_to_float16 int64_to_float16_sparc64 #define int64_to_float16_scalbn int64_to_float16_scalbn_sparc64 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_sparc64 #define type_table_lookup type_table_lookup_sparc64 #define uint8_to_float16 uint8_to_float16_sparc64 +#define uint16_to_bfloat16 uint16_to_bfloat16_sparc64 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_sparc64 #define uint16_to_float16 uint16_to_float16_sparc64 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_sparc64 #define uint16_to_float32 uint16_to_float32_sparc64 +#define uint16_to_float32 uint16_to_float32_sparc64 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_sparc64 #define uint16_to_float64 uint16_to_float64_sparc64 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_sparc64 +#define uint32_to_bfloat16 uint32_to_bfloat16_sparc64 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_sparc64 #define uint32_to_float16 uint32_to_float16_sparc64 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_sparc64 #define uint32_to_float32 uint32_to_float32_sparc64 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_sparc64 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_sparc64 #define uint64_to_float128 uint64_to_float128_sparc64 +#define uint64_to_bfloat16 uint64_to_bfloat16_sparc64 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_sparc64 #define uint64_to_float16 uint64_to_float16_sparc64 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_sparc64 #define uint64_to_float32 uint64_to_float32_sparc64 diff --git a/qemu/x86_64.h b/qemu/x86_64.h index c4247435..27717f3a 100644 --- a/qemu/x86_64.h +++ b/qemu/x86_64.h @@ -215,6 +215,27 @@ #define bfloat16_compare_quiet bfloat16_compare_quiet_x86_64 #define bfloat16_silence_nan bfloat16_silence_nan_x86_64 #define bfloat16_default_nan bfloat16_default_nan_x86_64 +#define bfloat16_to_float32 bfloat16_to_float32_x86_64 +#define bfloat16_to_float64 bfloat16_to_float64_x86_64 +#define bfloat16_to_int16 bfloat16_to_int16_x86_64 +#define bfloat16_to_int16_round_to_zero bfloat16_to_int16_round_to_zero_x86_64 +#define bfloat16_to_int16_scalbn bfloat16_to_int16_scalbn_x86_64 +#define bfloat16_to_int32 bfloat16_to_int32_x86_64 +#define bfloat16_to_int32_round_to_zero bfloat16_to_int32_round_to_zero_x86_64 +#define bfloat16_to_int32_scalbn bfloat16_to_int32_scalbn_x86_64 +#define bfloat16_to_int64 bfloat16_to_int64_x86_64 +#define bfloat16_to_int64_round_to_zero bfloat16_to_int64_round_to_zero_x86_64 +#define bfloat16_to_int64_scalbn bfloat16_to_int64_scalbn_x86_64 +#define bfloat16_to_uint16 bfloat16_to_uint16_x86_64 +#define bfloat16_to_uint16_round_to_zero bfloat16_to_uint16_round_to_zero_x86_64 +#define bfloat16_to_uint16_scalbn bfloat16_to_uint16_scalbn_x86_64 +#define bfloat16_to_uint32 bfloat16_to_uint32_x86_64 +#define bfloat16_to_uint32_round_to_zero bfloat16_to_uint32_round_to_zero_x86_64 +#define bfloat16_to_uint32_scalbn bfloat16_to_uint32_scalbn_x86_64 +#define bfloat16_to_uint64 bfloat16_to_uint64_x86_64 +#define bfloat16_to_uint64_round_to_zero bfloat16_to_uint64_round_to_zero_x86_64 +#define bfloat16_to_uint64_scalbn bfloat16_to_uint64_scalbn_x86_64 +#define bfloat16_round_to_int bfloat16_round_to_int_x86_64 #define bitmap_zero_extend bitmap_zero_extend_x86_64 #define bp_wp_matches bp_wp_matches_x86_64 #define breakpoint_invalidate breakpoint_invalidate_x86_64 @@ -652,6 +673,7 @@ #define float32_sqrt float32_sqrt_x86_64 #define float32_squash_input_denormal float32_squash_input_denormal_x86_64 #define float32_sub float32_sub_x86_64 +#define float32_to_bfloat16 float32_to_bfloat16_x86_64 #define float32_to_float128 float32_to_float128_x86_64 #define float32_to_float16 float32_to_float16_x86_64 #define float32_to_float64 float32_to_float64_x86_64 @@ -715,6 +737,7 @@ #define float64_sqrt float64_sqrt_x86_64 #define float64_squash_input_denormal float64_squash_input_denormal_x86_64 #define float64_sub float64_sub_x86_64 +#define float64_to_bfloat16 float64_to_bfloat16_x86_64 #define float64_to_float128 float64_to_float128_x86_64 #define float64_to_float16 float64_to_float16_x86_64 #define float64_to_float32 float64_to_float32_x86_64 @@ -1990,12 +2013,16 @@ #define int128_subfrom int128_subfrom_x86_64 #define int128_zero int128_zero_x86_64 #define int8_to_float16 int8_to_float16_x86_64 +#define int16_to_bfloat16 int16_to_bfloat16_x86_64 +#define int16_to_bfloat16_scalbn int16_to_bfloat16_scalbn_x86_64 #define int16_to_float16 int16_to_float16_x86_64 #define int16_to_float16_scalbn int16_to_float16_scalbn_x86_64 #define int16_to_float32 int16_to_float32_x86_64 #define int16_to_float32_scalbn int16_to_float32_scalbn_x86_64 #define int16_to_float64 int16_to_float64_x86_64 #define int16_to_float64_scalbn int16_to_float64_scalbn_x86_64 +#define int32_to_bfloat16 int32_to_bfloat16_x86_64 +#define int32_to_bfloat16_scalbn int32_to_bfloat16_scalbn_x86_64 #define int32_to_float128 int32_to_float128_x86_64 #define int32_to_float16 int32_to_float16_x86_64 #define int32_to_float16_scalbn int32_to_float16_scalbn_x86_64 @@ -2004,6 +2031,8 @@ #define int32_to_float64 int32_to_float64_x86_64 #define int32_to_float64_scalbn int32_to_float64_scalbn_x86_64 #define int32_to_floatx80 int32_to_floatx80_x86_64 +#define int64_to_bfloat16 int64_to_bfloat16_x86_64 +#define int64_to_bfloat16_scalbn int64_to_bfloat16_scalbn_x86_64 #define int64_to_float128 int64_to_float128_x86_64 #define int64_to_float16 int64_to_float16_x86_64 #define int64_to_float16_scalbn int64_to_float16_scalbn_x86_64 @@ -3403,12 +3432,17 @@ #define type_table_get type_table_get_x86_64 #define type_table_lookup type_table_lookup_x86_64 #define uint8_to_float16 uint8_to_float16_x86_64 +#define uint16_to_bfloat16 uint16_to_bfloat16_x86_64 +#define uint16_to_bfloat16_scalbn uint16_to_bfloat16_scalbn_x86_64 #define uint16_to_float16 uint16_to_float16_x86_64 #define uint16_to_float16_scalbn uint16_to_float16_scalbn_x86_64 #define uint16_to_float32 uint16_to_float32_x86_64 +#define uint16_to_float32 uint16_to_float32_x86_64 #define uint16_to_float32_scalbn uint16_to_float32_scalbn_x86_64 #define uint16_to_float64 uint16_to_float64_x86_64 #define uint16_to_float64_scalbn uint16_to_float64_scalbn_x86_64 +#define uint32_to_bfloat16 uint32_to_bfloat16_x86_64 +#define uint32_to_bfloat16_scalbn uint32_to_bfloat16_scalbn_x86_64 #define uint32_to_float16 uint32_to_float16_x86_64 #define uint32_to_float16_scalbn uint32_to_float16_scalbn_x86_64 #define uint32_to_float32 uint32_to_float32_x86_64 @@ -3416,6 +3450,8 @@ #define uint32_to_float64 uint32_to_float64_x86_64 #define uint32_to_float64_scalbn uint32_to_float64_scalbn_x86_64 #define uint64_to_float128 uint64_to_float128_x86_64 +#define uint64_to_bfloat16 uint64_to_bfloat16_x86_64 +#define uint64_to_bfloat16_scalbn uint64_to_bfloat16_scalbn_x86_64 #define uint64_to_float16 uint64_to_float16_x86_64 #define uint64_to_float16_scalbn uint64_to_float16_scalbn_x86_64 #define uint64_to_float32 uint64_to_float32_x86_64