[Bug target/100865] New: pass_data_constant_pool_broadcast doesn't work on TImode
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Jun 2 01:53:25 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100865
Bug ID: 100865
Summary: pass_data_constant_pool_broadcast doesn't work on
TImode
Product: gcc
Version: 11.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: hjl.tools at gmail dot com
CC: crazylht at gmail dot com
Target Milestone: ---
Target: x86-64
[hjl@gnu-cfl-2 gcc]$ cat /tmp/y.c
extern char *dst;
void
foo (void)
{
__builtin_memset (dst, 12, 16);
}
[hjl@gnu-cfl-2 gcc]$ ./xgcc -B./ -S -O2 -march=skylake-avx512 /tmp/y.c
[hjl@gnu-cfl-2 gcc]$ cat y.s
.file "y.c"
.text
.p2align 4
.globl foo
.type foo, @function
foo:
.LFB0:
.cfi_startproc
movq dst(%rip), %rax
vmovdqa .LC0(%rip), %xmm0
vmovdqu %xmm0, (%rax)
ret
.cfi_endproc
.LFE0:
.size foo, .-foo
.section .rodata.cst16,"aM",@progbits,16
.align 16
.LC0:
.quad 868082074056920076
.quad 868082074056920076
.ident "GCC: (GNU) 12.0.0 20210602 (experimental)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-cfl-2 gcc]$
Also should broadcast from register be used to avoid memory load?
More information about the Gcc-bugs
mailing list