Statistics
| Branch: | Revision:

root / target-mips @ da80682b

Name Size
TODO 1.9 kB
cpu.h 16 kB
exec.h 3.5 kB
helper.c 21 kB
helper.h 12.1 kB
machine.c 437 Bytes
mips-defs.h 1.9 kB
op_helper.c 88.1 kB
translate.c 252.6 kB
translate_init.c 21.3 kB

Latest revisions

# Date Author Comment
da80682b 11/15/2008 02:12 pm aurel32

target-mips: avoid tcg internal error in mfc0/dmfc0

Set t0 to 0 for unimplemented mfc0/dmfc0 instructions. This fixes a tcg
internal error while booting mips linux.

Noticed by Julia Longtin.

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5723 c046a42c-6fe2-441c-8c8c-71466251a162

de9a95f0 11/11/2008 03:41 pm aurel32

Revert commits 5685 to 5688 committed by mistake

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5691 c046a42c-6fe2-441c-8c8c-71466251a162

1c58b166 11/11/2008 03:30 pm aurel32

Don't stop translation for mtc0 compare

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5686 c046a42c-6fe2-441c-8c8c-71466251a162

a6e92a65 11/11/2008 01:50 pm aurel32

target-mips: gen_compute_branch1()

Optimize code generation in gen_compute_branch1():
- Directly use I32 variables instead of converting values from _tl to
_i32 and back to _tl.
- Write the result directly to bcond instead of passing by a local
variable....

9bf3eb2c 11/11/2008 01:50 pm aurel32

target-mips: optimize movc*()

Optimize code generation in gen_movc*():
- Temp variables are valid up to and including the brcond instruction.
Use them instead of temp local variables.
- Avoid using temporary variables to transfer values.
- Access fpu_fcr31 directly in gen_movcf_ps()....

2a0ab998 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_farith()

Optimize code generation in gen_farith():
- Temp variables are valid up to and including the brcond instruction.
Use them instead of temp local variables.

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5682 c046a42c-6fe2-441c-8c8c-71466251a162

b10fa3c9 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_muldiv()

Optimize code generation in gen_muldiv():
- Don't do sign extension when the value is already guaranteed to be
sign extended (otherwise, results are marked as UNPREDICTABLE).
- Access the LO, HI registers directly instead of writting them through...

507563e8 11/11/2008 01:50 pm aurel32

target-mips: optimize gen_arith()/gen_arith_imm()

Optimize code generation in gen_arith()/gen_arith_imm():
- Don't do sign extension when the value is already guaranteed to be
sign extended (otherwise, results are marked as UNPREDICTABLE).
- When the value is sign extended, compare the value to 0 instead of...

49bcf33c 11/11/2008 01:47 pm aurel32

target-mips: convert bit shuffle ops to TCG

Bit shuffle operations can be written with very few TCG instructions
(between 5 and 8), so it is worth converting them to TCG.

This code also move all bit shuffle generation code to a separate
function in order to have a cleaner exception code path, that is it...

505ad7c2 11/11/2008 01:46 pm aurel32

target-mips: convert bitfield ops to TCG

Bitfield operations can be written with very few TCG instructions
(between 2 and 5), so it is worth converting them to TCG.

Signed-off-by: Aurelien Jarno <>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5678 c046a42c-6fe2-441c-8c8c-71466251a162

View revisions

Also available in: Atom