-
- Downloads
Optimize _Float16 usage for non AVX512FP16.
1. No memory is needed to move HI/HFmode between GPR and SSE registers under TARGET_SSE2 and above, pinsrw/pextrw are used for them w/o AVX512FP16. 2. Use gen_sse2_pinsrph/gen_vec_setv4sf_0 to replace ix86_expand_vector_set in extendhfsf2/truncsfhf2 so that redundant initialization cound be eliminated. gcc/ChangeLog: PR target/102811 * config/i386/i386.c (inline_secondary_memory_needed): HImode move between GPR and SSE registers is supported under TARGET_SSE2 and above. * config/i386/i386.md (extendhfsf2): Optimize expander. (truncsfhf2): Ditto. * config/i386/sse.md (sse2p4_1): Adjust attr for V8HFmode to align with V8HImode. gcc/testsuite/ChangeLog: * gcc.target/i386/pr102811-2.c: New test. * gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c: Add new scan-assembler-times.
Showing
- gcc/config/i386/i386.c 3 additions, 2 deletionsgcc/config/i386/i386.c
- gcc/config/i386/i386.md 14 additions, 4 deletionsgcc/config/i386/i386.md
- gcc/config/i386/sse.md 1 addition, 1 deletiongcc/config/i386/sse.md
- gcc/testsuite/gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c 1 addition, 1 deletiongcc/testsuite/gcc.target/i386/avx512vl-vcvtps2ph-pr102811.c
- gcc/testsuite/gcc.target/i386/pr102811-2.c 22 additions, 0 deletionsgcc/testsuite/gcc.target/i386/pr102811-2.c
Loading
Please register or sign in to comment