This patch removes DAG combines that are no longer relevant
because equivalent IR combines have been added.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
18922–18923 | Rather than returning SDValue(); you should be able to remove the case statement entirely for the affected intrinsic IDs. |
llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll | ||
---|---|---|
269 | @paulwalker-arm, I have a question here, what is the semantic of llvm.aarch64.sve.convert.from.svbool/ llvm.aarch64.sve.convert.to.svbool ? |
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
18922–18923 | Fixed. |
llvm/test/CodeGen/AArch64/sve-intrinsics-logical-imm.ll | ||
---|---|---|
269 | llvm.aarch64.sve.convert.from.svbool returns a boolean vector that contains only those lanes that are relevant for the result type. For example, when the return type is <vscale x 4 x i1> it returns every 4th lane of the <vscale x 16 x i1> input. llvm.aarch64.sve.convert.to.svbool returns a boolean vector of type <vscale x 16 x i1> whereby the input is evenly distributed, for example, when the input type is <vscale x 2 x i1> each input lane is distribute across every 8th lane of the result, with all other result lanes set to zero. |
Rather than returning SDValue(); you should be able to remove the case statement entirely for the affected intrinsic IDs.