Revision 465e9838 target-i386/op.c

b/target-i386/op.c
1911 1911
    FORCE_RET();
1912 1912
}
1913 1913

  
1914
void OPPROTO op_fistt_ST0_A0(void)
1915
{
1916
#if defined(__sparc__) && !defined(__sparc_v9__)
1917
    register CPU86_LDouble d asm("o0");
1918
#else
1919
    CPU86_LDouble d;
1920
#endif
1921
    int val;
1922

  
1923
    d = ST0;
1924
    val = floatx_to_int32_round_to_zero(d, &env->fp_status);
1925
    if (val != (int16_t)val)
1926
        val = -32768;
1927
    stw(A0, val);
1928
    FORCE_RET();
1929
}
1930

  
1931
void OPPROTO op_fisttl_ST0_A0(void)
1932
{
1933
#if defined(__sparc__) && !defined(__sparc_v9__)
1934
    register CPU86_LDouble d asm("o0");
1935
#else
1936
    CPU86_LDouble d;
1937
#endif
1938
    int val;
1939

  
1940
    d = ST0;
1941
    val = floatx_to_int32_round_to_zero(d, &env->fp_status);
1942
    stl(A0, val);
1943
    FORCE_RET();
1944
}
1945

  
1946
void OPPROTO op_fisttll_ST0_A0(void)
1947
{
1948
#if defined(__sparc__) && !defined(__sparc_v9__)
1949
    register CPU86_LDouble d asm("o0");
1950
#else
1951
    CPU86_LDouble d;
1952
#endif
1953
    int64_t val;
1954

  
1955
    d = ST0;
1956
    val = floatx_to_int64_round_to_zero(d, &env->fp_status);
1957
    stq(A0, val);
1958
    FORCE_RET();
1959
}
1960

  
1914 1961
void OPPROTO op_fbld_ST0_A0(void)
1915 1962
{
1916 1963
    helper_fbld_ST0_A0();

Also available in: Unified diff