[Hexagon] Generate HVX code for vector construction and access
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 6 Dec 2017 16:40:37 +0000 (16:40 +0000)
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>
Wed, 6 Dec 2017 16:40:37 +0000 (16:40 +0000)
commit7d37dd8902e8ef8583cdbbe906eda8435426c996
tree1c8e0961ebc4986c6a8c6c510a4d4fc38b38a37d
parentaa902be15897c3fc1486481648dc3958e7aeba81
[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
23 files changed:
llvm/lib/Target/Hexagon/CMakeLists.txt
llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.h
llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp [new file with mode: 0644]
llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
llvm/lib/Target/Hexagon/HexagonISelLowering.h
llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp [new file with mode: 0644]
llvm/lib/Target/Hexagon/HexagonPatterns.td
llvm/test/CodeGen/Hexagon/autohvx/align-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/align-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/contract-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/contract-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/deal-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/deal-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/delta-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/delta-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/delta2-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/extract-element.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/reg-sequence.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/shuff-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/shuff-64b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-128b.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/autohvx/shuff-combos-64b.ll [new file with mode: 0644]