aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2020-04-15 12:03:39 -0700
committerCraig Topper <craig.topper@intel.com>2020-04-15 12:17:18 -0700
commit8dfb9627b7be27e7b37ab4200c60f65f5af95256 (patch)
tree16bb0ea7158762a0cd0c229b0b8df4380cbaec83 /clang/lib/CodeGen/CodeGenModule.h
parent3fbc9c7b51e427a549109f092d3a822b70e1e679 (diff)
downloadllvm-8dfb9627b7be27e7b37ab4200c60f65f5af95256.zip
llvm-8dfb9627b7be27e7b37ab4200c60f65f5af95256.tar.gz
llvm-8dfb9627b7be27e7b37ab4200c60f65f5af95256.tar.bz2
[X86] Make v32i16/v64i8 legal types without avx512bw. Use custom splitting instead.
This moves v32i16/v64i8 to a model consistent with how we treat integer types with avx1. This does change the ABI for types vXi16/vXi8 vectors larger than 512 bits to pass in multiple zmms instead of multiple ymms. We'd already hacked some code to make v64i8/v32i16 pass in zmm. Cost model is still a bit of a mess. In some place I tried to match existing behavior. But really we need to account for splitting and concating costs. Cost model for shuffles is especially pessimistic. Differential Revision: https://reviews.llvm.org/D76212
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
0 files changed, 0 insertions, 0 deletions