I had to update two failing existing tests.
Details
- Reviewers
- None
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
Chuong in our team is currently looking into zext/sext of vector instructions. I think he said it needed something to handle v4i16->v4i64 type extends that need to be split into two step, but it was working for a lot of the other cases.
Sorry for the churn! I found:
remark: unable to legalize instruction: %942:_(<4 x s64>) = G_ZEXT %941:_(<4 x s32>) [-Rpass-missed=gisel-legalize]
remark: unable to legalize instruction: %190:_(<8 x s32>) = G_ZEXT %188:_(<8 x s16>) [-Rpass-missed=gisel-legalize]
I did the following on a Graviton 3:
https://gist.github.com/tschuett/d448c87ee985af99f90568fddf9ffd82
Sounds good. There is a lot of extra complexity in the vector lowering - a lot of cases that can go wrong or be missed. I am hoping that we can clear up most of them and that will put us in a better place to start optimizing what remains.
A lot of the test updates look very similar to what he had I think, which is a good sign. I'm hoping that something like https://reviews.llvm.org/D155871 can help to get USHLL2 working.