[Hexagon] Improve casting of boolean HVX vectors to scalars
authorKrzysztof Parzyszek <kparzysz@quicinc.com>
Wed, 26 Feb 2020 15:56:12 +0000 (09:56 -0600)
committerKrzysztof Parzyszek <kparzysz@quicinc.com>
Wed, 26 Feb 2020 18:46:52 +0000 (12:46 -0600)
commit7691790dfd1011d08f5468f63952d7690755aad4
tree5ebaa77930dbd15f080465b23c1f77f1a2179a25
parentd260ea7199bce566fb4229eac5cc4c5d4843c5f0
[Hexagon] Improve casting of boolean HVX vectors to scalars

- Mark memory access for bool vectors as disallowed in target lowering.
  This will prevent combining bitcasts of bool vectors with stores.
- Replace the actual bitcasting code with a faster version.
- Handle casting of v16i1 to i16.
llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
llvm/lib/Target/Hexagon/HexagonISelLowering.h
llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
llvm/test/CodeGen/Hexagon/autohvx/isel-hvx-pred-bitcast.ll
llvm/test/CodeGen/Hexagon/autohvx/isel-store-bitcast-v128i1.ll [new file with mode: 0644]
llvm/test/CodeGen/Hexagon/hvx-bitcast-v64i1.ll
llvm/test/CodeGen/Hexagon/store-vector-pred.ll