[AArch64] Port SIMD narrowing to ISLE (#4478)
* [AArch64] Port SIMD narrowing to ISLE Fvdemote, snarrow, unarrow and uunarrow. Also refactor the aarch64 instructions descriptions to parameterize on ScalarSize instead of using different opcodes. The zero_value pure constructor has been introduced and used by the integer narrow operations and it replaces, and extends, the compare zero patterns. Copright (c) 2022, Arm Limited. * use short 'if' patterns
This commit is contained in:
@@ -424,25 +424,4 @@ where
|
||||
_ => panic!(),
|
||||
}
|
||||
}
|
||||
|
||||
fn zero_value(&mut self, value: Imm64) -> Option<Imm64> {
|
||||
if value.bits() == 0 {
|
||||
return Some(value);
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
fn zero_value_f32(&mut self, value: Ieee32) -> Option<Ieee32> {
|
||||
if value.bits() == 0 {
|
||||
return Some(value);
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
fn zero_value_f64(&mut self, value: Ieee64) -> Option<Ieee64> {
|
||||
if value.bits() == 0 {
|
||||
return Some(value);
|
||||
}
|
||||
None
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user