1#include "io.h" 2 3int main(void) 4{ 5 long long rd, rs, rt; 6 long long result; 7 8 rd = 0; 9 rs = 0x1234567845BCFFFF; 10 rt = 0x8765432198529AD2; 11 result = 0x52fbec7035a2ca5c; 12 13 __asm 14 ("muleq_s.pw.qhr %0, %1, %2\n\t" 15 : "=r"(rd) 16 : "r"(rs), "r"(rt) 17 ); 18 19 if (result != rd) { 20 printf("1 muleq_s.pw.qhr error\n"); 21 22 return -1; 23 } 24 25 rd = 0; 26 rs = 0x1234567845BC8000; 27 rt = 0x8765432198528000; 28 result = 0x52fbec707FFFFFFF; 29 30 __asm 31 ("muleq_s.pw.qhr %0, %1, %2\n\t" 32 : "=r"(rd) 33 : "r"(rs), "r"(rt) 34 ); 35 36 if (result != rd) { 37 printf("2 muleq_s.pw.qhr error\n"); 38 39 return -1; 40 } 41 42 rd = 0; 43 __asm 44 ("rddsp %0\n\t" 45 : "=r"(rd) 46 ); 47 rd = rd >> 21; 48 rd = rd & 0x1; 49 50 if (rd != 1) { 51 printf("3 muleq_s.pw.qhr error\n"); 52 53 return -1; 54 } 55 56 return 0; 57} 58