Last active
September 11, 2020 20:11
-
-
Save binji/fc09e7e2ada4b0f6fd7c1682f091d8eb to your computer and use it in GitHub Desktop.
clamp_zero
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(func (export "4x_i32") (param i32 i32 i32 i32) | |
(local $temp i32) | |
(local $i i32) | |
local.get 0 | |
i32.const 16 | |
i32.ge_s | |
if | |
loop | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load offset=4 | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store offset=4 | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load offset=8 | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store offset=8 | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load offset=12 | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store offset=12 | |
local.get $i | |
i32.const 16 | |
i32.add | |
local.tee $i | |
i32.const 16 | |
i32.add | |
local.get 0 | |
i32.le_s | |
br_if 0 | |
end | |
end | |
local.get $i | |
i32.const 4 | |
i32.add | |
local.get 0 | |
i32.le_s | |
if | |
loop | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store | |
local.get $i | |
i32.const 4 | |
i32.add | |
local.tee $i | |
i32.const 4 | |
i32.add | |
local.get 0 | |
i32.le_s | |
br_if 0 | |
end | |
end | |
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(func (export "simd") (param i32 i32 i32 i32) | |
(local $temp i32) | |
(local $i i32) | |
local.get 0 | |
i32.const 16 | |
i32.ge_s | |
if | |
loop | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
v128.load | |
i32.const 0 | |
i32x4.splat | |
i32x4.max_s | |
v128.store | |
local.get $i | |
i32.const 16 | |
i32.add | |
local.tee $i | |
i32.const 16 | |
i32.add | |
local.get 0 | |
i32.le_s | |
br_if 0 | |
end | |
end | |
local.get $i | |
i32.const 4 | |
i32.add | |
local.get 0 | |
i32.le_s | |
if | |
loop | |
local.get 2 | |
local.get $i | |
i32.add | |
local.get 1 | |
local.get $i | |
i32.add | |
i32.load | |
local.tee $temp | |
local.get $temp | |
i32.const 31 | |
i32.shr_u | |
i32.const -1 | |
i32.add | |
i32.and | |
i32.store | |
local.get $i | |
i32.const 4 | |
i32.add | |
local.tee $i | |
i32.const 4 | |
i32.add | |
local.get 0 | |
i32.le_s | |
br_if 0 | |
end | |
end | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment