Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-24 Thread Florian Klämpfl
Am 18.03.2019 um 02:57 schrieb Ben Grasset: > On Sun, Mar 17, 2019 at 1:57 PM Florian Klämpfl > wrote: > > > How is it better than intrinsics support (similiar to gcc/icc etc.)? > > > Well, it wouldn't be better than a literal equivalent to those intriniscs,

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-18 Thread Marco van de Voort
Op 3/17/2019 om 6:57 PM schreef Florian Klämpfl: Something along these lines is absolutely sorely lacking in FPC currently, don't let anyone tell you otherwise. How is it better than intrinsics support (similiar to gcc/icc etc.)? Intrinsics are common, and prepared for you by compiler

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Ben Grasset
To clarify my last message, what I had said previously was that FPC needs *either* inlinable assembler *or* intrinsics. Just basically something that ultimately can be called as a "normal" Pascal function, but that does *not* end up as an un-inlined function call. I have no preference as to how

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Ben Grasset
On Sun, Mar 17, 2019 at 1:57 PM Florian Klämpfl wrote: > > How is it better than intrinsics support (similiar to gcc/icc etc.)? > Well, it wouldn't be better than a literal equivalent to those intriniscs, if that's what we're talking about. By which I mean, like, say how in Clang/GCC (or

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Jeppe Johansen
On 3/17/19 9:58 PM, Florian Klämpfl wrote: Am 17.03.19 um 21:47 schrieb Martok: Am 17.03.2019 um 18:57 schrieb Florian Klämpfl: How is it better than intrinsics support (similiar to gcc/icc etc.)? It *exists*? Remember how long it took to get PopCnt support? PopCnt is not really an

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Florian Klämpfl
Am 17.03.19 um 21:47 schrieb Martok: Am 17.03.2019 um 18:57 schrieb Florian Klämpfl: How is it better than intrinsics support (similiar to gcc/icc etc.)? It *exists*? Remember how long it took to get PopCnt support? PopCnt is not really an intrinsic as it has a fallback counter part and

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Sven Barth via fpc-devel
Martok schrieb am So., 17. März 2019, 21:47: > Am 17.03.2019 um 18:57 schrieb Florian Klämpfl: > > How is it better than intrinsics support (similiar to gcc/icc etc.)? > It *exists*? > > Remember how long it took to get PopCnt support? How about the rest of the > BMI? > TBM? AES-NI? Newer AVX? >

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Florian Klämpfl
Am 17.03.19 um 18:18 schrieb J. Gareth Moreton: Hi Florian, I think the main thing is that Object Pascal has always supported the ability to drop into assembly language, unlike C++ which requires a dialect-specific extension and is not allowed at all under Microsoft Visual C++ 64-bit.

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Jonas Maebe
On 17/03/2019 18:18, J. Gareth Moreton wrote: Part of it may be preference but I think some people like the fine degree of control that assembly language offers, That is absolutely correct. That is both its strength and its weakness. The weakness is that it is impossible to integrate such

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread J. Gareth Moreton
The other thing is that it will benefit cross-platform functions like Trunc and ReadWriteBarrier better, which call only single assembler commands. One can simply add "inline" to their platform-specific implementation for the performance gains without having to rewrite the routines to use

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-17 Thread Florian Klämpfl
Am 17.03.19 um 02:54 schrieb Ben Grasset: Inlining of pure assembler functions would actually be immediately, specifically useful to me! I've been having a go at improving FPC scores on "BenchmarksGames", and was so far successful with Binary Trees simple by throwing a really good threading

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-16 Thread Ryan Joseph
> On Mar 16, 2019, at 9:54 PM, Ben Grasset wrote: > > Inlining of pure assembler functions would actually be immediately, > specifically useful to me! I've been having a go at improving FPC scores on > "BenchmarksGames", and was so far successful with Binary Trees simple by > throwing a

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-16 Thread Ben Grasset
Inlining of pure assembler functions would actually be immediately, specifically useful to me! I've been having a go at improving FPC scores on "BenchmarksGames", and was so far successful with Binary Trees simple by throwing a really good threading library at it, however, there are some

Re: [fpc-devel] Successful implementation of inline support forpure assembler routines on x86

2019-03-16 Thread J. Gareth Moreton
Of course, my worry now is that we've submitted so many patches and issues that we'll just be building an ever-growing back-log that may never be cleared.  It also depends on what Florian's own vision for the future of Free Pascal is, I think. Gareth aka. Kit On Sat 16/03/19 17:05 , "J. Gareth