Re: [fpc-devel] 3.3.1 Access violation during compile

2022-06-30 Thread J. Gareth Moreton via fpc-devel
That's a litle concerning:   $000100089CA3  OwnerHierarchyName,  line 2180 of symdef.pas Lines 2179 and 2180 of that file are the following:   if assigned(tmp.owner) and (tmp.owner.symtabletype in [ObjectSymtable,recordsymtable]) then Since the access violation

[fpc-devel] 3.3.1 Access violation during compile

2022-06-30 Thread Martin Frb via fpc-devel
My 3.3.1 build is from the 27th June. However the error did happened with the previous build too. (That is according to error msg, I did not compare the trace). During a build of the Lazarus IDE, ppu files from the previous build still in place. Just a handful of source files changed. There

Re: [fpc-devel] x86 TEST instruction

2022-06-30 Thread Stefan Glienke via fpc-devel
Both clang and gcc seem to do this > On 30/06/2022 17:28 CEST J. Gareth Moreton via fpc-devel > wrote: > > > This was what I was working on: > > https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/252 > > The same question applies regarding the TEST instruction, but it's a >

Re: [fpc-devel] x86 TEST instruction

2022-06-30 Thread J. Gareth Moreton via fpc-devel
This was what I was working on: https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/252 The same question applies regarding the TEST instruction, but it's a little more restrictive in this instance in that it's determined that the program doesn't care about the upper bytes of the

Re: [fpc-devel] x86 TEST instruction

2022-06-30 Thread J. Gareth Moreton via fpc-devel
Yeah, I just realised I was pretty silly to miss that! I must be more tired than I thought! The reason why I brought it up is because I found an upgrade to the "MovAndTest2Test" optimisation where you might have something like "movl %eax,(memory); andl $1,%eax; testb %al;%al" (Yes, that code

Re: [fpc-devel] x86 TEST instruction

2022-06-30 Thread Thorsten Otto via fpc-devel
On Montag, 27. Juni 2022 04:43:46 CEST J. Gareth Moreton via fpc-devel wrote: > testl$1,%ebx -> testb$1,%bl Obviously, thats not the same. The latter will only compare the least- significant byte against 1, and ignore the rest of the register. The former will also compare the remainder

Re: [fpc-devel] x86 TEST instruction

2022-06-30 Thread Marc Weustink via fpc-devel
On 27-6-2022 04:43, J. Gareth Moreton via fpc-devel wrote: Hi everyone, I'm playing around with a peephole optimization (back to my roots!) and I've come across a relatively simple one that aims to reduce instruction size occasionally.  One part involves reducing the opsize if the constant

Re: [fpc-devel] Differences in Regular Expression handling between FPC 3.3.1 and 3.2.0

2022-06-30 Thread Russ via fpc-devel
Works perfectly thanks Michael. Russell. ___ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel