[PATCH] D61114: [SelectionDAG] Use stack load/store in PromoteIntRes_BITCAST when the input needs to be be split and the output type is a vector.
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 25 12:26:16 PDT 2019
efriedma added inline comments.
================
Comment at: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp:326
+ }
+ break;
}
----------------
I wonder if there's anything else which would be reasonable to do on a target-independent basis...
I guess on x86, for a bitcast like `bitcast <64 x i1> %1 to <2 x i32>`, the optimal lowering is actually involves splitting the operation: you then have two `bitcast <32 x i1> %1 to i32`, which has an existing efficient custom lowering. Then you use a BUILD_VECTOR to turn the two results into a `<2 x i32>`. But I'm not sure that generalizes in a useful way.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D61114/new/
https://reviews.llvm.org/D61114
More information about the llvm-commits
mailing list