avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack pointer regs.

* config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack
	pointer regs.
	* config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__"
	regs to "__SP_L__" and "__SP_H__".

From-SVN: r123263
This commit is contained in:
Anatoly Sokolov 2007-03-27 21:53:51 +04:00 committed by Anatoly Sokolov
parent 7558d8101e
commit 2cd11105ec
3 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2006-03-27 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack
pointer regs.
* config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__"
regs to "__SP_L__" and "__SP_H__".
2007-03-27 Richard Guenther <rguenther@suse.de>
* tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and

View File

@ -5610,6 +5610,10 @@ jump_over_one_insn_p (rtx insn, rtx dest)
int
avr_hard_regno_mode_ok (int regno, enum machine_mode mode)
{
/* Disallow QImode in stack pointer regs. */
if ((regno == REG_SP || regno == (REG_SP + 1)) && mode == QImode)
return 0;
/* The only thing that can go into registers r28:r29 is a Pmode. */
if (regno == REG_Y && mode == Pmode)
return 1;

View File

@ -624,7 +624,7 @@ sprintf (STRING, "*.%s%lu", PREFIX, (unsigned long)(NUM))
"r8","r9","r10","r11","r12","r13","r14","r15", \
"r16","r17","r18","r19","r20","r21","r22","r23", \
"r24","r25","r26","r27","r28","r29","r30","r31", \
"__SPL__","__SPH__","argL","argH"}
"__SP_L__","__SP_H__","argL","argH"}
#define FINAL_PRESCAN_INSN(insn, operand, nop) final_prescan_insn (insn, operand,nop)