test_dsp_r1_addsc.c (597B)
1#include<stdio.h> 2#include<assert.h> 3 4int main() 5{ 6 int rd, rs, rt; 7 int dsp; 8 int result; 9 10 rs = 0x0000000F; 11 rt = 0x00000001; 12 result = 0x00000010; 13 __asm 14 ("addsc %0, %1, %2\n\t" 15 : "=r"(rd) 16 : "r"(rs), "r"(rt) 17 ); 18 assert(rd == result); 19 20 rs = 0xFFFF0FFF; 21 rt = 0x00010111; 22 result = 0x00001110; 23 __asm 24 ("addsc %0, %2, %3\n\t" 25 "rddsp %1\n\t" 26 : "=r"(rd), "=r"(dsp) 27 : "r"(rs), "r"(rt) 28 ); 29 assert(rd == result); 30 assert(((dsp >> 13) & 0x01) == 1); 31 32 return 0; 33}