diff options
author | liuhongt <hongtao.liu@intel.com> | 2024-10-23 00:51:00 -0700 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2024-11-05 00:20:04 -0800 |
commit | a17acf4f25f0ce9b8dce24f25867500a3b093b57 (patch) | |
tree | fa7831c18df8e9eaeb9494e6410cab9d4da3de87 /gcc/fortran | |
parent | c1bbad07c8686c858ea58ffdb9db8f964bf485c6 (diff) | |
download | gcc-a17acf4f25f0ce9b8dce24f25867500a3b093b57.zip gcc-a17acf4f25f0ce9b8dce24f25867500a3b093b57.tar.gz gcc-a17acf4f25f0ce9b8dce24f25867500a3b093b57.tar.bz2 |
Support vector float_truncate for SF to BF.
Generate native instruction whenever possible, otherwise use vector
permutation with odd indices.
gcc/ChangeLog:
* config/i386/i386-expand.cc
(ix86_expand_vector_sf2bf_with_vec_perm): New function.
* config/i386/i386-protos.h
(ix86_expand_vector_sf2bf_with_vec_perm): New declare.
* config/i386/mmx.md (truncv2sfv2bf2): New expander.
* config/i386/sse.md (truncv4sfv4bf2): Ditto.
(truncv8sfv8bf2): Ditto.
(truncv16sfv16bf2): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/i386/avx512bf16-truncsfbf.c: New test.
* gcc.target/i386/avx512bw-truncsfbf.c: New test.
* gcc.target/i386/ssse3-truncsfbf.c: New test.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions