Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
- Build Status
Buildable 24722 Build 24721: arc lint + arc unit
Event Timeline
lib/Target/WebAssembly/WebAssemblyInstrSIMD.td | ||
---|---|---|
587 ↗ | (On Diff #170991) | It looks like the expansions bottom out with SELECT. Even when select is set to expand, it still shows up in instruction selection. |
Comment Actions
I tried to add ISD::SELECT in the expansion list, like
for (auto Op : {ISD::VSELECT, ISD::SELECT_CC, ISD::SELECT}) { ... }
And the code generation apparently works for current test simd-select.ll. I'm not sure if it's optimal though. Could you check again?
Comment Actions
I'm not sure what I did before, but you're totally right. Letting the expander take care of selects yields the same code in most places and actually allows some DAGCombine optimizations that weren't possible before.