aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.cc
diff options
context:
space:
mode:
authorHongyu Wang <hongyu.wang@intel.com>2024-07-13 11:45:31 +0800
committerHongyu Wang <hongyu.wang@intel.com>2024-07-15 10:34:07 +0800
commit02a3bf5e2f0c18078bf67fc0002219edba1d76ff (patch)
tree604905433761b75991c49260ce1e1a582660fde5 /gcc/tree-vect-loop.cc
parent666f167bec09d1234e6496c86b566fe1a71f61f0 (diff)
downloadgcc-02a3bf5e2f0c18078bf67fc0002219edba1d76ff.zip
gcc-02a3bf5e2f0c18078bf67fc0002219edba1d76ff.tar.gz
gcc-02a3bf5e2f0c18078bf67fc0002219edba1d76ff.tar.bz2
AVX512BF16: Do not allow permutation with vcvtne2ps2bf16 [PR115889]
According to the instruction spec of AVX512BF16, the convert from float to BF16 is not a simple truncation. It has special handling for denormal/nan, even for normal float it will add an extra bias according to the least significant bit for bf number. This means we cannot use the vcvtne2ps2bf16 for any bf16 vector shuffle. The optimization introduced in r15-1368 adds a specific split to convert HImode permutation with this instruction, so remove it and treat the BFmode permutation same as HFmode. gcc/ChangeLog: PR target/115889 * config/i386/predicates.md (vcvtne2ps2bf_parallel): Remove. * config/i386/sse.md (hi_cvt_bf): Remove. (HI_CVT_BF): Likewise. (vpermt2_sepcial_bf16_shuffle_<mode>):Likewise. gcc/testsuite/ChangeLog: PR target/115889 * gcc.target/i386/vpermt2-special-bf16-shufflue.c: Adjust output scan.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions