Bug 257842
Summary: | B3 Select instruction truncates vector operands | ||
---|---|---|---|
Product: | WebKit | Reporter: | David Degazio <d_degazio> |
Component: | WebAssembly | Assignee: | David Degazio <d_degazio> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
David Degazio
rdar://108643371
B3 Select lowers to Air using one of several conditional moves, like MoveConditionally64 or MoveDoubleConditionallyFloat. These in turn generate native conditional move instructions, such as fcsel to select between floating-point registers on ARM. However, we don't implement conditional moves for vectors, so when we compile a WASM select instruction with vector operands, B3 ends up treating them like doubles, which ends up zeroing the upper half of the vector register.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
David Degazio
Pull request: https://github.com/WebKit/WebKit/pull/14778
EWS
Committed 264996@main (c4e675b3afdd): <https://commits.webkit.org/264996@main>
Reviewed commits have been landed. Closing PR #14778 and removing active labels.