cranelift: Remove of/nof overflow flags from icmp (#4879)
* cranelift: Remove of/nof overflow flags from icmp Neither Wasmtime nor cg-clif use these flags under any circumstances. From discussion on #3060 I see it's long been unclear what purpose these flags served. Fixes #3060, fixes #4406, and fixes #4875... by deleting all the code that could have been buggy. This changes the cranelift-fuzzgen input format by removing some IntCC options, so I've gone ahead and enabled I128 icmp tests at the same time. Since only the of/nof cases were failing before, I expect these to work. * Restore trapif tests It's still useful to validate that iadd_ifcout's iflags result can be forwarded correctly to trapif, and for that purpose it doesn't really matter what condition code is checked.
This commit is contained in:
@@ -55,10 +55,6 @@ pub enum IntCC {
|
||||
UnsignedGreaterThan,
|
||||
/// Unsigned `<=`.
|
||||
UnsignedLessThanOrEqual,
|
||||
/// Signed Overflow.
|
||||
Overflow,
|
||||
/// Signed No Overflow.
|
||||
NotOverflow,
|
||||
}
|
||||
|
||||
impl CondCode for IntCC {
|
||||
@@ -75,8 +71,6 @@ impl CondCode for IntCC {
|
||||
UnsignedGreaterThanOrEqual => UnsignedLessThan,
|
||||
UnsignedGreaterThan => UnsignedLessThanOrEqual,
|
||||
UnsignedLessThanOrEqual => UnsignedGreaterThan,
|
||||
Overflow => NotOverflow,
|
||||
NotOverflow => Overflow,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,8 +87,6 @@ impl CondCode for IntCC {
|
||||
UnsignedGreaterThanOrEqual => UnsignedLessThanOrEqual,
|
||||
UnsignedLessThan => UnsignedGreaterThan,
|
||||
UnsignedLessThanOrEqual => UnsignedGreaterThanOrEqual,
|
||||
Overflow => Overflow,
|
||||
NotOverflow => NotOverflow,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -113,8 +105,6 @@ impl IntCC {
|
||||
IntCC::UnsignedGreaterThanOrEqual,
|
||||
IntCC::UnsignedGreaterThan,
|
||||
IntCC::UnsignedLessThanOrEqual,
|
||||
IntCC::Overflow,
|
||||
IntCC::NotOverflow,
|
||||
]
|
||||
}
|
||||
|
||||
@@ -158,8 +148,6 @@ impl IntCC {
|
||||
UnsignedGreaterThanOrEqual => "uge",
|
||||
UnsignedLessThan => "ult",
|
||||
UnsignedLessThanOrEqual => "ule",
|
||||
Overflow => "of",
|
||||
NotOverflow => "nof",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -186,8 +174,6 @@ impl FromStr for IntCC {
|
||||
"ugt" => Ok(UnsignedGreaterThan),
|
||||
"ule" => Ok(UnsignedLessThanOrEqual),
|
||||
"ult" => Ok(UnsignedLessThan),
|
||||
"of" => Ok(Overflow),
|
||||
"nof" => Ok(NotOverflow),
|
||||
_ => Err(()),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user