The following series of patches for MSP430 implement some of the target macros used to determine the relative costs of operations.
To give an indication of the overall effect of these changes on codesize, below are some size statistics collected from all the executable files from execute.exp that are built at -Os. There are around 1470 such tests (depending on the configuration). The percentage change (((new - old)/old) * 100) in text size is calculated for each test and the given metric is applied to that overall set of data. Configuration | Mean (%) | Median (%) | Delta < 0 (count) | Delta > 0 (count) ----------------------------------------------------------------------------- -mcpu=msp430 | -2.4 | -2.7 | 1454 | 17 -mcpu=msp430x | -2.3 | -2.4 | 1460 | 10 -mlarge | -1.7 | -1.9 | 1412 | 37 Successfully regtested on trunk for msp430-elf, ok to apply? Jozef Lawrynowicz (5): MSP430: Implement TARGET_MEMORY_MOVE_COST MSP430: Implement TARGET_RTX_COSTS MSP430: Add defaulting to the insn length attribute MSP430: Implement TARGET_INSN_COST MSP430: Skip index-1.c test gcc/config/msp430/msp430-protos.h | 5 +- gcc/config/msp430/msp430.c | 867 ++++++++++++++++-- gcc/config/msp430/msp430.h | 13 + gcc/config/msp430/msp430.md | 439 +++++++-- gcc/config/msp430/msp430.opt | 4 + gcc/config/msp430/predicates.md | 13 + gcc/testsuite/gcc.c-torture/execute/index-1.c | 2 + 7 files changed, 1206 insertions(+), 137 deletions(-) -- 2.27.0