diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-05-12 10:30:25 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-05-12 10:30:25 +0200 |
commit | 40bd4bf95e68e252afdf863f1c3d5f22e30f819e (patch) | |
tree | 8f4584bb4783a5fd7ed9dd04545b2e2aabd63dd4 /gcc/config/i386/i386.h | |
parent | eb09cdcb1a8b55b9c9257119053b0f6f7b24edd9 (diff) | |
download | gcc-40bd4bf95e68e252afdf863f1c3d5f22e30f819e.zip gcc-40bd4bf95e68e252afdf863f1c3d5f22e30f819e.tar.gz gcc-40bd4bf95e68e252afdf863f1c3d5f22e30f819e.tar.bz2 |
constraints.md (Yv): New constraint.
* config/i386/constraints.md (Yv): New constraint.
* config/i386/i386.h (VALID_AVX512VL_128_REG_MODE): Allow
TFmode and V1TImode in xmm16+ registers for TARGET_AVX512VL.
* config/i386/i386.md (avx512fvecmode): New mode attr.
(*pushtf): Use v constraint instead of x.
(*movtf_internal): Likewise. For TARGET_AVX512VL and
xmm16+ registers, use vmovdqu64 or vmovdqa64 instructions.
(*absneg<mode>2): Use Yv constraint instead of x constraint.
(*absnegtf2_sse): Likewise.
(copysign<mode>3_const, copysign<mode>3_var): Likewise.
* config/i386/sse.md (*andnot<mode>3): Add avx512vl and
avx512f alternatives.
(*andnottf3, *<code><mode>3, *<code>tf3): Likewise.
* gcc.target/i386/avx512dq-abs-copysign-1.c: New test.
* gcc.target/i386/avx512vl-abs-copysign-1.c: New test.
* gcc.target/i386/avx512vl-abs-copysign-2.c: New test.
From-SVN: r236161
Diffstat (limited to 'gcc/config/i386/i386.h')
-rw-r--r-- | gcc/config/i386/i386.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h index d0b418b..b70a8c6 100644 --- a/gcc/config/i386/i386.h +++ b/gcc/config/i386/i386.h @@ -1126,7 +1126,8 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); #define VALID_AVX512VL_128_REG_MODE(MODE) \ ((MODE) == V2DImode || (MODE) == V2DFmode || (MODE) == V16QImode \ - || (MODE) == V4SImode || (MODE) == V4SFmode || (MODE) == V8HImode) + || (MODE) == V4SImode || (MODE) == V4SFmode || (MODE) == V8HImode \ + || (MODE) == TFmode || (MODE) == V1TImode) #define VALID_SSE2_REG_MODE(MODE) \ ((MODE) == V16QImode || (MODE) == V8HImode || (MODE) == V2DFmode \ |