Fix tests broken by LLVM Constant and Verifier updates (#3780)
* `llvm-intrinsics/frexp.ll` - emit `OpConstantNull` for FP-vector zero.
llvm/llvm-project@c32a4cf99fa5 makes `Constant::getNullValue(<N x
fpty>)` return a `ConstantFP` splat of `+0.0` instead of
`ConstantAggregateZero`. FP-vector zeros fell through to the
vector-`ConstantFP` branch and were emitted as `OpConstantComposite` of
zero scalars.
The in-tree SPIR-V backend made the same fix in
llvm/llvm-project@125242eb15b6; this patch mirrors it for the
translator.
* `reqd_work_group_size_md.ll` - use 3-operand metadata.
llvm/llvm-project@6794e31e894d added an IR Verifier check requiring
`!reqd_work_group_size` to have exactly three operands. The test was
exercising 1- and 2-operand forms that no real front-end emits (clang
always emits all three of X, Y, Z). Updated to 3-operand metadata; the
SPIR-V output is unchanged.
Original commit:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/6fcf200437e6f43