[PATCH] D70267: [X86][SSE] Simplify extract(shuffle(load())) handling (PR43971)

Wolfgang Pieb via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 15 16:35:18 PST 2019


wolfgangp added a comment.

I'm unfortunately still getting a loop in DAGcombiner with this one (llc -mattr=+avx  on linux). If you make the 1.000 in the select instr into 0.000 it finishes.

  define float @test(<8 x float> *%a0) {
  entry:
    %0 = load <8 x float>, <8 x float>* %a0, align 32
    %vecext = extractelement <8 x float> %0, i32 1
    %cmp = fcmp oeq float %vecext, 0.000000e+00
    %cond = select i1 %cmp, float 1.000000e+00, float %vecext
    ret float %cond
  }


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70267/new/

https://reviews.llvm.org/D70267





More information about the llvm-commits mailing list