5 long long rd
, rs
, rt
, dspreg
;
6 long long result
, dspresult
;
8 rs
= 0x123456787FFF0000;
9 rt
= 0x1111111180000000;
10 result
= 0x23456789FFFF0000;
13 __asm("addu_s.qh %0, %2, %3\n\t"
15 : "=r"(rd
), "=r"(dspreg
)
19 dspreg
= ((dspreg
>> 20) & 0x01);
20 if ((rd
!= result
) || (dspreg
!= dspresult
)) {
21 printf("1 addu_s.qh error\n");
25 rs
= 0x12345678FFFF0000;
26 rt
= 0x11111111000F0000;
27 result
= 0x23456789FFFF0000;
30 __asm("addu_s.qh %0, %2, %3\n\t"
32 : "=r"(rd
), "=r"(dspreg
)
36 dspreg
= ((dspreg
>> 20) & 0x01);
37 if ((rd
!= result
) || (dspreg
!= dspresult
)) {
38 printf("2 addu_s.qh error\n");