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 ""