[all-commits] [llvm/llvm-project] 40a50f: [x86] avoid false dependency stall on 'sbb' with s...

Sanjay Patel via All-commits all-commits at lists.llvm.org
Mon Feb 7 07:13:08 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 40a50f8701a99a063a9950fc0a41f46934e4e160
      https://github.com/llvm/llvm-project/commit/40a50f8701a99a063a9950fc0a41f46934e4e160
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2022-02-07 (Mon, 07 Feb 2022)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
    M llvm/test/CodeGen/X86/copy-eflags.ll
    M llvm/test/CodeGen/X86/jump_sign.ll
    M llvm/test/CodeGen/X86/machine-cse.ll
    M llvm/test/CodeGen/X86/pr32588.ll
    M llvm/test/CodeGen/X86/pr35972.ll
    M llvm/test/CodeGen/X86/sbb-false-dep.ll
    M llvm/test/CodeGen/X86/sbb-zero-idiom.ll
    M llvm/test/CodeGen/X86/sbb.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/select.ll
    M llvm/test/CodeGen/X86/sext-i1.ll
    M llvm/test/CodeGen/X86/shl-crash-on-legalize.ll
    M llvm/test/CodeGen/X86/umul_fix_sat.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-compare-any_of.ll

  Log Message:
  -----------
  [x86] avoid false dependency stall on 'sbb' with same source reg

This is effectively inverting the transform added with D116804
because the downside of the false dependency of something like
"sbb %eax, %eax" is much greater than the upside of eliminating
a zeroing instruction on (all?) Intel CPUs.

Differential Revision: https://reviews.llvm.org/D118843




More information about the All-commits mailing list