ISLE: Always default the priority to 0 (#4983)
* Always default priorities to 0 in the ISLE IR * Fix a hidden overlap in the x64 backend
This commit is contained in:
@@ -866,28 +866,28 @@
|
||||
;; `i64` and smaller.
|
||||
|
||||
;; Multiply two registers.
|
||||
(rule -4 (lower (has_type (fits_in_64 ty) (imul x y)))
|
||||
(rule -5 (lower (has_type (fits_in_64 ty) (imul x y)))
|
||||
(x64_mul ty x y))
|
||||
|
||||
;; Multiply a register and an immediate.
|
||||
|
||||
(rule -2 (lower (has_type (fits_in_64 ty)
|
||||
(rule -3 (lower (has_type (fits_in_64 ty)
|
||||
(imul x (simm32_from_value y))))
|
||||
(x64_mul ty x y))
|
||||
|
||||
(rule -3 (lower (has_type (fits_in_64 ty)
|
||||
(rule -4 (lower (has_type (fits_in_64 ty)
|
||||
(imul (simm32_from_value x) y)))
|
||||
(x64_mul ty y x))
|
||||
|
||||
;; Multiply a register and a memory load.
|
||||
|
||||
(rule -1 (lower (has_type (fits_in_64 ty)
|
||||
(rule -2 (lower (has_type (fits_in_64 ty)
|
||||
(imul x (sinkable_load y))))
|
||||
(x64_mul ty
|
||||
x
|
||||
(sink_load_to_gpr_mem_imm y)))
|
||||
|
||||
(rule 0 (lower (has_type (fits_in_64 ty)
|
||||
(rule -1 (lower (has_type (fits_in_64 ty)
|
||||
(imul (sinkable_load x) y)))
|
||||
(x64_mul ty y
|
||||
(sink_load_to_gpr_mem_imm x)))
|
||||
|
||||
Reference in New Issue
Block a user