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: unassignedb...@nondot.org
          Reporter: shishpanov2...@yandex.ru
                CC: llvm-bugs@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.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to