[PATCH] D35839: [X86] SET0 to use XMM registers where possible PR26018 PR32862

Dinar Temirbulatov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 25 07:36:19 PDT 2017


dtemirbulatov created this revision.

VEX-encoded vxorps %xmm0, %xmm0, %xmm0 does the same thing as EVEX-encoded vxorps %zmm0, %zmm0, %zmm0, zeroing the full-width vector and breaking dependencies on the old value of the architectural register.

The VEX version is one byte shorter than the EVEX version.


https://reviews.llvm.org/D35839

Files:
  lib/Target/X86/X86InstrInfo.cpp
  test/CodeGen/X86/2012-01-12-extract-sv.ll
  test/CodeGen/X86/2012-04-26-sdglue.ll
  test/CodeGen/X86/2012-1-10-buildvector.ll
  test/CodeGen/X86/all-ones-vector.ll
  test/CodeGen/X86/avx-basic.ll
  test/CodeGen/X86/avx-cast.ll
  test/CodeGen/X86/avx-cvt-3.ll
  test/CodeGen/X86/avx-intrinsics-fast-isel.ll
  test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
  test/CodeGen/X86/avx-intrinsics-x86.ll
  test/CodeGen/X86/avx-load-store.ll
  test/CodeGen/X86/avx-logic.ll
  test/CodeGen/X86/avx-select.ll
  test/CodeGen/X86/avx-vbroadcastf128.ll
  test/CodeGen/X86/avx-vextractf128.ll
  test/CodeGen/X86/avx-vperm2x128.ll
  test/CodeGen/X86/avx2-arith.ll
  test/CodeGen/X86/avx2-gather.ll
  test/CodeGen/X86/avx2-intrinsics-fast-isel.ll
  test/CodeGen/X86/avx2-shift.ll
  test/CodeGen/X86/avx2-vbroadcast.ll
  test/CodeGen/X86/avx2-vbroadcasti128.ll
  test/CodeGen/X86/avx2-vector-shifts.ll
  test/CodeGen/X86/avx512-arith.ll
  test/CodeGen/X86/avx512-build-vector.ll
  test/CodeGen/X86/avx512-cvt.ll
  test/CodeGen/X86/avx512-gather-scatter-intrin.ll
  test/CodeGen/X86/avx512-intrinsics.ll
  test/CodeGen/X86/avx512-mask-op.ll
  test/CodeGen/X86/avx512-masked-memop-64-32.ll
  test/CodeGen/X86/avx512-mov.ll
  test/CodeGen/X86/avx512-select.ll
  test/CodeGen/X86/avx512-skx-insert-subvec.ll
  test/CodeGen/X86/avx512-vbroadcast.ll
  test/CodeGen/X86/avx512-vselect-crash.ll
  test/CodeGen/X86/avx512-vselect.ll
  test/CodeGen/X86/avx512bw-mov.ll
  test/CodeGen/X86/avx512ifma-intrinsics.ll
  test/CodeGen/X86/avx512vbmi-intrinsics.ll
  test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
  test/CodeGen/X86/bitcast-and-setcc-512.ll
  test/CodeGen/X86/clear_upper_vector_element_bits.ll
  test/CodeGen/X86/combine-abs.ll
  test/CodeGen/X86/combine-pmuldq.ll
  test/CodeGen/X86/compress_expand.ll
  test/CodeGen/X86/fma_patterns.ll
  test/CodeGen/X86/fma_patterns_wide.ll
  test/CodeGen/X86/insertelement-duplicates.ll
  test/CodeGen/X86/insertelement-zero.ll
  test/CodeGen/X86/madd.ll
  test/CodeGen/X86/masked_gather_scatter.ll
  test/CodeGen/X86/masked_memop.ll
  test/CodeGen/X86/memset.ll
  test/CodeGen/X86/merge-consecutive-loads-256.ll
  test/CodeGen/X86/merge-consecutive-loads-512.ll
  test/CodeGen/X86/nontemporal-2.ll
  test/CodeGen/X86/packss.ll
  test/CodeGen/X86/pmovsx-inreg.ll
  test/CodeGen/X86/pr28129.ll
  test/CodeGen/X86/sad.ll
  test/CodeGen/X86/split-extend-vector-inreg.ll
  test/CodeGen/X86/sse-fsignum.ll
  test/CodeGen/X86/vec_ext_inreg.ll
  test/CodeGen/X86/vec_extract-avx.ll
  test/CodeGen/X86/vec_uint_to_fp-fastmath.ll
  test/CodeGen/X86/vector-extend-inreg.ll
  test/CodeGen/X86/vector-lzcnt-256.ll
  test/CodeGen/X86/vector-lzcnt-512.ll
  test/CodeGen/X86/vector-pcmp.ll
  test/CodeGen/X86/vector-popcnt-256.ll
  test/CodeGen/X86/vector-popcnt-512.ll
  test/CodeGen/X86/vector-rotate-256.ll
  test/CodeGen/X86/vector-shift-ashr-256.ll
  test/CodeGen/X86/vector-shift-ashr-512.ll
  test/CodeGen/X86/vector-shift-lshr-256.ll
  test/CodeGen/X86/vector-shift-shl-256.ll
  test/CodeGen/X86/vector-shuffle-256-v16.ll
  test/CodeGen/X86/vector-shuffle-256-v32.ll
  test/CodeGen/X86/vector-shuffle-256-v4.ll
  test/CodeGen/X86/vector-shuffle-256-v8.ll
  test/CodeGen/X86/vector-shuffle-512-v16.ll
  test/CodeGen/X86/vector-shuffle-512-v64.ll
  test/CodeGen/X86/vector-shuffle-512-v8.ll
  test/CodeGen/X86/vector-shuffle-avx512.ll
  test/CodeGen/X86/vector-shuffle-combining-avx.ll
  test/CodeGen/X86/vector-shuffle-combining-avx2.ll
  test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
  test/CodeGen/X86/vector-shuffle-combining-xop.ll
  test/CodeGen/X86/vector-shuffle-v1.ll
  test/CodeGen/X86/vector-tzcnt-256.ll
  test/CodeGen/X86/vector-tzcnt-512.ll
  test/CodeGen/X86/viabs.ll
  test/CodeGen/X86/vselect-pcmp.ll
  test/CodeGen/X86/xop-intrinsics-fast-isel.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D35839.108074.patch
Type: text/x-patch
Size: 467663 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170725/bcfba0a0/attachment-0001.bin>


More information about the llvm-commits mailing list