aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/i386.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-05-12 10:30:25 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-05-12 10:30:25 +0200
commit40bd4bf95e68e252afdf863f1c3d5f22e30f819e (patch)
tree8f4584bb4783a5fd7ed9dd04545b2e2aabd63dd4 /gcc/config/i386/i386.h
parenteb09cdcb1a8b55b9c9257119053b0f6f7b24edd9 (diff)
downloadgcc-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.h3
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 \