This is the mail archive of the
mailing list for the binutils project.
Re: optimization by as
- From: Erik Christiansen <dvalin at internode dot on dot net>
- To: binutils at sourceware dot org
- Date: Tue, 18 Aug 2015 19:35:43 +1000
- Subject: Re: optimization by as
- Authentication-results: sourceware.org; auth=none
- References: <CAEDvCBS2RdGBwpirseB5Bne1_tOw=68O-5V9Q-S+AmZM7+vWog at mail dot gmail dot com> <0DA23CC379F5F945ACB41CF394B982772110532C at LEMAIL01 dot le dot imgtec dot org> <CAEDvCBS4m4UkNo+XcAPLZ7i9PYdV3XSp-XxGUvoEvHN9RWEnfQ at mail dot gmail dot com> <693C75B5-88BC-4051-BA12-57617578566B at dell dot com> <55D1A974 dot 9090507 at samsung dot com> <F41F6EAE-2D95-42D1-95D1-7E88D64122D5 at dell dot com>
- Reply-to: dvalin at internode dot on dot net
On 17.08.15 14:37, Paul_Koning@Dell.com wrote:
> The other (now rare) job of the assembler is to process human-written
> assembly code. There too it must stay out of the way, because the
> only time when hand-written assembly code is justified is when the
> human needs *complete* control over what happens.
> So in short, I view all âoptimizing assemblersâ as design errors.
Over 3 decades of embedded systems development, I wrote a lot of
assembler, for a range of targets. (And most of it using the GNU
toolchain) It's not just when writing an ISR, or bit-banged I/O,
complete with nops to meet ASIC data set-up and write strobe timing
requirements, that the assembler cannot be permitted to finesse
any instructions in the case of hand coding.
I still occasionally code systems comprising interacting event-driven
complex state machines. Gas macros provide a custom language, making the
assembler environment as comfortable as C, mostly.
In short, I can only confirm that instruction-screwing assemblers must
retain a mode in which they do what they're told.