diff options
author | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2014-06-09 16:06:29 +0000 |
---|---|---|
committer | Bill Schmidt <wschmidt@linux.vnet.ibm.com> | 2014-06-09 16:06:29 +0000 |
commit | 42995e8c74d96f5205a2fbce75260cdda5104842 (patch) | |
tree | d58dc7c0f54444ed1236b769b18e66815a9fd001 /llvm/lib/Support/StringRefMemoryObject.cpp | |
parent | a9b6202d60ea412e27f9f72c1e8a0c7fe9aa7d51 (diff) | |
download | bcm5719-llvm-42995e8c74d96f5205a2fbce75260cdda5104842.tar.gz bcm5719-llvm-42995e8c74d96f5205a2fbce75260cdda5104842.zip |
[PPC64LE] Generate correct little-endian code for v16i8 multiply
The existing code in PPCTargetLowering::LowerMUL() for multiplying two
v16i8 values assumes that vector elements are numbered in big-endian
order. For little-endian targets, the vector element numbering is
reversed, but the vmuleub, vmuloub, and vperm instructions still
assume big-endian numbering. To account for this, we must adjust the
permute control vector and reverse the order of the input registers on
the vperm instruction.
The existing test/CodeGen/PowerPC/vec_mul.ll is updated to be executed
on powerpc64 and powerpc64le targets as well as the original powerpc
(32-bit) target.
llvm-svn: 210474
Diffstat (limited to 'llvm/lib/Support/StringRefMemoryObject.cpp')
0 files changed, 0 insertions, 0 deletions