x86: relax mask register constraints
authorJan Beulich <jbeulich@suse.com>
Fri, 4 Jan 2019 08:50:56 +0000 (08:50 +0000)
committerJan Beulich <jbeulich@gcc.gnu.org>
Fri, 4 Jan 2019 08:50:56 +0000 (08:50 +0000)
commit80b23ae866d95a00e5e01edb7f3fc021c6c6caaa
treee9b1ca70cdb13e3a647a4beda9290a0e99cf6be4
parentdf161fc28087971e5f6b0696c2ae7826a38d9a73
x86: relax mask register constraints

While their use for masking is indeed restricted to %k1...%k7, use as
"normal" insn operands also permits %k0. Remove the unnecessary
limitations, requiring quite a few testsuite adjustments.

Oddly enough some AVX512{F,DQ} test cases already check for %k[0-7],
while others did permit {%k0} - where they get touched here anyway this
gets fixed at the same time.

From-SVN: r267570
98 files changed:
gcc/ChangeLog
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/avx512bitalg-vpshufbitqmb.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpeqb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpequb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpequw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpeqw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgeb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgeub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgeuw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgew-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgtb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgtub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgtuw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpgtw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpleb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpleub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpleuw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmplew-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpltb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpltub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpltuw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpltw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpneqb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpnequb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpnequw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpneqw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpub-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpuw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpcmpw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovb2m-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovm2b-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovm2w-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vpmovw2m-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vptestmb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vptestmw-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vptestnmb-1.c
gcc/testsuite/gcc.target/i386/avx512bw-vptestnmw-1.c
gcc/testsuite/gcc.target/i386/avx512cd-vpbroadcastmb2q-1.c
gcc/testsuite/gcc.target/i386/avx512cd-vpbroadcastmw2d-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclasspd-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclassps-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclasssd-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vfpclassss-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vpmovd2m-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vpmovm2d-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vpmovm2q-1.c
gcc/testsuite/gcc.target/i386/avx512dq-vpmovq2m-1.c
gcc/testsuite/gcc.target/i386/avx512f-vcmppd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vcmpps-1.c
gcc/testsuite/gcc.target/i386/avx512f-vcmpsd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vcmpss-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpq-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpud-1.c
gcc/testsuite/gcc.target/i386/avx512f-vpcmpuq-1.c
gcc/testsuite/gcc.target/i386/avx512f-vptestmd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vptestmq-1.c
gcc/testsuite/gcc.target/i386/avx512f-vptestnmd-1.c
gcc/testsuite/gcc.target/i386/avx512f-vptestnmq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vcmppd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vcmpps-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastmb2q-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpbroadcastmw2d-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpeqq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpequq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpged-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgeuq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpgtuq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpled-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpleuq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpltuq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpneqq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpnequq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpud-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vpcmpuq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vptestmd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vptestmq-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vptestnmd-1.c
gcc/testsuite/gcc.target/i386/avx512vl-vptestnmq-1.c