]> git.ipfire.org Git - thirdparty/gcc.git/commit
optabs: make prepare_cmp_insn goto fail when cbranchcc4 checks unsatisfied
authorHaochen Gui <guihaoc@gcc.gnu.org>
Thu, 8 Dec 2022 05:22:29 +0000 (13:22 +0800)
committerHaochen Gui <guihaoc@gcc.gnu.org>
Tue, 13 Dec 2022 08:32:15 +0000 (16:32 +0800)
commit99cce60d0b8f3c3a77be8e1bb716f3e2fee37d46
tree1de5acddb0b9189cacd33c59c74f18b0b62106f0
parent1728c537b4f697e2a4b4eba0b0c70165f2a02840
optabs: make prepare_cmp_insn goto fail when cbranchcc4 checks unsatisfied

prepare_cmp_insn is a help function to generate comparison rtx.
It should not assume that cbranchcc4 exists and all sub-CC modes
are supported on a target.  When the check fails, it could go to
fail and return a NULL rtx as its callers check the return value
for CCmode.

The test case (gcc.target/powerpc/cbranchcc4-1.c) which covers
failure path will be committed with an rs6000 specific patch.

2022-12-05  Haochen Gui <guihaoc@linux.ibm.com>

gcc/
* optabs.cc (prepare_cmp_insn): Return a NULL rtx other than
assertion failure when targets don't have cbranch optab or
predicate check fails.
gcc/optabs.cc