Statistics
| Branch: | Revision:

root / target-mips / dsp_helper.c @ 834574ea

History | View | Annotate | Download (135.7 kB)

# Date Author Comment
df6126a7 02/01/2013 12:30 am Aurelien Jarno

target-mips: implement DSP (d)append sub-class with TCG

DSP instruction from the (d)append sub-class can be implemented with
TCG. Use a different function for these instructions are they are quite
different from compare-pick sub-class.

Fix BALIGN instruction for negative value, where the value should be...

0a16c79c 02/01/2013 12:30 am Aurelien Jarno

target-mips: use DSP unions for reduction add instructions

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

75d012ac 02/01/2013 12:29 am Aurelien Jarno

target-mips: use DSP unions for unary DSP operators

This allow to reduce the number of macros.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

6de0e6c1 02/01/2013 12:29 am Aurelien Jarno

target-mips: use DSP unions for binary DSP operators

This allow to reduce the number of macros.

Reviewed-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

652613ab 02/01/2013 12:29 am Aurelien Jarno

target-mips: add unions to access DSP elements

Instead of playing with bit shifting, add two unions (one for 32-bit
values, one for 64-bit ones) to access all the DSP elements with the
correct type.

This make the code easier to read and less error prone, and allow GCC...

da1a4cef 01/08/2013 12:58 pm Petar Jovanovic

target-mips: Fix helper and tests for dot/cross-dot product instructions

Helper function for dpa_w_ph, dpax_w_ph, dps_w_ph and dpsx_w_ph incorrectly
defines halfword vector elements as unsigned values. This results in wrong
output which is not triggered in the tests as they also follow this logic....

fe65a1fa 01/01/2013 12:50 pm Dongxue Zhang

Fix my email address

Fix my email address, last time it's wrong.

Signed-off-by: Dongxue Zhang <>
Signed-off-by: Aurelien Jarno <>

b8abbbe8 01/01/2013 12:11 pm Petar Jovanovic

target-mips: Fix for helpers for EXTR_* instructions

The change removes some unnecessary and incorrect code for EXTR_S.H.
Further, it corrects the mask for shift value in the EXTR_ instructions. It also
extends the existing tests so they trigger the issues corrected with the change....

eec8972a 01/01/2013 12:10 pm Petar Jovanovic

target-mips: Fix incorrect reads and writes to DSPControl register

Upper 4 bits of ccond (bits 31..28 ) of DSPControl register are not used in
the MIPS32 architecture. They are used in the MIPS64 architecture. For MIPS32
these bits must be written as zero, and return zero on read....

19e6c50d 12/06/2012 09:12 am Petar Jovanovic

target-mips: Fix incorrect shift for SHILO and SHILOV

helper_shilo has not been shifting an accumulator value correctly for negative
values in 'shift' field. Minor optimization for shift=0 case.
This change also adds tests that will trigger issue and check for regressions....

34f5606e 12/06/2012 09:10 am Petar Jovanovic

target-mips: Fix incorrect code and test for INSV

Content of register rs should be shifted for pos before applying a mask.
This change contains both fix for the instruction and to the existing test.

Signed-off-by: Petar Jovanovic <>
Reviewed-by: Eric Johnson <>...

1cfd981f 11/05/2012 09:02 am Blue Swirl

target-mips: use ULL for 64 bit constants

Fix build on a 32 bit host:
CC mips-softmmu/target-mips/dsp_helper.o
/src/qemu/target-mips/dsp_helper.c: In function 'helper_dextr_rs_w':
/src/qemu/target-mips/dsp_helper.c:3556: error: integer constant is too large for 'long' type...

b53371ed 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP accumulator instructions

Add MIPS ASE DSP Accumulator and DSPControl Access instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

26690560 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP compare-pick instructions

Add MIPS ASE DSP Compare-Pick instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

a22260ae 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP multiply instructions

Add MIPS ASE DSP Multiply instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

1cb6686c 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP bit/manipulation instructions

Add MIPS ASE DSP Bit/Manipulation instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

77c5fa8b 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP GPR-based shift instructions

Add MIPS ASE DSP GPR-Based Shift instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

461c08df 10/31/2012 10:37 pm Jia Liu

target-mips: Add ASE DSP arithmetic instructions

Add MIPS ASE DSP Arithmetic instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>

235eb015 10/31/2012 09:24 pm Jia Liu

target-mips: Add ASE DSP internal functions

Add internal functions using by MIPS ASE DSP instructions.

Signed-off-by: Jia Liu <>
Signed-off-by: Aurelien Jarno <>