[Bug target/87767] New: Missing AVX512 memory broadcast for floating point constant
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Oct 26 20:34:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87767
Bug ID: 87767
Summary: Missing AVX512 memory broadcast for floating point
constant
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
Target: i386,x86-64
[hjl@gnu-efi-2 broadcast-4]$ cat c.c
#include <immintrin.h>
__m512
foo (__m512 x)
{
return _mm512_add_ps (x, _mm512_set1_ps (2.0f));
}
[hjl@gnu-efi-2 broadcast-4]$ make c.s
/export/build/gnu/tools-build/gcc-test/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/tools-build/gcc-test/build-x86_64-linux/gcc/ -O2 -mavx512f
-S c.c
[hjl@gnu-efi-2 broadcast-4]$ cat c.s
.file "c.c"
.text
.p2align 4
.globl foo
.type foo, @function
foo:
.LFB5186:
.cfi_startproc
vbroadcastss .LC0(%rip), %zmm1
vaddps %zmm1, %zmm0, %zmm0
ret
.cfi_endproc
.LFE5186:
.size foo, .-foo
.section .rodata.cst16,"aM",@progbits,16
.align 16
.LC0:
.long 1073741824
.long 0
.long 0
.long 0
.ident "GCC: (GNU) 9.0.0 20181026 (experimental)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-efi-2 broadcast-4]$
vbroadcastss should be replaced by memory broadcast.
More information about the Gcc-bugs
mailing list