aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2005-03-16 18:29:26 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2005-03-16 18:29:26 +0000
commit9abd1955da0d1717108ee06829f94a57908bcc38 (patch)
tree43897d52fbbd0eb9ee1c0eb42cd22fbab770b92d
parent455d8f0605b9e3c4f8760470471d22a43d01f531 (diff)
downloadgcc-9abd1955da0d1717108ee06829f94a57908bcc38.zip
gcc-9abd1955da0d1717108ee06829f94a57908bcc38.tar.gz
gcc-9abd1955da0d1717108ee06829f94a57908bcc38.tar.bz2
optabs.c (expand_copysign_absneg): Make static.
* optabs.c (expand_copysign_absneg): Make static. * optabs.h (expand_copysign_absneg): Delete prototype. * config/rs6000/rs6000.md (copysigntf3): Delete pattern. From-SVN: r96572
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.md27
-rw-r--r--gcc/optabs.c2
-rw-r--r--gcc/optabs.h1
4 files changed, 7 insertions, 29 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d7b1f14..3978c1a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-03-16 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (expand_copysign_absneg): Make static.
+ * optabs.h (expand_copysign_absneg): Delete prototype.
+ * config/rs6000/rs6000.md (copysigntf3): Delete pattern.
+
2005-03-16 Richard Henderson <rth@redhat.com>
PR middle-end/15700
diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 17d81f2..fc4b6f1 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -8492,33 +8492,6 @@
operands[5] = simplify_gen_subreg (DFmode, operands[0], TFmode, hi_word);
operands[6] = simplify_gen_subreg (DFmode, operands[0], TFmode, lo_word);
}")
-
-(define_expand "copysigntf3"
- [(match_operand:TF 0 "general_operand" "")
- (match_operand:TF 1 "general_operand" "")
- (match_operand:TF 2 "general_operand" "")]
- "(DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_DARWIN)
- && TARGET_HARD_FLOAT && TARGET_FPRS && TARGET_LONG_DOUBLE_128"
-{
- rtx target, op0, op1, temp;
- bool op0_is_abs = false;
-
- target = operands[0];
- op0 = operands[1];
- op1 = operands[2];
-
- if (GET_CODE (op0) == CONST_DOUBLE)
- {
- if (real_isneg (CONST_DOUBLE_REAL_VALUE (op0)))
- op0 = simplify_unary_operation (ABS, TFmode, op0, TFmode);
- op0_is_abs = true;
- }
-
- temp = expand_copysign_absneg (TFmode, op0, op1, target, 127, op0_is_abs);
- if (temp != target)
- emit_move_insn (target, temp);
- DONE;
-})
;; Next come the multi-word integer load and store and the load and store
;; multiple insns.
diff --git a/gcc/optabs.c b/gcc/optabs.c
index ccbf670..b2021f1 100644
--- a/gcc/optabs.c
+++ b/gcc/optabs.c
@@ -2678,7 +2678,7 @@ expand_abs (enum machine_mode mode, rtx op0, rtx target,
is that we have a split register file, and leaving op0 in fp registers,
and not playing with subregs so much, will help the register allocator. */
-rtx
+static rtx
expand_copysign_absneg (enum machine_mode mode, rtx op0, rtx op1, rtx target,
int bitpos, bool op0_is_abs)
{
diff --git a/gcc/optabs.h b/gcc/optabs.h
index e0a7985..b9aa6ac 100644
--- a/gcc/optabs.h
+++ b/gcc/optabs.h
@@ -463,7 +463,6 @@ extern rtx expand_abs (enum machine_mode, rtx, rtx, int, int);
/* Expand the copysign operation. */
extern rtx expand_copysign (rtx, rtx, rtx);
-extern rtx expand_copysign_absneg (enum machine_mode, rtx, rtx, rtx, int, bool);
/* Generate an instruction with a given INSN_CODE with an output and
an input. */