Commit Graph

44444 Commits

Author SHA1 Message Date
Jeppe Johansen
db401f0371 Add missing size postfix to VNEG VFP instruction.
git-svn-id: branches/laksen/armiw@29436 -
2015-01-11 13:40:35 +00:00
Jeppe Johansen
2ac11e4b82 Use proper relocation type for Thumb-2 BLX.
Initialize MM register allocator properly for Thumb-2 cg.

git-svn-id: branches/laksen/armiw@29435 -
2015-01-11 13:30:52 +00:00
Jeppe Johansen
572076fc4d Add MSR/MRS for ARMv6M/7M.
Fix bug in FPA LFM/SFM.
Add usermode handling of LDM/STM.

git-svn-id: branches/laksen/armiw@29371 -
2015-01-02 13:24:03 +00:00
Jeppe Johansen
7390acc426 Merged from recent trunk.
git-svn-id: branches/laksen/armiw@29369 -
2015-01-01 23:54:40 +00:00
Jeppe Johansen
f963ff1b5b Add CPSxx instructions, and some missing FPA instructions.
git-svn-id: branches/laksen/armiw@29368 -
2015-01-01 21:17:21 +00:00
joost
588256f79a * Added missing path-delimiter between target and packagevariant path
git-svn-id: trunk@29367 -
2015-01-01 13:55:51 +00:00
Jeppe Johansen
ff7af306df Add FPA support.
git-svn-id: branches/laksen/armiw@29366 -
2015-01-01 11:18:04 +00:00
marco
43121ed5e1 * Fix for #27228
git-svn-id: trunk@29365 -
2015-01-01 00:27:18 +00:00
marco
4733e50de5 * system unit additions from mantis #27206. Exports some dynarray related RTTI functions.
git-svn-id: trunk@29364 -
2015-01-01 00:21:40 +00:00
joost
ff7ce315e6 * Replaced single events in TBuildEnine with TNotifyEventCollection. This
way multiple events can be bound on actions.
 * Added events to TCustomInstaller. The TBuildEngine is not initialized
   during the creation of the packages. So setting TBuildEngine-events
   was cumbersome.

git-svn-id: trunk@29363 -
2014-12-31 15:47:09 +00:00
florian
f813703cf3 * fixes several issues with loop unrolling
git-svn-id: trunk@29362 -
2014-12-31 15:45:06 +00:00
michael
868ba1560f * Applied patch by Michael Van Ham (bug ID 27220)
git-svn-id: trunk@29361 -
2014-12-30 07:35:31 +00:00
sergei
da8346079f * mips-linux: Enabled tf_safecall_exceptions (it just works, no reason to keep disabled) and also tf_pic_uses_got (so that checks elsewhere in compiler set pi_needs_got flag; actual functionality is not changed because currently MIPS just forces pi_needs_got unconditionally).
git-svn-id: trunk@29360 -
2014-12-29 23:26:40 +00:00
sergei
b46ce6b70e * Fixed condition to output div/divu having R0 as first operand as non-macros.
git-svn-id: trunk@29359 -
2014-12-29 23:19:01 +00:00
florian
0a19825e25 * elf_x86_64 -> elf_x86_64_sol2, should resolve #27199
git-svn-id: trunk@29358 -
2014-12-29 17:57:45 +00:00
florian
3988de549b * updates for make 3.82
git-svn-id: trunk@29357 -
2014-12-29 11:44:35 +00:00
Jeppe Johansen
49346b3041 Fix SWI as a pseudo instruction.
Add VFPv2/3 instruction entries for Thumb2.

git-svn-id: branches/laksen/armiw@29356 -
2014-12-29 11:34:34 +00:00
Jeppe Johansen
cbd75428c0 Fix an issue with local BLX branches not being turned into BL branches.
git-svn-id: branches/laksen/armiw@29355 -
2014-12-28 23:27:30 +00:00
sergei
57094d495b + MIPS: implement inline full 64-bit multiplication, for cases when overflow checking is off and CPU is set to mips32r2.
git-svn-id: trunk@29354 -
2014-12-28 22:03:15 +00:00
Jeppe Johansen
9a482d5281 Refactor and secure some immediate operand encodings.
Add some system mode entries, udiv/sdiv in arm mode, and fix bugs in ldrh/strh.

git-svn-id: branches/laksen/armiw@29353 -
2014-12-28 21:41:06 +00:00
Jeppe Johansen
e7575d9f96 Fix some encoding bugs in ARM modes. Mostly shifts and signindex errors.
Add FPU mask checking for instructions too.

git-svn-id: branches/laksen/armiw@29352 -
2014-12-28 16:16:54 +00:00
joost
7c2295b83b * Avoid an unlimited loop when only one package is being installed
git-svn-id: trunk@29351 -
2014-12-28 15:42:05 +00:00
michael
8e7d649a4d * Optimized variant of patch in bug ID #27215
git-svn-id: trunk@29350 -
2014-12-28 14:51:31 +00:00
joost
164d5a4f38 * Added ability to build fpmakes with multiple packages
git-svn-id: trunk@29349 -
2014-12-28 13:28:46 +00:00
Jeppe Johansen
97fdfc942b Fix encoding of shifterops for ARM dataprocessing instructions.
git-svn-id: branches/laksen/armiw@29348 -
2014-12-28 00:13:06 +00:00
marco
4956784613 * fix for #26846, wrong line continuation character in gba and nds makefile.fpc's
git-svn-id: trunk@29347 -
2014-12-27 23:24:12 +00:00
Jeppe Johansen
c284d8f6ba Fix some warnings about unitialized variables.
git-svn-id: branches/laksen/armiw@29346 -
2014-12-27 23:11:54 +00:00
Jeppe Johansen
3ad03491ed Add Neg as a pseudo instruction, and fix RRX pseudo code expansion.
Split some of the thumb code emission rules to make it easier to specify short-cut notations.

git-svn-id: branches/laksen/armiw@29345 -
2014-12-27 17:44:30 +00:00
florian
1178fdc98f * force objects and records only into memory if their address is passed, hint from Jonas, improves code after r29139
git-svn-id: trunk@29344 -
2014-12-27 16:42:34 +00:00
Jeppe Johansen
6fff181679 Add support for TBB/TBH instructions.
Precisize rules for selection of thumb instructions.
Add short-cut notation support for most simple Thumb2 instructions ( add r1,#4 instead of add r1,r1,#4 ).

git-svn-id: branches/laksen/armiw@29343 -
2014-12-27 16:00:06 +00:00
joost
66adabf63c * Combine multiple packages into one manifest.xml
git-svn-id: trunk@29342 -
2014-12-27 15:41:26 +00:00
Jeppe Johansen
71cdedea82 Add missing NOP, and B instruction forms.
Move ThumbFunc flag from section to symbol.
Make .w forms optional the other way around. If .w is explicitly put on an instruction the assembler should always chose a wide form.

git-svn-id: branches/laksen/armiw@29341 -
2014-12-27 13:23:02 +00:00
Jeppe Johansen
de00a1d76d Implement simple support for .thumb_func in the ELF output.
git-svn-id: branches/laksen/armiw@29340 -
2014-12-27 11:02:38 +00:00
Károly Balogh
a3441a178e MorphOS: fix the unified video unit to not crash due to missing library inits
git-svn-id: trunk@29339 -
2014-12-27 01:18:40 +00:00
Jeppe Johansen
cc418eef74 Added unified assembler syntax mode so it can be selected with $ASMMODE.
Fixed bug in Mov instruction.
Added initial scanning of IT/LastInIT detection for proper instruction selection.
Disabled "wide" format flag detection again for now.

git-svn-id: branches/laksen/armiw@29338 -
2014-12-27 00:19:09 +00:00
Károly Balogh
3a5f11ab2f Amiga-likes: better FV system integration.
* focus/unfocus event support
* use Keyboard.WaitForSystemEvent() instead of waiting for a fixed time.
  this allows very snappy event response times (you can really feel this
  while typing/editing for example) together with blinking cursor support
  this really enhances the IDE experience on Amiga-likes.

git-svn-id: trunk@29337 -
2014-12-26 23:39:54 +00:00
Károly Balogh
4d9881c2b4 Amiga-likes: set the window/screen title with IDE version information
git-svn-id: trunk@29336 -
2014-12-26 23:30:54 +00:00
Károly Balogh
0f10a71fa0 Amiga-likes: huge keyboard/video unit rework
* unified video unit for all three systems
* faster drawing (simple Window instead of GZZ, which introduces an extra layer)
* helper function to wait for a system event with a timeout, to be used by FV
* mouse events now hooked on IntuiTicks instead of MouseMove, this helps to
  avoid flooding the message system with events even on classic Amigas
* better resize event support
* focus/unfocus event support
* fixed to empty the Window's message port properly on close
* cursor blinking support (hooked on IntuiTicks)
* minor bugfixes, code cleanup
* probably more...

git-svn-id: trunk@29335 -
2014-12-26 23:25:25 +00:00
Jeppe Johansen
6976af8365 Change .thumb_func to be an ait_directive instead of it's own tai type.
git-svn-id: branches/laksen/armiw@29334 -
2014-12-26 23:13:14 +00:00
Jeppe Johansen
9683102813 BL/BLX in thumb mode is a long composed instruction in Thumb as well as Thumb2
git-svn-id: branches/laksen/armiw@29333 -
2014-12-26 23:10:34 +00:00
Károly Balogh
136f845576 Amiga-likes: do not call Drivers.GetSystemEvent, FV doesn't really handle it, and causes issues if the system events are swallowed by various components. the IDE has direct system event integration in its main loop.
git-svn-id: trunk@29332 -
2014-12-26 23:09:43 +00:00
Jeppe Johansen
9227a9fcf2 Reenable check for Wide format flag.
git-svn-id: branches/laksen/armiw@29331 -
2014-12-26 20:08:07 +00:00
Károly Balogh
3dcccea788 FreePascal -> Free Pascal in the IDE about window. we call ourselves Free Pascal everywhere, so be consistent
git-svn-id: trunk@29330 -
2014-12-26 20:02:58 +00:00
Jeppe Johansen
5c3093a937 Add most non-VFP Thumb-2 instruction entries for the ARM internal writer.
git-svn-id: branches/laksen/armiw@29329 -
2014-12-26 18:35:15 +00:00
svenbarth
5848637db3 Fix generation of class names for specializations.
symdef.pas, tstoreddef:
  * is_specialization: fix exit condition to correctly recognize specializations

+ added test

git-svn-id: trunk@29328 -
2014-12-26 18:14:52 +00:00
Károly Balogh
a1ba11ff88 amunits/morphunits: make intuition/EndRefresh() to accept a LongBool as second argument instead of longint. arosunits already defines it as LongBool.
git-svn-id: trunk@29327 -
2014-12-26 18:01:04 +00:00
Jeppe Johansen
3cb9b30165 Added full 16-bit Thumb support to the ARM internal writer.
git-svn-id: branches/laksen/armiw@29326 -
2014-12-25 19:33:14 +00:00
nickysn
1f5fb65bcb + always enable smartlinking on i8086 in the default fpc.cfg
git-svn-id: trunk@29325 -
2014-12-25 18:09:53 +00:00
sergei
ba61a9f95c * Fix bug #26370: A multi-dimensional variant array is "empty" when any of its dimensions has zero range, range of other dimensions does not matter.
git-svn-id: trunk@29324 -
2014-12-25 16:59:52 +00:00
sergei
d2187257e7 - removed unused type and variable
git-svn-id: trunk@29323 -
2014-12-25 10:25:21 +00:00