6 Commits

Author SHA1 Message Date
Craig Topper
993d492ceb [AVX-512] Fix execution domain for EVEX encoded VINSERTPS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283692 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-09 06:41:47 +00:00
Craig Topper
9230befd90 [AVX-512] Fix a bug in getLargestLegalSuperClass where we inflated to VR128X/VR256X even when VLX isn't supported.
This seems to have been responsible for the XMM16-31 spills observed in PR29112. With this fixed the test case has been modified to no longer have a spill of XMM16.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283668 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-08 18:49:57 +00:00
Simon Pilgrim
f2d3a894f3 [X86] Add explicit test triple to make windows/msvc builds happier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282719 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 15:10:09 +00:00
Craig Topper
607b2a36df [X86] Really fix the FileCheck line from r282690.
Why does Folded Spill comments print with a different number of # characters on different systems?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282693 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 06:49:21 +00:00
Craig Topper
43006cde9e [AVX-512] Fix a check line from r282690.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282691 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 06:37:21 +00:00
Craig Topper
37b4149678 [AVX-512] Support spills of XMM16-31 and YMM16-31 when VLX isn't available.
This adds new pseudo instructions that can be selected during register allocation to represent loads and stores of XMM/YMM registers when AVX512F is available, but VLX isn't. They will be converted to VEX encoded moves if the register turns out to be XMM0-15/YMM0-15. Otherwise either an EVEX VEXTRACT(store) or VBROADCAST(load) will be used.

Fixes one of the cases from PR29112.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282690 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-29 06:07:09 +00:00