* config/i386/i386.c (ix86_print_operand): Support z-masking. * config/i386/predicate.md (const_0_to_4_operand): New. (const_0_to_5_operand): Ditto. * config/i386/sse.md (UNSPEC_COMPRESS): New. (UNSPEC_COMPRESS_STORE): Ditto. (UNSPEC_EXPAND): Ditto. (UNSPEC_EMBEDDED_ROUNDING): Ditto. (define_mode_attr ssescalarsize): Ditto. (avx512f_load<mode>_mask): Ditto. (avx512f_store<mode>_mask): Ditto. (avx512f_storedqu<mode>_mask): Ditto. (avx512f_vmcmp<mode>3_mask): Ditto. (avx512f_fmadd_<mode>_mask): Ditto. (avx512f_fmadd_<mode>_mask3): Ditto. (avx512f_fmsub_<mode>_mask): Ditto. (avx512f_fmsub_<mode>_mask3): Ditto. (avx512f_fnmadd_<mode>_mask): Ditto. (avx512f_fnmadd_<mode>_mask3): Ditto. (avx512f_fnmsub_<mode>_mask): Ditto. (avx512f_fnmsub_<mode>_mask3): Ditto. (avx512f_fmaddsub_<mode>_mask): Ditto. (avx512f_fmaddsub_<mode>_mask3): Ditto. (avx512f_fmsubadd_<mode>_mask): Ditto. (avx512f_fmsubadd_<mode>_mask3): Ditto. (vec_unpacku_float_lo_v16si): Ditto. (avx512f_vextract<shuffletype>32x4_mask): Ditto. (avx512f_vextract<shuffletype>32x4_1_maskm): Ditto. (avx512f_vextract<shuffletype>64x4_mask): Ditto. (vec_extract_lo_<mode>_maskm): Ditto. (vec_extract_hi_<mode>_maskm): Ditto. (avx512f_vternlog<mode>_mask): Ditto. (avx512f_shufps512_mask): Ditto. (avx512f_fixupimm<mode>_mask): Ditto. (avx512f_shufpd512_mask): Ditto. (avx512f_<code><pmov_src_lower><mode>2_mask): Ditto. (avx512f_<code>v8div16qi2_mask/trunc): Ditto. (*avx512f_<code>v8div16qi2_store_mask): Ditto. (ashr<mode>3<mask_name>): Ditto. (avx512f_vinsert<shuffletype>32x4_mask): Ditto. (avx512f_vinsert<shuffletype>64x4_mask): Ditto. (avx512f_shuf_<shuffletype>64x2_mask): Ditto. (avx512f_shuf_<shuffletype>32x4_mask): Ditto. (avx512f_pshufdv3_mask): Ditto. (avx512f_perm<mode>_mask): Ditto. (avx512f_vpermi2var<mode>3_mask): Ditto. (avx512f_vpermt2var<mode>3_mask): Ditto. (avx512f_compress<mode>_mask): Ditto. (avx512f_compressstore<mode>_mask): Ditto. (avx512f_expand<mode>_mask): Ditto. (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Extend to support masking. (avx512f_storeu<ssemodesuffix>512_mask): Ditto. (<plusminus_insn><mode>3<mask_name>): Ditto. (*<plusminus_insn><mode>3<mask_name>): Ditto. (mul<mode>3<mask_name>): Ditto. (*mul<mode>3<mask_name>): Ditto. (<sse>_div<mode>3<mask_name>): Ditto. (<mask_codefor>rcp14<mode><mask_name>): Ditto. (<sse>_sqrt<mode>2<mask_name>): Ditto. (<mask_codefor>rsqrt14<mode><mask_name>): Ditto. (<code><mode>3<mask_name>/smaxmin): Ditto. (*<code><mode>3_finite<mask_name>/smaxmin): Ditto. (*<code><mode>3<mask_name>/smaxmin): Ditto. (float<sseintvecmodelower><mode>2<mask_name>): Ditto. (ufloatv16siv16sf2<mask_name>): Ditto. (<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name>): Ditto. (<mask_codefor>avx512f_ufix_notruncv16sfv16si<mask_name>): Ditto. (<fixsuffix>fix_truncv16sfv16si2<mask_name>): Ditto. (float<si2dfmodelower><mode>2<mask_name>): Ditto. (ufloatv8siv8df<mask_name>): Ditto. (<mask_codefor>avx512f_cvtpd2dq512<mask_name>): Ditto. (avx512f_ufix_notruncv8dfv8si<mask_name>): Ditto. (<fixsuffix>fix_truncv8dfv8si2<mask_name>): Ditto. (<mask_codefor>avx512f_cvtpd2ps512<mask_name>): Ditto. (<sse2_avx_avx512f>_cvtps2pd<avxsizesuffix><mask_name>): Ditto. (<mask_codefor>avx512f_unpckhps512<mask_name>): Ditto. (<mask_codefor>avx512f_unpcklps512<mask_name>): Ditto. (<mask_codefor>avx512f_movshdup512<mask_name>): Ditto. (<mask_codefor>avx512f_movsldup512<mask_name>): Ditto. (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Ditto. (vec_extract_lo_<mode><mask_name>): Ditto. (vec_extract_hi_<mode><mask_name>): Ditto. (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto. (avx512f_movddup512<mask_name>): Ditto. (avx512f_unpcklpd512<mask_name>): Ditto. (*avx512f_unpcklpd512<mask_name>): Ditto. (*avx512f_vmscalef<mode>): Ditto. (avx512f_scalef<mode><mask_name>): Ditto. (avx512f_getexp<mode><mask_name>): Ditto. (<mask_codefor>avx512f_align<mode><mask_name>): Ditto. (avx512f_rndscale<mode><mask_name>): Ditto. (avx512f_shufps512_1<mask_name>): Ditto. (avx512f_shufpd512_1<mask_name>): Ditto. (<plusminus_insn><mode>3<mask_name>): Ditto. (*<plusminus_insn><mode>3<mask_name>): Ditto. (vec_widen_umult_even_v16si<mask_name>): Ditto. (*vec_widen_umult_even_v16si<mask_name>): Ditto. (vec_widen_smult_even_v16si<mask_name>): Ditto. (*vec_widen_smult_even_v16si<mask_name>): Ditto. (mul<mode>3<mask_name>): Ditto. (*<sse4_1_avx2>_mul<mode>3<mask_name>): Ditto. (<shift_insn><mode>3<mask_name>): Ditto. (avx512f_<rotate>v<mode><mask_name>/rotate): Ditto. (avx512f_<rotate><mode><mask_name>): Ditto. (<code><mode>3<mask_name>/maxmin): Ditto. (*avx2_<code><mode>3<mask_name>/maxmin): Ditto. (<sse2_avx2>_andnot<mode>3<mask_name>): Ditto. (*andnot<mode>3<mask_name>): Ditto. (<mask_codefor><code><mode>3<mask_name>/any_logic): Ditto. (<mask_codefor>avx512f_interleave_highv16si<mask_name>): Ditto. (<mask_codefor>avx512f_interleave_lowv16si<mask_name>): Ditto. (<mask_codefor>avx512f_vinsert<shuffletype>32x4_1<mask_name>): Ditto. (vec_set_lo_<mode><mask_name>): Ditto. (vec_set_hi_<mode><mask_name>): Ditto. (avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ditto. (avx512f_shuf_<shuffletype>32x4_1<mask_name>): Ditto. (avx512f_pshufd_1<mask_name>): Ditto. (<mask_codefor>abs<mode>2<mask_name>): Ditto. (<mask_codefor>avx512f_<code>v16qiv16si2<mask_name>): Ditto. (avx512f_<code>v16hiv16si2<mask_name>/any_extend): Ditto. (avx512f_<code>v8qiv8di2<mask_name>/any_extend): Ditto. (avx512f_<code>v8hiv8di2<mask_name>/any_extend): Ditto. (avx512f_<code>v8siv8di2<mask_name>/any_extend): Ditto. (avx512er_exp2<mode><mask_name>): Ditto. (<mask_codefor>avx512er_rcp28<mode><mask_name>): Ditto. (<mask_codefor>avx512er_rsqrt28<mode><mask_name>): Ditto. (<avx2_avx512f>_permvar<mode><mask_name>): Ditto. (<avx2_avx512f>_perm<mode>_1<mask_name>): Ditto. (<mask_codefor>avx512f_vec_dup<mode><mask_name>): Ditto. (<mask_codefor>avx512f_broadcast<mode><mask_name>/V16FI): Ditto. (<mask_codefor>avx512f_broadcast<mode><mask_name>/V8FI): Ditto. (<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>): Ditto. (<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>): Ditto. (<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF2): Ditto. (<sse2_avx_avx512f>_vpermil<mode><mask_name>/VF1): Ditto. (*<sse2_avx_avx512f>_vpermilp<mode><mask_name>): Ditto. (<sse2_avx_avx512f>_vpermilvar<mode>3<mask_name>): Ditto. (<avx2_avx512f>_ashrv<mode><mask_name>): Ditto. (<avx2_avx512f>_<shift_insn>v<mode><mask_name>): Ditto. (<mask_codefor>avx512f_vcvtph2ps512<mask_name>): Ditto. (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Ditto. (avx512f_getmant<mode><mask_name>): Ditto. (clz<mode>2<mask_name>): Ditto. (<mask_codefor>conflict<mode><mask_name>): Ditto. (*srcp14<mode>): Remove visibility. (*rsqrt14<mode>): Ditto. (*fma_fmsub_<mode>): Ditto. (*fma_fnmadd_<mode>): Ditto. (*avx512f_rndscale<mode>): Ditto. * config/i386/subst.md: New file. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> Co-Authored-By: Sergey Lega <sergey.s.lega@intel.com> From-SVN: r204734
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fixincludes | Loading commit data... | |
gcc | Loading commit data... | |
gnattools | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libada | Loading commit data... | |
libatomic | Loading commit data... | |
libbacktrace | Loading commit data... | |
libcilkrts | Loading commit data... | |
libcpp | Loading commit data... | |
libdecnumber | Loading commit data... | |
libffi | Loading commit data... | |
libgcc | Loading commit data... | |
libgfortran | Loading commit data... | |
libgo | Loading commit data... | |
libgomp | Loading commit data... | |
libiberty | Loading commit data... | |
libitm | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libquadmath | Loading commit data... | |
libsanitizer | Loading commit data... | |
libssp | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
libvtv | Loading commit data... | |
lto-plugin | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
.dir-locals.el | Loading commit data... | |
.gitignore | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
COPYING.RUNTIME | Loading commit data... | |
COPYING3 | Loading commit data... | |
COPYING3.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.tree-ssa | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
compile | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
depcomp | Loading commit data... | |
install-sh | Loading commit data... | |
libtool-ldflags | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltgcc.m4 | Loading commit data... | |
ltmain.sh | Loading commit data... | |
ltoptions.m4 | Loading commit data... | |
ltsugar.m4 | Loading commit data... | |
ltversion.m4 | Loading commit data... | |
lt~obsolete.m4 | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |