Revision 417454b0 target-sparc/translate.c

b/target-sparc/translate.c
943 943
    gen_op_fcmpd_fcc2,
944 944
    gen_op_fcmpd_fcc3,
945 945
};
946

  
947
static GenOpFunc * const gen_fcmpes[4] = {
948
    gen_op_fcmpes,
949
    gen_op_fcmpes_fcc1,
950
    gen_op_fcmpes_fcc2,
951
    gen_op_fcmpes_fcc3,
952
};
953

  
954
static GenOpFunc * const gen_fcmped[4] = {
955
    gen_op_fcmped,
956
    gen_op_fcmped_fcc1,
957
    gen_op_fcmped_fcc2,
958
    gen_op_fcmped_fcc3,
959
};
960

  
946 961
#endif
947 962

  
948 963
static int gen_trap_ifnofpu(DisasContext * dc)
......
1289 1304
	    } else if (xop == 0x34) {	/* FPU Operations */
1290 1305
                if (gen_trap_ifnofpu(dc))
1291 1306
                    goto jmp_insn;
1307
		gen_op_clear_ieee_excp_and_FTT();
1292 1308
                rs1 = GET_FIELD(insn, 13, 17);
1293 1309
	        rs2 = GET_FIELD(insn, 27, 31);
1294 1310
	        xop = GET_FIELD(insn, 18, 26);
......
1476 1492
#endif
1477 1493
                if (gen_trap_ifnofpu(dc))
1478 1494
                    goto jmp_insn;
1495
		gen_op_clear_ieee_excp_and_FTT();
1479 1496
                rs1 = GET_FIELD(insn, 13, 17);
1480 1497
	        rs2 = GET_FIELD(insn, 27, 31);
1481 1498
	        xop = GET_FIELD(insn, 18, 26);
......
1653 1670
                	gen_op_load_fpr_FT0(rs1);
1654 1671
                	gen_op_load_fpr_FT1(rs2);
1655 1672
#ifdef TARGET_SPARC64
1656
			gen_fcmps[rd & 3]();
1673
			gen_fcmpes[rd & 3]();
1657 1674
#else
1658
			gen_op_fcmps(); /* XXX should trap if qNaN or sNaN  */
1675
			gen_op_fcmpes();
1659 1676
#endif
1660 1677
			break;
1661 1678
		    case 0x56: /* fcmped, V9 %fcc */
1662 1679
                	gen_op_load_fpr_DT0(DFPREG(rs1));
1663 1680
                	gen_op_load_fpr_DT1(DFPREG(rs2));
1664 1681
#ifdef TARGET_SPARC64
1665
			gen_fcmpd[rd & 3]();
1682
			gen_fcmped[rd & 3]();
1666 1683
#else
1667
			gen_op_fcmpd(); /* XXX should trap if qNaN or sNaN  */
1684
			gen_op_fcmped();
1668 1685
#endif
1669 1686
			break;
1670 1687
		    case 0x57: /* fcmpeq */

Also available in: Unified diff