(all floating point): If -msoft-float, don't allow any
authorDoug Evans <dje@gnu.org>
Wed, 2 Mar 1994 00:41:51 +0000 (00:41 +0000)
committerDoug Evans <dje@gnu.org>
Wed, 2 Mar 1994 00:41:51 +0000 (00:41 +0000)
floating point builtin operations.

From-SVN: r6689

gcc/config/a29k/a29k.md

index 5290c0e..11ea210 100644 (file)
 (define_insn "fix_truncsfsi2"
   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
        (fix:SI (match_operand:SF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,3,0,1")
 
 (define_insn "fix_truncdfsi2"
   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
        (fix:SI (match_operand:DF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,3,0,2")
 
 (define_insn "fixuns_truncsfsi2"
   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
        (unsigned_fix:SI (match_operand:SF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,1,3,0,1")
 
 (define_insn "fixuns_truncdfsi2"
   [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
        (unsigned_fix:SI (match_operand:DF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,1,3,0,2")
 
 (define_insn "truncdfsf2"
   [(set (match_operand:SF 0 "register_operand" "=r")
        (float_truncate:SF (match_operand:DF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,4,1,2")
 
 (define_insn "extendsfdf2"
   [(set (match_operand:DF 0 "register_operand" "=r")
        (float_extend:DF (match_operand:SF 1 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,4,2,1")
 
 (define_insn "floatsisf2"
   [(set (match_operand:SF 0 "register_operand" "=r")
        (float:SF (match_operand:SI 1 "gpc_reg_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,4,1,0")
 
 (define_insn "floatsidf2"
   [(set (match_operand:DF 0 "register_operand" "=r")
        (float:DF (match_operand:SI 1 "gpc_reg_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,0,4,2,0")
 
 (define_insn "floatunssisf2"
   [(set (match_operand:SF 0 "register_operand" "=r")
        (unsigned_float:SF (match_operand:SI 1 "gpc_reg_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,1,4,1,0")
 
 (define_insn "floatunssidf2"
   [(set (match_operand:DF 0 "register_operand" "=r")
        (unsigned_float:DF (match_operand:SI 1 "gpc_reg_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "convert %0,%1,1,4,2,0")
 \f
 ;; CPxxx, DEQ, DGT, DGE, FEQ, FGT, FGE
        (match_operator 3 "fp_comparison_operator"
                        [(match_operand:SF 1 "register_operand" "r")
                         (match_operand:SF 2 "register_operand" "r")]))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "f%J3 %0,%1,%2"
   [(set_attr "type" "fadd")])
 
        (match_operator 3 "fp_comparison_operator"
                        [(match_operand:DF 1 "register_operand" "r")
                         (match_operand:DF 2 "register_operand" "r")]))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "d%J3 %0,%1,%2"
   [(set_attr "type" "fadd")])
 \f
   [(set (match_operand:DF 0 "register_operand" "")
        (plus:DF (match_operand:DF 1 "register_operand" "")
                 (match_operand:DF 2 "register_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(set (match_operand:DF 0 "register_operand" "=r")
        (div:DF (match_operand:DF 1 "register_operand" "=r")
                (match_operand:DF 2 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "ddiv %0,%1,%2"
   [(set_attr "type" "ddiv")])
 \f
   [(set (match_operand:DF 0 "register_operand" "")
        (mult:DF (match_operand:DF 1 "register_operand" "")
                 (match_operand:DF 2 "register_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(set (match_operand:DF 0 "register_operand" "=r")
        (minus:DF (match_operand:DF 1 "register_operand" "r")
                  (match_operand:DF 2 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(set (match_operand:SF 0 "register_operand" "")
        (plus:SF (match_operand:SF 1 "register_operand" "")
                 (match_operand:SF 2 "register_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(set (match_operand:SF 0 "register_operand" "=r")
        (div:SF (match_operand:SF 1 "register_operand" "=r")
                (match_operand:SF 2 "register_operand" "r")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "fdiv %0,%1,%2"
   [(set_attr "type" "fdiv")])
 
   [(set (match_operand:DF 0 "register_operand" "=r")
        (mult:DF (float_extend:DF (match_operand:SF 1 "register_operand" "%r"))
                 (float_extend:DF (match_operand:SF 2 "register_operand" "r"))))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "fdmul %0,%1,%2")
 
 ;; FMAC/FMSM
   [(set (match_operand:SF 0 "register_operand" "")
        (mult:SF (match_operand:SF 1 "register_operand" "")
                 (match_operand:SF 2 "register_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(set (match_operand:SF 0 "register_operand" "")
        (minus:SF (match_operand:SF 1 "register_operand" "")
                  (match_operand:SF 2 "register_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "")
 
 (define_insn ""
   [(parallel [(set (match_operand:SF 0 "register_operand" "")
                   (neg:SF (match_operand:SF 1 "register_operand" "")))
              (clobber (match_scratch:SI 2 ""))])]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "
 {
   rtx result;
   [(parallel [(set (match_operand:DF 0 "register_operand" "")
                   (neg:DF (match_operand:DF 1 "register_operand" "")))
              (clobber (match_scratch:SI 2 ""))])]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "
 {
   rtx result;
   [(set (cc0)
        (compare (match_operand:SF 0 "gpc_reg_operand" "")
                 (match_operand:SF 1 "gpc_reg_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "
 {
   a29k_compare_op0 = operands[0];
   [(set (cc0)
        (compare (match_operand:DF 0 "gpc_reg_operand" "")
                 (match_operand:DF 1 "gpc_reg_operand" "")))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "
 {
   a29k_compare_op0 = operands[0];
               (match_operand 2 "gpc_reg_operand" "")))
    (set (match_operand:SI 0 "gpc_reg_operand" "")
        (ge:SI (match_dup 3) (const_int 0)))]
-  ""
+  "! TARGET_SOFT_FLOAT"
   "
 { operands[3] = gen_reg_rtx (SImode);
 }");