This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

STRICT_LOW_PART



More STRICT_LOW_PART fixes:

        * convex.md: Use "+" instead of "=" for outputs wrapped in a
        STRICT_LOW_PART.
        * i370.md, i386.md, ns32k.md, sh.md, vax.md: Likewise.

Index: config/convex/convex.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/convex/convex.md,v
retrieving revision 1.3
diff -c -3 -p -r1.3 convex.md
*** convex.md	1999/09/07 05:48:25	1.3
--- convex.md	2000/09/12 14:54:42
***************
*** 301,307 ****
       operands[1] = force_reg (SImode, operands[1]);")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:SI 0 "general_operand" 
"=d,r,d,r,r,m"))
  	(match_operand:SI 1 "general_operand" "d,r,Q,m,i,r"))]
    "register_operand (operands[0], SImode)
     || register_operand (operands[1], SImode)"
--- 301,307 ----
       operands[1] = force_reg (SImode, operands[1]);")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:SI 0 "general_operand" 
"+d,r,d,r,r,m"))
  	(match_operand:SI 1 "general_operand" "d,r,Q,m,i,r"))]
    "register_operand (operands[0], SImode)
     || register_operand (operands[1], SImode)"
Index: config/i370/i370.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i370/i370.md,v
retrieving revision 1.13
diff -c -3 -p -r1.13 i370.md
*** i370.md	2000/09/07 22:24:33	1.13
--- i370.md	2000/09/12 14:54:47
*************** check_label_emit ();
*** 1065,1071 ****
  ;
  
  (define_insn "movstrictqi"
!   [(set (strict_low_part (match_operand:QI 0 "general_operand" "=d"))
  	(match_operand:QI 1 "general_operand" "g"))]
    ""
    "*
--- 1065,1071 ----
  ;
  
  (define_insn "movstrictqi"
!   [(set (strict_low_part (match_operand:QI 0 "general_operand" "+d"))
  	(match_operand:QI 1 "general_operand" "g"))]
    ""
    "*
*************** check_label_emit ();
*** 1087,1093 ****
  ;
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "=d"))
  	(match_operand:HI 1 "r_or_s_operand" "g"))]
    ""
    "*
--- 1087,1093 ----
  ;
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+d"))
  	(match_operand:HI 1 "r_or_s_operand" "g"))]
    ""
    "*
*************** check_label_emit ();
*** 1110,1116 ****
  )
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "general_operand" "=dm"))
  	(match_operand:HI 1 "general_operand" "d"))]
    ""
    "*
--- 1110,1116 ----
  )
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "general_operand" "+dm"))
  	(match_operand:HI 1 "general_operand" "d"))]
    ""
    "*
Index: config/i386/i386.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/i386/i386.md,v
retrieving revision 1.178
diff -c -3 -p -r1.178 i386.md
*** i386.md	2000/09/11 23:54:11	1.178
--- i386.md	2000/09/12 14:55:08
***************
*** 1717,1723 ****
     (set_attr "mode" "HI")])
  
  (define_insn "*movstricthi_xor"
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "=r"))
  	(match_operand:HI 1 "const0_operand" "i"))
     (clobber (reg:CC 17))]
    "reload_completed && (!TARGET_USE_MOV0 || optimize_size)"
--- 1717,1723 ----
     (set_attr "mode" "HI")])
  
  (define_insn "*movstricthi_xor"
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+r"))
  	(match_operand:HI 1 "const0_operand" "i"))
     (clobber (reg:CC 17))]
    "reload_completed && (!TARGET_USE_MOV0 || optimize_size)"
Index: config/ns32k/ns32k.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/ns32k/ns32k.md,v
retrieving revision 1.15
diff -c -3 -p -r1.15 ns32k.md
*** ns32k.md	2000/08/08 22:40:49	1.15
--- ns32k.md	2000/09/12 14:55:13
***************
*** 993,999 ****
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "=r"))
  	(plus:HI (match_operand:HI 1 "general_operand" "0")
  		 (match_operand:HI 2 "general_operand" "g")))]
    ""
--- 993,999 ----
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+r"))
  	(plus:HI (match_operand:HI 1 "general_operand" "0")
  		 (match_operand:HI 2 "general_operand" "g")))]
    ""
***************
*** 1021,1027 ****
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "=r"))
  	(plus:QI (match_operand:QI 1 "general_operand" "0")
  		 (match_operand:QI 2 "general_operand" "g")))]
    ""
--- 1021,1027 ----
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "+r"))
  	(plus:QI (match_operand:QI 1 "general_operand" "0")
  		 (match_operand:QI 2 "general_operand" "g")))]
    ""
***************
*** 1136,1142 ****
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "=r"))
  	(minus:HI (match_operand:HI 1 "general_operand" "0")
  		  (match_operand:HI 2 "general_operand" "g")))]
    ""
--- 1136,1142 ----
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+r"))
  	(minus:HI (match_operand:HI 1 "general_operand" "0")
  		  (match_operand:HI 2 "general_operand" "g")))]
    ""
***************
*** 1165,1171 ****
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "=r"))
  	(minus:QI (match_operand:QI 1 "general_operand" "0")
  		  (match_operand:QI 2 "general_operand" "g")))]
    ""
--- 1165,1171 ----
  }")
  
  (define_insn ""
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "+r"))
  	(minus:QI (match_operand:QI 1 "general_operand" "0")
  		  (match_operand:QI 2 "general_operand" "g")))]
    ""
Index: config/sh/sh.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/sh/sh.md,v
retrieving revision 1.46
diff -c -3 -p -r1.46 sh.md
*** sh.md	2000/09/08 11:00:17	1.46
--- sh.md	2000/09/12 14:55:25
***************
*** 2351,2357 ****
     (set_attr "length" "*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,0")])
  
  (define_insn "movsi_i_lowpart"
!   [(set (strict_low_part (match_operand:SI 0 "general_movdst_operand" 
"=r,r,r,r,r,m,r"))
  	(match_operand:SI 1 "general_movsrc_operand" "Q,rI,mr,xl,t,r,i"))]
     "register_operand (operands[0], SImode)
      || register_operand (operands[1], SImode)"
--- 2351,2357 ----
     (set_attr "length" "*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,*,0")])
  
  (define_insn "movsi_i_lowpart"
!   [(set (strict_low_part (match_operand:SI 0 "general_movdst_operand" 
"+r,r,r,r,r,m,r"))
  	(match_operand:SI 1 "general_movsrc_operand" "Q,rI,mr,xl,t,r,i"))]
     "register_operand (operands[0], SImode)
      || register_operand (operands[1], SImode)"
Index: config/vax/vax.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/vax/vax.md,v
retrieving revision 1.11
diff -c -3 -p -r1.11 vax.md
*** vax.md	2000/08/29 19:10:05	1.11
--- vax.md	2000/09/12 14:55:27
***************
*** 257,263 ****
  }")
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "=g"))
  	(match_operand:HI 1 "general_operand" "g"))]
    ""
    "*
--- 257,263 ----
  }")
  
  (define_insn "movstricthi"
!   [(set (strict_low_part (match_operand:HI 0 "register_operand" "+g"))
  	(match_operand:HI 1 "general_operand" "g"))]
    ""
    "*
***************
*** 307,313 ****
  }")
  
  (define_insn "movstrictqi"
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "=g"))
  	(match_operand:QI 1 "general_operand" "g"))]
    ""
    "*
--- 307,313 ----
  }")
  
  (define_insn "movstrictqi"
!   [(set (strict_low_part (match_operand:QI 0 "register_operand" "+g"))
  	(match_operand:QI 1 "general_operand" "g"))]
    ""
    "*





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]