New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Logical & TruncConv Ops + Tests #3288
Conversation
@Cellule @MikeHolman I'll ping you guys later about this PR when all the tests pass |
@chakrabot Please test Ubuntu shared_ubuntu_linux_debug |
@Cellule Could you please take a look when you have a moment? |
I think nonstandard true values will be broken. Currently, if a lane is non-zero it is considered true. Lowering code uses https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#boolean-horizontal-reductions |
@MikeHolman absolutely! will fix! |
c7fdc4c
to
1853d77
Compare
@chakrabot Please test Windows ci_slow_x64_debug |
@arunetm okay |
@MikeHolman Looks like we should be able to handle non-canonical boolean values now. |
@MikeHolman @Cellule Hey guys! Could you please take another look? I'd like to push this one and 2 more then I'll rebase |
Reviewed 9 of 11 files at r1, 8 of 8 files at r2. lib/Backend/LowerMDShared.h, line 374 at r2 (raw file):
Could we start using a different lib/Backend/LowerMDSharedSimd128.cpp, line 2273 at r2 (raw file):
nit: could we name this cmpOpcode to match how we use it lib/Runtime/Language/SimdBool32x4Operation.cpp, line 45 at r2 (raw file):
nit: I would prefer use lib/Runtime/Language/SimdUtils.h, line 335 at r2 (raw file):
I would add some CompileAssert here CompileAssert(sizeof(T) <= sizeof(SIMDValue));
CompileAssert(sizeof(SIMDValue) % sizeof(T) == 0);
T* cursor = (T*)val.i8;
uint size = sizeof(SIMDValue) / sizeof(T); Comments from Reviewable |
1853d77
to
cff6be7
Compare
Reviewed 6 of 6 files at r3. Comments from Reviewable |
@arunetm Could you please merge this PR? |
Merge pull request #3288 from Krovatkin:wasm.simd.logical This PR includes * logical operations + tests * truncation & conversion operations for 32x4 types + tests
@Cellule , Thanks a lot for your help! |
This PR includes
This change is