RISC-V: Refactor vxrm_mode attr for type attr equal
This patch would like to refactor the vxrm_mode attr for duplicated eq_attr condition. The common condition of attr is extraced to one place instead of many places. Signed-off-by: Pan Li <pan2.li@intel.com> gcc/ChangeLog: * config/riscv/vector.md: Refactor the common condition.
This commit is contained in:
parent
4f8e31e01b
commit
1cde8e5d45
1 changed files with 20 additions and 13 deletions
|
@ -445,22 +445,29 @@
|
|||
;; Defines rounding mode of an fixed-point operation.
|
||||
|
||||
(define_attr "vxrm_mode" "rnu,rne,rdn,rod,none"
|
||||
(cond [(and (eq_attr "type" "vsalu,vaalu,vsmul,vsshift,vnclip")
|
||||
(match_test "INTVAL(operands[9]) == riscv_vector::VXRM_RNU"))
|
||||
(const_string "rnu")
|
||||
(cond
|
||||
[
|
||||
(eq_attr "type" "vsalu,vaalu,vsmul,vsshift,vnclip")
|
||||
(cond
|
||||
[
|
||||
(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_RNU")
|
||||
(const_string "rnu")
|
||||
|
||||
(and (eq_attr "type" "vsalu,vaalu,vsmul,vsshift,vnclip")
|
||||
(match_test "INTVAL(operands[9]) == riscv_vector::VXRM_RNE"))
|
||||
(const_string "rne")
|
||||
(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_RNE")
|
||||
(const_string "rne")
|
||||
|
||||
(and (eq_attr "type" "vsalu,vaalu,vsmul,vsshift,vnclip")
|
||||
(match_test "INTVAL(operands[9]) == riscv_vector::VXRM_RDN"))
|
||||
(const_string "rdn")
|
||||
(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_RDN")
|
||||
(const_string "rdn")
|
||||
|
||||
(and (eq_attr "type" "vsalu,vaalu,vsmul,vsshift,vnclip")
|
||||
(match_test "INTVAL(operands[9]) == riscv_vector::VXRM_ROD"))
|
||||
(const_string "rod")]
|
||||
(const_string "none")))
|
||||
(match_test "INTVAL (operands[9]) == riscv_vector::VXRM_ROD")
|
||||
(const_string "rod")
|
||||
]
|
||||
(const_string "none")
|
||||
)
|
||||
]
|
||||
(const_string "none")
|
||||
)
|
||||
)
|
||||
|
||||
;; Defines rounding mode of an floating-point operation.
|
||||
(define_attr "frm_mode" "rne,rtz,rdn,rup,rmm,dyn,none"
|
||||
|
|
Loading…
Add table
Reference in a new issue