1*4f2cbcfbSAlex Bennée #include <unistd.h>
2*4f2cbcfbSAlex Bennée
test_subqv(long a,long b)3c09015ddSAnthony Liguori static long test_subqv (long a, long b)
4c09015ddSAnthony Liguori {
5c09015ddSAnthony Liguori long res;
6c09015ddSAnthony Liguori
7c09015ddSAnthony Liguori asm ("subq/v %1,%2,%0"
8c09015ddSAnthony Liguori : "=r" (res) : "r" (a), "r" (b));
9c09015ddSAnthony Liguori return res;
10c09015ddSAnthony Liguori }
11c09015ddSAnthony Liguori static struct {
12c09015ddSAnthony Liguori long (*func)(long, long);
13c09015ddSAnthony Liguori long a;
14c09015ddSAnthony Liguori long b;
15c09015ddSAnthony Liguori long r;
16c09015ddSAnthony Liguori } vectors[] =
17c09015ddSAnthony Liguori {
18c09015ddSAnthony Liguori {test_subqv, 0, 0x7d54000, 0xfffffffff82ac000L}
19c09015ddSAnthony Liguori };
20c09015ddSAnthony Liguori
main(void)21c09015ddSAnthony Liguori int main (void)
22c09015ddSAnthony Liguori {
23c09015ddSAnthony Liguori int i;
24c09015ddSAnthony Liguori
25c09015ddSAnthony Liguori for (i = 0; i < sizeof (vectors)/sizeof(vectors[0]); i++)
26c09015ddSAnthony Liguori if ((*vectors[i].func)(vectors[i].a, vectors[i].b) != vectors[i].r) {
27c09015ddSAnthony Liguori write(1, "Failed\n", 7);
28c09015ddSAnthony Liguori }
29c09015ddSAnthony Liguori write(1, "OK\n", 3);
30c09015ddSAnthony Liguori return 0;
31c09015ddSAnthony Liguori }
32