This patch skips redundant explicit masks of the shift count since
it is implied inside wasm shift instruction.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp | ||
---|---|---|
2307 | Yes, the lshr_v2i64_i32_late in ut is. Sometimes, the DAGCombiner will transform %t = insertelement <2 x i64> undef, i64 %z, i32 0 %s = shufflevector <2 x i64> %t, <2 x i64> undef, <2 x i32> <i32 0, i32 0> %m = and <2 x i64> %s, <i64 63, i64 63> %a = lshr <2 x i64> %v, %m into scalar and which saves cost of BUILD_VECTOR for constant. Since this is common optimization, so we should handle it here. | |
2311–2312 | sorry, lost it here. Will update. |
Do we have tests that cover the case where the mask op is not a vector?