I could not simply revert the recent removal of some FP BuildVecotr tests, but by using a new method isBuildVectorAllLegalFPImms() to check if all the operands of the BVN are legal FP immediates, more cases than just all-ones or all-zeros can be left as-is during legalization.
This does make most of the recently removed test functions pass again, except for f3 and f4 in vec-const-06.ll, which involved constants only producible with VGBM. We don't do this for FP constants as they are thought to not be useful in practice.
f3: removed: VGBM FP constants: <2 x double> <double 0xFF000000FFFF0000, double 0xFFFFFF00FFFF00>
f4: replaced VGBM FP constant to all-ones: <double 0xff000000ffff0000, double undef>
This patch changes one file on SPEC (/447.dealII/build/sparse_matrix_ez.float.s), with 8 x vgmg -> vgbm, which seems to be the inverse change from the recent VGBM commit.