diff options
author | David Edelsohn <edelsohn@gnu.org> | 2001-11-21 02:18:58 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2001-11-20 21:18:58 -0500 |
commit | d6f99ca42171413fc61e68495c7c55041969347a (patch) | |
tree | 16606287ed0b49b0802447ae08fc18574317b4af /gcc | |
parent | b6458e8551d3753332c6e0e3942010953f0aa51d (diff) | |
download | gcc-d6f99ca42171413fc61e68495c7c55041969347a.zip gcc-d6f99ca42171413fc61e68495c7c55041969347a.tar.gz gcc-d6f99ca42171413fc61e68495c7c55041969347a.tar.bz2 |
Add cmptf missed in patch.
From-SVN: r47230
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.md | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 417b2f9..59dae4e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -97,7 +97,7 @@ Tue Nov 20 11:56:12 2001 Douglas B. Rupp <rupp@gnat.com> * rs6000.h: ... to here. * rs6000.md (movtf, extenddftf2, extendsftf2, trunctfdf2, trunctfsf2, floatditf2, floatsitf2, fix_trunctfdi2, - fix_trunctfsi2, negtf2, abstf2, nabstf2): New patterns. + fix_trunctfsi2, negtf2, abstf2, nabstf2, cmptf): New patterns. Tue Nov 20 06:41:38 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 174d3e6..33c7d09 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -9917,6 +9917,19 @@ DONE; }") +(define_expand "cmptf" + [(set (cc0) (compare (match_operand:DF 0 "gpc_reg_operand" "") + (match_operand:DF 1 "gpc_reg_operand" "")))] + + "DEFAULT_ABI == ABI_AIX && TARGET_HARD_FLOAT && TARGET_LONG_DOUBLE_128" + " +{ + rs6000_compare_op0 = operands[0]; + rs6000_compare_op1 = operands[1]; + rs6000_compare_fp_p = 1; + DONE; +}") + (define_expand "beq" [(use (match_operand 0 "" ""))] "" @@ -10226,6 +10239,16 @@ "TARGET_HARD_FLOAT" "fcmpu %0,%1,%2" [(set_attr "type" "fpcompare")]) + +;; Only need to compare second words if first words equal +(define_insn "*cmptf_internal1" + [(set (match_operand:CCFP 0 "cc_reg_operand" "=y") + (compare:CCFP (match_operand:TF 1 "gpc_reg_operand" "f") + (match_operand:TF 2 "gpc_reg_operand" "f")))] + "DEFAULT_ABI == ABI_AIX && TARGET_HARD_FLOAT && TARGET_LONG_DOUBLE_128" + "fcmpu %0,%1,%2\;bne %0,%$+4\;fcmpu %0,%L1,%L2" + [(set_attr "type" "fpcompare") + (set_attr "length" "12")]) ;; Now we have the scc insns. We can do some combinations because of the ;; way the machine works. |