OSDN Git Service

2004-02-24 Aldy Hernandez <aldyh@redhat.com>
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Feb 2004 22:59:03 +0000 (22:59 +0000)
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Feb 2004 22:59:03 +0000 (22:59 +0000)
        * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
        (spe_fixuns_truncsfsi2): Delete.

        * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
        (fixuns_truncsfsi2): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78396 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.md
gcc/config/rs6000/spe.md

index 0cdd56b..8657351 100644 (file)
@@ -1,3 +1,11 @@
+2004-02-24  Aldy Hernandez  <aldyh@redhat.com>
+
+        * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
+        (spe_fixuns_truncsfsi2): Delete.
+
+        * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
+        (fixuns_truncsfsi2): Delete.
+
 2004-02-24  Josef Zlomek  <zlomekj@suse.cz>
 
        PR/14240
index af0d781..b49a0ac 100644 (file)
   "fsel %0,%1,%2,%3"
   [(set_attr "type" "fp")])
 \f
-;; Conversions to and from floating-point.
-
-(define_expand "fixuns_truncsfsi2"
-  [(set (match_operand:SI 0 "gpc_reg_operand" "")
-       (unsigned_fix:SI (match_operand:SF 1 "gpc_reg_operand" "")))]
-  "TARGET_HARD_FLOAT && !TARGET_FPRS"
-  "")
-
-(define_expand "fix_truncsfsi2"
-  [(set (match_operand:SI 0 "gpc_reg_operand" "")
-       (fix:SI (match_operand:SF 1 "gpc_reg_operand" "")))]
-  "TARGET_HARD_FLOAT && !TARGET_FPRS"
-  "")
-
 ; For each of these conversions, there is a define_expand, a define_insn
 ; with a '#' template, and a define_split (with C code).  The idea is
 ; to allow constant folding with the template of the define_insn,
index d4a8896..07ee098 100644 (file)
   "efsctuiz %0,%1"
   [(set_attr "type" "fp")])
 
-(define_insn "spe_fixuns_truncsfsi2"
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-       (unsigned_fix:SI (match_operand:SF 1 "gpc_reg_operand" "r")))]
-  "TARGET_HARD_FLOAT && !TARGET_FPRS"
-  "efsctui %0,%1"
-  [(set_attr "type" "fp")])
-
-(define_insn "spe_fix_truncsfsi2"
-  [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
-       (fix:SI (match_operand:SF 1 "gpc_reg_operand" "r")))]
-  "TARGET_HARD_FLOAT && !TARGET_FPRS"
-  "efsctsi %0,%1"
-  [(set_attr "type" "fp")])
+; These instructions aren't IEEE compliant.  They get some corner cases
+; wrong.  Don't enable them!
+;(define_insn "spe_fixuns_truncsfsi2"
+;  [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+;      (unsigned_fix:SI (match_operand:SF 1 "gpc_reg_operand" "r")))]
+;  "TARGET_HARD_FLOAT && !TARGET_FPRS"
+;  "efsctui %0,%1"
+;  [(set_attr "type" "fp")])
+;
+;(define_insn "spe_fix_truncsfsi2"
+;  [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
+;      (fix:SI (match_operand:SF 1 "gpc_reg_operand" "r")))]
+;  "TARGET_HARD_FLOAT && !TARGET_FPRS"
+;  "efsctsi %0,%1"
+;  [(set_attr "type" "fp")])
 
 (define_insn "spe_floatunssisf2"
   [(set (match_operand:SF 0 "gpc_reg_operand" "=r")