This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Expand setcc of v2i64
ClosedPublic

Authored by tlively on Oct 29 2019, 10:37 PM.

Details

Summary

The SIMD spec does not include i64x2 comparisons, so they need to be
expanded. Using setOperationAction to expand them also causes f64x2
comparisons to be expanded, so setCondCodeAction needs to be used
instead. But since there are no legal condition codes, the legalizer
does not know how to expand the comparisons. We therefore manually
unroll the operation, taking care to fill each lane with -1 or 0
rather than 1 or 0 for consistency with the other vector comparisons.

Diff Detail

Event Timeline

tlively created this revision.Oct 29 2019, 10:37 PM
aheejin accepted this revision.Oct 30 2019, 8:36 PM
This revision is now accepted and ready to land.Oct 30 2019, 8:36 PM
This revision was automatically updated to reflect the committed changes.