diff options
author | liuhongt <hongtao.liu@intel.com> | 2022-10-25 17:10:23 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2022-11-01 13:34:32 +0800 |
commit | 4acc4c2be84d66075d60736623c3a7134d129eaa (patch) | |
tree | 88f4d3f3ff43e34ed23cce670360364552efbca1 /gcc/cp/lambda.cc | |
parent | 5c5ef2f9ab545b680cd4bb6c540a9dadb12ead86 (diff) | |
download | gcc-4acc4c2be84d66075d60736623c3a7134d129eaa.zip gcc-4acc4c2be84d66075d60736623c3a7134d129eaa.tar.gz gcc-4acc4c2be84d66075d60736623c3a7134d129eaa.tar.bz2 |
Fix incorrect digit constraint
Matching constraints are used in these circumstances. More precisely,
the two operands that match must include one input-only operand and
one output-only operand. Moreover, the digit must be a smaller number
than the number of the operand that uses it in the constraint.
In pr107057, the 2 operands in the pattern are both input operands.
gcc/ChangeLog:
PR target/107057
* config/i386/sse.md (*vec_interleave_highv2df): Remove
constraint 1.
(*vec_interleave_lowv2df): Ditto.
(vec_concatv2df): Ditto.
(*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
(avx512f_unpcklpd512<mask_name>): .. this.
(avx512f_movddup512<mask_name>): Change to define_insn.
(avx_movddup256<mask_name>): Ditto.
(*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
to ..
(avx_unpcklpd256<mask_name>): .. this.
* config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
Disallow MEM_P (op1) && MEM_P (op2).
gcc/testsuite/ChangeLog:
* gcc.target/i386/pr107057.c: New test.
Diffstat (limited to 'gcc/cp/lambda.cc')
0 files changed, 0 insertions, 0 deletions