diff options
author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-21 16:56:51 +0000 |
---|---|---|
committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-03-21 16:56:51 +0000 |
commit | f88a29e66a860db291e5a5888fa1626a4b2ed65f (patch) | |
tree | 65fdaeff8908b5682374faa3e853ce7a089d396e /llvm/lib/ProfileData/InstrProf.cpp | |
parent | 1014ec3bcb4cb360f171f312b3cf84ecccf2b2e1 (diff) | |
download | bcm5719-llvm-f88a29e66a860db291e5a5888fa1626a4b2ed65f.tar.gz bcm5719-llvm-f88a29e66a860db291e5a5888fa1626a4b2ed65f.zip |
[mips] Correct lowering of VECTOR_SHUFFLE to VSHF.
Summary:
VECTOR_SHUFFLE concatenates the vectors in an vectorwise fashion.
<0b00, 0b01> + <0b10, 0b11> -> <0b00, 0b01, 0b10, 0b11>
VSHF concatenates the vectors in a bitwise fashion:
<0b00, 0b01> + <0b10, 0b11> ->
0b0100 + 0b1110 -> 0b01001110
<0b10, 0b11, 0b00, 0b01>
We must therefore swap the operands to get the correct result.
The test case that discovered the issue was MultiSource/Benchmarks/nbench.
Reviewers: matheusalmeida
Reviewed By: matheusalmeida
Differential Revision: http://llvm-reviews.chandlerc.com/D3142
llvm-svn: 204480
Diffstat (limited to 'llvm/lib/ProfileData/InstrProf.cpp')
0 files changed, 0 insertions, 0 deletions