On vect256 branch, I got

[...@gnu-6 prxxx]$ cat x.c
extern void abort (void);

static float Yf[] = { 2.0, -2.0, -2.0, -2.0, -2.0, 2.0, -0.0, __builtin_inff ()
};
static const float Zf[] = { 1.0, -1.0, -1.0, -0.0, -0.0, 0.0, -__builtin_inff
(), __builtin_nanf ("") };

void testf (void)
{
  float r[8];
  int i; r[0] = __builtin_copysignf (1.0, Yf[0]);
  r[1] = __builtin_copysignf (1.0, Yf[1]);
  r[2] = __builtin_copysignf (-1.0, Yf[2]);
  r[3] = __builtin_copysignf (0.0, Yf[3]);
  r[4] = __builtin_copysignf (-0.0, Yf[4]);
  r[5] = __builtin_copysignf (-0.0, Yf[5]);
  r[6] = __builtin_copysignf (__builtin_inff (), Yf[6]);
  r[7] = __builtin_copysignf (-__builtin_nanf (""), Yf[7]);
  for (i = 0; i < 8; ++i)
    if (__builtin_memcmp (r+i, Zf+i, sizeof(float)) != 0)
      abort ();
}
[...@gnu-6 prxxx]$ make
/export/build/gnu/gcc-avx256/build-x86_64-linux/gcc/xgcc
-B/export/build/gnu/gcc-avx256/build-x86_64-linux/gcc/ -mavx -O2
-ftree-vectorize  -S x.c
[...@gnu-6 prxxx]$ cat x.s
        .file   "x.c"
        .text
        .p2align 4,,15
.globl testf
        .type   testf, @function
testf:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        xorl    %eax, %eax
        movl    $4, %edx
        movq    %rsp, %rbp
        .cfi_offset 6, -16
        .cfi_def_cfa_register 6
        subq    $32, %rsp
        vmovaps .LC0(%rip), %ymm0
        movq    %rsp, %r8
        vmovaps %ymm0, (%rsp)
        .p2align 4,,10
        .p2align 3
.L3:
        leaq    (%r8,%rax), %rsi
        leaq    Zf(%rax), %rdi
        movq    %rdx, %rcx
        repz cmpsb
        jne     .L6
        addq    $4, %rax
        cmpq    $32, %rax
        jne     .L3
        leave
        .cfi_remember_state
        .cfi_def_cfa 7, 8
        ret
.L6:
        .cfi_restore_state
        call    abort
        .cfi_endproc
.LFE0:
        .size   testf, .-testf


There is no stack alignment.


-- 
           Summary: [vect256] SLP failed to update stack alignment
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44130

Reply via email to