aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2023-10-23 13:40:10 +0800
committerliuhongt <hongtao.liu@intel.com>2023-10-27 10:55:50 +0800
commit7eed861e8ca3f533e56dea6348573caa09f16f5e (patch)
tree3cb8a84b9b30fb65730fc7d14e26fa2144e8707e /gcc/expr.cc
parentecca503bf4160d81616e355bca1eb7081af0501e (diff)
downloadgcc-7eed861e8ca3f533e56dea6348573caa09f16f5e.zip
gcc-7eed861e8ca3f533e56dea6348573caa09f16f5e.tar.gz
gcc-7eed861e8ca3f533e56dea6348573caa09f16f5e.tar.bz2
Support vec_cmpmn/vcondmn for v2hf/v4hf.
gcc/ChangeLog: PR target/103861 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle V2HF/V2BF/V4HF/V4BFmode. * config/i386/i386.cc (ix86_get_mask_mode): Return QImode when data_mode is V4HF/V2HFmode. * config/i386/mmx.md (vec_cmpv4hfqi): New expander. (vcond_mask_<mode>v4hi): Ditto. (vcond_mask_<mode>qi): Ditto. (vec_cmpv2hfqi): Ditto. (vcond_mask_<mode>v2hi): Ditto. (mmx_plendvb_<mode>): Add 2 combine splitters after the patterns. (mmx_pblendvb_v8qi): Ditto. (<code>v2hi3): Add a combine splitter after the pattern. (<code><mode>3): Ditto. (<code>v8qi3): Ditto. (<code><mode>3): Ditto. * config/i386/sse.md (vcond<mode><mode>): Merge this with .. (vcond<sseintvecmodelower><mode>): .. this into .. (vcond<VI2HFBF_AVX512VL:mode><VHF_AVX512VL:mode>): .. this, and extend to V8BF/V16BF/V32BFmode. gcc/testsuite/ChangeLog: * g++.target/i386/part-vect-vcondhf.C: New test. * gcc.target/i386/part-vect-vec_cmphf.c: New test.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions