pa genrecog warnings

Richard Henderson rth@cygnus.com
Thu Oct 14 19:03:00 GMT 1999


Congratulations on being the first port I've checked that
hasn't had output constraint problems.

The remaining half dozen warnings seem to be all from 
shared 32/64 bit instructions.  The following verifies
the proper mode (exceedingly unlikely to be wrong in
these cases, but...) and silences the warnings.

Ok?


r~


	* pa.md (post_stw+1): Use pmode_register_operand.
	(dcacheflush, icacheflush): Likewise.

Index: config/pa/pa.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/pa/pa.md,v
retrieving revision 1.54
diff -c -p -d -r1.54 pa.md
*** pa.md	1999/09/22 22:32:29	1.54
--- pa.md	1999/10/15 01:58:28
***************
*** 1572,1578 ****
  ;; Note since this pattern can be created at reload time (via movsi), all
  ;; the same rules for movsi apply here.  (no new pseudos, no temporaries).
  (define_insn ""
!   [(set (match_operand 0 "register_operand" "=a")
  	(match_operand 1 "pic_label_operand" ""))]
    ""
    "*
--- 1572,1578 ----
  ;; Note since this pattern can be created at reload time (via movsi), all
  ;; the same rules for movsi apply here.  (no new pseudos, no temporaries).
  (define_insn ""
!   [(set (match_operand 0 "pmode_register_operand" "=a")
  	(match_operand 1 "pic_label_operand" ""))]
    ""
    "*
***************
*** 5608,5615 ****
  
  (define_insn "dcacheflush"
    [(unspec_volatile [(const_int 1)] 0)
!    (use (mem:SI (match_operand 0 "register_operand" "r")))
!    (use (mem:SI (match_operand 1 "register_operand" "r")))]
    ""
    "fdc 0(%0)\;fdc 0(%1)\;sync"
    [(set_attr "type" "multi")
--- 5608,5615 ----
  
  (define_insn "dcacheflush"
    [(unspec_volatile [(const_int 1)] 0)
!    (use (mem:SI (match_operand 0 "pmode_register_operand" "r")))
!    (use (mem:SI (match_operand 1 "pmode_register_operand" "r")))]
    ""
    "fdc 0(%0)\;fdc 0(%1)\;sync"
    [(set_attr "type" "multi")
***************
*** 5617,5627 ****
  
  (define_insn "icacheflush"
    [(unspec_volatile [(const_int 2)] 0)
!    (use (mem:SI (match_operand 0 "register_operand" "r")))
!    (use (mem:SI (match_operand 1 "register_operand" "r")))
!    (use (match_operand 2 "register_operand" "r"))
!    (clobber (match_operand 3 "register_operand" "=&r"))
!    (clobber (match_operand 4 "register_operand" "=&r"))]
    ""
    "mfsp %%sr0,%4\;ldsid (%2),%3\;mtsp %3,%%sr0\;fic 0(%%sr0,%0)\;fic 0(%%sr0,%1)\;sync\;mtsp %4,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop"
    [(set_attr "type" "multi")
--- 5617,5627 ----
  
  (define_insn "icacheflush"
    [(unspec_volatile [(const_int 2)] 0)
!    (use (mem:SI (match_operand 0 "pmode_register_operand" "r")))
!    (use (mem:SI (match_operand 1 "pmode_register_operand" "r")))
!    (use (match_operand 2 "pmode_register_operand" "r"))
!    (clobber (match_operand 3 "pmode_register_operand" "=&r"))
!    (clobber (match_operand 4 "pmode_register_operand" "=&r"))]
    ""
    "mfsp %%sr0,%4\;ldsid (%2),%3\;mtsp %3,%%sr0\;fic 0(%%sr0,%0)\;fic 0(%%sr0,%1)\;sync\;mtsp %4,%%sr0\;nop\;nop\;nop\;nop\;nop\;nop"
    [(set_attr "type" "multi")


More information about the Gcc-patches mailing list