blob: ecfbbfb5e028ce0f7b57305e158e4cdafd483a64 [file] [log] [blame]
Elliott Hughesa0664b92017-04-18 17:46:52 -07001//file: _insn_test_mula_ls_lu_X0.c
2//op=173
3#include <stdio.h>
4#include <stdlib.h>
5
6void func_exit(void) {
7 printf("%s\n", __func__);
8 exit(0);
9}
10
11void func_call(void) {
12 printf("%s\n", __func__);
13 exit(0);
14}
15
16unsigned long mem[2] = { 0x4a40d1e28d4a3d4a, 0x308f52b9c1ed029f };
17
18int main(void) {
19 unsigned long a[4] = { 0, 0 };
20 asm __volatile__ (
21 "moveli r3, 14076\n"
22 "shl16insli r3, r3, -13318\n"
23 "shl16insli r3, r3, -31064\n"
24 "shl16insli r3, r3, 24882\n"
25 "moveli r2, 1130\n"
26 "shl16insli r2, r2, 19735\n"
27 "shl16insli r2, r2, 18026\n"
28 "shl16insli r2, r2, 2783\n"
29 "moveli r34, 22540\n"
30 "shl16insli r34, r34, -22507\n"
31 "shl16insli r34, r34, 24248\n"
32 "shl16insli r34, r34, 23620\n"
33 "{ mula_ls_lu r3, r2, r34 ; fnop }\n"
34 "move %0, r3\n"
35 "move %1, r2\n"
36 "move %2, r34\n"
37 :"=r"(a[0]),"=r"(a[1]),"=r"(a[2]));
38 printf("%016lx\n", a[0]);
39 printf("%016lx\n", a[1]);
40 printf("%016lx\n", a[2]);
41 return 0;
42}