David Given
11890026db
Push/pop are the right way round. Don't corrup short-form ALU instructions. Correct encoding of push/pop register ranges.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:34:42 +01:00
David Given
76ba0bf6b3
First steps towards a code generator.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:33:42 +01:00
David Given
80f85001fa
Correctly emit constants in some ALU instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:19:10 +01:00
David Given
a46ee91859
Fix warning.
...
--HG--
branch : dtrg-videocore
2013-05-19 23:18:36 +01:00
David Given
4f15423d63
Add compare-and-branch instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 18:40:19 +01:00
David Given
80afe75c9b
Added memory operations that work on fixed up addresses.
...
--HG--
branch : dtrg-videocore
2013-05-19 13:03:53 +01:00
David Given
febe8ca937
Add register offset and postincrement memory operations.
...
--HG--
branch : dtrg-videocore
2013-05-19 12:39:35 +01:00
David Given
fc2833d456
Add most vanilla memory load/store instructions.
...
--HG--
branch : dtrg-videocore
2013-05-19 00:56:56 +01:00
David Given
26877d3c4f
Add a whole bunch of VC4 opcodes.
...
--HG--
branch : dtrg-videocore
2013-05-17 23:30:49 +01:00
David Given
5b4aa07dee
Merge fixes from trunk.
...
--HG--
branch : dtrg-videocore
2013-05-17 15:28:04 +01:00
David Given
e7c2029c9c
Dependency fixes.
2013-05-17 00:04:37 +01:00
David Given
32ebc502c8
Skeleton of VideoCore IV support for the Raspberry Pi.
...
--HG--
branch : dtrg-videocore
rename : mach/powerpc/as/.distr => mach/vc4/as/.distr
rename : mach/powerpc/as/mach0.c => mach/vc4/as/mach0.c
rename : mach/powerpc/as/mach1.c => mach/vc4/as/mach1.c
rename : mach/powerpc/as/mach2.c => mach/vc4/as/mach2.c
rename : mach/powerpc/as/mach3.c => mach/vc4/as/mach3.c
rename : mach/powerpc/as/mach4.c => mach/vc4/as/mach4.c
rename : mach/powerpc/as/mach5.c => mach/vc4/as/mach5.c
rename : mach/i86/build.mk => mach/vc4/build.mk
rename : mach/powerpc/libem/powerpc.h => mach/vc4/libem/videocore.h
rename : mach/i86/libend/.distr => mach/vc4/libend/.distr
rename : mach/i86/libend/edata.s => mach/vc4/libend/edata.s
rename : mach/i86/libend/em_end.s => mach/vc4/libend/em_end.s
rename : mach/i86/libend/end.s => mach/vc4/libend/end.s
rename : mach/i86/libend/etext.s => mach/vc4/libend/etext.s
rename : mach/powerpc/ncg/.distr => mach/vc4/ncg/.distr
rename : mach/powerpc/ncg/mach.c => mach/vc4/ncg/mach.c
rename : mach/powerpc/ncg/mach.h => mach/vc4/ncg/mach.h
rename : mach/powerpc/ncg/table => mach/vc4/ncg/table
rename : plat/pc86/descr => plat/rpi/descr
2013-05-17 00:03:38 +01:00
David Given
e5f6d5acfa
Fix buffer overrun looking up type information for op_lab pseudoops (as
...
they're not EM opcodes, we shouldn't look them up in em_flags!).
2013-05-16 22:02:59 +01:00
David Given
24ef1627ec
A few last build tweaks.
...
--HG--
branch : dtrg-buildsystem
2013-05-16 14:20:58 +01:00
David Given
11377070fd
Update distribution files.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
8fbce949f5
Now describe the make-based build system in the README.
...
--HG--
branch : dtrg-buildsystem
2013-05-15 23:12:05 +01:00
David Given
a68b117e96
Add missing dependency.
...
--HG--
branch : dtrg-buildsystem
2013-05-14 14:55:29 +01:00
David Given
07453d184a
Top, topgen, aelflod. Moved the libraries back into the platform-specific
...
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!
--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk
2013-05-13 23:26:15 +01:00
David Given
442306d557
Split off some of the platform-independent stuff (such as as and ncg).
...
--HG--
branch : dtrg-buildsystem
rename : plat/pc86/build.mk => mach/i386/build.mk
rename : plat/pc86/build.mk => mach/i80/build.mk
rename : plat/pc86/build.mk => mach/i86/build.mk
rename : plat/pc86/build.mk => mach/m68020/build.mk
rename : plat/pc86/build.mk => mach/powerpc/build.mk
2013-05-13 22:12:46 +01:00
David Given
b0c238eb5d
Made a start on building the runtimes for each platform and language; the
...
Linuxes all build.
--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +01:00
David Given
c1aca7dae5
First milestone of replacing the build system.
...
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
David Given
bcfb3d802f
Add pmfile for m68020 libend.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 00:58:35 +01:00
David Given
8e2d027c49
Add pmfile for m68020 libem.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-09 00:57:47 +01:00
David Given
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
George Koehler
0131ca4d46
Delete 689 undead files.
...
These files "magically reappeared" after the conversion from CVS to
Mercurial. The old CVS repository deleted these files but did not
record *when* it deleted these files. The conversion resurrected these
files because they have no history of deletion. These files were
probably deleted before year 1995. The CVS repository begins to record
deletions around 1995.
These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted. There is no way to fix
this, because the CVS repository provides no dates of deletion.
See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
dtrg
481bcd8a8b
Added a very-nearly-noop peephole optimiser for Z80.
2008-03-20 23:20:08 +00:00
dtrg
fc44fe2185
Properly handles files ending in a partial line.
2008-03-20 22:50:50 +00:00
dtrg
4dd1ff6d80
Archival checkin (semi-working code).
2007-11-02 18:56:58 +00:00
cvs2hg
58e5e12ead
fixup commit for tag 'release-6-0-pre-3'
2007-04-29 23:09:25 +00:00
dtrg
54ce3f451b
Configured distr system for the 6.0pre3 release.
2007-04-29 23:09:24 +00:00
dtrg
663f4f2fb5
Cleaned up a bit and made work with the new platform architecture.
2007-04-29 23:03:24 +00:00
dtrg
df088c184b
Added optimised rules for int<<8 and uint>>8 (which can be done with simple register shuffling rather than calling .sli).
2007-04-29 23:00:31 +00:00
dtrg
be8baf3da6
Added cpm platform.
2007-04-27 22:42:41 +00:00
dtrg
440d6faadd
Fixed a bug where loc lol stf was getting the constant pushed onto the stack *after* stf had popped it off.
2007-04-27 22:15:31 +00:00
dtrg
24ea8aee3d
Updated for the 6.0pre2 release.
2007-04-24 20:45:58 +00:00
dtrg
04860c08a8
Updated to work with the linux386 platform.
2007-04-21 22:57:51 +00:00
dtrg
daee8da3c4
yacc source files are now run through the ANSI C preprocessor, not the K&R one.
2007-04-21 22:55:59 +00:00
dtrg
4428647786
Everything is built in ANSI C now.
2007-04-21 22:55:04 +00:00
dtrg
b611731ec3
Updated .distr files for the new release.
2007-02-25 12:51:55 +00:00
dtrg
f6a41864cf
Moved to /h.
2007-02-25 12:45:24 +00:00
dtrg
5c5f711cbb
Done a major overhaul of the way target include files are installed and
...
how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
2007-02-20 00:46:10 +00:00
dtrg
809cd2ef0b
Added a definition of endrom.
2007-02-20 00:42:23 +00:00
dtrg
5165f0b11f
Added some comments and a CVS header.
2007-02-20 00:41:26 +00:00
dtrg
c21ba9ed0f
Updated to work with the new version of pm.
2006-11-11 22:59:52 +00:00
dtrg
dbe10d2c19
Updated to the version 0.1 of Prime Mover (which involves some syntax changes).
2006-10-15 00:28:12 +00:00
dtrg
9bcefaafa8
Broke dependency on tool_cpp in order to speed up the build.
2006-07-30 23:41:16 +00:00
dtrg
014be56fb0
Replaced calls to the custom strindex() and strrindex() functions with the
...
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00
dtrg
304c0e21a0
Added support for the top target peephole optimiser.
2006-07-22 12:31:19 +00:00
dtrg
fdcdaadcb8
Rationalised use of #includes to be more standards-compliant.
2006-07-22 12:28:20 +00:00
dtrg
1a037b9685
Added support for the ego global optimisation suite.
2006-07-22 00:52:01 +00:00
dtrg
34ae7c4634
Removed duplicate (and incorrect) system function declarations.
2006-07-21 11:17:18 +00:00
dtrg
db0b628497
Removed a definition of 'struct label' as 'label_t', as it clashes with
...
a common Posix extension on BSD systems.
2006-07-21 10:35:34 +00:00
dtrg
097c640a6c
First version in CVS.
2006-07-20 23:24:28 +00:00
dtrg
6073ee934e
Rationalised use of #includes to be more standards-compliant.
2006-07-19 14:09:05 +00:00
dtrg
4c0a0e6119
Rationalised use of #includes to be more standards-compliant.
2006-07-18 17:10:29 +00:00
dtrg
1eb1cb6f62
Renamed the 'index' variable to 'offset', to prevent clashes with the libc index() function.
2006-07-18 17:00:30 +00:00
dtrg
4f6fff6b1f
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 16:59:11 +00:00
dtrg
2aca7fbaf4
Renamed the private 'atol()' function to 'our_atol()' to avoid clashes with the libc one.
2006-07-18 16:57:51 +00:00
dtrg
13a9ff3379
Removed unnecessary commas seperating yacc tokens, to prevent warnings.
2006-07-18 16:52:08 +00:00
dtrg
423368e42f
Renamed the 'index()' function to 'indexmode()', to prevent clashes with the libc index() function.
2006-07-18 16:50:22 +00:00
dtrg
45ed0df6d0
Removed a #define that was also defined in cv.c.
2006-07-18 16:48:21 +00:00
dtrg
4fdd9b83fc
Converted to use termios, not sgtty. (pbetti@e-tech.net)
2005-08-10 22:48:40 +00:00
dtrg
35bd1df1aa
Now includes stdlib.h to avoid implicit call declarations.
2005-06-25 15:50:40 +00:00
dtrg
dd400ca720
Removed a call to _cleanup(), which appears to be a Minixism (and should be unnecessary).
2005-06-24 22:12:02 +00:00
dtrg
9bc8c07deb
Replaced references to /usr/tmp with references to /tmp.
2005-06-24 22:08:47 +00:00
ceriel
384c4bc698
Fixed bug with 4-byte sets on 2-byte machines
1998-09-03 12:51:38 +00:00
ceriel
3b3ec3a2af
Fixed typo in catchsig.s
1996-11-26 15:05:10 +00:00
ceriel
ea09125e30
fixed a bug: STD/LDD was generated on odd-numbered reg
1996-11-19 13:28:41 +00:00
ceriel
d0587ef3ab
Stupid confusion with fdtox and fxtod
1996-11-18 16:49:54 +00:00
ceriel
740f1d5f75
fix in cmpxchg instruction; i486 book is wrong
1996-04-25 08:38:05 +00:00
ceriel
4baa1312a8
removed
1995-12-06 14:15:11 +00:00
ceriel
cdb362b628
removed
1995-12-06 14:04:51 +00:00
ceriel
f7157ca24c
Copied versions of dv[iu].s from ../../m68k2/libem.
1995-12-05 15:38:55 +00:00
ceriel
71da2cdda9
Fixed some bugs with the setxx instructions
1995-09-12 12:09:08 +00:00
ceriel
8b3437dd24
Fix: setxx instructions should only accept byte registers
1995-09-12 12:08:42 +00:00
ceriel
b766e2beab
Added libassert for when DEBUG is defined
1995-08-18 07:28:47 +00:00
ceriel
a96a9107c8
'ed -' is no longer supported on some systems. replaced by 'ed -s'
1995-08-17 12:22:33 +00:00
ceriel
bf6f4f8a6e
Minor mod to Makefile
1995-07-27 07:14:54 +00:00
ceriel
5a6d5d877f
declare errno in cerror.s
1995-07-26 08:55:56 +00:00
ceriel
2624e5d05c
Use _end instead of $_end. $_end does not always indicate the right
...
position. This should be fixed as well, but how?
1995-07-26 08:52:03 +00:00
ceriel
ef30bb3398
Fix by Charles Lindsey: still used reg vars, despite ms_gto
1995-07-26 08:44:35 +00:00
ceriel
41d0c898e5
Fixed typo
1995-07-26 08:43:02 +00:00
ceriel
4978d19bff
Several fixes from Charles Lindsey
1995-07-25 16:43:42 +00:00
ceriel
34b3d1fb52
Fix: produced jgt instead of jg
1995-07-25 13:21:53 +00:00
ceriel
5e03b1bebb
Fixes: some conditionals were evaluated wrong due to the overflow bit
1995-07-21 12:05:26 +00:00
ceriel
fdc0e2efdb
minor improvement
1995-03-29 11:57:27 +00:00
ceriel
34f7036b87
Reordered patterns
1995-03-28 11:22:34 +00:00
ceriel
06b0d3775f
Added some patterns
1995-03-28 10:01:02 +00:00
ceriel
404d86d544
Added -F option to indicate name of floating point hook
1995-03-17 12:37:06 +00:00
ceriel
65353b1417
Fix: description of setxx should write arg
1995-02-24 11:53:43 +00:00
ceriel
63d0700af1
Fix: made 'rep' equivalent to 'repz'
1994-11-16 14:43:42 +00:00
ceriel
4c26480d25
Fix: sometimes wrote register gotten from pop_reg(); Fix: WINDOWSIZE; Fix: make distr
1994-10-25 16:14:08 +00:00
ceriel
e2894d7a6e
Header --> Id
1994-06-28 14:41:17 +00:00
ceriel
1db6a3029b
Header --> Id
1994-06-24 14:02:31 +00:00
ceriel
6cec9aca97
Header --> Id && bug fix
1994-06-24 07:25:30 +00:00
ceriel
910f827fe2
Header --> Id && bug fix
1994-06-23 16:08:51 +00:00
ceriel
11682328eb
get section alignments right
1994-01-14 11:42:01 +00:00
ceriel
6f23614b06
Fixed problem with calloc() declaration
1993-12-09 16:31:05 +00:00
ceriel
6561b6287f
Fix: CMP instruction with small constant does not handle PC-relative
1993-12-06 10:14:43 +00:00
ceriel
fe99903321
Several changes: did not work right when compiled with the ANSI C compiler
1993-11-24 15:37:27 +00:00