@@ -1935,6 +1935,9 @@ pub struct TargetOptions {
1935
1935
/// wasm32 where the whole program either has simd or not.
1936
1936
pub simd_types_indirect : bool ,
1937
1937
1938
+ /// On x86, use XMM0 instead of FP0 as float return register for the Rust ABI
1939
+ pub x86_use_xmm0 : bool ,
1940
+
1938
1941
/// Pass a list of symbol which should be exported in the dylib to the linker.
1939
1942
pub limit_rdylib_exports : bool ,
1940
1943
@@ -2213,6 +2216,7 @@ impl Default for TargetOptions {
2213
2216
requires_uwtable : false ,
2214
2217
default_uwtable : false ,
2215
2218
simd_types_indirect : true ,
2219
+ x86_use_xmm0 : false ,
2216
2220
limit_rdylib_exports : true ,
2217
2221
override_export_symbols : None ,
2218
2222
merge_functions : MergeFunctions :: Aliases ,
@@ -2878,6 +2882,7 @@ impl Target {
2878
2882
key ! ( requires_uwtable, bool ) ;
2879
2883
key ! ( default_uwtable, bool ) ;
2880
2884
key ! ( simd_types_indirect, bool ) ;
2885
+ key ! ( x86_use_xmm0, bool ) ;
2881
2886
key ! ( limit_rdylib_exports, bool ) ;
2882
2887
key ! ( override_export_symbols, opt_list) ;
2883
2888
key ! ( merge_functions, MergeFunctions ) ?;
@@ -3135,6 +3140,7 @@ impl ToJson for Target {
3135
3140
target_option_val ! ( requires_uwtable) ;
3136
3141
target_option_val ! ( default_uwtable) ;
3137
3142
target_option_val ! ( simd_types_indirect) ;
3143
+ target_option_val ! ( x86_use_xmm0) ;
3138
3144
target_option_val ! ( limit_rdylib_exports) ;
3139
3145
target_option_val ! ( override_export_symbols) ;
3140
3146
target_option_val ! ( merge_functions) ;
0 commit comments