From 5043bdaf183c096f38d092f66dbb5207fedb85cf Mon Sep 17 00:00:00 2001 From: Nikolay Nikolov Date: Sun, 28 Jul 2024 19:17:28 +0300 Subject: [PATCH] + added WebAssembly inline asm tests for: i32.shr_s i64.shr_s --- tests/test/wasm/twasminlineasm1.pp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/test/wasm/twasminlineasm1.pp b/tests/test/wasm/twasminlineasm1.pp index 474d96c8b0..fd21a72458 100644 --- a/tests/test/wasm/twasminlineasm1.pp +++ b/tests/test/wasm/twasminlineasm1.pp @@ -230,6 +230,20 @@ asm i64.shl end; +function test_i32_shr_s(a, b: longint): longint; assembler; nostackframe; +asm + local.get 0 + local.get 1 + i32.shr_s +end; + +function test_i64_shr_s(a, b: int64): int64; assembler; nostackframe; +asm + local.get 0 + local.get 1 + i64.shr_s +end; + function test_i32_shr_u(a, b: longword): longword; assembler; nostackframe; asm local.get 0 @@ -284,6 +298,8 @@ begin Check(test_i64_xor(5207479527901863356, 9908469343996027762) = 13962666639138668238); Check(test_i32_shl(3790383670, 17) = 1416364032); Check(test_i64_shl(10525455493106971507, 37) = 13431544297274998784); + Check(test_i32_shr_s(-1925861932, 27) = -15); + Check(test_i64_shr_s(-549750071149968174, 40) = -499995); Check(test_i32_shr_u(3128451123, 15) = 95472); Check(test_i64_shr_u(13472797416736092787, 61) = 5); Check(test_call = 27);