linux/arch/sh/lib
Stuart Menefy fea966f756 sh: Remove implicit sign extension from assembler immediates
The SH instruction set has several instructions which accept an 8 bit
immediate operand. For logical instructions this operand is zero extended,
for arithmetic instructions the operand is sign extended. After adding an
option to the assembler to check this, it was found that several pieces
of assembly code were assuming this behaviour, and in one case
getting it wrong.

So this patch explicitly sign extends any immediate operands, which makes
it obvious what is happening, and fixes the one case which got it wrong.

Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-08-24 17:09:53 +09:00
..
ashiftrt.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
ashldi3.c sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
ashlsi3.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
ashrdi3.c sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
ashrsi3.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
checksum.S sh: Handle calling csum_partial with misaligned data 2009-01-29 11:56:02 +09:00
clear_page.S sh: Remove implicit sign extension from assembler immediates 2009-08-24 17:09:53 +09:00
copy_page.S sh: __copy_user function can corrupt the stack in case of exception 2008-11-13 17:40:30 +09:00
delay.c sh: Fixup ndelay() xloops calculation for alternate HZ. 2007-05-09 01:35:02 +00:00
div64-generic.c sh: fixup many sparse errors. 2008-09-08 10:35:04 +09:00
div64.S sh: Correct __xdiv64_32/div64_32 return value size. 2007-07-06 10:58:04 +09:00
io.c sh: Fix up the __raw_read/writeX() definitions. 2008-10-01 15:12:27 +09:00
libgcc.h sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
lshrdi3.c sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
lshrsi3.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
Makefile sh: Decouple mcount from ftrace. 2009-07-11 19:56:58 +09:00
mcount.S sh: Fix up stack overflow check with ftrace disabled. 2009-07-11 21:06:53 +09:00
memchr.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memcpy-sh4.S sh: Fix up optimized SH-4 memcpy on big endian. 2008-05-16 14:55:07 +09:00
memcpy.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memmove.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
memset.S sh: Fix a sign extension bug in memset(). 2006-09-27 14:13:14 +09:00
movmem.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
strlen.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
udiv_qrnnd.S sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32. 2008-12-22 18:42:53 +09:00
udivsi3_i4i-Os.S sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower. 2008-12-22 18:43:53 +09:00
udivsi3_i4i.S sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower. 2008-12-22 18:43:53 +09:00
udivsi3.S sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower. 2008-12-22 18:43:53 +09:00