Преглед изворни кода

+ added WebAssembly inline asm test for:
i32.shl
i64.shl

Nikolay Nikolov пре 1 година
родитељ
комит
a1e4d5a517
1 измењених фајлова са 16 додато и 0 уклоњено
  1. 16 0
      tests/test/wasm/twasminlineasm1.pp

+ 16 - 0
tests/test/wasm/twasminlineasm1.pp

@@ -216,6 +216,20 @@ asm
   i64.xor
 end;
 
+function test_i32_shl(a, b: longword): longword; assembler; nostackframe;
+asm
+  local.get 0
+  local.get 1
+  i32.shl
+end;
+
+function test_i64_shl(a, b: qword): qword; assembler; nostackframe;
+asm
+  local.get 0
+  local.get 1
+  i64.shl
+end;
+
 function test_call: longint; assembler; nostackframe;
 asm
   i32.const 10
@@ -254,6 +268,8 @@ begin
   Check(test_i64_or(10479676218861969639, 16801051693844791272) = 17973685792710066159);
   Check(test_i32_xor(4098315151, 2896801202) = 1492057661);
   Check(test_i64_xor(5207479527901863356, 9908469343996027762) = 13962666639138668238);
+  Check(test_i32_shl(3790383670, 17) = 1416364032);
+  Check(test_i64_shl(10525455493106971507, 37) = 13431544297274998784);
   Check(test_call = 27);
   Writeln('Ok!');
 end.