mips16/mips64 frame ptr to stack ptr

Jeffrey A Law law@cygnus.com
Sun Feb 22 16:39:00 GMT 1998


  In message < m0y6eYM-0006vBC@cetus.cygnus.com >you write:
  > Nigel Stephens writes:
  >  > 	* config/mips/mips.c (mips_move_1_word): We can't do a simple 	
  > 		"lwu" for unsigned loads in 64-bit mode with -mips16 if the 
  >  > 	base register is the stack pointer, instead we have do do 
  >  > 	a "lw" and manually zero-extend.
  > 
  > I thought about doing this too, but this produces an instruction
  > of length 3, while the md file asserts that the length is only
  > 1.  I believe it's better to keep the assertions consistent and
  > generate worse code, but I'm certainly not the final word on 
  > this.
Can we detect this case and either generate the right length info
in the md file, or adjust it via INSN_ADJUST_LENGTH?

Jeff



More information about the Gcc mailing list