Skip to main content

rucc_opt/rules/
select.rs

1//! The tier six rewrite table.
2//!
3//! Everything below the module comment is generated from `rules/select.rules` by `rucc-rules`
4//! when this crate is built, and none of it is in the repository. The rule file is the only place
5//! the rules are written, which is what makes the table that is matched with and the table
6//! `rucc-verify` proves things about the same table.
7//!
8//! To read the rules, read the rule file. This is a sixth table rather than more lines in one of
9//! the others because a tier is a separate file, and because it is the only one whose patterns are
10//! selects: three operands, of which the first is one bit and the other two are the width of the
11//! answer, and a replacement that writes instructions under the one it rewrites.
12
13include!(concat!(env!("OUT_DIR"), "/select.rs"));