Skip to content

Commit 5913f9a

Browse files
committed
minor improvment
1 parent d9cba69 commit 5913f9a

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

std/assembly/math.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ export namespace NativeMath {
994994

995995
@inline
996996
export function signbit(x: f64): bool {
997-
return <bool>(reinterpret<u64>(x) >>> 63);
997+
return reinterpret<u64>(x) >>> 63 != 0;
998998
}
999999

10001000
export function sin(x: f64): f64 { // TODO

tests/compiler/std/math.optimized.wat

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -180,16 +180,14 @@
180180
i64.reinterpret/f64
181181
i64.const 63
182182
i64.shr_u
183-
i32.wrap/i64
184-
i32.const 1
185-
i32.and
183+
i64.const 0
184+
i64.ne
186185
get_local $1
187186
i64.reinterpret/f64
188187
i64.const 63
189188
i64.shr_u
190-
i32.wrap/i64
191-
i32.const 1
192-
i32.and
189+
i64.const 0
190+
i64.ne
193191
i32.eq
194192
if
195193
get_local $2

tests/compiler/std/math.untouched.wat

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@
252252
i64.reinterpret/f64
253253
i64.const 63
254254
i64.shr_u
255-
i32.wrap/i64
255+
i64.const 0
256+
i64.ne
256257
end
257258
i32.const 1
258259
i32.and
@@ -261,7 +262,8 @@
261262
i64.reinterpret/f64
262263
i64.const 63
263264
i64.shr_u
264-
i32.wrap/i64
265+
i64.const 0
266+
i64.ne
265267
end
266268
i32.const 1
267269
i32.and
@@ -35788,7 +35790,8 @@
3578835790
i64.reinterpret/f64
3578935791
i64.const 63
3579035792
i64.shr_u
35791-
i32.wrap/i64
35793+
i64.const 0
35794+
i64.ne
3579235795
end
3579335796
i32.const 1
3579435797
i32.and
@@ -35810,7 +35813,8 @@
3581035813
i64.reinterpret/f64
3581135814
i64.const 63
3581235815
i64.shr_u
35813-
i32.wrap/i64
35816+
i64.const 0
35817+
i64.ne
3581435818
end
3581535819
i32.const 1
3581635820
i32.and
@@ -35832,7 +35836,8 @@
3583235836
i64.reinterpret/f64
3583335837
i64.const 63
3583435838
i64.shr_u
35835-
i32.wrap/i64
35839+
i64.const 0
35840+
i64.ne
3583635841
end
3583735842
i32.const 1
3583835843
i32.and
@@ -35854,7 +35859,8 @@
3585435859
i64.reinterpret/f64
3585535860
i64.const 63
3585635861
i64.shr_u
35857-
i32.wrap/i64
35862+
i64.const 0
35863+
i64.ne
3585835864
end
3585935865
i32.const 1
3586035866
i32.and
@@ -35876,7 +35882,8 @@
3587635882
i64.reinterpret/f64
3587735883
i64.const 63
3587835884
i64.shr_u
35879-
i32.wrap/i64
35885+
i64.const 0
35886+
i64.ne
3588035887
end
3588135888
i32.const 1
3588235889
i32.and
@@ -35898,7 +35905,8 @@
3589835905
i64.reinterpret/f64
3589935906
i64.const 63
3590035907
i64.shr_u
35901-
i32.wrap/i64
35908+
i64.const 0
35909+
i64.ne
3590235910
end
3590335911
i32.const 1
3590435912
i32.and
@@ -35921,7 +35929,8 @@
3592135929
i64.reinterpret/f64
3592235930
i64.const 63
3592335931
i64.shr_u
35924-
i32.wrap/i64
35932+
i64.const 0
35933+
i64.ne
3592535934
end
3592635935
i32.const 1
3592735936
i32.and

0 commit comments

Comments
 (0)