[PATCH] D60940: [X86] Don't form masked instructions if the operation has an additional user.

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 20 23:31:23 PDT 2019


craig.topper created this revision.
craig.topper added reviewers: RKSimon, spatel.
Herald added a subscriber: hiraditya.
Herald added a project: LLVM.

This will cause the operation to be repeated in both a mask and another masked
or unmasked form. This can a wasted of execution resources.

Unfortunately, a lot of our intrinsic test both masked and unmasked operations
with the same inputs and we now emit the op part only once. I'll try to clean
this up, but wanted to get feedback on the patch itself first.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D60940

Files:
  llvm/lib/Target/X86/X86InstrAVX512.td
  llvm/test/CodeGen/X86/avx512-gfni-intrinsics.ll
  llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512-intrinsics.ll
  llvm/test/CodeGen/X86/avx512-rotate.ll
  llvm/test/CodeGen/X86/avx512-vec-cmp.ll
  llvm/test/CodeGen/X86/avx512bw-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512bw-intrinsics.ll
  llvm/test/CodeGen/X86/avx512bwvl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512bwvl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512cdvl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512cdvl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512dq-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512dqvl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512dqvl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512ifma-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512ifma-intrinsics.ll
  llvm/test/CodeGen/X86/avx512ifmavl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512ifmavl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vbmi-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vbmi-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vbmi2-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vbmi2-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vbmi2vl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vbmi2vl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vbmivl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vbmivl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vl-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vl_vnni-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vl_vnni-intrinsics.ll
  llvm/test/CodeGen/X86/avx512vnni-intrinsics-upgrade.ll
  llvm/test/CodeGen/X86/avx512vnni-intrinsics.ll
  llvm/test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
  llvm/test/CodeGen/X86/x86-interleaved-access.ll





More information about the llvm-commits mailing list