[llvm] [X86][GlobalISel] Support G_FADD, G_FSUB, G_FMUL, G_FDIV (PR #87339)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 18 18:43:43 PDT 2024
e-kud wrote:
@RKSimon basically this PR stuck because tests for non-power-of-2 cases require `G_INSERT_VECTOR_ELT`. Then we cannot match `G_INSERT_VECTOR_ELT` to `PINSRD` because pattern for `PINSRD` uses `imm` for index operand. `imm` is mapped to `iPTR` that doesn't have an equivalent in GlobalISel to match.
I've tried to use a more specific type, e.g. `u8imm` because it makes sense for the `PINSRD` but it doesn't make sense for `insertelt` as we may have an instruction inserting a value into a vector of 1024 elements.
So I have a patch that introduces support of `iPTR` to GlobalISel as a valid type for pattern export. But haven't submitted it yet.
I may turn this PR into draft or finish only with tests for power-of-2 cases. What do you think?
https://github.com/llvm/llvm-project/pull/87339
More information about the llvm-commits
mailing list