Commit 6f6e8901 by Alan Modra Committed by Alan Modra

re PR target/20203 (unrecognizable insn when using long long and memset)

	PR target/20203
	* builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
	Remove convert_memory_address call duplicating that in memory_address.

From-SVN: r97233
parent e6e375cc
2005-03-30 Alan Modra <amodra@bigpond.net.au>
PR target/20203
* builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
Remove convert_memory_address call duplicating that in memory_address.
2005-03-29 Richard Henderson <rth@redhat.com>
PR c/20519
......
......@@ -979,12 +979,8 @@ expand_builtin_prefetch (tree arglist)
static rtx
get_memory_rtx (tree exp)
{
rtx addr = expand_expr (exp, NULL_RTX, ptr_mode, EXPAND_SUM);
rtx mem;
addr = convert_memory_address (Pmode, addr);
mem = gen_rtx_MEM (BLKmode, memory_address (BLKmode, addr));
rtx addr = expand_expr (exp, NULL_RTX, ptr_mode, EXPAND_NORMAL);
rtx mem = gen_rtx_MEM (BLKmode, memory_address (BLKmode, addr));
/* Get an expression we can use to find the attributes to assign to MEM.
If it is an ADDR_EXPR, use the operand. Otherwise, dereference it if
......
2005-03-30 Alan Modra <amodra@bigpond.net.au>
* gcc.c-torture/compile/pr20203.c: New test.
2005-03-26 Steven G. Kargl <kargls@comcast.net>
* gfortran.dg/promotion.f90: New test.
......
void *memset (void *, int, unsigned long);
typedef struct bfd_section
{
unsigned long size;
unsigned char *contents;
} asection;
int
_bfd_mips_elf_finish_dynamic_sections (asection *s)
{
long long dummy_offset;
dummy_offset = s->size - 16;
memset (s->contents + dummy_offset, 0, 16);
return 1;
}
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