Test case and FastISel fixes with FeatureVSX enabled
There are a number of test cases that fail if FeatureVSX is turned on.
Many of them use options that aren't compatible with VSX (like -m32 or darwin
targets). I just disabled vsx (via -mattr=-vsx) for these.
The rest are looking for specific instructions that are not generated with
FeatureVSX enabled. I added -mattr=-vsx to the existing test checks for these
and then added new checks specific to VSX to look for the VSX instructions that
are generated instead.
The FastISel code cannot handle VSX registers and various assertion checks
will fail if one is encountered when it runs. I changed all the places in
FastISEL that allocate registers to check for VSX registers and return false
if one is found so that the regular code gen can handle it.
Do other targets break if you make this call their two-argument isTypeLegal with a throw-away VT argument?
I'd rather do this in a way that targets don't need to provide two very-similar overrides and keep them in sync if possible.