]> git.ipfire.org Git - thirdparty/gcc.git/commit
[PATCH v3] RISC-V: Add split pattern to generate SFB instructions. [PR113095]
authorMonk Chiang <monk.chiang@sifive.com>
Wed, 24 Jan 2024 17:19:28 +0000 (10:19 -0700)
committerKito Cheng <kito.cheng@sifive.com>
Tue, 30 Apr 2024 09:13:06 +0000 (17:13 +0800)
commit6335baaf31c0f1f0952d1a3f507b0e5655b1136f
treecaa53274e8ffd5d8352308da8c5b89d9aaf99404
parent440a612dbadfae5887ec7c9b3ab2fca88b065366
[PATCH v3] RISC-V: Add split pattern to generate SFB instructions. [PR113095]

Since the match.pd transforms (zero_one == 0) ? y : z <op> y,
into ((typeof(y))zero_one * z) <op> y. Add splitters to recongize
this expression to generate SFB instructions.

gcc/ChangeLog:
PR target/113095
* config/riscv/riscv.md: New splitters to rewrite single bit
sign extension as the condition to SFB instructions.

gcc/testsuite/ChangeLog:
* gcc.target/riscv/sfb.c: New test.
* gcc.target/riscv/pr113095.c: New test.

(cherry picked from commit fb54b9772816968032518d4008be5090e0d95109)
gcc/config/riscv/riscv.md
gcc/testsuite/gcc.target/riscv/pr113095.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/sfb.c [new file with mode: 0644]