Commit Graph

33 Commits

Author SHA1 Message Date
Jonas Maebe
c2c68ddb8f - removed FPC_NEW_BIGENDIAN_SETS define and if(n)defs
* left old cpu-specific set helper code under ifdef FPC_OLD_BIGENDIAN_SETS
    in case someone wants to write new assembler set helpers (although most
    of them should be optimally generated by the compiler already if
    http://wiki.freepascal.org/FPC_HowToDo#Bit.28field.29_getting.2Fsetting_primitives
    are optimally implemented)

git-svn-id: trunk@13582 -
2009-08-23 08:16:40 +00:00
Jonas Maebe
5cf2511283 - removed/disabled all normalset code (except for bootstrapping), since
it's no longer needed

git-svn-id: trunk@7403 -
2007-05-20 11:19:36 +00:00
Jonas Maebe
a0b57eddb5 * new internal set format for big endian systems. Advantages:
* varsets ({$packset x}) are now supported on big endian targets
    * gdb now displays sets properly on big endian systems
    * cleanup of generic set code (in, include/exclude, helpers), all
      based on "bitpacked array[] of 0..1" now
  * there are no helpers available yet to convert sets from the old to
    the new format, because the set format will change again slightly
    in the near future (so that e.g. a set of 24..31 will be stored in
    1 byte), and creating two classes of set conversion helpers would
    confuse things (i.e., it's not recommended to use trunk currently for
    programs  which load sets stored to disk by big endian programs compiled
    by previous FPC versions)
  * cross-endian compiling has been tested and still works, but one case
    is not supported: compiling a compiler for a different endianess
    using a starting compiler from before the current revision (so first
    cycle natively, and then use the newly created compiler to create a
    cross-compiler)

git-svn-id: trunk@7395 -
2007-05-19 17:15:15 +00:00
peter
4ace790492 * remove $Log
git-svn-id: trunk@231 -
2005-06-07 09:47:55 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
4ff69f3905 * fixed rtl to work with the integrated fpc ppc assembler reader 2003-11-15 19:01:27 +00:00
Jonas Maebe
a4db446a95 * fixed compilation problems (removed unnecessary modified registers
lists from procedures)
2003-06-14 12:41:08 +00:00
Jonas Maebe
71bd041932 * changed dcbst to dcbtst (former means "flush cache block to memory,
the latter means "I will soon store something to that cache block")
2003-05-29 14:32:54 +00:00
Jonas Maebe
6bd01c68d2 * fixed fpc_set_set_byte and fpc_set_unset_byte 2003-05-11 11:06:34 +00:00
Jonas Maebe
53152499c5 * fixed fpc_set_set_range 2003-05-02 15:10:53 +00:00
Jonas Maebe
a13841a857 * fixed fpc_set_in_byte 2003-04-26 15:29:34 +00:00
florian
70da84b994 + set_in_byte needed FPC_SET_IN_BYTE alias 2003-04-26 12:40:33 +00:00
Jonas Maebe
e2ff3fe87a * fixed srwi's after cntlzw instructions (should be 5 instead of 31) 2002-10-17 10:14:46 +00:00
peter
9f31783a0a * old logs removed and tabs fixed 2002-09-07 16:01:16 +00:00
florian
b6f184646c * fixed remaining assembler errors 2002-08-18 22:11:10 +00:00
florian
d9b55c9213 * several errors in inline assembler fixed 2002-08-18 21:37:48 +00:00
Jonas Maebe
3a23eefecc * various fixes, mostly changing the names of the modifies registers to
upper case since that seems to be required by the compiler
2002-08-10 17:14:36 +00:00
florian
7ac5c3743d * several fixes for linux/powerpc
* several fixes to MT
2002-07-28 20:43:47 +00:00
Jonas Maebe
ac2d3341f4 * use rlwnm instead of slw, because, although the programming
environments manual states otherwise, slw uses the whole contents of
    the register instead of bits 27-31 as shift count (rlwnm doesn't)
  * fixed generation of offset inside normal sets where bits have to be
    inserted
2001-09-28 13:27:02 +00:00
Jonas Maebe
9baf1000ae * conversion to compilerproc and to structure used by i386 rtl
* some bugfixes
  * powerpc.inc is almost complete (only fillchar/word/dword, get_frame etc
    and the class helpers are still needed
  - removed unnecessary register saving in set.inc (thanks to compilerproc)
  * use registers reserved for parameters as much as possible instead of
    those reserved for local vars (since those have to be saved by the
    called anyway, while the ones for local vars have to be saved by the
    callee)
2001-09-27 15:30:29 +00:00
Jonas Maebe
91a2f0d3f5 * some small bugfixes and cache optimizations 2001-07-07 12:46:12 +00:00
Jonas Maebe
02591a89d9 * changed 'bdnzeq cr0' to 'bdnzt cr0*4+eq' 2001-03-03 13:54:26 +00:00
Jonas Maebe
ba47609048 * Fixed small error and did a small optimization 2000-10-07 14:42:16 +00:00
Jonas Maebe
df285ec946 * one more bug corrected 2000-09-26 14:22:13 +00:00
Jonas Maebe
484bd2710c * fixed several small bugs
* fixed several typo's in the comments
2000-09-26 14:19:04 +00:00
Jonas Maebe
c9edb8c6e5 + implementation for FPC_SET_SET_RANGE
* changed some routines so they never read data from after the actual
    set (could cause sigsegv's if the set is at the end of the heap)
2000-09-22 10:03:18 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
Jonas Maebe
bfe30b974e * some optimizations suggested by Anton Rang in c.s.powerpc.misc 2000-06-30 10:32:43 +00:00
Jonas Maebe
fdd1947370 * optimized several routines
+ implemented do_contains_sets
2000-06-29 08:42:03 +00:00
Jonas Maebe
131fbc03c5 * inital version, everything not yet implemented 2000-06-28 13:43:29 +00:00