Lines Matching defs:part

5 This file is part of GCC.
1014 lower part of scalar values in proper format leaving the upper part
1436 /* Register class used for passing given 64bit part of the argument.
9820 /* Force this value into the low part of a fp vector constant. */
12370 rtx part[2][3];
12407 nparts = ix86_split_to_parts (operands[1], part[1], GET_MODE (operands[0]));
12408 ix86_split_to_parts (operands[0], part[0], GET_MODE (operands[0]));
12415 part[1][1] = change_address (part[1][1], GET_MODE (part[1][1]),
12416 XEXP (part[1][2], 0));
12417 part[1][0] = change_address (part[1][0], GET_MODE (part[1][0]),
12418 XEXP (part[1][1], 0));
12423 if (REG_P (part[0][0]) && GET_CODE (part[1][0]) == MEM)
12425 if (reg_overlap_mentioned_p (part[0][0], XEXP (part[1][0], 0)))
12427 if (reg_overlap_mentioned_p (part[0][1], XEXP (part[1][0], 0)))
12430 && reg_overlap_mentioned_p (part[0][2], XEXP (part[1][0], 0)))
12433 /* Collision in the middle part can be handled by reordering. */
12435 && reg_overlap_mentioned_p (part[0][1], XEXP (part[1][0], 0)))
12438 tmp = part[0][1]; part[0][1] = part[0][2]; part[0][2] = tmp;
12439 tmp = part[1][1]; part[1][1] = part[1][2]; part[1][2] = tmp;
12443 Do an lea to the last part and use only one colliding move. */
12450 base = part[0][nparts - 1];
12452 /* Handle the case when the last part isn't valid for lea.
12457 emit_insn (gen_rtx_SET (VOIDmode, base, XEXP (part[1][0], 0)));
12458 part[1][0] = replace_equiv_address (part[1][0], base);
12459 part[1][1] = replace_equiv_address (part[1][1],
12462 part[1][2] = replace_equiv_address (part[1][2],
12475 emit_move_insn (part[0][2], part[1][2]);
12484 if (GET_MODE (part[1][1]) == SImode)
12486 switch (GET_CODE (part[1][1]))
12489 part[1][1] = adjust_address (part[1][1], DImode, 0);
12493 part[1][1] = gen_rtx_REG (DImode, REGNO (part[1][1]));
12500 if (GET_MODE (part[1][0]) == SImode)
12501 part[1][0] = part[1][1];
12504 emit_move_insn (part[0][1], part[1][1]);
12505 emit_move_insn (part[0][0], part[1][0]);
12510 if ((REG_P (part[0][0])
12511 && REG_P (part[1][1])
12512 && (REGNO (part[0][0]) == REGNO (part[1][1])
12514 && REGNO (part[0][0]) == REGNO (part[1][2]))))
12516 && reg_overlap_mentioned_p (part[0][0], XEXP (part[1][0], 0))))
12520 operands[2] = part[0][2];
12521 operands[3] = part[0][1];
12522 operands[4] = part[0][0];
12523 operands[5] = part[1][2];
12524 operands[6] = part[1][1];
12525 operands[7] = part[1][0];
12529 operands[2] = part[0][1];
12530 operands[3] = part[0][0];
12531 operands[5] = part[1][1];
12532 operands[6] = part[1][0];
12539 operands[2] = part[0][0];
12540 operands[3] = part[0][1];
12541 operands[4] = part[0][2];
12542 operands[5] = part[1][0];
12543 operands[6] = part[1][1];
12544 operands[7] = part[1][2];
12548 operands[2] = part[0][0];
12549 operands[3] = part[0][1];
12550 operands[5] = part[1][0];
12551 operands[6] = part[1][1];