bsnes/higan/processor
Tim Allen 50420e3dd2 Update to v098r19 release.
byuu says:

Changelog:
- added nall/bit-field.hpp
- updated all CPU cores (sans LR35902 due to some complexities) to use
  BitFields instead of bools
- updated as many CPU cores as I could to use BitFields instead of union {
  struct { uint8_t ... }; }; pairs

The speed changes are mostly a wash for this. In some instances,
I noticed a ~2-3% speedup (eg SNES emulation), and in others a 2-3%
slowdown (eg Famicom emulation.) It's within the margin of error, so
it's safe to say it has no impact.

This does give us a lot of new useful things, however:

- no more manual reconstruction of flag values from lots of left shifts
  and ORs
- no more manual deconstruction of flag values from lots of ANDs
- ability to get completely free aliases to flag groups (eg GSU can
  provide alt2, alt1 and also alt (which is alt2,alt1 combined)
- removes the need for the nasty order_lsbN macro hack (eventually will
  make higan 100% endian independent)
- saves us from insane compilers that try and do nasty things with
  alignment on union-structs
- saves us from insane compilers that try to store bit-field bits in
  reverse order
- will allow some really novel new use cases (I'm planning an
  instant-decode ARM opcode function, for instance.)
- reduces code size (we can serialize flag registers in one line instead
  of one for each flag)

However, I probably won't use it for super critical code that's constantly
reading out register values (eg PPU MMIO registers.) I think there we
would end up with a performance penalty.
2016-06-09 08:26:35 +10:00
..
arm Update to v098r19 release. 2016-06-09 08:26:35 +10:00
gsu Update to v098r19 release. 2016-06-09 08:26:35 +10:00
hg51b Update to v098r06 release. 2016-04-22 23:35:51 +10:00
lr35902 Update to v098r17 release. 2016-06-06 08:10:01 +10:00
r6502 Update to v098r19 release. 2016-06-09 08:26:35 +10:00
r65816 Update to v098r19 release. 2016-06-09 08:26:35 +10:00
spc700 Update to v098r19 release. 2016-06-09 08:26:35 +10:00
upd96050 Update to v098r19 release. 2016-06-09 08:26:35 +10:00
v30mz Update to v098r19 release. 2016-06-09 08:26:35 +10:00
GNUmakefile Update to v097r19 release. 2016-03-13 11:22:14 +11:00
processor.hpp Update to v097r01 release. 2016-01-23 18:29:34 +11:00