diff options
author | Paul Koning <ni1d@arrl.net> | 2018-07-09 10:00:52 -0400 |
---|---|---|
committer | Paul Koning <pkoning@gcc.gnu.org> | 2018-07-09 10:00:52 -0400 |
commit | aad2444d346d4ae504a938de8708341dd1889aed (patch) | |
tree | 8217f61c2e480fd7af7ef37b10122f424ce73595 /gcc/config/pdp11/pdp11.h | |
parent | c36c567c59336e3b611c2961864f567995f98051 (diff) | |
download | gcc-aad2444d346d4ae504a938de8708341dd1889aed.zip gcc-aad2444d346d4ae504a938de8708341dd1889aed.tar.gz gcc-aad2444d346d4ae504a938de8708341dd1889aed.tar.bz2 |
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
Diffstat (limited to 'gcc/config/pdp11/pdp11.h')
-rw-r--r-- | gcc/config/pdp11/pdp11.h | 8 |
1 files changed, 3 insertions, 5 deletions
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 |