]> granicus.if.org Git - llvm/commit
[AVX512] Use VMOVAPSZ128rr/VMOVAPS256rr for VR128X/VR256X physreg moves when VLX...
authorCraig Topper <craig.topper@gmail.com>
Mon, 18 Jul 2016 06:14:34 +0000 (06:14 +0000)
committerCraig Topper <craig.topper@gmail.com>
Mon, 18 Jul 2016 06:14:34 +0000 (06:14 +0000)
commit0c4677f3cca79f9e2858f7e47737fd6840cabb66
treef9b9e3496fef65c0134b41d4dda1c5bfe8fdbd38
parent92763c0edd07b5218b63e2dc1c16667b72891927
[AVX512] Use VMOVAPSZ128rr/VMOVAPS256rr for VR128X/VR256X physreg moves when VLX is supported.

Ideally we would use VEX encoded moves instead of EVEX if the high 16 registers aren't referenced, but this a good first step.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275763 91177308-0d34-0410-b5e6-96231b3b80d8
14 files changed:
lib/Target/X86/X86InstrInfo.cpp
test/CodeGen/X86/avx2-intrinsics-x86.ll
test/CodeGen/X86/avx512-calling-conv.ll
test/CodeGen/X86/avx512-fma.ll
test/CodeGen/X86/avx512-gather-scatter-intrin.ll
test/CodeGen/X86/avx512bwvl-intrinsics.ll
test/CodeGen/X86/avx512dqvl-intrinsics.ll
test/CodeGen/X86/avx512ifmavl-intrinsics.ll
test/CodeGen/X86/avx512vbmivl-intrinsics.ll
test/CodeGen/X86/avx512vl-intrinsics-upgrade.ll
test/CodeGen/X86/avx512vl-intrinsics.ll
test/CodeGen/X86/fma_patterns.ll
test/CodeGen/X86/masked_gather_scatter.ll
test/CodeGen/X86/masked_memop.ll