The idea is that we can do a better job of lowering once we have a firm idea of which operands overlap, which are constants, and the like.
The first version of this was almost 2 years ago: https://lore.kernel.org/qemu-devel/[email protected]/ This version is fairly simplified by not having to handle TCG_TARGET_REG_BITS == 32 anymore. Some of Paolo's patches to choose and vs shift could be incorporated here, but during optimize instead of initial code generation. r~ Richard Henderson (3): tcg/optimize: Lower unsupported deposit during optimize tcg/optimize: Lower unsupported extract2 during optimize tcg: Expand missing rotri with extract2 tcg/optimize.c | 257 ++++++++++++++++++++++++++++++++++++++++++++----- tcg/tcg-op.c | 174 ++++++--------------------------- 2 files changed, 262 insertions(+), 169 deletions(-) -- 2.43.0
