-
- Downloads
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.
Showing
- gcc/config/i386/i386-expand.cc 4 additions, 0 deletionsgcc/config/i386/i386-expand.cc
- gcc/config/i386/i386.cc 5 additions, 1 deletiongcc/config/i386/i386.cc
- gcc/config/i386/mmx.md 267 additions, 2 deletionsgcc/config/i386/mmx.md
- gcc/config/i386/sse.md 5 additions, 20 deletionsgcc/config/i386/sse.md
- gcc/testsuite/g++.target/i386/part-vect-vcondhf.C 45 additions, 0 deletionsgcc/testsuite/g++.target/i386/part-vect-vcondhf.C
- gcc/testsuite/gcc.target/i386/part-vect-vec_cmphf.c 26 additions, 0 deletionsgcc/testsuite/gcc.target/i386/part-vect-vec_cmphf.c
Loading
Please register or sign in to comment