Depends on D53057.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
- Why do we need to do this? If there is an i64 that's stored in an i32 register, shouldn't we have wrap in that case?
- Some unrelated question: If the shift amount operand is not a splat vector, I think you said isel just crashes, right? Shouldn't we bail out to lower them in scalar operations?
test/CodeGen/WebAssembly/simd-arith.ll | ||
---|---|---|
609 ↗ | (On Diff #169587) | Are there also test cases for two shrs? |
Comment Actions
That wrap shouldn't be necessary if the i64 is a constant. This change just optimizes out such wraps.
- Some unrelated question: If the shift amount operand is not a splat vector, I think you said isel just crashes, right? Shouldn't we bail out to lower them in scalar operations?
Yes, I have that in my list of things to do.