fxcmp{op}{s,d,x}f: wrong results, don't know why #4

Closed
opened 2021-01-08 02:51:25 +01:00 by a1batross · 3 comments
Owner

Output on real e2k machine

0x0000037f 0x0000003f
2.00    1.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
1.00    2.00    0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
2.00    -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-1.00   -2.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-2.00   -1.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
-1.00   -2.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
2.00    2.00    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 
-2.00   -2.00   0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 
nan     1.00    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
1.00    nan     0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
nan     -1.00   0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
-1.00   -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
-nan    -1.00   0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
-1.00   -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
nan     nan     0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
-nan    -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 
inf     1.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
1.00    inf     0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
inf     -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-1.00   -inf    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-inf    -1.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
-1.00   -inf    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
inf     inf     0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 
-inf    -inf    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 
0.00    1.00    0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
1.00    0.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
0.00    -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-1.00   -0.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
-0.00   -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 
-1.00   -0.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 
0.00    0.00    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 
-0.00   -0.00   0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 

Output on qemu-e2k

0x00000340 0x00000000
2.00    1.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
1.00    2.00    0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
2.00    -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -2.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-2.00   -1.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -2.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
2.00    2.00    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
-2.00   -2.00   0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
nan     1.00    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
1.00    nan     0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 
nan     -1.00   0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 
-nan    -1.00   0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 
nan     nan     0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 
-nan    -nan    0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 
inf     1.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
1.00    inf     0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
inf     -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -inf    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-inf    -1.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -inf    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
inf     inf     0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
-inf    -inf    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
0.00    1.00    0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 
1.00    0.00    0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
0.00    -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -0.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-0.00   -1.00   0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-1.00   -0.00   0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
0.00    0.00    0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 
-0.00   -0.00   0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 

At first, fxcmpod{s,d,x}f sets invalid operation flag in fpsr. Implement that!
At second, fxcmp{od,ud}xf always return equal flag and it's s and d versions are incorrect. Seems problem may be in movif implementation?

Sample program is attached

Output on real e2k machine ``` 0x0000037f 0x0000003f 2.00 1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 1.00 2.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 2.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -1.00 -2.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -2.00 -1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 -1.00 -2.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 2.00 2.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 -2.00 -2.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 nan 1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 1.00 nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 nan -1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 -1.00 -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 -nan -1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 -1.00 -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 nan nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 -nan -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 0x45 0x0001 0x45 0x0000 inf 1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 1.00 inf 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 inf -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -1.00 -inf 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -inf -1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 -1.00 -inf 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 inf inf 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 -inf -inf 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0.00 1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 1.00 0.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -1.00 -0.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 -0.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 -1.00 -0.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0.00 0.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 -0.00 -0.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 ``` Output on qemu-e2k ``` 0x00000340 0x00000000 2.00 1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 1.00 2.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 2.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -2.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -2.00 -1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -2.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 2.00 2.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 -2.00 -2.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 nan 1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 1.00 nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 nan -1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 -nan -1.00 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 nan nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 -nan -nan 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x45 0x0000 0x40 0x0000 0x40 0x0000 inf 1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 1.00 inf 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 inf -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -inf 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -inf -1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -inf 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 inf inf 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 -inf -inf 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 0.00 1.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x40 0x0000 0x40 0x0000 1.00 0.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 0.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -0.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -0.00 -1.00 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -1.00 -0.00 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x01 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 0.00 0.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 -0.00 -0.00 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x40 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x00 0x0000 0x40 0x0000 0x40 0x0000 ``` At first, fxcmpod{s,d,x}f sets invalid operation flag in fpsr. Implement that! At second, fxcmp{od,ud}xf always return equal flag and it's s and d versions are incorrect. Seems problem may be in `movif` implementation? Sample program is attached
Author
Owner

Also this program causes SIGILL.

Also this program causes SIGILL.
Owner

Also this program causes SIGILL.

Fixed 8f48b6da19

> Also this program causes SIGILL. Fixed https://git.mentality.rip/OpenE2K/qemu-e2k/commit/8f48b6da194c37ca192b4c3437d0e184a31fa0a7
Author
Owner

The issue fixed.

Seems it was caused because I put fcmpf handlers AFTER unimplented ops in switchcase block, causing a fallthrough somehow.

The issue fixed. Seems it was caused because I put fcmpf handlers AFTER unimplented ops in switchcase block, causing a fallthrough somehow.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: OpenE2K/qemu-e2k#4
No description provided.