[meta-python] Use named predicates for x86 encodings instead of anonymous predicates;

And generate those in a deterministic order that the Rust crate can
reproduce easily.
This commit is contained in:
Benjamin Bouvier
2019-04-15 16:51:15 +02:00
parent 5cd0724fef
commit 6a25354520
3 changed files with 27 additions and 11 deletions

View File

@@ -3,7 +3,7 @@ x86 settings.
"""
from __future__ import absolute_import
from cdsl.settings import SettingGroup, BoolSetting, Preset
from cdsl.predicates import And
from cdsl.predicates import And, Not
import base.settings as shared
from .defs import ISA
@@ -35,6 +35,13 @@ use_popcnt = And(has_popcnt, has_sse42)
use_bmi1 = And(has_bmi1)
use_lzcnt = And(has_lzcnt)
is_pic = And(shared.is_pic)
not_is_pic = Not(shared.is_pic)
all_ones_funcaddrs_and_not_is_pic = And(shared.allones_funcaddrs,
Not(shared.is_pic))
not_all_ones_funcaddrs_and_not_is_pic = And(Not(shared.allones_funcaddrs),
Not(shared.is_pic))
# Presets corresponding to x86 CPUs.
baseline = Preset()