[Bug other/71414] New: 2x slower than clang summing small float array

yyc1992 at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Jun 4 17:55:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71414

            Bug ID: 71414
           Summary: 2x slower than clang  summing small float array
           Product: gcc
           Version: 6.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yyc1992 at gmail dot com
  Target Milestone: ---

Ref https://llvm.org/bugs/show_bug.cgi?id=28002

C source code.

```c
__attribute__((noinline)) float sum32(float *a, size_t n)
{
    /* a = (float*)__builtin_assume_aligned(a, 64); */
    float s = 0;
    for (size_t i = 0;i < n;i++)
        s += a[i];
    return s;
}```


See [this
gist](https://gist.github.com/yuyichao/5b07f71c1f19248ec5511d758532a4b0) for
assembly output by different compilers. GCC appears to be ~2x slower than clang
on the two machines (4702HQ and 6700K) I benchmarked this.


More information about the Gcc-bugs mailing list