test_dsp_r1_pick_qb.c (629B)
1#include<stdio.h> 2#include<assert.h> 3 4int main() 5{ 6 int rd, rs, rt, dsp; 7 int result; 8 9 rs = 0x12345678; 10 rt = 0x87654321; 11 dsp = 0x0f000000; 12 result = 0x12345678; 13 14 __asm 15 ("wrdsp %3, 0x10\n\t" 16 "pick.qb %0, %1, %2\n\t" 17 : "=r"(rd) 18 : "r"(rs), "r"(rt), "r"(dsp) 19 ); 20 assert(rd == result); 21 22 rs = 0x12345678; 23 rt = 0x87654321; 24 dsp = 0x00000000; 25 result = 0x87654321; 26 27 __asm 28 ("wrdsp %3, 0x10\n\t" 29 "pick.qb %0, %1, %2\n\t" 30 : "=r"(rd) 31 : "r"(rs), "r"(rt), "r"(dsp) 32 ); 33 assert(rd == result); 34 35 return 0; 36}