5 long long rd, rs, rt, result, dspreg, dspresult;
6 rs = 0x123456789ABCDEF0;
7 rt = 0x123456789ABCDEF0;
12 ("subq_s.qh %0, %2, %3\n\t"
14 : "=r"(rd), "=r"(dspreg)
17 dspreg = (dspreg >> 20) & 0x1;
18 if ((rd != result) || (dspreg != dspresult)) {
19 printf("subq_s.qh error1\n");
24 rs = 0x4000000080000000;
25 rt = 0x9FFD00009FFC0000;
26 result = 0x7FFF0000E0040000;
30 ("subq_s.qh %0, %2, %3\n\t"
32 : "=r"(rd), "=r"(dspreg)
35 dspreg = (dspreg >> 20) & 0x1;
36 if ((rd != result) || (dspreg != dspresult)) {
37 printf("subq_s.qh error2\n");
42 rs = 0x8000000000000000;
43 rt = 0x7000000000000000;
44 result = 0x8000000000000000;
47 ("subq_s.qh %0, %2, %3\n\t"
49 : "=r"(rd), "=r"(dspreg)
53 dspreg = (dspreg >> 20) & 0x1;
54 if ((rd != result) || (dspreg != dspresult)) {
55 printf("subq_s.qh error3\n");