Browse Source
* PCC: Fix several aarch64 check_constant failures This patch fixes several aarch64 check_constant failures: 1. `check_subsume` for `AluRRImmLogic` failed due to the mismatch of fact width isle rule for `orr_imm` always generates fact with bit_width 64 regardless of immediate type. So when Type is I32, `check_subsume` will be failed. 2. `MovN` generates incorrect fact range value when `first_is_inverted` is true `running_value` should be calculated as !(((!imm16) & 0xffff) << shift) or !(u64::from(imm.bits) << shift) Added two test cases in cranelift/filetests/filetests/pcc/succeed/const.clif. Additional fix for `get_fact_or_default`: `trace!` treats `reg` as VirtualReg and it will panic when "reg" is RealReg and `trace-log` feature is enabled. * simplify get_fact_or_default Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com> * fix missing comma --------- Co-authored-by: Nick Fitzgerald <fitzgen@gmail.com>pull/7680/head
Feilong Jiang
11 months ago
committed by
GitHub
4 changed files with 27 additions and 4 deletions
Loading…
Reference in new issue