this is llvm part , the clang part is https://reviews.llvm.org/D37668
Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
| lib/IR/AutoUpgrade.cpp | ||
|---|---|---|
| 75 ↗ | (On Diff #114766) | Version number should be 6.0 |
If you could start the relevant -fast-isel test files (at least for these cases) it'd be much appreciated - I've never found the strength of will to start testing all the avx512 instructions...
there is a problem with intrinsics that use 64 bit masks (e.g. *epi8) have a sub optimal asm code (hundreds of code lines) on a 32bit machine when running fast-isel flag . working on a solution and updating in another patch.
Do we have no test coverage of x86_avx512_mask_pbroadcast_q_mem_512? Still worth adding an auto-upgrade path?
| test/CodeGen/X86/avx512-intrinsics-upgrade.ll | ||
|---|---|---|
| 2 ↗ | (On Diff #115172) | Can you add a 32-bit mode run line here? I want to make sure we handle this well. |
| 54 ↗ | (On Diff #115172) | The pbroadcast.q.mem.512 intrinsic seems to have never worked. We don't need to add a test or autoupgrade for it if that's the case. |
| test/CodeGen/X86/avx512-intrinsics.ll | ||
| 4226 ↗ | (On Diff #115172) | We really need a 32-bit run line on this file. This test case throws an unreachable on trunk today. |
| test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll | ||
| 8 ↗ | (On Diff #115172) | Any idea why this generated such terrible code? |
| test/CodeGen/X86/avx512bw-intrinsics-fast-isel.ll | ||
|---|---|---|
| 8 ↗ | (On Diff #115172) | there is a problem with intrinsics that use 64 bit masks (e.g. *epi8) have a sub optimal asm code (hundreds of code lines) on a 32bit machine when running fast-isel flag . working on a solution and updating in another patch. |
| test/CodeGen/X86/avx512-intrinsics-upgrade.ll | ||
|---|---|---|
| 2 ↗ | (On Diff #115172) | the current generated code for 32-bit is not optimal, 32-bit needs some more work which will be in a following patch . |
| test/CodeGen/X86/avx512-intrinsics.ll | ||
|---|---|---|
| 4226 ↗ | (On Diff #115172) | it still throws an unreachable after my changes |