On 03/29/2012 11:17 PM, Jia Liu wrote: > This is MIPS ASE DSP instructions support for QEMU. These instructions > are grouped according to "Chapter 4. MIPS DSP ASE Instruction Summary" > in MIPS ASE DSP manual [1]. > > [1] MIPS32® Architecture for Programmers VolumeIV-e: The MIPS® DSP > Application-Specific Extension to the MIPS32®Architecture > > http://www.mips.com/products/product-materials/processor/mips-architecture/
Any plans to support the mips64 version? It also occurred to me to actually try this code, which shows you haven't thought about mips64 at all. Configure with --enable-debug: > CC mips64-softmmu/translate.o > /home/rth/work/qemu/qemu/target-mips/translate.c: In function > 'gen_compute_branch': > /home/rth/work/qemu/qemu/target-mips/translate.c:2989:9: error: incompatible > type for argument 1 of 'tcg_gen_andi_i32' > /home/rth/work/qemu/qemu/tcg/tcg-op.h:521:20: note: expected 'TCGv_i32' but > argument is of type 'TCGv_i64' > /home/rth/work/qemu/qemu/target-mips/translate.c:2989:9: error: incompatible > type for argument 2 of 'tcg_gen_andi_i32' > /home/rth/work/qemu/qemu/tcg/tcg-op.h:521:20: note: expected 'TCGv_i32' but > argument is of type 'TCGv_i64' All of your helpers, whereever they receive or return a register value, need to use type target_ulong and the DEF_HELPER lines need to use "tl". All of the mips32 helpers you've written so far that return values need to make sure to sign-extend their results from 32-bits. With that, the compilation errors should go away, and you should produce correct results for the subset of the mips64 dsp ase that overlaps with the mips32 dsp ase. r~