Re: [fpc-devel] x86_64.inc CompareByte

2017-09-30 Thread J. Gareth Moreton
Oops, I just realised now that that byte sequence is your workaround, not actually already present in the code! My bad, but yes, that is the correct byte sequence (although it's worth putting a comment in to actually state what they are). If the bug is known to still be present in GAS, then

Re: [fpc-devel] x86_64.inc CompareByte

2017-09-30 Thread J. Gareth Moreton
Hi Markus, Nice to see there's more than one person working to improve compiled code on x86-64! I can answer one question... the byte sequence 0F B6 01 is the direct machine code representation of movzbl (%rcx),%eax - this might be due to a bug with the assembler or movzbl not being

[fpc-devel] x86_64.inc CompareByte

2017-09-30 Thread Markus Beth
It did some changes to CompareByte in rtl/x86_64/x86_64.inc to reduce the code size and make it run faster (see attached path). I was successful with the code size deduction (47 bytes vs. 62 bytes) and also with the speed (according to a micro benchmark [1] run on an Ivy Bridge desktop). To

Re: [fpc-devel] Can't compile FPC trunk x86_64-win64

2017-09-30 Thread Sven Barth via fpc-devel
Am 30.09.2017 07:37 schrieb "Ondrej Pokorny" : > > On 30.09.2017 0:10, Sven Barth via fpc-devel wrote: >> >> Are you sure that you're compiling with the correct compiler? Cause that sounds quite like you're trying to compile the Win64 RTL with a i386 compiler. >> >> Also Jenkins