On Thu, Jun 4, 2020 at 8:09 AM Hongtao Liu via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > This patch to is fix uppercase of mode in trunc<mode><pmov_dst_3>2, it > should be lowercase for standard pattern name. > > Bootstrap is ok, regression test on i386/x86-64 backend is ok.
OK. Richard. > gcc/ChangeLog: > * config/i386/sse.md (pmov_dst_3_lower): New mode attribute. > (trunc<mode><pmov_dst_3_lower>2): Refine from > trunc<mode><pmov_dst_3>2. > > gcc/testsuite > * gcc.target/i386/pr92658-avx512bw-trunc.c: Adjust testcase. > --- > gcc/config/i386/sse.md | 4 +++- > gcc/testsuite/gcc.target/i386/pr92658-avx512bw-trunc.c | 3 +-- > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md > index f2a5a34284d..87354451c58 100644 > --- a/gcc/config/i386/sse.md > +++ b/gcc/config/i386/sse.md > @@ -10688,6 +10688,8 @@ > "TARGET_AVX512VL") > > (define_mode_iterator PMOV_SRC_MODE_3 [V4DI V2DI V8SI V4SI (V8HI > "TARGET_AVX512BW")]) > +(define_mode_attr pmov_dst_3_lower > + [(V4DI "v4qi") (V2DI "v2qi") (V8SI "v8qi") (V4SI "v4qi") (V8HI "v8qi")]) > (define_mode_attr pmov_dst_3 > [(V4DI "V4QI") (V2DI "V2QI") (V8SI "V8QI") (V4SI "V4QI") (V8HI "V8QI")]) > (define_mode_attr pmov_dst_zeroed_3 > @@ -10695,7 +10697,7 @@ > (define_mode_attr pmov_suff_3 > [(V4DI "qb") (V2DI "qb") (V8SI "db") (V4SI "db") (V8HI "wb")]) > > -(define_expand "trunc<mode><pmov_dst_3>2" > +(define_expand "trunc<mode><pmov_dst_3_lower>2" > [(set (match_operand:<pmov_dst_3> 0 "register_operand") > (truncate:<pmov_dst_3> > (match_operand:PMOV_SRC_MODE_3 1 "register_operand")))] > diff --git a/gcc/testsuite/gcc.target/i386/pr92658-avx512bw-trunc.c > b/gcc/testsuite/gcc.target/i386/pr92658-avx512bw-trunc.c > index bdfad7a4d18..1f5ea63b08a 100644 > --- a/gcc/testsuite/gcc.target/i386/pr92658-avx512bw-trunc.c > +++ b/gcc/testsuite/gcc.target/i386/pr92658-avx512bw-trunc.c > @@ -87,5 +87,4 @@ truncwb_128 (v16qi * dst, v8hi * __restrict src) > dst[0] = *(v16qi *) tem; > } > > -/* { dg-final { scan-assembler-times "vpmovwb" 2 } } */ > -/* { dg-final { scan-assembler-times "vpmovwb" 3 { xfail *-*-* } } } */ > +/* { dg-final { scan-assembler-times "vpmovwb" 3 } } */ > -- > 2.18.1 > > -- > BR, > Hongtao