[PATCH PR96357][GCC][AArch64]: could not split insn UNSPEC_COND_FSUB with AArch64 SVE

Przemyslaw Wirkus Przemyslaw.Wirkus@arm.com
Wed Aug 19 05:49:21 GMT 2020


Hi,

Problem is related to that operand 4 (In original pattern
*cond_sub<mode>_any_const) is no longer the same as operand 1, and so
the pattern doesn't match the split condition.

Pattern *cond_sub<mode>_any_const is being split by this patch into two
separate patterns:
* Pattern *cond_sub<mode>_relaxed_const now matches const_int
  SVE_RELAXED_GP operand.
* Pattern *cond_sub<mode>_strict_const now matches const_int
  SVE_STRICT_GP operand.
* Remove aarch64_sve_pred_dominates_p condition from both patterns.

Bootstrapped and tested on aarch64-none-linux-gnu.

OK for master?

Cheers,
Przemyslaw

gcc/ChangeLog:

	PR target/96357
	* config/aarch64/aarch64-sve.md
	(*cond_sub<mode>_relaxed_const): Updated and renamed from
	*cond_sub<mode>_any_const pattern.
	(*cond_sub<mode>_strict_const): New pattern.

gcc/testsuite/ChangeLog:
	* gcc.target/aarch64/sve/pr96357.c: New test.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rb13393.patch
Type: application/octet-stream
Size: 4042 bytes
Desc: rb13393.patch
URL: <https://gcc.gnu.org/pipermail/gcc-patches/attachments/20200819/05a3d067/attachment-0001.obj>


More information about the Gcc-patches mailing list