comparison extra/gcc6809lw-4.6.4-6.patch @ 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 3832a68d83ef
children
comparison
equal deleted inserted replaced
437:c84dd1265376 438:f18cc0c87a7e
761 + 761 +
762 + 762 +
763 diff -urN gcc-4.6.4-clean/gcc/config/m6809/m6809.c gcc-4.6.4/gcc/config/m6809/m6809.c 763 diff -urN gcc-4.6.4-clean/gcc/config/m6809/m6809.c gcc-4.6.4/gcc/config/m6809/m6809.c
764 --- gcc-4.6.4-clean/gcc/config/m6809/m6809.c 1969-12-31 17:00:00.000000000 -0700 764 --- gcc-4.6.4-clean/gcc/config/m6809/m6809.c 1969-12-31 17:00:00.000000000 -0700
765 +++ gcc-4.6.4/gcc/config/m6809/m6809.c 2015-07-20 22:11:37.726714746 -0600 765 +++ gcc-4.6.4/gcc/config/m6809/m6809.c 2015-07-20 22:11:37.726714746 -0600
766 @@ -0,0 +1,3023 @@ 766 @@ -0,0 +1,3025 @@
767 +/*------------------------------------------------------------------- 767 +/*-------------------------------------------------------------------
768 + FILE: m6809.c 768 + FILE: m6809.c
769 +-------------------------------------------------------------------*/ 769 +-------------------------------------------------------------------*/
770 +/* Subroutines for insn-output.c for MC6809. 770 +/* Subroutines for insn-output.c for MC6809.
771 + Copyright (C) 1989-2007 Free Software Foundation, Inc. 771 + Copyright (C) 1989-2007 Free Software Foundation, Inc.
1255 + 1255 +
1256 + /* Moving memory into a register (load): Sets cc's. */ 1256 + /* Moving memory into a register (load): Sets cc's. */
1257 + if (REG_P (SET_DEST (exp)) && src_code == MEM) { 1257 + if (REG_P (SET_DEST (exp)) && src_code == MEM) {
1258 + cc_status.value1 = SET_SRC (exp); 1258 + cc_status.value1 = SET_SRC (exp);
1259 + cc_status.value2 = SET_DEST (exp); 1259 + cc_status.value2 = SET_DEST (exp);
1260 + cc_status.flags |= CC_NO_OVERFLOW;
1260 + return; 1261 + return;
1261 + } 1262 + }
1262 + 1263 +
1263 + /* Moving register into memory (store): Sets cc's. */ 1264 + /* Moving register into memory (store): Sets cc's. */
1264 + if (dst_code == MEM && REG_P (SET_SRC (exp))) { 1265 + if (dst_code == MEM && REG_P (SET_SRC (exp))) {
1265 + cc_status.value1 = SET_SRC (exp); 1266 + cc_status.value1 = SET_SRC (exp);
1266 + cc_status.value2 = SET_DEST (exp); 1267 + cc_status.value2 = SET_DEST (exp);
1268 + cc_status.flags |= CC_NO_OVERFLOW;
1267 + return; 1269 + return;
1268 + } 1270 + }
1269 + 1271 +
1270 + /* Function calls clobber the cc's. */ 1272 + /* Function calls clobber the cc's. */
1271 + else if (GET_CODE (SET_SRC (exp)) == CALL) { 1273 + else if (GET_CODE (SET_SRC (exp)) == CALL) {