This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/83203] [8 Regression] Inefficient int to avx2 vector conversion


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |needs-bisection
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2017-11-29
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
   Target Milestone|---                         |8.0
            Summary|Inefficient int to avx2     |[8 Regression] Inefficient
                   |vector conversion           |int to avx2 vector
                   |                            |conversion
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  On trunk we even genrate

foo:
.LFB5186:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        andq    $-32, %rsp
        movq    %rdi, -8(%rsp)
        vmovq   -8(%rsp), %xmm1
        vmovq   %xmm1, %xmm0
        vmovdqa %xmm0, %xmm0
        leave

huh...

We expand from

foo (long int x)
{
  __m256i _2;

  <bb 2> [100.00%]:
  _2 = {x_1(D)};
  return _2;

that's a regression on trunk (gcc7 code confirmed).  Probably caused by
the vec_init expansion reorg?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]