]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/xtensa/xtensa.cc
xtensa: Simplify conditional branch/move insn patterns
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
Mon, 31 Jan 2022 00:56:21 +0000 (09:56 +0900)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 14 Jun 2022 00:25:48 +0000 (17:25 -0700)
commite1b193c1cce3a975a9ed60dd0f30182fe0255d7c
tree5c99f3fb9bf37316d53f626d8cb683ba2e2cb45a
parent1c68ec1f8ab531fba56cccf549ffe592bf622821
xtensa: Simplify conditional branch/move insn patterns

No need to describe the "false side" conditional insn patterns anymore.

gcc/ChangeLog:

* config/xtensa/xtensa-protos.h (xtensa_emit_branch):
Remove the first argument.
(xtensa_emit_bit_branch): Remove it because now called only from the
output statement of *bittrue insn pattern.
* config/xtensa/xtensa.cc (gen_int_relational): Remove the last
argument 'p_invert', and make so that the condition is reversed by
itself as needed.
(xtensa_expand_conditional_branch): Share the common path, and remove
condition inversion code.
(xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
"false side" pattern.
(xtensa_emit_bit_branch): Remove it because of the abovementioned
reason, and move the function body to *bittrue insn pattern.
* config/xtensa/xtensa.md (*bittrue): Transplant the output
statement from removed xtensa_emit_bit_branch().
(*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
insn patterns.
gcc/config/xtensa/xtensa-protos.h
gcc/config/xtensa/xtensa.cc
gcc/config/xtensa/xtensa.md