Hi Kyrill,
> It's been a while, but I believe you had the following comment about
> implementing CSEL:
>
>> (define_insn_and_split "*thumb2_movsicc_insn"
>>[(set (match_operand:SI 0 "s_register_operand" "=l,l,r,r,r,r,r,r,r,r,r,r")
>> (if_then_else:SI
>> @@ -449,17 +473,14 @@
>>
Hi Kyrill,
It's been a while, but I believe you had the following comment about
implementing CSEL:
> (define_insn_and_split "*thumb2_movsicc_insn"
>[(set (match_operand:SI 0 "s_register_operand" "=l,l,r,r,r,r,r,r,r,r,r,r")
> (if_then_else:SI
> @@ -449,17 +473,14 @@
> it\\t%d3
Hi Omar,
From: Omar Tahir
Sent: 04 August 2020 17:16
To: Kyrylo Tkachov ; ni...@redhat.com; Ramana
Radhakrishnan ; Richard Earnshaw
; gcc-patches@gcc.gnu.org
Subject: [PATCH 5/5][Arm] New pattern for CSEL, CSET and CSETM instructions
This patch adds a new pattern, *cmovsi_insn, for
This patch adds a new pattern, *cmovsi_insn, for generating CSEL, CSET and
CSETM instructions. It also generates CSINV and CSINC instructions in specific
cases where one of the operands is constant.
To facilitate this, one new predicate and two new constraints are added, and
*compare_scc is restri