rs6000.md (prefetch): Make address V4SI mode so that the address is restricted to legitimate form for...

* rs6000.md (prefetch): Make address V4SI mode so that the address
        is restricted to legitimate form for instruction.

From-SVN: r49217
This commit is contained in:
David Edelsohn 2002-01-25 17:52:43 +00:00 committed by David Edelsohn
parent 2fb4e07f24
commit 01a2ccd010
2 changed files with 11 additions and 29 deletions

View file

@ -1,3 +1,8 @@
2002-01-25 David Edelsohn <edelsohn@gnu.org>
* rs6000.md (prefetch): Make address V4SI mode so that the address
is restricted to legitimate form for instruction.
2002-01-25 Bob Wilson <bob.wilson@acm.org>
* doc/install.texi (xtensa-*-elf): New target.

View file

@ -13854,39 +13854,16 @@
DONE;
}")
(define_expand "prefetch"
[(prefetch (match_operand 0 "address_operand" "p")
(match_operand 1 "const_int_operand" "n")
(match_operand 2 "const_int_operand" "n"))]
"TARGET_POWERPC"
"
{
if (TARGET_32BIT)
emit_insn (gen_prefetchsi (operands[0], operands[1], operands[2]));
else
emit_insn (gen_prefetchdi (operands[0], operands[1], operands[2]));
DONE;
}")
(define_insn "prefetchsi"
[(prefetch (match_operand:SI 0 "address_operand" "r")
(define_insn "prefetch"
[(prefetch (match_operand:V4SI 0 "address_operand" "p")
(match_operand:SI 1 "const_int_operand" "n")
(match_operand:SI 2 "const_int_operand" "n"))]
"TARGET_POWERPC && TARGET_32BIT"
"TARGET_POWERPC"
"*
{
return INTVAL (operands[1]) ? \"dcbtst 0,%0\" : \"dcbt 0,%0\";
}"
[(set_attr "type" "load")])
(define_insn "prefetchdi"
[(prefetch (match_operand:DI 0 "address_operand" "r")
(match_operand:DI 1 "const_int_operand" "n")
(match_operand:DI 2 "const_int_operand" "n"))]
"TARGET_POWERPC && TARGET_64BIT"
"*
{
return INTVAL (operands[1]) ? \"dcbtst 0,%0\" : \"dcbt 0,%0\";
if (GET_CODE (operands[0]) == REG)
return INTVAL (operands[1]) ? \"dcbtst 0,%0\" : \"dcbt 0,%0\";
return INTVAL (operands[1]) ? \"dcbtst %a0\" : \"dcbt %a0\";
}"
[(set_attr "type" "load")])