Merge remote-tracking branch 'remotes/amarkovic/tags/mips-queue-jun-7-2019' into staging

MIPS Queue for June 7th, 2019

# gpg: Signature made Fri 07 Jun 2019 10:59:15 BST
# gpg:                using RSA key D4972A8967F75A65
# gpg: Good signature from "Aleksandar Markovic <amarkovic@wavecomp.com>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 8526 FBF1 5DA3 811F 4A01  DD75 D497 2A89 67F7 5A65

* remotes/amarkovic/tags/mips-queue-jun-7-2019:
  tests/tcg: target/mips: Add README for MSA tests
  tests/tcg: target/mips: Add tests for MSA FP max/min instructions
  tests/tcg: target/mips: Add utility function reset_msa_registers()
  tests/tcg: target/mips: Move four tests to a better location
  tests/tcg: target/mips: Add tests for MSA shift instructions
  tests/tcg: target/mips: Amend and rearrange MSA wrappers
  target/mips: Unroll loops in helpers for MSA logic instructions
  target/mips: Outline places for future MSA helpers
  target/mips: Fix block-comment-related issues in msa_helper.c
  target/mips: Fix space-related format issues in msa_helper.c

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell
2019-06-07 11:17:28 +01:00
239 changed files with 6550 additions and 197 deletions
+542 -33
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+20
View File
@@ -0,0 +1,20 @@
The tests in subdirectories of this directory are supposed to be compiled for
mips64el MSA-enabled CPU (I6400, I6500), using an appropriate MIPS toolchain.
For example:
/opt/img/bin/mips-img-linux-gnu-gcc <source file> \
-EL -static -mabi=64 -march=mips64r6 -mmsa -o <executable file>
They are to be executed using QEMU user mode, using command line:
mips64el-linux-user/qemu-mips64el -cpu I6400 <executable file>
Helper scripts test_msa_compile.sh and test_msa_run.sh are also
provided. This is an example of compilation and execution of all
MSA tests:
cd <QEMU root directory>
cd tests/tcg/mips/user/ase/msa
./test_msa_compile.sh
./test_msa_run.sh
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0100010104000201ULL, 0x0200020200000003ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000000000001ULL, 0x0000000000000002ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0001000100040002ULL, 0x0002000200000000ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000100000004ULL, 0x0000000200000000ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0001000000010000ULL, 0x0001000001010300ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000000000000ULL, 0x0000000000000000ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000000000000ULL, 0x0000000000010003ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000000000000ULL, 0x0000000000000001ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0404050305040605ULL, 0x0404050504030405ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000000000000024ULL, 0x0000000000000022ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x000800080009000bULL, 0x0008000a00070009ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -121,6 +121,8 @@ int32_t main(void)
{ 0x0000001000000014ULL, 0x0000001200000010ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < TEST_COUNT_TOTAL; i++) {
@@ -123,6 +123,8 @@ int32_t main(void)
{ 0x704f164d1e31e20eULL, 0x8df188d8a942e2a0ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < PATTERN_INPUTS_SHORT_COUNT; i++) {
@@ -123,6 +123,8 @@ int32_t main(void)
{ 0x704f164d5e31a24eULL, 0x8df188d8a942e2a0ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < PATTERN_INPUTS_SHORT_COUNT; i++) {
@@ -123,6 +123,8 @@ int32_t main(void)
{ 0x704f164d5e31a24eULL, 0x8df188d8a942e2a0ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < PATTERN_INPUTS_SHORT_COUNT; i++) {
@@ -123,6 +123,8 @@ int32_t main(void)
{ 0x704f164d5e31a24eULL, 0x8cf188d8a942e2a0ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < PATTERN_INPUTS_SHORT_COUNT; i++) {
@@ -123,6 +123,8 @@ int32_t main(void)
{ 0x71cf566d1e33e60eULL, 0xadf389d9ab46e6a1ULL, },
};
reset_msa_registers();
gettimeofday(&start, NULL);
for (i = 0; i < PATTERN_INPUTS_SHORT_COUNT; i++) {

Some files were not shown because too many files have changed in this diff Show More