This patch replaces VPWidenRecipe with VPInstructions. This is still WIP
and needs to handle a few additional cases, but I wanted to share this
early to make sure the direction makes sense.
With the current version, we get
Expected Passes : 286 Unexpected Failures: 63
I introduced a new VPWidenInstruction, but maybe it would be better to
just use VPInstruction.
If the direction looks right, I'll also continue with other recipes.
Not sure why ExternalDef is needed, as Value2VPValue is used for both variant and invariant values.