rs6000 output constraint fix

Richard Henderson rth@cygnus.com
Thu Oct 14 17:29:00 GMT 1999


What genrecog was actually looking for here was an "=" in the
constraint string of a SET_DEST.  For alternate reasons I think
using a wildcard match is a better solution.

This is just enough to get the port to compile again.  There 
are quite a number of warnings remaining.  I think I know how
to fix those as well, but there may be irritating interactions
with ppc64, so I must study the problem more closely.


r~

        * rs6000.md (call_value_indirect_aix32): Use wildcard match_operand
        for call return value.
        (call_value_indirect_aix64, call_value_indirect_nt): Likewise.

Index: config/rs6000/rs6000.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.74
diff -c -p -d -r1.74 rs6000.md
*** rs6000.md	1999/10/11 00:39:30	1.74
--- rs6000.md	1999/10/15 00:21:11
***************
*** 8056,8062 ****
     (set_attr "length" "28")])
  
  (define_insn "call_value_indirect_aix32"
!   [(set (match_operand 0 "register_operand" "fg")
  	(call (mem:SI (match_operand:SI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))
--- 8056,8062 ----
     (set_attr "length" "28")])
  
  (define_insn "call_value_indirect_aix32"
!   [(set (match_operand 0 "" "")
  	(call (mem:SI (match_operand:SI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))
***************
*** 8072,8078 ****
     (set_attr "length" "28")])
  
  (define_insn "call_value_indirect_aix64"
!   [(set (match_operand 0 "register_operand" "fg")
  	(call (mem:SI (match_operand:DI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))
--- 8072,8078 ----
     (set_attr "length" "28")])
  
  (define_insn "call_value_indirect_aix64"
!   [(set (match_operand 0 "" "")
  	(call (mem:SI (match_operand:DI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))
***************
*** 8116,8122 ****
     (set_attr "length" "24")])
  
  (define_insn "call_value_indirect_nt"
!   [(set (match_operand 0 "register_operand" "fg")
  	(call (mem:SI (match_operand:SI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))
--- 8116,8122 ----
     (set_attr "length" "24")])
  
  (define_insn "call_value_indirect_nt"
!   [(set (match_operand 0 "" "")
  	(call (mem:SI (match_operand:SI 1 "gpc_reg_operand" "b"))
  	      (match_operand 2 "const_int_operand" "n")))
     (use (match_operand 3 "const_int_operand" "n"))


More information about the Gcc-patches mailing list