diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 11 |
2 files changed, 9 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f70375f877..2a3fd19aa72 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2002-01-14 Richard Henderson <rth@redhat.com> + * config/i386/i386.md (prefetch): Tidy. + (prefetch_3dnow): Fix locality operand. + +2002-01-14 Richard Henderson <rth@redhat.com> + * config/mips/mips.h (HI_AND_FP_REGS): New register class. (CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index c892fc183ce..f43860801cc 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -19607,6 +19607,7 @@ { int rw = INTVAL (operands[1]); int locality = INTVAL (operands[2]); + if (rw != 0 && rw != 1) abort (); if (locality < 0 || locality > 3) @@ -19617,13 +19618,9 @@ (K6 machines). Otherwise use SSE prefetch as it allows specifying of locality. */ if (TARGET_3DNOW && (!TARGET_PREFETCH_SSE || rw)) - { - operands[2] = GEN_INT (3); - } + operands[2] = GEN_INT (3); else - { - operands[1] = const0_rtx; - } + operands[1] = const0_rtx; }) (define_insn "*prefetch_sse" @@ -19647,7 +19644,7 @@ (define_insn "*prefetch_3dnow" [(prefetch (match_operand:SI 0 "address_operand" "p") (match_operand:SI 1 "const_int_operand" "n") - (const_int 0))] + (const_int 3))] "TARGET_3DNOW" { if (INTVAL (operands[1]) == 0) |