Commit 04959406 by Steve Ellcey Committed by Steve Ellcey

re PR target/81356 (__builtin_strcpy is not good for copying an empty string on aarch64)

2017-11-17  Steve Ellcey  <sellcey@cavium.com>

	PR target/81356
	* config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):
	Remove.
	(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define.

From-SVN: r254901
parent abccc074
2017-11-17 Steve Ellcey <sellcey@cavium.com>
PR target/81356
* config/aarch64/aarch64.c (aarch64_use_by_pieces_infrastructure_p):
Remove.
(TARGET_USE_BY_PIECES_INFRASTRUCTURE_P): Remove define.
2017-11-17 H.J. Lu <hongjiu.lu@intel.com>
* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
......@@ -13948,22 +13948,6 @@ aarch64_asan_shadow_offset (void)
return (HOST_WIDE_INT_1 << 36);
}
static bool
aarch64_use_by_pieces_infrastructure_p (unsigned HOST_WIDE_INT size,
unsigned int align,
enum by_pieces_operation op,
bool speed_p)
{
/* STORE_BY_PIECES can be used when copying a constant string, but
in that case each 64-bit chunk takes 5 insns instead of 2 (LDR/STR).
For now we always fail this and let the move_by_pieces code copy
the string from read-only memory. */
if (op == STORE_BY_PIECES)
return false;
return default_use_by_pieces_infrastructure_p (size, align, op, speed_p);
}
static rtx
aarch64_gen_ccmp_first (rtx_insn **prep_seq, rtx_insn **gen_seq,
int code, tree treeop0, tree treeop1)
......@@ -15458,10 +15442,6 @@ aarch64_libgcc_floating_mode_supported_p
#undef TARGET_LEGITIMIZE_ADDRESS
#define TARGET_LEGITIMIZE_ADDRESS aarch64_legitimize_address
#undef TARGET_USE_BY_PIECES_INFRASTRUCTURE_P
#define TARGET_USE_BY_PIECES_INFRASTRUCTURE_P \
aarch64_use_by_pieces_infrastructure_p
#undef TARGET_SCHED_CAN_SPECULATE_INSN
#define TARGET_SCHED_CAN_SPECULATE_INSN aarch64_sched_can_speculate_insn
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment