Mercurial > hg > index.cgi
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) { |