[llvm-bugs] [Bug 25289] New: [AVX-512] LLC Turns "fpext" and "fpmul" into a wrong splitting and addition.

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Oct 22 12:56:04 PDT 2015


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

            Bug ID: 25289
           Summary: [AVX-512] LLC Turns "fpext" and "fpmul" into a wrong
                    splitting and addition.
           Product: tools
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: llc
          Assignee: unassignedbugs at nondot.org
          Reporter: shishpanov2010 at yandex.ru
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 15144
  --> https://llvm.org/bugs/attachment.cgi?id=15144&action=edit
The IR sample.

LLC tries to extend each of two parts of "%ptr_masked_load.16" in the attached
file. It takes the first half of this vector twice, but, I guess, it should
take two different halves of this vector. For example, the assembly code, what
is the result of LLC:

f_f:                                    # @f_f
    vmovups    (%rsi), %zmm0
    vcvtps2pd    %ymm0, %zmm1
    vextractf64x4    $2, %zmm0, %ymm0
    vcvtps2pd    %ymm0, %zmm0
    vaddpd    %zmm0, %zmm0, %zmm2
    vaddpd    %zmm1, %zmm1, %zmm3
    vmaxpd    %zmm3, %zmm1, %zmm1
    vmaxpd    %zmm2, %zmm0, %zmm0
    vcvtpd2ps    %zmm1, %ymm1
    vcvtpd2ps    %zmm0, %ymm0
    vinsertf64x4    $1, %ymm0, %zmm1, %zmm0
    vmovups    %zmm0, (%rdi)
    retq

I think, the "vextractf64x4" takes the wrong half of %zmm0.

key for LLC launch: -mcpu=knl

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20151022/7c55f631/attachment.html>


More information about the llvm-bugs mailing list