From aad2444d346d4ae504a938de8708341dd1889aed Mon Sep 17 00:00:00 2001 From: Paul Koning Date: Mon, 9 Jul 2018 10:00:52 -0400 Subject: Improve code generation for pdp11 target. * config/pdp11/pdp11.c (pdp11_addr_cost): New function. (pdp11_insn_cost): New function. (pdp11_md_asm_adjust): New function. (TARGET_INVALID_WITHIN_DOLOOP): Define. (pdp11_rtx_costs): Update to match machine better. (output_addr_const_pdp11): Correct format mismatch warnings. * config/pdp11/pdp11.h (SLOW_BYTE_ACCESS): Correct definition. * config/pdp11/pdp11.md: General change to add base_cost and/or length attributes for use by new pdp11_insn_cost function. (MIN_BRANCH): Correct definition. (MIN_SOB): Ditto. (doloop_end): Use standard pattern name for looping pattern. (doloop_end_nocc): New. (movsf): Add another constraint alternative. (zero_extendqihi2): Add constraint alternatives for not in place extend. (zero_extendhisi2): Remove. (shift patterns): Add CC handling variants. (bswaphi2): New. (bswapsi2): New. (rothi3): New. (define_peephole2): New peephole to recognize mov that sets CC for subsequent test. From-SVN: r262519 --- gcc/config/pdp11/pdp11.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'gcc/config/pdp11/pdp11.h') diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h index ff2f9a2..f4c9186 100644 --- a/gcc/config/pdp11/pdp11.h +++ b/gcc/config/pdp11/pdp11.h @@ -441,9 +441,8 @@ extern int may_call_alloca; #define MOVE_MAX 2 -/* Nonzero if access to memory by byte is slow and undesirable. - -*/ -#define SLOW_BYTE_ACCESS 0 +/* Nonzero if access to memory by byte is no faster than by word. */ +#define SLOW_BYTE_ACCESS 1 /* Do not break .stabs pseudos into continuations. */ #define DBX_CONTIN_LENGTH 0 @@ -453,8 +452,7 @@ extern int may_call_alloca; #define SELECT_CC_MODE(OP,X,Y) pdp11_cc_mode (OP, X, Y) -/* Enable compare elimination pass. - FIXME: how can this be enabled for two registers? */ +/* Enable compare elimination pass. */ #undef TARGET_FLAGS_REGNUM #define TARGET_FLAGS_REGNUM CC_REGNUM -- cgit v1.1