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

            Bug ID: 24364
           Summary: [x86, FMA] negated fma pattern not recognized
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
    Classification: Unclassified

Testing llc built from r244046:

$ cat fnmsub.ll 

define float @nmsub(float %a, float %b, float %c) {
  %mul = fmul fast float %a, %b
  %add = fadd fast float %c, %mul
  %neg = fsub fast float 0.0, %add
  ret float %neg
}


$ ./llc -o - fnmsub.ll -mattr=fma -enable-unsafe-fp-math
...
    vfmadd213ss    %xmm2, %xmm1, %xmm0
    vxorps    LCPI0_0(%rip), %xmm0, %xmm0
    retq

-----------------------------------------------------------------

I think this should just be a 'vfnmsub213ss'; we shouldn't have to negate
(vxorps) as a separate operation.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to