Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-24 Thread Florian Klämpfl
Am 24.03.2019 um 12:30 schrieb J. Gareth Moreton: > If Trunc is automatically inlined, why is there a separate implementation of > it on x86_64 anyway? Probably when optimizing for size on x86_64-linux (where extended is no deprecated) and if sse3 is no enabled.

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-24 Thread J. Gareth Moreton
Well I already decided not to pursue this particular feature any further because of the Holy Grail that are intrinsics. If Trunc is automatically inlined, why is there a separate implementation of it on x86_64 anyway? On Sun 24/03/19 12:09 , Florian Klämpfl flor...@freepascal.org sent: ...

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-18 Thread Marco van de Voort
Op 3/18/2019 om 8:00 AM schreef Sven Barth via fpc-devel: J. Gareth Moreton > schrieb am So., 17. März 2019, 23:27: And I believe that this is the advantage of intrinsics, because here the compiler *can* decide to use a different register. Especially if the

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-18 Thread J. Gareth Moreton
I didn't mean for a particular intrinsic to be cross-platform, but implementing intrinsics for every single instruction on a particular platform, and then doing the same for the other platforms supported by Free Pascal - that is, composing intrinsics for the 1000+ instructions on x86_64, testing

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-18 Thread Sven Barth via fpc-devel
J. Gareth Moreton schrieb am So., 17. März 2019, 23:27: > I think one of the main issues with intrinsics is that you don't have much > control over where results are stored. Unless you're chaining a load of > intrinsics together in a mess of function calls in actual parameters, the > result is

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-17 Thread Marģers . via fpc-devel
  - Reply to message - Subject: Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86 Date: 2019. gada 18. marts 00:28:10 From: J. Gareth Moreton To: FPC developers' list >   To use the integer clamp function as an example (if x < 0 then

Re: [fpc-devel] Successful implementation of inline supportforpureassembler routines on x86

2019-03-17 Thread J. Gareth Moreton
I think one of the main issues with intrinsics is that you don't have much control over where results are stored.  Unless you're chaining a load of intrinsics together in a mess of function calls in actual parameters, the result is going to have to be stored in a local variable, which even on