Commit abe5c4c1 authored by qinsoon's avatar qinsoon

revert the change about is_aliased, we need to specially check for

AH/BH/CH/DH
parent 93833a2d
Pipeline #540 passed with stages
in 54 minutes and 56 seconds
......@@ -185,7 +185,25 @@ pub fn get_alias_for_length(id: MuID, length: usize) -> P<Value> {
/// are two registers aliased? (both must be machine register IDs, otherwise this function panics)
pub fn is_aliased(id1: MuID, id2: MuID) -> bool {
if get_color_for_precolored(id1) == get_color_for_precolored(id2) {
true
// we need to specially check the case for AH/BH/CH/DH
// because both AH and AL are aliased to RAX, but AH and AL are not aliased
macro_rules! is_match {
($a1: expr, $a2: expr; $b: expr) => {
$a1 == $b.id() || $a2 == $b.id()
}
};
if is_match!(id1, id2; AH) {
return false;
} else if is_match!(id1, id2; BH) {
return false;
} else if is_match!(id1, id2; CH) {
return false;
} else if is_match!(id1, id2; DH) {
return false;
} else {
return true;
}
} else {
false
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment