Use roundss/roundsd when available for Ceil/Floor/Trunc/Nearest (#931)
Don't tie the preexisting SIMD ISA predicates to the shared enable_simd setting but make new ones instead. Fixes: https://github.com/CraneStation/cranelift/issues/908
This commit is contained in:
committed by
Benjamin Bouvier
parent
b8fb52446c
commit
ec8f72bf20
@@ -32,12 +32,23 @@ pub fn define(shared: &SettingGroup) -> SettingGroup {
|
||||
|
||||
let shared_enable_simd = shared.get_bool("enable_simd");
|
||||
|
||||
settings.add_predicate("use_ssse3", predicate!(shared_enable_simd && has_ssse3));
|
||||
settings.add_predicate("use_sse41", predicate!(shared_enable_simd && has_sse41));
|
||||
settings.add_predicate("use_ssse3", predicate!(has_ssse3));
|
||||
settings.add_predicate("use_sse41", predicate!(has_sse41));
|
||||
settings.add_predicate("use_sse42", predicate!(has_sse41 && has_sse42));
|
||||
|
||||
settings.add_predicate(
|
||||
"use_sse42",
|
||||
"use_ssse3_simd",
|
||||
predicate!(shared_enable_simd && has_ssse3),
|
||||
);
|
||||
settings.add_predicate(
|
||||
"use_sse41_simd",
|
||||
predicate!(shared_enable_simd && has_sse41),
|
||||
);
|
||||
settings.add_predicate(
|
||||
"use_sse42_simd",
|
||||
predicate!(shared_enable_simd && has_sse41 && has_sse42),
|
||||
);
|
||||
|
||||
settings.add_predicate("use_popcnt", predicate!(has_popcnt && has_sse42));
|
||||
settings.add_predicate("use_bmi1", predicate!(has_bmi1));
|
||||
settings.add_predicate("use_lzcnt", predicate!(has_lzcnt));
|
||||
|
||||
Reference in New Issue
Block a user