diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2009-08-24 17:09:53 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-08-24 17:09:53 +0900 |
commit | fea966f7564205fcf5919af9bde031e753419c96 (patch) | |
tree | eb04727dfaad0c42bf9ba771e38f07c310622120 /arch/sh/include/asm | |
parent | d724a9c9d572e092d1ce820463f082697487b874 (diff) |
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>
Diffstat (limited to 'arch/sh/include/asm')
-rw-r--r-- | arch/sh/include/asm/entry-macros.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/sh/include/asm/entry-macros.S b/arch/sh/include/asm/entry-macros.S index 64fd0de24da..cc43a55e1fc 100644 --- a/arch/sh/include/asm/entry-macros.S +++ b/arch/sh/include/asm/entry-macros.S @@ -7,7 +7,7 @@ .endm .macro sti - mov #0xf0, r11 + mov #0xfffffff0, r11 extu.b r11, r11 not r11, r11 stc sr, r10 |