From 44fdfafcf4d8940cbdc92266b091f18c62832d3a Mon Sep 17 00:00:00 2001 From: Michael Beck Date: Sun, 21 Dec 2008 14:07:14 +0000 Subject: [PATCH] - gcc ignores RW==1 for non 3DNow! [r24830] --- ir/be/ia32/ia32_transform.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index 98ad973f4..933b916b9 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -4660,10 +4660,11 @@ static ir_node *gen_prefetch(ir_node *node) { block = be_transform_node(get_nodes_block(node)); mem = be_transform_node(get_Builtin_mem(node)); - if (rw == 1) { + if (rw == 1 && ia32_cg_config.use_3dnow_prefetch) { /* we have 3DNow!, this was already checked above */ new_node = new_bd_ia32_PrefetchW(dbgi, block, base, index, mem); } else if (ia32_cg_config.use_sse_prefetch) { + /* note: rw == 1 is IGNORED in that case */ param = get_Builtin_param(node, 2); tv = get_Const_tarval(param); locality = get_tarval_long(tv); -- 2.20.1