changeset 438:f18cc0c87a7e

Make 32 bit compares work better in gcc6809. A patch to the gcc patch in lwtools. This makes 32 bit compares work a bit better.
author Brett Gordon <beretta42@gmail.com>
date Tue, 15 Aug 2017 20:48:40 -0600
parents c84dd1265376
children ff4b6095ee72
files extra/gcc6809lw-4.6.4-6.patch
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/extra/gcc6809lw-4.6.4-6.patch	Sun Apr 09 00:15:25 2017 -0600
+++ b/extra/gcc6809lw-4.6.4-6.patch	Tue Aug 15 20:48:40 2017 -0600
@@ -763,7 +763,7 @@
 diff -urN gcc-4.6.4-clean/gcc/config/m6809/m6809.c gcc-4.6.4/gcc/config/m6809/m6809.c
 --- gcc-4.6.4-clean/gcc/config/m6809/m6809.c	1969-12-31 17:00:00.000000000 -0700
 +++ gcc-4.6.4/gcc/config/m6809/m6809.c	2015-07-20 22:11:37.726714746 -0600
-@@ -0,0 +1,3023 @@
+@@ -0,0 +1,3025 @@
 +/*-------------------------------------------------------------------
 +	FILE: m6809.c
 +-------------------------------------------------------------------*/
@@ -1257,6 +1257,7 @@
 +		if (REG_P (SET_DEST (exp)) && src_code == MEM) {
 +			cc_status.value1 = SET_SRC (exp);
 +			cc_status.value2 = SET_DEST (exp);
++			cc_status.flags |= CC_NO_OVERFLOW;
 +			return;
 +		}
 +
@@ -1264,6 +1265,7 @@
 +		if (dst_code == MEM && REG_P (SET_SRC (exp))) {
 +			cc_status.value1 = SET_SRC (exp);
 +			cc_status.value2 = SET_DEST (exp);
++			cc_status.flags |= CC_NO_OVERFLOW;
 +			return;
 +		}
 +