aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2020-12-05 18:26:27 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2020-12-05 18:26:27 +0000
commitc60d0736dff72af730261483945b1a7cfd2a0021 (patch)
tree77fb68b8bd9ff8b8d564a9ad36bb51236b87e882 /gcc
parent20ab43b5cad6ac69a70b01489be0adf98bd421ba (diff)
downloadgcc-c60d0736dff72af730261483945b1a7cfd2a0021.zip
gcc-c60d0736dff72af730261483945b1a7cfd2a0021.tar.gz
gcc-c60d0736dff72af730261483945b1a7cfd2a0021.tar.bz2
PDP11: Use `const_double_zero' to express double zero constant
We do not define a comparison operation between floating-point and integer data, including integer zero constant. Consequently the RTL instruction stream presented to the post-reload comparison elimination pass will include, where applicable, floating-point comparison insns against `const_double:DF 0.0 [0x0.0p+0]' rather than `const_int 0 [0]', meaning that the latter expression will not match when used in machine description. Use `const_double_zero' then for the relevant patterns to match the intended RTL instructions. gcc/ * config/pdp11/pdp11.md (fcc_cc, fcc_ccnz): Use `const_double_zero' to express double zero constant.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/pdp11/pdp11.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/config/pdp11/pdp11.md b/gcc/config/pdp11/pdp11.md
index 7a4d50f..cdef49f 100644
--- a/gcc/config/pdp11/pdp11.md
+++ b/gcc/config/pdp11/pdp11.md
@@ -105,7 +105,7 @@
(clobber (reg FCC_REGNUM))]
""
[(set (reg:CC FCC_REGNUM)
- (compare:CC (match_dup 1) (const_int 0)))
+ (compare:CC (match_dup 1) (const_double_zero)))
(set (match_dup 0) (match_dup 1))])
(define_subst "fcc_ccnz"
@@ -113,7 +113,7 @@
(clobber (reg FCC_REGNUM))]
""
[(set (reg:CCNZ FCC_REGNUM)
- (compare:CCNZ (match_dup 1) (const_int 0)))
+ (compare:CCNZ (match_dup 1) (const_double_zero)))
(set (match_dup 0) (match_dup 1))])
(define_subst_attr "cc_cc" "cc_cc" "_nocc" "_cc")