case ASHIFT:
if (mode == DImode)
{
- if (TARGET_64BIT)
- *total = COSTS_N_INSNS (3);
- else if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
+ if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
{
- *total = COSTS_N_INSNS (2);
+ if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (1);
+ else
+ *total = COSTS_N_INSNS (2);
return true;
}
+ else if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (3);
else if (speed)
*total = COSTS_N_INSNS (13);
else
case ASHIFTRT:
if (mode == DImode)
{
- if (TARGET_64BIT)
- *total = COSTS_N_INSNS (3);
- else if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
+ if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
{
- *total = COSTS_N_INSNS (2);
+ if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (1);
+ else
+ *total = COSTS_N_INSNS (2);
return true;
}
+ else if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (3);
else if (speed)
*total = COSTS_N_INSNS (14);
else
case LSHIFTRT:
if (mode == DImode)
{
- if (TARGET_64BIT)
- *total = COSTS_N_INSNS (2);
- else if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
+ if (REG_P (XEXP (x, 0)) && CONST_INT_P (XEXP (x, 1)))
{
- *total = COSTS_N_INSNS (2);
+ if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (1);
+ else
+ *total = COSTS_N_INSNS (2);
return true;
}
+ else if (TARGET_64BIT)
+ *total = COSTS_N_INSNS (2);
else if (speed)
*total = COSTS_N_INSNS (12);
else