On Mon, 03 Jun 2024 11:50:54 PDT (-0700), jeffreya...@gmail.com wrote:
On 6/3/24 11:03 AM, Palmer Dabbelt wrote:
+;; Provide a minmax pattern for ifcvt to match.
+(define_insn "*_cmp_3"
+ [(set (match_operand:X 0 "register_operand" "=r")
+ (if_then_else:X
+ (bitmanip_minmax_cmp_op
On 6/3/24 11:03 AM, Palmer Dabbelt wrote:
+;; Provide a minmax pattern for ifcvt to match.
+(define_insn "*_cmp_3"
+ [(set (match_operand:X 0 "register_operand" "=r")
+ (if_then_else:X
+ (bitmanip_minmax_cmp_op
+ (match_operand:X 1 "register_operand" "r")
+ (match_op
On Fri, 31 May 2024 08:07:11 PDT (-0700), Robin Dapp wrote:
Hi,
ifcvt likes to emit
(set
(if_then_else)
(ge (reg 1) (reg2))
(reg 1)
(reg 2))
which can be recognized as min/max patterns in the backend.
This patch adds such patterns and the respective iterators as well as a
test.
On 5/31/24 9:07 AM, Robin Dapp wrote:
Hi,
ifcvt likes to emit
(set
(if_then_else)
(ge (reg 1) (reg2))
(reg 1)
(reg 2))
which can be recognized as min/max patterns in the backend.
This patch adds such patterns and the respective iterators as well as a
test.
This depends on
Hi,
ifcvt likes to emit
(set
(if_then_else)
(ge (reg 1) (reg2))
(reg 1)
(reg 2))
which can be recognized as min/max patterns in the backend.
This patch adds such patterns and the respective iterators as well as a
test.
This depends on the generic ifcvt change.
Regtested on rv64gcv