I'm finishing off some patches to allow insv, extv and extzv to be defined as normal direct optabs (such as "insvsi" and "insvdi" rather than just "insv"). This series of patches does some groundwork to make that possible.
The patches are not supposed to change the generated code. I checked that the assembly output for a set of gcc .ii files didn't change for x86_64-linux-gnu, powerpc64-linux-gnu and mips64-linux-gnu. Also regression-tested on x86_64-linux-gnu, powerpc64-linux-gnu and mips64-elf. Richard