Build test workload:
$ git clone https://github.com/VectorChief/UniSIMD-assembler.git
$ cd UniSIMD-assembler/test
$ sudo apt install g++-mipsisa64r6el-linux-gnuabi64 g++-mipsisa64r6-linux-gnuabi64
# (replace mips-mti-linux-gnu with mipsisa64r6el-linux-gnuabi64 for LE)
# (replace mips-mti-linux-gnu with mipsisa64r6-linux-gnuabi64 for BE)
$ make -f simd_make_m64.mk
Indeed without the fix both releases spew out errors in the self check like
# diff -Naur qemu64.old qemu64.new
--- qemu64.old 2023-04-18 12:20:26.176053632 +0000
+++ qemu64.new 2023-04-18 12:17:35.263217743 +0000
@@ -9,8 +9,8 @@
--------------------------------------------------------
Test-redundant overridden: 1
-------------------- SUB TEST = 1 - ptr/fp = 64f32 --
-Time C = 1
-Time S = 0
+Time C = 0
+Time S = 1
-------------------------------------- simd = 128x2v1 -
-------------------- SUB TEST = 2 - ptr/fp = 64f32 --
Time C = 0
@@ -18,7 +18,7 @@
-------------------------------------- simd = 128x2v1 -
-------------------- SUB TEST = 3 - ptr/fp = 64f32 --
Time C = 0
-Time S = 1
+Time S = 0
-------------------------------------- simd = 128x2v1 -
-------------------- SUB TEST = 4 - ptr/fp = 64f32 --
Time C = 0
@@ -37,486 +37,72 @@
Time S = 0
-------------------------------------- simd = 128x2v1 -
-------------------- SUB TEST = 8 - ptr/fp = 64f32 --
-Time C = 1
+Time C = 0
Time S = 0
-iarr[23] = 318773
-C iarr[23]+((rt_uelm)+iarr[23]<<1) = 2666648, iarr[23]-((rt_uelm)-iarr[23]>>2) = 637546
-S iarr[23]+((rt_uelm)+iarr[23]<<1) = 637546, iarr[23]-((rt_uelm)-iarr[23]>>2) = 637546
-iarr[22] = 7665
-C iarr[22]+((rt_uelm)+iarr[22]<<1) = 87655196, iarr[22]-((rt_uelm)-iarr[22]>>2) = 15330
-S iarr[22]+((rt_uelm)+iarr[22]<<1) = 15330, iarr[22]-((rt_uelm)-iarr[22]>>2) = 15330
-iarr[21] = 87647531
Those are from the self-tests and detect issues.
With the new version they are gone and fixed.
With ppc and mips issues verified I'm marking the bug as that.
Build test workload: /github. com/VectorChief /UniSIMD- assembler. git assembler/ test el-linux- gnuabi64 g++-mipsisa64r6 -linux- gnuabi64 linux-gnuabi64 for LE) linux-gnuabi64 for BE)
$ git clone https:/
$ cd UniSIMD-
$ sudo apt install g++-mipsisa64r6
# (replace mips-mti-linux-gnu with mipsisa64r6el-
# (replace mips-mti-linux-gnu with mipsisa64r6-
$ make -f simd_make_m64.mk
$ apt install qemu-user
$ qemu-mips64el -cpu I6400 simd_test.m64f32Lr6 -c 1 | tee qemu64
Versions compared:
Kinetic: 7ubuntu2. 3 500 archive. ubuntu. com/ubuntu kinetic- proposed/ universe amd64 Packages dpkg/status 7.0+dfsg- 7ubuntu2. 2 500 archive. ubuntu. com/ubuntu kinetic- updates/ universe amd64 Packages 7.0+dfsg- 7ubuntu2. 1 500
Version table:
*** 1:7.0+dfsg-
500 http://
100 /var/lib/
1:
500 http://
1:
Jammy: 6.2+dfsg- 2ubuntu6. 8 500 archive. ubuntu. com/ubuntu jammy-proposed/ universe amd64 Packages 2ubuntu6. 7 500 archive. ubuntu. com/ubuntu jammy-updates/ universe amd64 Packages dpkg/status
Version table:
1:
500 http://
*** 1:6.2+dfsg-
500 http://
100 /var/lib/
Indeed without the fix both releases spew out errors in the self check like
# diff -Naur qemu64.old qemu64.new ------- ------- ------- ------- ------- ------- ------- - ------- ------- SUB TEST = 1 - ptr/fp = 64f32 -- ------- ------- ------- ------- ---- simd = 128x2v1 - ------- ------- SUB TEST = 2 - ptr/fp = 64f32 -- ------- ------- ------- ------- ---- simd = 128x2v1 - ------- ------- SUB TEST = 3 - ptr/fp = 64f32 -- ------- ------- ------- ------- ---- simd = 128x2v1 - ------- ------- SUB TEST = 4 - ptr/fp = 64f32 -- ------- ------- ------- ------- ---- simd = 128x2v1 - ------- ------- SUB TEST = 8 - ptr/fp = 64f32 -- +((rt_uelm) +iarr[23] <<1) = 2666648, iarr[23] -((rt_uelm) -iarr[23] >>2) = 637546 +((rt_uelm) +iarr[23] <<1) = 637546, iarr[23] -((rt_uelm) -iarr[23] >>2) = 637546 +((rt_uelm) +iarr[22] <<1) = 87655196, iarr[22] -((rt_uelm) -iarr[22] >>2) = 15330 +((rt_uelm) +iarr[22] <<1) = 15330, iarr[22] -((rt_uelm) -iarr[22] >>2) = 15330
--- qemu64.old 2023-04-18 12:20:26.176053632 +0000
+++ qemu64.new 2023-04-18 12:17:35.263217743 +0000
@@ -9,8 +9,8 @@
------
Test-redundant overridden: 1
------
-Time C = 1
-Time S = 0
+Time C = 0
+Time S = 1
------
------
Time C = 0
@@ -18,7 +18,7 @@
------
------
Time C = 0
-Time S = 1
+Time S = 0
------
------
Time C = 0
@@ -37,486 +37,72 @@
Time S = 0
------
------
-Time C = 1
+Time C = 0
Time S = 0
-iarr[23] = 318773
-C iarr[23]
-S iarr[23]
-iarr[22] = 7665
-C iarr[22]
-S iarr[22]
-iarr[21] = 87647531
Those are from the self-tests and detect issues.
With the new version they are gone and fixed.
With ppc and mips issues verified I'm marking the bug as that.