aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.c
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1996-03-12 15:07:49 +0000
committerTorbjorn Granlund <tege@gnu.org>1996-03-12 15:07:49 +0000
commit6a0f85e3bc28d8b1188496ee37ce914f67e7388e (patch)
treea9c4bb23645864cb41d718cd51e70a81a921487a /gcc/config/m68k/m68k.c
parent69f724c026d53ceefe3eaad1c8d522a4fb0e3acc (diff)
downloadgcc-6a0f85e3bc28d8b1188496ee37ce914f67e7388e.zip
gcc-6a0f85e3bc28d8b1188496ee37ce914f67e7388e.tar.gz
gcc-6a0f85e3bc28d8b1188496ee37ce914f67e7388e.tar.bz2
(valid_dbcc_comparison_p): Don't test cc_prev_status here.
(flags_in_68881): New function. From-SVN: r11516
Diffstat (limited to 'gcc/config/m68k/m68k.c')
-rw-r--r--gcc/config/m68k/m68k.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/config/m68k/m68k.c b/gcc/config/m68k/m68k.c
index 707b682..bf278e6 100644
--- a/gcc/config/m68k/m68k.c
+++ b/gcc/config/m68k/m68k.c
@@ -569,13 +569,8 @@ valid_dbcc_comparison_p (x, mode)
rtx x;
enum machine_mode mode;
{
- /* We could add support for these in the future */
- if (cc_prev_status.flags & CC_IN_68881)
- return 0;
-
switch (GET_CODE (x))
{
-
case EQ: case NE: case GTU: case LTU:
case GEU: case LEU:
return 1;
@@ -589,16 +584,23 @@ valid_dbcc_comparison_p (x, mode)
}
}
+/* Return non-zero if flags are currently in the 68881 flag register. */
+int
+flags_in_68881 ()
+{
+ /* We could add support for these in the future */
+ return cc_status.flags & CC_IN_68881;
+}
+
/* Output a dbCC; jCC sequence. Note we do not handle the
floating point version of this sequence (Fdbcc). We also
do not handle alternative conditions when CC_NO_OVERFLOW is
- set. It is assumed that valid_dbcc_comparison_p will kick
- those out before we get here. */
+ set. It is assumed that valid_dbcc_comparison_p and flags_in_68881 will
+ kick those out before we get here. */
output_dbcc_and_branch (operands)
rtx *operands;
{
-
switch (GET_CODE (operands[3]))
{
case EQ: