[all-commits] [llvm/llvm-project] 2ec380: [Hexagon] Improve handling of 32-bit mulh/mul_lohi...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Sat Oct 22 15:24:56 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2ec380b23f2e7058a1732582f890f9b41fd94175
https://github.com/llvm/llvm-project/commit/2ec380b23f2e7058a1732582f890f9b41fd94175
Author: Krzysztof Parzyszek <kparzysz at quicinc.com>
Date: 2022-10-22 (Sat, 22 Oct 2022)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsHexagon.td
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/test/CodeGen/Hexagon/autohvx/mulh.ll
A llvm/test/CodeGen/Hexagon/autohvx/vmpy-parts.ll
Log Message:
-----------
[Hexagon] Improve handling of 32-bit mulh/mul_lohi on HVX
Handle MULH[US] by normalizing them into newly invented nodes
HexagonISD::(S|U|US)MUL_LOHI. On HVX v60, if only the high part of
SMUL_LOHI is used, use the original MULHS expansion. In all other
cases, expand the full product.
On HVX v62, always expand the full product.
Introduce Hexagon-specific LLVM IR intrinsics for 32x32 multiplication
returning low/high parts.
More information about the All-commits
mailing list