* config/msp430/msp430-modes.def (PSI): Add.
commitf6bba390f5e9e6b40ee31d0774d0a21ab093f6c7
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Oct 2014 21:35:03 +0000 (14 21:35 +0000)
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 Oct 2014 21:35:03 +0000 (14 21:35 +0000)
treed385108313d1c009a21e075def8a15fddf7ec264
parent418e1528c9ce11a6f62acd64d340ea63eb4e04ad
* config/msp430/msp430-modes.def (PSI): Add.

* config/msp430/msp430-protos.h (msp430_hard_regno_nregs_has_padding): New.
(msp430_hard_regno_nregs_with_padding): New.
* config/msp430/msp430.c (msp430_scalar_mode_supported_p): New.
(msp430_hard_regno_nregs_has_padding): New.
(msp430_hard_regno_nregs_with_padding): New.
(msp430_unwind_word_mode): Use PSImode instead of SImode.
(msp430_addr_space_legitimate_address_p): New.
(msp430_asm_integer): New.
(msp430_init_dwarf_reg_sizes_extra): New.
(msp430_print_operand): Use X suffix for PSImode even in small model.
* config/msp430/msp430.h (POINTER_SIZE): Use 20 bits, not 32.
(PTR_SIZE): ...but 4 bytes for EH.
(SIZE_TYPE): Use __int20.
(PTRDIFF_TYPE): Likewise.
(INCOMING_FRAME_SP_OFFSET): Adjust.
* config/msp430/msp430.md (movqi_topbyte): New.
(movpsi): Use fixed suffixes.
(movsipsi2): Enable for 430X, not large model.
(extendhipsi2): Likewise.
(zero_extendhisi2): Likewise.
(zero_extendhisipsi2): Likewise.
(extend_and_shift1_hipsi2): Likewise.
(extendpsisi2): Likewise.
(*bitbranch<mode>4_z): Fix suffix logic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216225 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/msp430/msp430-modes.def
gcc/config/msp430/msp430-protos.h
gcc/config/msp430/msp430.c
gcc/config/msp430/msp430.h
gcc/config/msp430/msp430.md