Module Name:    src
Committed By:   christos
Date:           Sat Sep 17 00:55:40 UTC 2016

Modified Files:
        src/external/gpl3/gcc/dist/gcc/config/m68k: m68k.md

Log Message:
undo the attempt to figure out mult clobbering; breaks compilation; revert
to the fsf version


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md
diff -u src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md:1.5 src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md:1.6
--- src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md:1.5	Fri Sep 16 16:30:14 2016
+++ src/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md	Fri Sep 16 20:55:40 2016
@@ -3135,34 +3135,16 @@
 ;; We need a separate DEFINE_EXPAND for u?mulsidi3 to be able to use the
 ;; proper matching constraint.  This is because the matching is between
 ;; the high-numbered word of the DImode operand[0] and operand[1].
-;;
-;; Note: life_analysis() does not keep track of the individual halves of the
-;; DImode register.  To prevent spurious liveness before the u?mulsidi3 insn
-;; (which causes "uninitialized variable" warnings), we explicitly clobber
-;; the DImode register.
 (define_expand "umulsidi3"
-  [(set (match_operand:DI 0 "register_operand" "")
-	(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" ""))
-		 (zero_extend:DI (match_operand:SI 2 "register_operand" ""))))]
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
-  "")
-
-(define_insn_and_split "*umulsidi3_split"
-  [(set (match_operand:DI 0 "register_operand" "")
-	(mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" ""))
-		 (zero_extend:DI (match_operand:SI 2 "register_operand" ""))))]
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
-  "#"
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
-  [
-   (parallel
-    [(set (subreg:SI (match_dup 0) 4)
-	  (mult:SI (match_dup 1) (match_dup 2)))
+  [(parallel
+    [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
+	  (mult:SI (match_operand:SI 1 "register_operand" "")
+		   (match_operand:SI 2 "register_operand" "")))
      (set (subreg:SI (match_dup 0) 0)
 	  (truncate:SI (lshiftrt:DI (mult:DI (zero_extend:DI (match_dup 1))
 					     (zero_extend:DI (match_dup 2)))
-				    (const_int 32))))])
-   (clobber (match_dup 0))]
+				    (const_int 32))))])]
+  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
   "")
 
 (define_insn ""
@@ -3193,27 +3175,15 @@
   "mulu%.l %2,%3:%0")
 
 (define_expand "mulsidi3"
-  [(set (match_operand:DI 0 "register_operand" "")
-	(mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" ""))
-		 (sign_extend:DI (match_operand:SI 2 "register_operand" ""))))]
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
-  "")
-
-(define_insn_and_split "*mulsidi3_split"
-  [(set (match_operand:DI 0 "register_operand" "")
-	(mult:DI (sign_extend:DI (match_operand:SI 1 "register_operand" ""))
-		 (sign_extend:DI (match_operand:SI 2 "register_operand" ""))))]
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
-  "#"
-  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
   [(parallel
-    [(set (subreg:SI (match_dup 0) 4)
-	  (mult:SI (match_dup 1) (match_dup 2)))
+    [(set (subreg:SI (match_operand:DI 0 "register_operand" "") 4)
+	  (mult:SI (match_operand:SI 1 "register_operand" "")
+		   (match_operand:SI 2 "register_operand" "")))
      (set (subreg:SI (match_dup 0) 0)
 	  (truncate:SI (lshiftrt:DI (mult:DI (sign_extend:DI (match_dup 1))
 					     (sign_extend:DI (match_dup 2)))
-				    (const_int 32))))])
-   (clobber (match_dup 0))]
+				    (const_int 32))))])]
+  "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE"
   "")
 
 (define_insn ""

Reply via email to