Krzysztof Parzyszek
40a605f1be
[Hexagon] Fix wrong order of operands for vmux
...
Shuffle generation uses vmux to collapse vectors resulting from two
individual shuffles into one. The indexes of the elements selected
from the first operand were indicated by 0xFF in the constant vector
used in the compare instruction, but the compare (veqb) set the bits
corresponding to the 0x00 elements, thus inverting the selection.
Reverse the order of operands to vmux to get the correct output.
llvm-svn: 320516
2017-12-12 19:32:41 +00:00
Krzysztof Parzyszek
a8ab1b75cb
[Hexagon] Add support for Hexagon V65
...
llvm-svn: 320404
2017-12-11 18:57:54 +00:00
Simon Pilgrim
a335e1e29d
Fix 'enumeral and non-enumeral type in conditional expression' gcc warning. NFCI.
...
llvm-svn: 320254
2017-12-09 16:19:18 +00:00
Simon Pilgrim
3d0be4f507
Fix signed/unsigned gcc warning. NFCI.
...
llvm-svn: 320253
2017-12-09 16:04:57 +00:00
Krzysztof Parzyszek
d2967868be
[Hexagon] Recognize vdealb, vdealh, vshuffb and vshuffh specifically
...
llvm-svn: 319978
2017-12-06 22:41:49 +00:00
Krzysztof Parzyszek
64533cf630
[Hexagon] Handle perfect shuffles on single vectors
...
llvm-svn: 319965
2017-12-06 21:25:03 +00:00
Tim Shen
b684b1aa35
[Hexagon] Suppress more warnings on unused variables defined for asserts.
...
llvm-svn: 319944
2017-12-06 19:33:42 +00:00
Davide Italiano
9c60c7dcf4
[Target] dumpr() is defined only in debug builds.
...
This fixes the clang build on macOS.
llvm-svn: 319923
2017-12-06 18:54:17 +00:00
Krzysztof Parzyszek
7d37dd8902
[Hexagon] Generate HVX code for vector construction and access
...
Support for:
- build vector,
- extract vector element, subvector,
- insert vector element, subvector,
- shuffle.
llvm-svn: 319901
2017-12-06 16:40:37 +00:00