This is the mail archive of the
mailing list for the binutils project.
RE: optimization by as
- From: Matthew Fortune <Matthew dot Fortune at imgtec dot com>
- To: Virendra Kumar Pathak <kumarvir dot pathak at gmail dot com>, Andrew Bennett <Andrew dot Bennett at imgtec dot com>
- Cc: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Date: Mon, 10 Aug 2015 13:22:32 +0000
- 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>
Virendra Kumar Pathak <email@example.com> writes:
> What other types of optimization can be handled by the assembler ?
> Are they capable of re-ordering the instructions ?
> For example inserting other instruction between two loads (on machine
> with one load unit) to avoid pipeline stall.
No, that would then be a compiler/recompiler as it needs to do so much
analysis for safety. You 'can' do anything you like in the assembler
but probably shouldn't as it is not geared up for that kind of processing.
The assembler and linker for most architectures tend to be wysiwyg from
what I know; with special cases only where there are chip errata that need
fixing. The fixes tend to be things like nop insertion or something
equally simple but can get more elaborate. In general I would suggest
not surprising your users by making the assembler too smart.