summaryrefslogtreecommitdiff
path: root/tests/tcg/loongarch64/test_fcsr.c
blob: ad3609eb99a6d580c540d987176a3869191770c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <assert.h>

int main()
{
    unsigned fcsr;

    asm("movgr2fcsr $r0,$r0\n\t"
        "movgr2fr.d $f0,$r0\n\t"
        "fdiv.d     $f0,$f0,$f0\n\t"
        "movfcsr2gr %0,$r0"
        : "=r"(fcsr) : : "f0");

    assert(fcsr & (16 << 16)); /* Invalid */
    return 0;
}