1436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov#include <stdio.h> 2436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov 3436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanovint main () 4436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov{ 5436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov int out [] = {0, 0}; 6436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov unsigned long long in [] = {0x405EE0A3D70A3D71ULL, 0x3FF0000000000000ULL}; 7436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov __asm__ volatile("cfc1 $a1, $31" "\n\t" 8436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "ldc1 $f0, 0(%0)" "\n\t" 9436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "ctc1 $zero, $31" "\n\t" 10436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "round.w.d $f0, $f0" "\n\t" 11436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "cfc1 $a2, $31" "\n\t" 12436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "sw $a2, 0(%1)" "\n\t" 13436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "ldc1 $f0, 8(%0)" "\n\t" 14436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "ctc1 $zero, $31" "\n\t" 15436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "round.w.d $f0, $f0" "\n\t" 16436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "cfc1 $a2, $31" "\n\t" 17436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "sw $a2, 4(%1)" "\n\t" 18436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov "ctc1 $a1, $31" "\n\t" 19436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov : 20436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov : "r" (in), "r" (out) 21436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov : "a1", "a2", "t0", "$f0", "$f1" 22436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov ); 23436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov printf("FCSR::1: 0x%x, 2: 0x%x\n", out[0], out[1]); 24436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov return 0; 25436e89c602e787e7a27dd6624b09beed41a0da8aDmitriy Ivanov} 26