u-boot-brain/arch/mips/cpu/mips32
Gabor Juhos f321b0f99f MIPS: start.S: set sp register directly
The current code uses two instructions to load
the stack pointer into the 'sp' register.

This results in the following assembly code:

    468:   3c088040        lui     t0,0x8040
    46c:   251d0000        addiu   sp,t0,0

The first instuction loads the stack pointer into
the 't0' register then the value of the 'sp' register
is computed by adding zero to the value of the 't0'
register. The same issue present on the 64-bit version
as well:

    56c:   3c0c8040        lui     t0,0x8040
    570:   659d0000        daddiu  sp,t0,0

Change the code to load the stack pointer directly
into the 'sp' register. The generated code is functionally
equivalent to the previous version but it is simpler.

  32-bit:
    468:   3c1d8040        lui     sp,0x8040

  64-bit:
    56c:   3c1d8040        lui     sp,0x8040

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
Cc: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
2013-01-27 16:39:51 +01:00
..
au1x00 usb: use linux/usb/ch9.h instead of usbdescriptors.h 2012-11-20 00:16:06 +01:00
incaip serial: Use default_serial_puts() in drivers 2012-10-17 07:55:50 -07:00
cache.S MIPS: don't use camel-case style 2012-10-16 15:02:08 +02:00
config.mk MIPS: move CONFIG_STANDALONE_LOAD_ADDR to CPU config makefiles 2012-08-24 00:34:47 +02:00
cpu.c MIPS: don't use camel-case style 2012-10-16 15:02:08 +02:00
interrupts.c MIPS: Move content of arch/mips/cpu to arch/mips/cpu/mips32 2011-04-02 22:07:12 +09:00
Makefile MIPS: Move timer code to arch/mips/cpu/$(CPU)/ 2011-05-10 00:12:31 +09:00
start.S MIPS: start.S: set sp register directly 2013-01-27 16:39:51 +01:00
time.c MIPS: do not initialize timestamp variable before relocate_code 2012-11-25 21:50:43 +01:00