+Tue Apr 13 14:14:06 1999 Jan Hubicka <hubicka@freesoft.cz>
+
+ * i386.md: Do not output mov %0,reg on AMD K6.
+
Tue Apr 13 12:14:07 1999 Dave Brolley <brolley@cygnus.com>
* cppinit.c (cpp_start_read): Fix buffer overwrite.
"*
{
rtx link;
- if ((ix86_cpu != PROCESSOR_K6 || optimize_size)
- && operands[1] == const0_rtx && REG_P (operands[0]))
+
+ /* Use of xor was disabled for AMD K6 as recommended by the Optimization
+ Manual. My test shows, that this generally hurts the performance, because
+ mov is longer and takes longer to decode and decoding is the main
+ bottleneck of K6 when executing GCC code. */
+
+ if (operands[1] == const0_rtx && REG_P (operands[0]))
return AS2 (xor%L0,%0,%0);
if (operands[1] == const1_rtx
"*
{
rtx link;
- if ((ix86_cpu != PROCESSOR_K6 || optimize_size)
- && operands[1] == const0_rtx && REG_P (operands[0]))
+
+ /* Use of xor was disabled for AMD K6 as recommended by the Optimization
+ Manual. My test shows, that this generally hurts the performance, because
+ mov is longer and takes longer to decode and decoding is the main
+ bottleneck of K6 when executing GCC code. */
+
+ if (operands[1] == const0_rtx && REG_P (operands[0]))
return AS2 (xor%W0,%0,%0);
if (operands[1] == const1_rtx