Re: [fpc-devel] Successful implementationofinlinesupportforpureassembler routines on x86

2019-03-18 Thread J. Gareth Moreton
I guess there's no place for me here.  I don't have the facilities or knowledge to develop beyond i386 and x86_64, and there's too much conflict.  You win.  What am I but a rowdy tyke who doesn't listen to his elders and betters? Everyone talks about the wonders that are intrinsics, but they

Re: [fpc-devel] Successful implementation ofinlinesupportforpureassembler routines on x86

2019-03-18 Thread Jonas Maebe
On 18/03/2019 22:07, J. Gareth Moreton wrote: On Mon 18/03/19 20:23 , "Jonas Maebe" jo...@freepascal.org sent:     Similarly, replacing return instructions with jumps is something you cannot do. Why not? Because parsing and trying to understand the meaning of inline assembly is something

Re: [fpc-devel] Successful implementation ofinlinesupportforpureassembler routines on x86

2019-03-18 Thread J. Gareth Moreton
On Mon 18/03/19 20:23 , "Jonas Maebe" jo...@freepascal.org sent:     Similarly, replacing return instructions with jumps is something you cannot do. Why not? There's no other way to make RET work when inlined otherwise it exits the caller and might even desynchronise the stack.  If the

Re: [fpc-devel] All constant operators

2019-03-18 Thread Ryan Joseph
> On Mar 18, 2019, at 11:23 AM, Ryan Joseph wrote: > > type > generic TUnaryOp = record >const > d0 = -I; > d1 = +I; > d2 = not I; > end; > > type > generic TBinaryOp = record >const > d0 = I + I; > d1 = I - I; > d2 = I * I; > d3 = I / I; >

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

2019-03-18 Thread Jonas Maebe
On 18/03/2019 11:36, J. Gareth Moreton wrote: I think that is the fundamental difference between intrinsics and reusable, inlinable assembly language... you would use intrinsics mostly to use one or two special instructions in a convenient, concise way, while assembly language is a "give me

Re: [fpc-devel] TRegistry and Unicode

2019-03-18 Thread Bart
On Mon, Mar 18, 2019 at 8:08 AM Silvestre wrote: Thanks for the info, now please back on topic. -- Bart ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

[fpc-devel] All constant operators

2019-03-18 Thread Ryan Joseph
Can anyone help complete a list of all possible operators that could be used with constants in a record? I keep finding bugs with new operators so I need an exhaustive list for testing. The goal is complete the parser phase for the generic without getting errors so that only when it’s

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

2019-03-18 Thread J. Gareth Moreton
I think that is the fundamental difference between intrinsics and reusable, inlinable assembly language... you would use intrinsics mostly to use one or two special instructions in a convenient, concise way, while assembly language is a "give me all the power!" request.  Admittedly though my

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 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 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 inlinesupportforpureassembler routines on x86

2019-03-18 Thread J. Gareth Moreton
I suppose what I'm trying to say is that I don't trust the compiler to actually use a register in the intermediate stages, especially in larger procedures.  To use AES-NI as an example, will it write back the partially-encrypted block to the stack after every round, or only after all the rounds

Re: [fpc-devel] TRegistry and Unicode

2019-03-18 Thread Silvestre
In the following link you can download official and legal windows virtual machines for any test. https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ El dom., 17 mar. 2019 a las 20:03, Giuliano Colla (< giuliano.co...@fastwebnet.it>) escribió: > Il 14/03/2019 18:32, Bart ha scritto:

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

2019-03-18 Thread Sven Barth via fpc-devel
J. Gareth Moreton schrieb am So., 17. März 2019, 22:26: > I do have a slight concern when it comes to intrinsic support, because > support will be needed to be added for all platforms, (virtually) all > instructions and tested to see if they expand into the expected > instruction, along with

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] Typed constants

2019-03-18 Thread Sven Barth via fpc-devel
Ryan Joseph schrieb am Mo., 18. März 2019, 00:50: > I just realized that typed constants exist and may need to be supported as > constants for generics but I’ve never used them myself (not sure when they > were introduced). > > First test gives an error so it makes me wonder if they’re buggy and