Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/external/gpl3/gcc/dist/gcc/config/m68k undo the attempt to f...
details: https://anonhg.NetBSD.org/src/rev/4bacbb9595c1
branches: trunk
changeset: 347802:4bacbb9595c1
user: christos <christos%NetBSD.org@localhost>
date: Sat Sep 17 00:55:40 2016 +0000
description:
undo the attempt to figure out mult clobbering; breaks compilation; revert
to the fsf version
diffstat:
external/gpl3/gcc/dist/gcc/config/m68k/m68k.md | 52 +++++--------------------
1 files changed, 11 insertions(+), 41 deletions(-)
diffs (77 lines):
diff -r 1d63bcccff6a -r 4bacbb9595c1 external/gpl3/gcc/dist/gcc/config/m68k/m68k.md
--- a/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md Fri Sep 16 23:20:31 2016 +0000
+++ b/external/gpl3/gcc/dist/gcc/config/m68k/m68k.md Sat Sep 17 00:55:40 2016 +0000
@@ -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 ""
Home |
Main Index |
Thread Index |
Old Index