Bug 382563 - MIPS MSA ASE support
Summary: MIPS MSA ASE support
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-21 11:53 UTC by Tamara Vlahovic
Modified: 2018-07-27 17:04 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
mips_msa_01 - Introduces new Iops in VEX necessary for implementing some MSA V128 operations (6.50 KB, patch)
2017-07-21 11:53 UTC, Tamara Vlahovic
Details
mips_msa_02 - Adds support for new Iops in Memcheck. (4.97 KB, patch)
2017-07-21 11:54 UTC, Tamara Vlahovic
Details
mips_msa_03 - Implementation of MSA ASE for VEX. (928.65 KB, patch)
2017-07-21 11:56 UTC, Tamara Vlahovic
Details
mips_msa_04 - MIPS specific detection of MSA ASE (5.82 KB, patch)
2017-07-21 11:57 UTC, Tamara Vlahovic
Details
mips_msa_05 - Adds support for guest V128 registers on MIPS in Memcheck (5.41 KB, patch)
2017-07-21 11:58 UTC, Tamara Vlahovic
Details
mips_msa_06 - MSA regression tests (960.23 KB, application/octet-stream)
2017-07-21 12:02 UTC, Tamara Vlahovic
Details
mips_msa_03 - Implementation of MSA ASE for VEX. (928.62 KB, patch)
2017-09-06 14:21 UTC, Tamara Vlahovic
Details
mips_msa_07 - git-ignore for MSA tests (684 bytes, patch)
2017-09-06 14:23 UTC, Tamara Vlahovic
Details
MIPS MSA 1/5 - Introduces new Iops in VEX&Memcheck necessary for implementing some MSA V128 operations (11.03 KB, patch)
2017-10-24 13:52 UTC, Aleksandar Rikalo
Details
MIPS MSA 2/5 - Full support of MIPS SIMD Architecture Module (MSA) instruction set for VEX (790.65 KB, patch)
2017-10-24 13:54 UTC, Aleksandar Rikalo
Details
MIPS MSA 3/5 - Detecting presence of MSA capabilities (5.72 KB, patch)
2017-10-24 13:55 UTC, Aleksandar Rikalo
Details
MIPS MSA 4/5 - Adds support for guest V128 registers on MIPS in Memcheck (5.42 KB, patch)
2017-10-24 13:57 UTC, Aleksandar Rikalo
Details
MIPS MSA 5/5 - MSA regression tests (960.43 KB, patch)
2017-10-24 14:05 UTC, Aleksandar Rikalo
Details
MIPS MSA 5/5 - MSA regression tests (960.43 KB, application/octet-stream)
2017-10-27 13:17 UTC, Aleksandar Rikalo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tamara Vlahovic 2017-07-21 11:53:41 UTC
Created attachment 106775 [details]
mips_msa_01 - Introduces new Iops in VEX necessary for implementing some MSA V128 operations

Next few patches add support for MIPS MSA ASE. This is well tested on MIPS. Also regression tests on X86 were run.

mips_msa_01.diff - Introduces new Iops in VEX necessary for implementing some MSA V128 operations:
       Iop_Scale2_32Fx4, Iop_Scale2_64Fx2,
       Iop_Log2_32Fx4, Iop_Log2_64Fx2,
       Iop_F32x4_2toQ16x8, Iop_F64x2_2toQ32x4,
       Iop_PackOddLanes8x16, Iop_PackEvenLanes8x16,
       Iop_PackOddLanes16x8, Iop_PackEvenLanes16x8,
       Iop_PackOddLanes32x4, Iop_PackEvenLanes32x4.

mips_msa_02.diff - Adds support for new Iops in Memcheck.

mips_msa_03.diff - Is implementation of MSA ASE for VEX. MIPS specific patch which adds support for disassembling of MSA instructions, selection of instructions for implemented (view patch comment) Iops, and generation of MSA instructions.
 
mips_msa_04.diff - MIPS specific detection of MSA ASE (hwcaps, configure, etc).

mips_msa_05.diff - MIPS specific. Adds support for guest V128 registers on MIPS in Memcheck

mips_msa_06.diff - Adds set of regresion tests for MIPS MSA in none.
Comment 1 Tamara Vlahovic 2017-07-21 11:54:48 UTC
Created attachment 106776 [details]
mips_msa_02 - Adds support for new Iops in Memcheck.
Comment 2 Tamara Vlahovic 2017-07-21 11:56:07 UTC
Created attachment 106777 [details]
mips_msa_03 -  Implementation of MSA ASE for VEX.
Comment 3 Tamara Vlahovic 2017-07-21 11:57:09 UTC
Created attachment 106778 [details]
mips_msa_04 - MIPS specific detection of MSA ASE
Comment 4 Tamara Vlahovic 2017-07-21 11:58:01 UTC
Created attachment 106779 [details]
mips_msa_05 - Adds support for guest V128 registers on MIPS in Memcheck
Comment 5 Tamara Vlahovic 2017-07-21 12:02:20 UTC
Created attachment 106780 [details]
mips_msa_06 - MSA regression tests

This is zipped patch.
Comment 6 Petar Jovanovic 2017-08-02 13:59:40 UTC
(In reply to Tamara Vlahovic from comment #0)
> Introduces new Iops in VEX necessary for implementing
> some MSA V128 operations:
>        Iop_Scale2_32Fx4, Iop_Scale2_64Fx2,
>        Iop_Log2_32Fx4, Iop_Log2_64Fx2,
>        Iop_F32x4_2toQ16x8, Iop_F64x2_2toQ32x4,
>        Iop_PackOddLanes8x16, Iop_PackEvenLanes8x16,
>        Iop_PackOddLanes16x8, Iop_PackEvenLanes16x8,
>        Iop_PackOddLanes32x4, Iop_PackEvenLanes32x4.

Julian, can you take a look at these?
Comment 7 Tamara Vlahovic 2017-08-10 14:28:25 UTC
Have anybody had time to take a look at these patches?
Comment 8 Tamara Vlahovic 2017-09-06 14:21:30 UTC
Created attachment 107721 [details]
mips_msa_03 - Implementation of MSA ASE for VEX.

Rebased after new allocator.
Comment 9 Tamara Vlahovic 2017-09-06 14:23:50 UTC
Created attachment 107722 [details]
mips_msa_07 - git-ignore for MSA tests
Comment 10 Tamara Vlahovic 2017-09-15 15:57:00 UTC
Can somebody take a look at these patches?
Comment 11 Petar Jovanovic 2017-10-10 14:19:56 UTC
(In reply to Tamara Vlahovic from comment #8)
> Created attachment 107721 [details]
> mips_msa_03 - Implementation of MSA ASE for VEX.
> 
Can you please do some refactoring of this patch in a way that you do not have very large functions, most particularly disMSAInstr_MIPS_WRK?
Comment 12 Aleksandar Rikalo 2017-10-24 13:52:26 UTC
Created attachment 108540 [details]
MIPS MSA 1/5 - Introduces new Iops in VEX&Memcheck necessary for implementing some MSA V128 operations
Comment 13 Aleksandar Rikalo 2017-10-24 13:54:38 UTC
Created attachment 108541 [details]
MIPS MSA 2/5 - Full support of MIPS SIMD Architecture Module (MSA) instruction set for VEX
Comment 14 Aleksandar Rikalo 2017-10-24 13:55:56 UTC
Created attachment 108542 [details]
MIPS MSA 3/5 - Detecting presence of MSA capabilities
Comment 15 Aleksandar Rikalo 2017-10-24 13:57:26 UTC
Created attachment 108543 [details]
MIPS MSA 4/5 - Adds support for guest V128 registers on MIPS in Memcheck
Comment 16 Aleksandar Rikalo 2017-10-24 14:05:42 UTC
Created attachment 108545 [details]
MIPS MSA 5/5 - MSA regression tests
Comment 17 Aleksandar Rikalo 2017-10-24 14:16:27 UTC
Hi Petar,

Slightly reorganized, refactored and re-based patches are ready.
Comment 18 Aleksandar Rikalo 2017-10-27 13:17:01 UTC
Created attachment 108585 [details]
MIPS MSA 5/5 - MSA regression tests
Comment 19 Petar Jovanovic 2017-10-27 22:48:16 UTC
I have committed the changes.
Minor code-style issues have been fixed, but generally, this is great work, thank you for contributing it.
Comment 20 Julian Seward 2018-07-25 05:23:48 UTC
Petar, can this be closed now?
Comment 21 Petar Jovanovic 2018-07-27 17:04:57 UTC
(In reply to Julian Seward from comment #20)
> Petar, can this be closed now?

Yes, it can.