Re: [fpc-devel] Code generator issue for Cortex-M0 chips in trunk

2014-08-08 Thread Nico Erfurth
, I'll commit it after testing. Nico From 89f5b4f1adc828bdc0628baa35166c1c9254b42e Mon Sep 17 00:00:00 2001 From: Nico Erfurth n...@erfurth.eu Date: Fri, 8 Aug 2014 14:22:33 +0200 Subject: [PATCH 1/1] 16bit Thumb is not able to use tst with an immediate value r28315 introduced an arm optimization

Re: [fpc-devel] FPC ARM7 problems

2014-08-07 Thread Nico Erfurth
Hi Sergio, 3 - Finally, since I'm still using FPC 2.6.2 I decided to upgrade to 2.7.1 and try to recompile the game, to see if the crash in the game was gone. But, with FPC 2.7.2 I simply can't compile the game, it gives errors in the assembler stage. Basically I get lots of errors

Re: [fpc-devel] Optimizations

2014-01-25 Thread Nico Erfurth
On 25.01.14 17:09, Florian Klaempfl wrote: Still WIP :) But a lot of my commits from the last weeks are spin-offs of the SSA work. Together with all other improvements this results in significant better code: fpc -l -O3 sha256.pp -S2 Free Pascal Compiler version 2.6.2 [2013/02/12] for

Re: [fpc-devel] Trunk does not compile for armv6m since rev. 26346

2014-01-02 Thread Nico Erfurth
On 02.01.14 12:51, Michael Ring wrote: Checkin Comment was: Optimized support for 32x32 = 64bit multiplications on ARM This code uses UMULL and SMULL to perform the multiplications, which take two 32bit source registers and two 32bit destination registers. ... umull is not supported

Re: [fpc-devel] Trunk does not compile for armv6m since rev. 26346

2014-01-02 Thread Nico Erfurth
On 02.01.14 13:24, Nico Erfurth wrote: On 02.01.14 12:51, Michael Ring wrote: Checkin Comment was: Optimized support for 32x32 = 64bit multiplications on ARM This code uses UMULL and SMULL to perform the multiplications, which take two 32bit source registers and two 32bit destination

Re: [fpc-devel] Trunk does not compile for armv6m since rev. 26346

2014-01-02 Thread Nico Erfurth
On 02.01.14 14:35, Jonas Maebe wrote: On 02 Jan 2014, at 14:11, Nico Erfurth wrote: I've added a new CPU-feature flag CPUARM_HAS_UMULL and also used it for the 64x64=64bit code. I think it would be cleaner to also use it in tarmaddnode.use_generic_mul32to64 (maybe it's also necessary

Re: [fpc-devel] Re: Faster Implementation for IntToStr

2012-09-03 Thread Nico Erfurth
On 03.09.12 14:04, Sven Barth wrote: It will be interesting to benchmark Delphi's ARM compiler once it comes out as we had quite some work on the ARM optimizer in the last months and so there is the chance that FPC performs better on ARM than Delphi :) Well, AFAIK the Delphi compiler for ARM

Re: [fpc-devel] FPC 2.7.1 - variant.inc(82, 10) Error: Illegal type conversion: Text to TextRec

2012-07-25 Thread Nico Erfurth
On 25.07.12 15:35, Marcos Douglas wrote: On Wed, Jul 25, 2012 at 10:25 AM, Marco van de Voort mar...@stack.nl wrote: In our previous episode, Marcos Douglas said: I would like to report some errors when I tried to compile the FPC 2.7.1 at revision 21969 (I am using Windows). First step in

Re: [fpc-devel] FPC 2.7.1 - variant.inc(82, 10) Error: Illegal type conversion: Text to TextRec

2012-07-25 Thread Nico Erfurth
On 25.07.12 16:11, Gennadiy Poryev wrote: On a side note, this only affects win32 (and possibly linux x86) target. Win64 and Linux x64 compiles well yet. So, the fpc trunk once again became non-selfhosting, despite the notion that it shouldn’t have been as such at all :) No, AFAICT it

Re: [fpc-devel] Class field reordering

2012-07-16 Thread Nico Erfurth
On 16.07.12 09:22, Skybuck Flying wrote: I also wonder how much of an optimization it actually is ? Maybe 0.01% more performance ? Cache related optimizations are VERY hard to measure and depend on overall context and used architecture. But as the L1-cache is one of the most performance

Re: [fpc-devel] Class field reordering

2012-07-14 Thread Nico Erfurth
On 14.07.12 01:44, Jonas Maebe wrote: I've implemented an optimization that reorders the instance fields of Delphi-style classes (and only of Delphi-style classes) to minimise memory gaps caused by alignment differences and odd sizes. The effect is the same as when you would change the order

Re: [fpc-devel] Error building branch targetandroid

2012-07-08 Thread Nico Erfurth
On 07.07.12 12:24, Felipe Monteiro de Carvalho wrote: On Sat, Jul 7, 2012 at 11:42 AM, Thomas Schatzl tom_at_w...@gmx.at wrote: The revision you have does not support the rev instruction when using -CpARMv6. Use -CpARMv5 (or no switch, as it is the default) to create the (cross-)compiler.