From d77f7b19b7f15ac0fec0823e7cc507f39ab36c30 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 29 Apr 2014 13:59:00 +0000 Subject: [PATCH] msp430.md (umulsidi): Fix typo. * config/msp430/msp430.md (umulsidi): Fix typo. (mulhisi3): Enable even inside interrupt handlers. * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the bigger return address pushed in large mode. From-SVN: r209898 --- gcc/ChangeLog | 7 +++++++ gcc/config/msp430/msp430.c | 2 +- gcc/config/msp430/msp430.md | 4 ++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc0bc1a..42e0182 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -10,6 +10,13 @@ 2014-04-29 Nick Clifton + * config/msp430/msp430.md (umulsidi): Fix typo. + (mulhisi3): Enable even inside interrupt handlers. + * config/msp430/msp430.c (msp430_print_operand): %O: Allow for the + bigger return address pushed in large mode. + +2014-04-29 Nick Clifton + * config/arc/arc.c (arc_select_cc_mode): Fix parentheses. (arc_init_reg_tables): Use a machine_mode enum to iterate over available modes. diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c index 6381270..c844aa2 100644 --- a/gcc/config/msp430/msp430.c +++ b/gcc/config/msp430/msp430.c @@ -2162,7 +2162,7 @@ msp430_print_operand (FILE * file, rtx op, int letter) because builtins are expanded before the frame layout is determined. */ fprintf (file, "%d", msp430_initial_elimination_offset (ARG_POINTER_REGNUM, STACK_POINTER_REGNUM) - - 2); + - (TARGET_LARGE ? 4 : 2)); return; case 'J': diff --git a/gcc/config/msp430/msp430.md b/gcc/config/msp430/msp430.md index 5d930c3..74a98b4 100644 --- a/gcc/config/msp430/msp430.md +++ b/gcc/config/msp430/msp430.md @@ -1321,7 +1321,7 @@ [(set (match_operand:SI 0 "register_operand" "=r") (mult:SI (sign_extend:SI (match_operand:HI 1 "register_operand" "%0")) (sign_extend:SI (match_operand:HI 2 "register_operand" "r"))))] - "optimize > 2 && msp430_hwmult_type != NONE && ! msp430_is_interrupt_func ()" + "optimize > 2 && msp430_hwmult_type != NONE" "* if (msp430_use_f5_series_hwmult ()) return \"PUSH.W sr { DINT { MOV.W %1, &0x04C2 { MOV.W %2, &0x04C8 { MOV.W &0x04CA, %L0 { MOV.W &0x04CC, %H0 { POP.W sr\"; @@ -1365,6 +1365,6 @@ if (msp430_use_f5_series_hwmult ()) return \"PUSH.W sr { DINT { MOV.W %L1, &0x04D0 { MOV.W %H1, &0x04D2 { MOV.W %L2, &0x04E0 { MOV.W %H2, &0x04E2 { MOV.W &0x04E4, %A0 { MOV.W &0x04E6, %B0 { MOV.W &0x04E8, %C0 { MOV.W &0x04EA, %D0 { POP.W sr\"; else - return \"PUSH.W sr { DINT { MOV.W %L1, &0x0140 { MOV.W %H1, &0x0141 { MOV.W %L2, &0x0150 { MOV.W %H2, &0x0152 { MOV.W &0x0154, %A0 { MOV.W &0x0156, %B0 { MOV.W &0x0158, %C0 { MOV.W &0x015A, %D0 { POP.W sr\"; + return \"PUSH.W sr { DINT { MOV.W %L1, &0x0140 { MOV.W %H1, &0x0142 { MOV.W %L2, &0x0150 { MOV.W %H2, &0x0152 { MOV.W &0x0154, %A0 { MOV.W &0x0156, %B0 { MOV.W &0x0158, %C0 { MOV.W &0x015A, %D0 { POP.W sr\"; " ) -- 2.7.4