#ifndef MUL_INTEGER_EXTRA_LATENCY
#define MUL_INTEGER_EXTRA_LATENCY 0
#endif

// TOTAL_LATENCY = LATENCY + OCCUPANCY
//
//                 OPCODE,       LATENCY, OCCUPANCY
DEF_INSTR_LATENCY(G4_add,             (14-2), 2)
DEF_INSTR_LATENCY(G4_mul,             (14-2), 2)

DEF_INSTR_LATENCY(G4_bfe,             (14-4), 4)
DEF_INSTR_LATENCY(G4_bfi1,            (14-4), 4)
DEF_INSTR_LATENCY(G4_bfi2,            (14-4), 4)
DEF_INSTR_LATENCY(G4_bfrev,           (14-4), 4)
DEF_INSTR_LATENCY(G4_cbit,            (14-4), 4)
DEF_INSTR_LATENCY(G4_dp2,             (14-4), 4)
DEF_INSTR_LATENCY(G4_dp3,             (14-4), 4)
DEF_INSTR_LATENCY(G4_dp4,             (14-4), 4)
DEF_INSTR_LATENCY(G4_dph,             (14-4), 4)
DEF_INSTR_LATENCY(G4_fbh,             (14-4), 4)
DEF_INSTR_LATENCY(G4_fbl,             (14-4), 4)
DEF_INSTR_LATENCY(G4_lrp,             (14-4), 4)
DEF_INSTR_LATENCY(G4_mac,             (14-4), 4)
DEF_INSTR_LATENCY(G4_mach,            (14-4), 4)
DEF_INSTR_LATENCY(G4_pln,             (14-4), 4)


DEF_MATH_LATENCY(MATH_INV,            (22-4), 4)
DEF_MATH_LATENCY(MATH_LOG,            (22-4), 4)
DEF_MATH_LATENCY(MATH_EXP,            (22-4), 4)
DEF_MATH_LATENCY(MATH_SQRT,           (22-4), 4)
DEF_MATH_LATENCY(MATH_RSQ,            (22-4), 4)
DEF_MATH_LATENCY(MATH_SIN,            (22-4), 4)
DEF_MATH_LATENCY(MATH_COS,            (22-4), 4)

DEF_MATH_LATENCY(MATH_FDIV,           (30-8), 8)
DEF_MATH_LATENCY(MATH_POW,            (30-8), 8)

DEF_MATH_LATENCY(MATH_INT_DIV,        (22-4), 4)
DEF_MATH_LATENCY(MATH_INT_DIV_QUOT,   (22-4), 4)
DEF_MATH_LATENCY(MATH_INT_DIV_REM,    (22-4), 4)
DEF_MATH_LATENCY(MATH_INVM,           (22-4), 4)


DEF_SEND_LATENCY(SFID_NULL,           (50-2), 2)
DEF_SEND_LATENCY(SFID_SAMPLER,       (300-2), 2)
DEF_SEND_LATENCY(SFID_GATEWAY,       (200-2), 2)
DEF_SEND_LATENCY(SFID_DP_DC2,        (400-2), 2)
DEF_SEND_LATENCY(SFID_DP_WRITE,      (200-2), 2)
DEF_SEND_LATENCY(SFID_URB,           (50-2), 2)
DEF_SEND_LATENCY(SFID_SPAWNER,       (50-2), 2)
DEF_SEND_LATENCY(SFID_VME,           (50-2), 2)
DEF_SEND_LATENCY(SFID_DP_CC,         (60-2), 2)
DEF_SEND_LATENCY(SFID_DP_DC,         (400-2), 2)
DEF_SEND_LATENCY(SFID_DP_PI,         (50-2), 2)
DEF_SEND_LATENCY(SFID_DP_DC1,        (400-2), 2)
DEF_SEND_LATENCY(SFID_CRE,           (200-2), 2)
DEF_SEND_LATENCY(SFID_NUM,           (200-2), 2)
