AVX versions of the converts work on f32/f64 types, while AVX512 version work on vectors.
Details
Diff Detail
Event Timeline
Any idea why the tests changed?
| lib/Target/X86/X86InstrAVX512.td | ||
|---|---|---|
| 6108 | Should we have a VCVTSD2SSZrr_Int instruction like SSE/AVX? | |
| test/CodeGen/X86/vector-half-conversions.ll | ||
|---|---|---|
| 6 | Please can you add -verify-machineinstrs to these to check that the the regclass changes are still being respected. | |
@craig.topper I don't know exactly why the test changed.
But the diff is only with register names and slightly change in the instructions' order.
Please add the new _Int instructions to X86InstrInfo::hasUndefRegUpdate() and the load folding tables.
| lib/Target/X86/X86InstrAVX512.td | ||
|---|---|---|
| 6053 | We probably don't need a non-intrinsic rounding mode instruction. Other than the intrinsic there's no way to create a node with the rounding mode | |
| 6065 | We probably don't need a non-intrinsic rounding mode instruction. Other than the intrinsic there's no way to create a node with the rounding mode | |
| 6111–6113 | Can this use VCVTSD2SSZrr_Int? Is there an equivalent pattern for AVX/SSE? What does it use? | |
| 6120–6122 | Can this use VCVTSS2SDZrr_Int? Is there an equivalent pattern for AVX/SSE? What does it use? | |
We probably don't need a non-intrinsic rounding mode instruction. Other than the intrinsic there's no way to create a node with the rounding mode