blob: be29012877de67c5cb92a21f5166d54c34e5967e [file] [log] [blame]
Elliott Hughesa0664b92017-04-18 17:46:52 -07001//file: _insn_test_v2dotpa_X0.c
2//op=293
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] = { 0xf3a626370b91d897, 0xecbff88d5bcc8c90 };
17
18int main(void) {
19 unsigned long a[4] = { 0, 0 };
20 asm __volatile__ (
21 "moveli r17, 6194\n"
22 "shl16insli r17, r17, 2413\n"
23 "shl16insli r17, r17, 21362\n"
24 "shl16insli r17, r17, 21211\n"
25 "moveli r8, 14829\n"
26 "shl16insli r8, r8, 23848\n"
27 "shl16insli r8, r8, 17951\n"
28 "shl16insli r8, r8, -953\n"
29 "moveli r25, 21203\n"
30 "shl16insli r25, r25, -13101\n"
31 "shl16insli r25, r25, 14734\n"
32 "shl16insli r25, r25, -27100\n"
33 "{ v2dotpa r17, r8, r25 ; fnop }\n"
34 "move %0, r17\n"
35 "move %1, r8\n"
36 "move %2, r25\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}