This will allow us to remove the x86 specific intrinsics from the backend.
Details
Diff Detail
Event Timeline
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
6304 | That's not really a shuffle. It's an extract subvector, but the IR doesn't have a real instruction for that. It's needed so we can go from i8 -> v8i1 -> v2i1/v4i1. | |
test/CodeGen/avx512f-builtins.c | ||
123 | I'll clean that up. I fixed most of them but looks like a missed a few. |
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
6304 | I understand. I just wanted to be sure that you receive only one "kmov %edi, %k1" at the end. |
lib/CodeGen/CGBuiltin.cpp | ||
---|---|---|
6304 | Yes, only one "kmov %edi, %k1" was generated. |
What code do you receive at the end? There is no shuffle instruction in the architecture for mask vector.