Toni Wilen
1795dc4199
Initial CPU tester commit.
2019-08-07 20:41:04 +03:00
Thomas Huth
7521d35c06
Silence compiler warnings when compiling with GCC's -Wsign-compare
...
When compiling the CPU files with the -Wsign-compare compiler flag, there
are a couple of harmless warnings, e.g.:
cpummu030.c: In function 'm68k_do_rte_mmu030':
cpummu030.c:2745:48: warning: operand of ?: changes signedness from 'int' to 'uae_u32' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
uae_u32 mmu030_opcode_v = (ps & 0x80000000) ? -1 : (oc & 0xffff);
^~
cpummu030.c:2792:24: warning: comparison of integer expressions of different signedness: 'uae_u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
if (mmu030_opcode_v == -1) {
^~
cpummu030.c: In function 'm68k_do_rte_mmu030c':
cpummu030.c:3133:48: warning: operand of ?: changes signedness from 'int' to 'uae_u32' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
uae_u32 mmu030_opcode_v = (ps & 0x80000000) ? -1 : (oc & 0xffff);
^~
cpummu030.c:3185:50: warning: operand of ?: changes signedness from 'int' to 'uae_u32' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
regs.pipeline_stop = ((ps >> 20) & 15) == 15 ? -1 : (ps >> 20) & 15;
^~
fpp.c: In function 'fp_unimp_datatype':
fpp.c:998:54: warning: operand of ?: changes signedness from 'int' to 'uae_u32' {aka 'unsigned int'} due to unsignedness of other operand [-Wsign-compare]
fsave_data.stag = get_ftag(src, (opclass == 0) ? -1 : size);
^~
Let's make sure to use the correct signedness of the target variable to
silence these warnings.
2018-12-01 13:03:21 +01:00
Toni Wilen
393092b424
68030 MMU update. Unaligned accesses are now new exception handler emulation compatible and retry correctly. Use mmu030_data_buffer_out buffer everywhere instead of special casing MOVEM vs other instructions.
2018-11-23 22:14:39 +02:00
Toni Wilen
42fb0547c7
68030 MMU MOVEM update and cleanup
2018-11-17 18:01:13 +02:00
Toni Wilen
c0efce8232
Another 68030 MMU FPU FSAVE/FRESTORE fix. Use normal state save, 6888x frame (when not including undocumented fields) is small enough to fit in normal state structure. FMOVEM uses different method and should not use x_cp functions.
2018-10-21 21:06:15 +03:00
Toni Wilen
1a76eb1b46
Use x_cp functions which automatically support 68030 MMU.
2018-10-21 18:27:21 +03:00
Toni Wilen
106193877e
Add missing FRESTORE 68030 MMU access fault support.
2018-10-20 13:40:41 +03:00
Toni Wilen
b37f8f694f
Logging option.
2018-10-06 18:42:18 +03:00
Toni Wilen
08fa36c000
Make sure possible new FPU type is selected at reset.
2018-08-14 21:57:11 +03:00
Toni Wilen
f29b784f4d
Softfloat FPU updates. New undocumented features emulated.
2018-07-23 21:54:31 +03:00
Toni Wilen
531052f3a2
4000b14
2018-06-17 09:40:57 +03:00
Toni Wilen
c1cc6ff0a9
Preparing for 6888x vs 68040/060 infinity special case.
2018-06-16 22:21:20 +03:00
Toni Wilen
9b75979c89
Add missing invalid addressing mode checks for FMOVEM, FMOVE(M) Control Register, FMOVE FPP,EA. Add more comments.
2018-06-08 23:05:14 +03:00
Toni Wilen
5ec564f014
Match FPCR and FPSR masking with real FPU.
2018-06-03 19:23:42 +03:00
Toni Wilen
7711f3008f
Extended precision native FPU mode updates.
2018-05-01 16:20:41 +03:00
Toni Wilen
6bca38d06f
MSVC 80-bit host FPU mode.
2018-04-28 15:54:21 +03:00
Toni Wilen
36401df22b
Switch to default host FPU mode when calling C-library trigonometric functions.
2017-09-30 19:28:39 +03:00
Toni Wilen
bd321ffbaf
Hack to support FRESTORE of other FPU type, only if unimplemented FPU emu is ticked.
2017-08-16 10:35:10 +03:00
Toni Wilen
48bb7d8b38
FMOVECR cleanup.
2017-08-10 21:46:37 +03:00
Toni Wilen
bdaf492f8a
FMOVECR undefined offset values are now 100% identical to real 68881/68882. Statesave support updated.
2017-08-08 11:54:58 +03:00
Toni Wilen
b2ee4b2359
Added 68881/68882 FMOVECR undefined ROM offsets. Offsets 0x40-0x7f generate F-line exception.
2017-08-06 12:50:39 +03:00
Toni Wilen
de0a336388
More 68040/060 no fpu updates.
2017-07-22 22:39:02 +03:00
Toni Wilen
ea5b645264
68040/060 no FPU f-line fix.
2017-07-21 21:43:09 +03:00
Toni Wilen
6ee054da47
Missing 68040/060 no FPU check.
2017-07-19 15:00:15 +03:00
Toni Wilen
9a583039e4
68040+ support unnormal zeros in hardware.
2017-07-02 10:43:18 +03:00
Toni Wilen
3deb4d5a4e
JIT FPU fix.
2017-06-13 18:57:19 +03:00
Toni Wilen
5fff81b08c
FPU cleanups.
2017-04-22 08:21:14 +03:00
Toni Wilen
a25869115a
FRESTORE updates and cleanups.
2017-04-19 22:35:52 +03:00
Toni Wilen
fcab3bc844
FRESTORE updates.
2017-04-17 17:29:18 +03:00
Toni Wilen
76ad9de3eb
FSAVE/FRESTORE cleanups, support CU_SAVEPC instruction restart that FPSP uses.
2017-04-16 22:05:41 +03:00
Toni Wilen
059db89267
FPU packed decimal updates, should be 100% accurate now.
2017-03-19 19:06:38 +02:00
Toni Wilen
3bd9645d99
FPU packed decimal update.
2017-03-18 20:20:34 +02:00
Toni Wilen
00ac1eaf4d
Packed decimal support.
2017-03-13 19:44:53 +02:00
Toni Wilen
1635f1ccd7
Fix JIT FPU support.
2017-03-11 22:32:24 +02:00
Toni Wilen
a4f1f570c8
Slirp Basilisk II merge.
2017-03-11 21:06:59 +02:00
Toni Wilen
c9af3b4ad0
FPU update.
2017-03-06 18:02:40 +02:00
Toni Wilen
0e2c12f71b
FPU softfloat arithmetic exception update and misc fixes.
2017-03-03 20:29:26 +02:00
Toni Wilen
4bd6434427
FPU updates.
2017-02-26 20:06:24 +02:00
Toni Wilen
2eef33d8be
FPU update
2017-02-25 17:56:42 +02:00
Toni Wilen
1b47849694
FPU exception handling rewrite.
2017-02-19 15:56:00 +02:00
Toni Wilen
6cac97f4c3
3410b1
2017-02-11 20:18:31 +02:00
Toni Wilen
785e913e47
FPU update and on the fly mode change support.
2017-02-10 20:12:57 +02:00
Toni Wilen
5130b054e6
FPU update 19 merge.
2017-02-05 20:35:29 +02:00
Toni Wilen
e1311c810b
FPU update 18c merge.
2017-02-03 23:33:57 +02:00
Toni Wilen
bd8bf3695c
FPU update.
2017-01-31 21:46:39 +02:00
Toni Wilen
50adcf3c62
FPU update.
2017-01-29 12:16:27 +02:00
Toni Wilen
ed05983332
Missing fpsr_make_status().
2017-01-27 21:00:11 +02:00
Toni Wilen
9e55624fd0
Softfloat/FPU update.
2017-01-27 20:18:43 +02:00
Toni Wilen
ec9dd093d7
Softfloat update, switched back to QEMU softfloat, merged Previous additions, separated native and softfloat implementations.
2017-01-21 10:37:06 +02:00
Toni Wilen
6a246260b3
FPU/Softfloat update part 2.
2017-01-11 21:28:04 +02:00