Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Paul Rubin Newsgroups: comp.lang.forth Subject: Re: LLVM and Forth Date: Wed, 05 Apr 2017 18:20:29 -0700 Organization: A noiseless patient Spider Lines: 10 Message-ID: <87zifu9vs2.fsf@nightsong.com> References: <21153661-abf5-4958-82c7-e3c442b45cb9@googlegroups.com> <065e774c-c5fb-4e68-9489-00b5357142d6@googlegroups.com> <72a319fa-8035-4a17-a5a2-2b2884a57b15@googlegroups.com> <20170405004435.4706b792@_> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mx02.eternal-september.org; posting-host="5c6a32eea2612b013ba574b0a8ef054d"; logging-data="25952"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+4YP7sD4KHy2Bz2WvC6AwG" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:8Hp8cpGVdlFbM6vLE/GHEweipaQ= sha1:8yHvQTz0WmG04LVxgjIU/ec3Hrk= Xref: csiph.com comp.lang.forth:56764 john writes: > I seem to remember when I was looking at assemblers that fasm does > multiple passes to perform some optimisation. Perhaps a fasm user could > confirm that? I don't know about fasm, but there are instruction sets where branch instructions can be encoded more compactly if the branch target is within a certain distance. But that distance might depend on the encodings of intervening branch instructions, so it can take a few iterations to get the shortest possible encoding.