Revision 2ca1d92b target-sparc/op_helper.c

b/target-sparc/op_helper.c
972 972
}
973 973
#endif
974 974

  
975
static uint32_t compute_all_subx(void)
976
{
977
    uint32_t ret;
978

  
979
    ret = get_NZ_icc(CC_DST);
980
    ret |= get_C_sub_icc(CC_DST - CC_SRC2, CC_SRC);
981
    ret |= get_C_sub_icc(CC_DST, CC_SRC2);
982
    ret |= get_V_sub_icc(CC_DST, CC_SRC, CC_SRC2);
983
    return ret;
984
}
985

  
986
static uint32_t compute_C_subx(void)
987
{
988
    uint32_t ret;
989

  
990
    ret = get_C_sub_icc(CC_DST - CC_SRC2, CC_SRC);
991
    ret |= get_C_sub_icc(CC_DST, CC_SRC2);
992
    return ret;
993
}
994

  
995
#ifdef TARGET_SPARC64
996
static uint32_t compute_all_subx_xcc(void)
997
{
998
    uint32_t ret;
999

  
1000
    ret = get_NZ_xcc(CC_DST);
1001
    ret |= get_C_sub_xcc(CC_DST - CC_SRC2, CC_SRC);
1002
    ret |= get_C_sub_xcc(CC_DST, CC_SRC2);
1003
    ret |= get_V_sub_xcc(CC_DST, CC_SRC, CC_SRC2);
1004
    return ret;
1005
}
1006

  
1007
static uint32_t compute_C_subx_xcc(void)
1008
{
1009
    uint32_t ret;
1010

  
1011
    ret = get_C_sub_xcc(CC_DST - CC_SRC2, CC_SRC);
1012
    ret |= get_C_sub_xcc(CC_DST, CC_SRC2);
1013
    return ret;
1014
}
1015
#endif
1016

  
975 1017
static uint32_t compute_all_logic(void)
976 1018
{
977 1019
    return get_NZ_icc(CC_DST);
......
1000 1042
    [CC_OP_ADD] = { compute_all_add, compute_C_add },
1001 1043
    [CC_OP_ADDX] = { compute_all_addx, compute_C_addx },
1002 1044
    [CC_OP_SUB] = { compute_all_sub, compute_C_sub },
1045
    [CC_OP_SUBX] = { compute_all_subx, compute_C_subx },
1003 1046
    [CC_OP_LOGIC] = { compute_all_logic, compute_C_logic },
1004 1047
};
1005 1048

  
......
1010 1053
    [CC_OP_ADD] = { compute_all_add_xcc, compute_C_add_xcc },
1011 1054
    [CC_OP_ADDX] = { compute_all_addx_xcc, compute_C_addx_xcc },
1012 1055
    [CC_OP_SUB] = { compute_all_sub_xcc, compute_C_sub_xcc },
1056
    [CC_OP_SUBX] = { compute_all_subx_xcc, compute_C_subx_xcc },
1013 1057
    [CC_OP_LOGIC] = { compute_all_logic_xcc, compute_C_logic },
1014 1058
};
1015 1059
#endif

Also available in: Unified diff