Skip to content
Snippets Groups Projects
Commit 41fb3a56 authored by Jeff Law's avatar Jeff Law
Browse files

[RISC-V][PR target/116590] Avoid emitting multiple instructions from fmacc patterns

So much like my patch from last week, this removes alternatives that
create multiple instructions that we really should have never needed.

In this case it fixes one of two bugs in pr116590.  In particular we
don't want vmvNr instructions for thead-vector.  Those instructions were
emitted as part of those two instruction sequences.

I've tested this in my tester and assuming the pre-commit tester is
happy, I'll push it to the trunk.

	PR target/116590
gcc
	* config/riscv/vector.md (pred_mul_<optab>mode_undef): Drop
	unnecessary alternatives.
	(pred_<madd_msub><mode>): Likewise.
	(pred_<macc_msac><mode>): Likewise.
	(pred_<madd_msub><mode>_scalar): Likewise.
	(pred_<macc_msac><mode>_scalar): Likewise.
	(pred_mul_neg_<optab><mode>_undef): Likewise.
	(pred_<nmsub_nmadd><mode>): Likewise.
	(pred_<nmsac_nmacc><mode>): Likewise.
	(pred_<nmsub_nmadd><mode>_scalar): Likewise.
	(pred_<nmsac_nmacc><mode>_scalar): Likewise.

gcc/testsuite
	* gcc.target/riscv/pr116590.c: New test.
parent fbca864a
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment