aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@freesoft.cz>1999-10-01 03:19:16 +0200
committerRichard Henderson <rth@gcc.gnu.org>1999-09-30 18:19:16 -0700
commitca285e0794fc71079acf77d743b44f4a7a5aa12a (patch)
treea9aaa1ecad9cf877ecff583bac216fb3924ca530 /gcc
parent39cc9917e21cb9f2145881c321a25ab8ed2bb54a (diff)
downloadgcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.zip
gcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.tar.gz
gcc-ca285e0794fc71079acf77d743b44f4a7a5aa12a.tar.bz2
Jan Hubicka <hubicka@freesoft.cz>
* i386.md (truncatexfdf splitters): Do not use subreg. (fop XFmode patterns): Fix mode in operand testing. From-SVN: r29742
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.md35
2 files changed, 23 insertions, 17 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 34656de..b38ff43 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Thu Sep 30 18:18:39 1999 Jan Hubicka <hubicka@freesoft.cz>
+
+ * i386.md (truncatexfdf splitters): Do not use subreg.
+ (fop XFmode patterns): Fix mode in operand testing.
+
Thu Sep 30 18:04:13 1999 Richard Henderson <rth@cygnus.com>
* jump.c (jump_optimize_1): Amend last change to test only the
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index 53b23f8..b2adc39 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2684,8 +2684,8 @@
(float_truncate:DF
(match_operand:XF 1 "register_operand" "")))
(clobber (match_operand:DF 2 "memory_operand" ""))]
- "TARGET_80387 && reload_completed"
- [(set (match_dup 0) (subreg:DF (match_dup 1) 0))]
+ "TARGET_80387"
+ [(set (match_dup 0) (float_truncate:DF (match_dup 1)))]
"")
(define_split
@@ -2694,9 +2694,10 @@
(match_operand:XF 1 "register_operand" "")))
(clobber (match_operand:DF 2 "memory_operand" ""))]
"TARGET_80387 && reload_completed"
- [(set (match_dup 2) (subreg:DF (match_dup 1) 0))
+ [(set (match_dup 2) (float_truncate:DF (match_dup 1)))
(set (match_dup 0) (match_dup 2))]
"")
+
;; %%% Break up all these bad boys.
@@ -6957,9 +6958,9 @@
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))])
@@ -6972,9 +6973,9 @@
"TARGET_80387 && TARGET_USE_FIOP"
"* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))
@@ -6989,9 +6990,9 @@
"TARGET_80387 && TARGET_USE_FIOP"
"* return which_alternative ? \"#\" : output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))
@@ -7006,9 +7007,9 @@
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))])
@@ -7022,9 +7023,9 @@
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))])
@@ -7037,9 +7038,9 @@
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))])
@@ -7053,9 +7054,9 @@
"TARGET_80387"
"* return output_387_binary_op (insn, operands);"
[(set (attr "type")
- (cond [(match_operand:DF 3 "mult_operator" "")
+ (cond [(match_operand:XF 3 "mult_operator" "")
(const_string "fmul")
- (match_operand:DF 3 "div_operator" "")
+ (match_operand:XF 3 "div_operator" "")
(const_string "fdiv")
]
(const_string "fop")))])