]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Correct mask width for bf8->fp16 intrin on 256/512 bit
authorHaochen Jiang <haochen.jiang@intel.com>
Wed, 5 Mar 2025 02:35:11 +0000 (10:35 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Fri, 7 Mar 2025 03:33:48 +0000 (11:33 +0800)
commita1eaeac63adc4e20b7e74290fdbe51725d40ddeb
tree1d0953f90c58b5d3c4f565b71034dcff03aa6dca
parentc207dcf393b864adc8eb41bbbcd630a6cfdc145a
i386: Correct mask width for bf8->fp16 intrin on 256/512 bit

For bf8 -> fp16 convert, when dst is 256 bit, the mask should be
16 bit since 16*16=256, not the 8 bit in the current intrin. In
512 bit intrin, the mask size is also halved. This patch will fix
both of them.

gcc/ChangeLog:

* config/i386/avx10_2-512convertintrin.h
(_mm512_mask_cvtbf8_ph): Correct mask width.
(_mm512_maskz_cvtbf8_ph): Ditto.
* config/i386/avx10_2convertintrin.h
(_mm256_mask_cvtbf8_ph): Ditto.
(_mm256_maskz_cvtbf8_ph): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/avx10_2-512-convert-1.c: Change function call.
* gcc.target/i386/avx10_2-convert-1.c: Ditto.
gcc/config/i386/avx10_2-512convertintrin.h
gcc/config/i386/avx10_2convertintrin.h
gcc/testsuite/gcc.target/i386/avx10_2-512-convert-1.c
gcc/testsuite/gcc.target/i386/avx10_2-convert-1.c