OSDN Git Service

2007-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
authorkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Mar 2007 08:49:53 +0000 (08:49 +0000)
committerkrebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Mar 2007 08:49:53 +0000 (08:49 +0000)
* config/s390/s390.md: Only non-functional changes.  Renamed
FPR mode macro to BFP all over the file.

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

gcc/ChangeLog
gcc/config/s390/s390.md

index f2671f0..d4f136e 100644 (file)
@@ -1,5 +1,10 @@
 2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
 
+       * config/s390/s390.md: Only non-functional changes.  Renamed
+       FPR mode macro to BFP all over the file.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
        * config/s390/s390.md (UNSPEC_COPYSIGN): New constant.
        (op_type attribute): RRF instruction type added.
        (fT0): New mode attribute.
index fbb2f9a..27733a0 100644 (file)
 
 ;; This mode macro allows floating point patterns to be generated from the
 ;; same template.
-(define_mode_macro FPR [TF DF SF])
+(define_mode_macro BFP [TF DF SF])
 (define_mode_macro DSF [DF SF])
 
 ;; These mode macros allow 31-bit and 64-bit TDSI patterns to be generated
                          (plus "add") (minus "sub") (mult "nand")])
 
 
-;; In FPR templates, a string like "lt<de>br" will expand to "ltxbr" in TFmode,
+;; In BFP templates, a string like "lt<de>br" will expand to "ltxbr" in TFmode,
 ;; "ltdbr" in DFmode, and "ltebr" in SFmode.
 (define_mode_attr xde [(TF "x") (DF "d") (SF "e")])
 
-;; In FPR templates, a string like "m<dee>br" will expand to "mxbr" in TFmode,
+;; In BFP templates, a string like "m<dee>br" will expand to "mxbr" in TFmode,
 ;; "mdbr" in DFmode, and "meebr" in SFmode.
 (define_mode_attr xdee [(TF "x") (DF "d") (SF "ee")])
 
-;; In FPR templates, "<RRe>" will expand to "RRE" in TFmode and "RR" otherwise.
+;; In BFP templates, "<RRe>" will expand to "RRE" in TFmode and "RR" otherwise.
 ;; Likewise for "<RXe>".
 (define_mode_attr RRe [(TF "RRE") (DF "RR") (SF "RR")])
 (define_mode_attr RXe [(TF "RXE") (DF "RX") (SF "RX")])
 
-;; In FPR templates, "<Rf>" will expand to "f" in TFmode and "R" otherwise.
+;; In BFP templates, "<Rf>" will expand to "f" in TFmode and "R" otherwise.
 ;; This is used to disable the memory alternative in TFmode patterns.
 (define_mode_attr Rf [(TF "f") (DF "R") (SF "R")])
 
 
 (define_expand "cmp<mode>"
   [(set (reg:CC CC_REGNUM)
-        (compare:CC (match_operand:FPR 0 "register_operand" "")
-                    (match_operand:FPR 1 "general_operand" "")))]
+        (compare:CC (match_operand:BFP 0 "register_operand" "")
+                    (match_operand:BFP 1 "general_operand" "")))]
   "TARGET_HARD_FLOAT"
 {
   s390_compare_op0 = operands[0];
 ; ltxbr, ltdbr, ltebr
 (define_insn "*cmp<mode>_ccs_0"
   [(set (reg CC_REGNUM)
-        (compare (match_operand:FPR 0 "register_operand" "f")
-                 (match_operand:FPR 1 "const0_operand" "")))]
+        (compare (match_operand:BFP 0 "register_operand" "f")
+                 (match_operand:BFP 1 "const0_operand" "")))]
   "s390_match_ccmode(insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lt<xde>br\t%0,%0"
    [(set_attr "op_type" "RRE")
 ; ltxr, ltdr, lter
 (define_insn "*cmp<mode>_ccs_0_ibm"
   [(set (reg CC_REGNUM)
-        (compare (match_operand:FPR 0 "register_operand" "f")
-                 (match_operand:FPR 1 "const0_operand" "")))]
+        (compare (match_operand:BFP 0 "register_operand" "f")
+                 (match_operand:BFP 1 "const0_operand" "")))]
   "s390_match_ccmode(insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "lt<xde>r\t%0,%0"
    [(set_attr "op_type" "<RRe>")
 ; cxbr, cdbr, cebr, cxb, cdb, ceb
 (define_insn "*cmp<mode>_ccs"
   [(set (reg CC_REGNUM)
-        (compare (match_operand:FPR 0 "register_operand" "f,f")
-                 (match_operand:FPR 1 "general_operand" "f,<Rf>")))]
+        (compare (match_operand:BFP 0 "register_operand" "f,f")
+                 (match_operand:BFP 1 "general_operand" "f,<Rf>")))]
   "s390_match_ccmode(insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    c<xde>br\t%0,%1
 ; cxr, cdr, cer, cx, cd, ce
 (define_insn "*cmp<mode>_ccs_ibm"
   [(set (reg CC_REGNUM)
-        (compare (match_operand:FPR 0 "register_operand" "f,f")
-                 (match_operand:FPR 1 "general_operand" "f,<Rf>")))]
+        (compare (match_operand:BFP 0 "register_operand" "f,f")
+                 (match_operand:BFP 1 "general_operand" "f,<Rf>")))]
   "s390_match_ccmode(insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "@
    c<xde>r\t%0,%1
   operands[1] = replace_equiv_address (operands[1], addr);
 })
 
-; TFmode in FPRs splitters
+; TFmode in BFPs splitters
 
 (define_split
   [(set (match_operand:TF 0 "register_operand" "")
 ; fixuns_trunc(sf|df)(si|di)2 and fix_trunc(sf|df)(si|di)2 instruction pattern(s).
 ;
 
-(define_expand "fixuns_trunc<FPR:mode><GPR:mode>2"
+(define_expand "fixuns_trunc<BFP:mode><GPR:mode>2"
   [(set (match_operand:GPR 0 "register_operand" "")
-        (unsigned_fix:GPR (match_operand:FPR 1 "register_operand" "")))]
+        (unsigned_fix:GPR (match_operand:BFP 1 "register_operand" "")))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
 {
   rtx label1 = gen_label_rtx ();
   rtx label2 = gen_label_rtx ();
-  rtx temp = gen_reg_rtx (<FPR:MODE>mode);
+  rtx temp = gen_reg_rtx (<BFP:MODE>mode);
   REAL_VALUE_TYPE cmp, sub;
   
-  operands[1] = force_reg (<FPR:MODE>mode, operands[1]);
+  operands[1] = force_reg (<BFP:MODE>mode, operands[1]);
   real_2expN (&cmp, GET_MODE_BITSIZE(<GPR:MODE>mode) - 1);
   real_2expN (&sub, GET_MODE_BITSIZE(<GPR:MODE>mode));
   
-  emit_insn (gen_cmp<FPR:mode> (operands[1],
-       CONST_DOUBLE_FROM_REAL_VALUE (cmp, <FPR:MODE>mode)));
+  emit_insn (gen_cmp<BFP:mode> (operands[1],
+       CONST_DOUBLE_FROM_REAL_VALUE (cmp, <BFP:MODE>mode)));
   emit_jump_insn (gen_blt (label1));
-  emit_insn (gen_sub<FPR:mode>3 (temp, operands[1],
-       CONST_DOUBLE_FROM_REAL_VALUE (sub, <FPR:MODE>mode)));
-  emit_insn (gen_fix_trunc<FPR:mode><GPR:mode>2_ieee (operands[0], temp,
+  emit_insn (gen_sub<BFP:mode>3 (temp, operands[1],
+       CONST_DOUBLE_FROM_REAL_VALUE (sub, <BFP:MODE>mode)));
+  emit_insn (gen_fix_trunc<BFP:mode><GPR:mode>2_ieee (operands[0], temp,
        GEN_INT(7)));
   emit_jump (label2);
 
   emit_label (label1);
-  emit_insn (gen_fix_trunc<FPR:mode><GPR:mode>2_ieee (operands[0],
+  emit_insn (gen_fix_trunc<BFP:mode><GPR:mode>2_ieee (operands[0],
        operands[1], GEN_INT(5)));
   emit_label (label2);
   DONE;
 })
 
 ; cgxbr, cgdbr, cgebr, cfxbr, cfdbr, cfebr
-(define_insn "fix_trunc<FPR:mode><GPR:mode>2_ieee"
+(define_insn "fix_trunc<BFP:mode><GPR:mode>2_ieee"
   [(set (match_operand:GPR 0 "register_operand" "=d")
-        (fix:GPR (match_operand:FPR 1 "register_operand" "f")))
+        (fix:GPR (match_operand:BFP 1 "register_operand" "f")))
    (unspec:GPR [(match_operand:GPR 2 "immediate_operand" "K")] UNSPEC_ROUND)
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
-  "c<GPR:gf><FPR:xde>br\t%0,%h2,%1"
+  "c<GPR:gf><BFP:xde>br\t%0,%h2,%1"
   [(set_attr "op_type" "RRE")
    (set_attr "type"    "ftoi")])
 
 
 ; cxgbr, cdgbr, cegbr
 (define_insn "floatdi<mode>2"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (float:FPR (match_operand:DI 1 "register_operand" "d")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (float:BFP (match_operand:DI 1 "register_operand" "d")))]
   "TARGET_64BIT && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "c<xde>gbr\t%0,%1"
   [(set_attr "op_type" "RRE")
 
 ; cxfbr, cdfbr, cefbr
 (define_insn "floatsi<mode>2_ieee"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (float:FPR (match_operand:SI 1 "register_operand" "d")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (float:BFP (match_operand:SI 1 "register_operand" "d")))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "c<xde>fbr\t%0,%1"
   [(set_attr "op_type" "RRE")
 
 (define_expand "add<mode>3"
   [(parallel
-    [(set (match_operand:FPR 0 "register_operand" "=f,f")
-          (plus:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                    (match_operand:FPR 2 "general_operand" "f,<Rf>")))
+    [(set (match_operand:BFP 0 "register_operand" "=f,f")
+          (plus:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                    (match_operand:BFP 2 "general_operand" "f,<Rf>")))
      (clobber (reg:CC CC_REGNUM))])]
   "TARGET_HARD_FLOAT"
   "")
 
 ; axbr, adbr, aebr, axb, adb, aeb
 (define_insn "*add<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (plus:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                  (match_operand:FPR 2 "general_operand" "f,<Rf>")))
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (plus:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                  (match_operand:BFP 2 "general_operand" "f,<Rf>")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
 ; axbr, adbr, aebr, axb, adb, aeb
 (define_insn "*add<mode>3_cc"
   [(set (reg CC_REGNUM)
-       (compare (plus:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                          (match_operand:FPR 2 "general_operand" "f,<Rf>"))
-                (match_operand:FPR 3 "const0_operand" "")))
-   (set (match_operand:FPR 0 "register_operand" "=f,f")
-       (plus:FPR (match_dup 1) (match_dup 2)))]
+       (compare (plus:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                          (match_operand:BFP 2 "general_operand" "f,<Rf>"))
+                (match_operand:BFP 3 "const0_operand" "")))
+   (set (match_operand:BFP 0 "register_operand" "=f,f")
+       (plus:BFP (match_dup 1) (match_dup 2)))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    a<xde>br\t%0,%2
 ; axbr, adbr, aebr, axb, adb, aeb
 (define_insn "*add<mode>3_cconly"
   [(set (reg CC_REGNUM)
-       (compare (plus:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                          (match_operand:FPR 2 "general_operand" "f,<Rf>"))
-                (match_operand:FPR 3 "const0_operand" "")))
-   (clobber (match_scratch:FPR 0 "=f,f"))]
+       (compare (plus:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                          (match_operand:BFP 2 "general_operand" "f,<Rf>"))
+                (match_operand:BFP 3 "const0_operand" "")))
+   (clobber (match_scratch:BFP 0 "=f,f"))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    a<xde>br\t%0,%2
 
 ; axr, adr, aer, ax, ad, ae
 (define_insn "*add<mode>3_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (plus:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                  (match_operand:FPR 2 "general_operand" "f,<Rf>")))
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (plus:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                  (match_operand:BFP 2 "general_operand" "f,<Rf>")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "@
 
 (define_expand "sub<mode>3"
   [(parallel
-    [(set (match_operand:FPR 0 "register_operand" "=f,f")
-          (minus:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                     (match_operand:FPR 2 "general_operand" "f,R")))
+    [(set (match_operand:BFP 0 "register_operand" "=f,f")
+          (minus:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                     (match_operand:BFP 2 "general_operand" "f,R")))
      (clobber (reg:CC CC_REGNUM))])]
   "TARGET_HARD_FLOAT"
   "")
 
 ; sxbr, sdbr, sebr, sxb, sdb, seb
 (define_insn "*sub<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (minus:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                   (match_operand:FPR 2 "general_operand" "f,<Rf>")))
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (minus:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                   (match_operand:BFP 2 "general_operand" "f,<Rf>")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
 ; sxbr, sdbr, sebr, sxb, sdb, seb
 (define_insn "*sub<mode>3_cc"
   [(set (reg CC_REGNUM)
-       (compare (minus:FPR (match_operand:FPR 1 "nonimmediate_operand" "0,0")
-                           (match_operand:FPR 2 "general_operand" "f,<Rf>"))
-                (match_operand:FPR 3 "const0_operand" "")))
-   (set (match_operand:FPR 0 "register_operand" "=f,f")
-       (minus:FPR (match_dup 1) (match_dup 2)))]
+       (compare (minus:BFP (match_operand:BFP 1 "nonimmediate_operand" "0,0")
+                           (match_operand:BFP 2 "general_operand" "f,<Rf>"))
+                (match_operand:BFP 3 "const0_operand" "")))
+   (set (match_operand:BFP 0 "register_operand" "=f,f")
+       (minus:BFP (match_dup 1) (match_dup 2)))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    s<xde>br\t%0,%2
 ; sxbr, sdbr, sebr, sxb, sdb, seb
 (define_insn "*sub<mode>3_cconly"
   [(set (reg CC_REGNUM)
-       (compare (minus:FPR (match_operand:FPR 1 "nonimmediate_operand" "0,0")
-                           (match_operand:FPR 2 "general_operand" "f,<Rf>"))
-                (match_operand:FPR 3 "const0_operand" "")))
-   (clobber (match_scratch:FPR 0 "=f,f"))]
+       (compare (minus:BFP (match_operand:BFP 1 "nonimmediate_operand" "0,0")
+                           (match_operand:BFP 2 "general_operand" "f,<Rf>"))
+                (match_operand:BFP 3 "const0_operand" "")))
+   (clobber (match_scratch:BFP 0 "=f,f"))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    s<xde>br\t%0,%2
 
 ; sxr, sdr, ser, sx, sd, se
 (define_insn "*sub<mode>3_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (minus:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                   (match_operand:FPR 2 "general_operand" "f,<Rf>")))
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (minus:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                   (match_operand:BFP 2 "general_operand" "f,<Rf>")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "@
 ;
 
 (define_expand "mul<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (mult:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                  (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (mult:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                  (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT"
   "")
 
 ; mxbr mdbr, meebr, mxb, mxb, meeb
 (define_insn "*mul<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (mult:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                  (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (mult:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                  (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    m<xdee>br\t%0,%2
 
 ; mxr, mdr, mer, mx, md, me
 (define_insn "*mul<mode>3_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (mult:FPR (match_operand:FPR 1 "nonimmediate_operand" "%0,0")
-                  (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (mult:BFP (match_operand:BFP 1 "nonimmediate_operand" "%0,0")
+                  (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "@
    m<xde>r\t%0,%2
 ;
 
 (define_expand "div<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (div:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                 (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (div:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                 (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT"
   "")
 
 ; dxbr, ddbr, debr, dxb, ddb, deb
 (define_insn "*div<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (div:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                 (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (div:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                 (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    d<xde>br\t%0,%2
 
 ; dxr, ddr, der, dx, dd, de
 (define_insn "*div<mode>3_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-        (div:FPR (match_operand:FPR 1 "register_operand" "0,0")
-                 (match_operand:FPR 2 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+        (div:BFP (match_operand:BFP 1 "register_operand" "0,0")
+                 (match_operand:BFP 2 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "@
    d<xde>r\t%0,%2
 
 (define_expand "neg<mode>2"
   [(parallel
-    [(set (match_operand:FPR 0 "register_operand" "=f")
-          (neg:FPR (match_operand:FPR 1 "register_operand" "f")))
+    [(set (match_operand:BFP 0 "register_operand" "=f")
+          (neg:BFP (match_operand:BFP 1 "register_operand" "f")))
      (clobber (reg:CC CC_REGNUM))])]
   "TARGET_HARD_FLOAT"
   "")
 ; lcxbr, lcdbr, lcebr
 (define_insn "*neg<mode>2_cc"
   [(set (reg CC_REGNUM)
-        (compare (neg:FPR (match_operand:FPR 1 "register_operand" "f"))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (set (match_operand:FPR 0 "register_operand" "=f")
-        (neg:FPR (match_dup 1)))]
+        (compare (neg:BFP (match_operand:BFP 1 "register_operand" "f"))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (set (match_operand:BFP 0 "register_operand" "=f")
+        (neg:BFP (match_dup 1)))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lc<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 ; lcxbr, lcdbr, lcebr
 (define_insn "*neg<mode>2_cconly"
   [(set (reg CC_REGNUM)
-        (compare (neg:FPR (match_operand:FPR 1 "register_operand" "f"))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (clobber (match_scratch:FPR 0 "=f"))]
+        (compare (neg:BFP (match_operand:BFP 1 "register_operand" "f"))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (clobber (match_scratch:BFP 0 "=f"))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lc<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lcdfr
 (define_insn "*neg<mode>2_nocc"
-  [(set (match_operand:FPR 0 "register_operand"          "=f")
-        (neg:FPR (match_operand:FPR 1 "register_operand" "<fT0>")))]
+  [(set (match_operand:BFP 0 "register_operand"          "=f")
+        (neg:BFP (match_operand:BFP 1 "register_operand" "<fT0>")))]
   "TARGET_HARD_FLOAT && TARGET_DFP"
   "lcdfr\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lcxbr, lcdbr, lcebr
 (define_insn "*neg<mode>2"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (neg:FPR (match_operand:FPR 1 "register_operand" "f")))
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (neg:BFP (match_operand:BFP 1 "register_operand" "f")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lc<xde>br\t%0,%1"
 
 ; lcxr, lcdr, lcer
 (define_insn "*neg<mode>2_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (neg:FPR (match_operand:FPR 1 "register_operand" "f")))
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (neg:BFP (match_operand:BFP 1 "register_operand" "f")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "lc<xde>r\t%0,%1"
 
 (define_expand "abs<mode>2"
   [(parallel
-    [(set (match_operand:FPR 0 "register_operand" "=f")
-          (abs:FPR (match_operand:FPR 1 "register_operand" "f")))
+    [(set (match_operand:BFP 0 "register_operand" "=f")
+          (abs:BFP (match_operand:BFP 1 "register_operand" "f")))
      (clobber (reg:CC CC_REGNUM))])]
   "TARGET_HARD_FLOAT"
   "")
 ; lpxbr, lpdbr, lpebr
 (define_insn "*abs<mode>2_cc"
   [(set (reg CC_REGNUM)
-        (compare (abs:FPR (match_operand:FPR 1 "register_operand" "f"))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (set (match_operand:FPR 0 "register_operand" "=f")
-        (abs:FPR (match_dup 1)))]
+        (compare (abs:BFP (match_operand:BFP 1 "register_operand" "f"))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (set (match_operand:BFP 0 "register_operand" "=f")
+        (abs:BFP (match_dup 1)))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lp<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 ; lpxbr, lpdbr, lpebr
 (define_insn "*abs<mode>2_cconly"
   [(set (reg CC_REGNUM)
-        (compare (abs:FPR (match_operand:FPR 1 "register_operand" "f"))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (clobber (match_scratch:FPR 0 "=f"))]
+        (compare (abs:BFP (match_operand:BFP 1 "register_operand" "f"))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (clobber (match_scratch:BFP 0 "=f"))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lp<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lpdfr
 (define_insn "*abs<mode>2_nocc"
-  [(set (match_operand:FPR 0 "register_operand"          "=f")
-        (abs:FPR (match_operand:FPR 1 "register_operand" "<fT0>")))]
+  [(set (match_operand:BFP 0 "register_operand"          "=f")
+        (abs:BFP (match_operand:BFP 1 "register_operand" "<fT0>")))]
   "TARGET_HARD_FLOAT && TARGET_DFP"
   "lpdfr\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lpxbr, lpdbr, lpebr
 (define_insn "*abs<mode>2"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (abs:FPR (match_operand:FPR 1 "register_operand" "f")))
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (abs:BFP (match_operand:BFP 1 "register_operand" "f")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "lp<xde>br\t%0,%1"
 
 ; lpxr, lpdr, lper
 (define_insn "*abs<mode>2_ibm"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (abs:FPR (match_operand:FPR 1 "register_operand" "f")))
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (abs:BFP (match_operand:BFP 1 "register_operand" "f")))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IBM_FLOAT"
   "lp<xde>r\t%0,%1"
 ; lnxbr, lndbr, lnebr
 (define_insn "*negabs<mode>2_cc"
   [(set (reg CC_REGNUM)
-        (compare (neg:FPR (abs:FPR (match_operand:FPR 1 "register_operand" "f")))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (set (match_operand:FPR 0 "register_operand" "=f")
-        (neg:FPR (abs:FPR (match_dup 1))))]
+        (compare (neg:BFP (abs:BFP (match_operand:BFP 1 "register_operand" "f")))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (set (match_operand:BFP 0 "register_operand" "=f")
+        (neg:BFP (abs:BFP (match_dup 1))))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "ln<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 ; lnxbr, lndbr, lnebr
 (define_insn "*negabs<mode>2_cconly"
   [(set (reg CC_REGNUM)
-        (compare (neg:FPR (abs:FPR (match_operand:FPR 1 "register_operand" "f")))
-                 (match_operand:FPR 2 "const0_operand" "")))
-   (clobber (match_scratch:FPR 0 "=f"))]
+        (compare (neg:BFP (abs:BFP (match_operand:BFP 1 "register_operand" "f")))
+                 (match_operand:BFP 2 "const0_operand" "")))
+   (clobber (match_scratch:BFP 0 "=f"))]
   "s390_match_ccmode (insn, CCSmode) && TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "ln<xde>br\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lndfr
 (define_insn "*negabs<mode>2_nocc"
-  [(set (match_operand:FPR 0 "register_operand"                   "=f")
-        (neg:FPR (abs:FPR (match_operand:FPR 1 "register_operand" "<fT0>"))))]
+  [(set (match_operand:BFP 0 "register_operand"                   "=f")
+        (neg:BFP (abs:BFP (match_operand:BFP 1 "register_operand" "<fT0>"))))]
   "TARGET_HARD_FLOAT && TARGET_DFP"
   "lndfr\t%0,%1"
   [(set_attr "op_type"  "RRE")
 
 ; lnxbr, lndbr, lnebr
 (define_insn "*negabs<mode>2"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-        (neg:FPR (abs:FPR (match_operand:FPR 1 "register_operand" "f"))))
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+        (neg:BFP (abs:BFP (match_operand:BFP 1 "register_operand" "f"))))
    (clobber (reg:CC CC_REGNUM))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "ln<xde>br\t%0,%1"
 
 ; cpsdr
 (define_insn "copysign<mode>3"
-  [(set (match_operand:FPR 0 "register_operand" "=f")
-       (unspec:FPR [(match_operand:FPR 1 "register_operand" "<fT0>")
-                    (match_operand:FPR 2 "register_operand" "f")] 
+  [(set (match_operand:BFP 0 "register_operand" "=f")
+       (unspec:BFP [(match_operand:BFP 1 "register_operand" "<fT0>")
+                    (match_operand:BFP 2 "register_operand" "f")] 
                    UNSPEC_COPYSIGN))]
   "TARGET_HARD_FLOAT && TARGET_DFP"
   "cpsdr\t%0,%2,%1"
 
 ; sqxbr, sqdbr, sqebr, sqxb, sqdb, sqeb
 (define_insn "sqrt<mode>2"
-  [(set (match_operand:FPR 0 "register_operand" "=f,f")
-       (sqrt:FPR (match_operand:FPR 1 "general_operand" "f,<Rf>")))]
+  [(set (match_operand:BFP 0 "register_operand" "=f,f")
+       (sqrt:BFP (match_operand:BFP 1 "general_operand" "f,<Rf>")))]
   "TARGET_HARD_FLOAT && TARGET_IEEE_FLOAT"
   "@
    sq<xde>br\t%0,%1