[Bug target/94663] New: [missed optimization] _mm512_dpbusds_epi32 generates excess vmovdqa64

2020-04-19 Thread gcc at kheafield dot com
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: gcc at kheafield dot com Target Milestone: --- The _mm512_dpbusds_epi32 intrinsic generates extra vmovdqa64 instructions when used inside a loop. The underlying instruction

[Bug c++/94832] New: AVX512 scatter/gather macros lack parentheses when unoptimized

2020-04-28 Thread gcc at kheafield dot com
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gcc at kheafield dot com Target Milestone: --- This code behaves differently and produces a warning about void * arithmetic when compiled without optimization: #include void Fail(int

[Bug target/94832] AVX512 scatter/gather macros lack parentheses when unoptimized

2020-04-29 Thread gcc at kheafield dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94832 --- Comment #3 from Kenneth Heafield --- Being a macro some of the time also causes trouble with template commas and the C preprocessor. #include template int *TemplatedFunction(); void Fail() { _mm512_mask_i32scatter_epi32(TemplatedFuncti