wasmer/lib/emscripten/emtests/test_inlinejs2.c

26 lines
634 B
C
Raw Normal View History

2018-12-27 07:46:41 +00:00
/*
* Copyright 2016 The Emscripten Authors. All rights reserved.
* Emscripten is available under two separate licenses, the MIT license and the
* University of Illinois/NCSA Open Source License. Both these licenses can be
* found in the LICENSE file.
*/
#include <stdio.h>
int mix(int x, int y) {
int ret;
asm("Math.pow(2, %0+%1+1)" : "=r"(ret) : "r"(x), "r"(y)); // read and write
return ret;
}
void mult() {
asm("var $_$1 = Math.abs(-100); $_$1 *= 2; out($_$1)"); // multiline
asm __volatile__("out('done')");
}
int main(int argc, char **argv) {
printf("%d\n", mix(argc, argc / 2));
mult();
return 0;
}