This is an archive of the discontinued LLVM Phabricator instance.

[WebAssembly] Omit wrap on i64x2.{shl,shr*} ISel when possible
ClosedPublic

Authored by tlively on Jun 20 2019, 10:18 AM.

Details

Summary

Since the WebAssembly SIMD shift instructions take i32 operands, we
truncate the i64 operand to <2 x i64> shifts during ISel. When the i64
operand is sign extended from i32, this CL makes it so the sign
extension is dropped instead of a wrap instruction added.

Diff Detail

Repository
rL LLVM

Event Timeline

tlively created this revision.Jun 20 2019, 10:18 AM
dschuff accepted this revision.Jun 20 2019, 12:44 PM
This revision is now accepted and ready to land.Jun 20 2019, 12:44 PM
This revision was automatically updated to reflect the committed changes.