You are the expert but I am not sure how that can be the case given you only 
need to zero a register and blast that into the record location opposed to 
twice as many mov operations being generated that I have seen with the record 
that Gareth originally posted.

> On 19/04/2022 13:37 Sven Barth via fpc-devel <fpc-devel@lists.freepascal.org> 
> wrote:
> 
> 
> Stefan Glienke via fpc-devel <fpc-devel@lists.freepascal.org> schrieb am Di., 
> 19. Apr. 2022, 12:38:
> > If you want to zero small records more efficiently it might be better using 
> > Default(t) for that and looking at optimizing the code the compiler 
> > generates for that as it seems it produces an empty temp variable which it 
> > assigns instead of simply zeroing the record variable where default() is 
> > being assigned to.
> 
> This was an explicit design choice I made, because it pays of as soon as a 
> second such assignment for the same type is made.
> 
> Regards,
> Sven
> > 
> _______________________________________________
> fpc-devel maillist - fpc-devel@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to