aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-10-01 10:41:52 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-10-01 10:41:52 +0200
commiteb647b80ba1a0ab2d9b879cbfdd08cd6805e75c3 (patch)
treecb6b6700b13a64ae12cfee45cb5f66ecbfdc50ca /gcc/config
parentbff32679932d79cc57419cc5892b4618fafa2e60 (diff)
downloadgcc-eb647b80ba1a0ab2d9b879cbfdd08cd6805e75c3.zip
gcc-eb647b80ba1a0ab2d9b879cbfdd08cd6805e75c3.tar.gz
gcc-eb647b80ba1a0ab2d9b879cbfdd08cd6805e75c3.tar.bz2
sse.md (<mask_codefor><code><mode>): Add FALLTHRU comments.
* config/i386/sse.md (<mask_codefor><code><mode>): Add FALLTHRU comments. Simplify asserts, remove unnecessary conditions. Formatting fixes. (*<code><mode>3): Likewise. From-SVN: r240694
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/sse.md97
1 files changed, 46 insertions, 51 deletions
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 7e718a0..235969a 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -11393,41 +11393,40 @@
{
case MODE_XI:
gcc_assert (TARGET_AVX512F);
+ /* FALLTHRU */
case MODE_OI:
- gcc_assert (TARGET_AVX2 || TARGET_AVX512VL);
+ gcc_assert (TARGET_AVX2);
+ /* FALLTHRU */
case MODE_TI:
- gcc_assert (TARGET_SSE2 || TARGET_AVX512VL);
+ gcc_assert (TARGET_SSE2);
switch (<MODE>mode)
- {
- case V16SImode:
- case V8DImode:
- if (TARGET_AVX512F)
- {
- tmp = "p<logic><ssemodesuffix>";
- break;
- }
- case V8SImode:
- case V4DImode:
- case V4SImode:
- case V2DImode:
- tmp = TARGET_AVX512VL ? "p<logic><ssemodesuffix>" : "p<logic>";
- break;
- default:
- gcc_unreachable ();
- }
+ {
+ case V16SImode:
+ case V8DImode:
+ tmp = "p<logic><ssemodesuffix>";
+ break;
+ case V8SImode:
+ case V4DImode:
+ case V4SImode:
+ case V2DImode:
+ tmp = TARGET_AVX512VL ? "p<logic><ssemodesuffix>" : "p<logic>";
+ break;
+ default:
+ gcc_unreachable ();
+ }
break;
- case MODE_V8SF:
+ case MODE_V8SF:
gcc_assert (TARGET_AVX);
- case MODE_V4SF:
+ case MODE_V4SF:
gcc_assert (TARGET_SSE);
gcc_assert (!<mask_applied>);
tmp = "<logic>ps";
break;
- default:
+ default:
gcc_unreachable ();
- }
+ }
switch (which_alternative)
{
@@ -11489,46 +11488,42 @@
{
case MODE_XI:
gcc_assert (TARGET_AVX512F);
+ /* FALLTHRU */
case MODE_OI:
- gcc_assert (TARGET_AVX2 || TARGET_AVX512VL);
+ gcc_assert (TARGET_AVX2);
+ /* FALLTHRU */
case MODE_TI:
- gcc_assert (TARGET_SSE2 || TARGET_AVX512VL);
+ gcc_assert (TARGET_SSE2);
switch (<MODE>mode)
- {
- case V64QImode:
- case V32HImode:
- if (TARGET_AVX512F)
- {
- tmp = "p<logic>";
- ssesuffix = "q";
- break;
- }
- case V32QImode:
- case V16HImode:
- case V16QImode:
- case V8HImode:
- if (TARGET_AVX512VL || TARGET_AVX2 || TARGET_SSE2)
- {
- tmp = "p<logic>";
- ssesuffix = TARGET_AVX512VL ? "q" : "";
- break;
- }
- default:
- gcc_unreachable ();
- }
+ {
+ case V64QImode:
+ case V32HImode:
+ tmp = "p<logic>";
+ ssesuffix = "q";
+ break;
+ case V32QImode:
+ case V16HImode:
+ case V16QImode:
+ case V8HImode:
+ tmp = "p<logic>";
+ ssesuffix = TARGET_AVX512VL ? "q" : "";
+ break;
+ default:
+ gcc_unreachable ();
+ }
break;
- case MODE_V8SF:
+ case MODE_V8SF:
gcc_assert (TARGET_AVX);
- case MODE_V4SF:
+ case MODE_V4SF:
gcc_assert (TARGET_SSE);
tmp = "<logic>ps";
ssesuffix = "";
break;
- default:
+ default:
gcc_unreachable ();
- }
+ }
switch (which_alternative)
{