Legalization of G_IS_FPCLASS is added. It is implemented similar to
the DAG version with necessary changes.
Addressed reviewers' notes
- Added test to check legalization in target-independent way,
- Do not use Optional with MachineInstrBuilder,
- Add some support for using fewerElements vector handling.
Some support for fewerElements was added, but the support of vector types in X86 Global ISel is weak, and I could not make tests for this case. Some patches for this support are in work, but it is a long trail.
This intrinsic does not interact with floating-point environment, it is a pure function. So it does not need strict variant.
Indeed, thank you.
New test is added (legalize-is_fpclass.mir), which tests the lowering similar to other legalize-*.mir tests.
The idea of using this test was to simplify comparison of the code generation with DAG-variant. This test is obtained from the test added in dependency review item, with tests for vector types stripped out.