This looks like a mistake when the tests were committed in r363946.
There were two sets of tests for the f32 variant of these instructions,
instead of one set for f16 and one set for f32.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
The tests you changed had 2 byte constants vs the 4 byte ones in the remaining f32 tests. But I don't know if that is significant.
LGTM
Comment Actions
I assumed that the tests with 2 byte literals were originally supposed to be for the f16 instrucction, and someone just forgot to change the opcodes.
Comment Actions
It is significant - assembler expects 16 bit literals for 16 bit operands like u16 or f16 - see https://llvm.org/docs/AMDGPUOperandSyntax.html#type-and-size-conversion.
If I remember correctly, HW ignores high 16 bits of literals specified for 16 bit operands.