Commit b5c350d8 by Uros Bizjak Committed by Uros Bizjak

i386.md (prefetch): Do not assert mode of operand 0.

	* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
	(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
	Rename to ...
	(*prefetch_sse): ... this.
	(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
	Rename to ...
	(*prefetch_3dnow): ... this.

From-SVN: r191256
parent df92c640
2012-08-13 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (prefetch): Do not assert mode of operand 0.
(*prefetch_sse_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_sse): ... this.
(*prefetch_3dnow_<mode>): Do not set mode of address_operand predicate.
Rename to ...
(*prefetch_3dnow): ... this.
2012-09-13 Steven Bosscher <steven@gcc.gnu.org>
* ipa-pure-const.c (state_from_flags, local_pure_const): Use
......
......@@ -17800,12 +17800,10 @@
int locality = INTVAL (operands[2]);
gcc_assert (rw == 0 || rw == 1);
gcc_assert (locality >= 0 && locality <= 3);
gcc_assert (GET_MODE (operands[0]) == Pmode
|| GET_MODE (operands[0]) == VOIDmode);
gcc_assert (IN_RANGE (locality, 0, 3));
if (TARGET_PRFCHW && rw)
operands[2] = GEN_INT (3);
/* Use 3dNOW prefetch in case we are asking for write prefetch not
supported by SSE counterpart or the SSE prefetch is not available
(K6 machines). Otherwise use SSE prefetch as it allows specifying
......@@ -17816,8 +17814,8 @@
operands[1] = const0_rtx;
})
(define_insn "*prefetch_sse_<mode>"
[(prefetch (match_operand:P 0 "address_operand" "p")
(define_insn "*prefetch_sse"
[(prefetch (match_operand 0 "address_operand" "p")
(const_int 0)
(match_operand:SI 1 "const_int_operand"))]
"TARGET_PREFETCH_SSE"
......@@ -17827,7 +17825,7 @@
};
int locality = INTVAL (operands[1]);
gcc_assert (locality >= 0 && locality <= 3);
gcc_assert (IN_RANGE (locality, 0, 3));
return patterns[locality];
}
......@@ -17837,8 +17835,8 @@
(symbol_ref "memory_address_length (operands[0])"))
(set_attr "memory" "none")])
(define_insn "*prefetch_3dnow_<mode>"
[(prefetch (match_operand:P 0 "address_operand" "p")
(define_insn "*prefetch_3dnow"
[(prefetch (match_operand 0 "address_operand" "p")
(match_operand:SI 1 "const_int_operand" "n")
(const_int 3))]
"TARGET_3DNOW || TARGET_PRFCHW"
......
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