diff options
author | Torbjorn Granlund <tege@gnu.org> | 1996-03-12 15:07:49 +0000 |
---|---|---|
committer | Torbjorn Granlund <tege@gnu.org> | 1996-03-12 15:07:49 +0000 |
commit | 6a0f85e3bc28d8b1188496ee37ce914f67e7388e (patch) | |
tree | a9c4bb23645864cb41d718cd51e70a81a921487a /gcc/config/m68k/m68k.c | |
parent | 69f724c026d53ceefe3eaad1c8d522a4fb0e3acc (diff) | |
download | gcc-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.c | 18 |
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: |