* Automatically optimizing hand coded assembler
@ 2005-03-18 2:36 Keith Owens
2005-03-18 4:45 ` David Mosberger
2005-03-18 4:51 ` Matt Chapman
0 siblings, 2 replies; 3+ messages in thread
From: Keith Owens @ 2005-03-18 2:36 UTC (permalink / raw)
To: linux-ia64
The code in ia64_syscall_setup has several independent steps to
execute. Interleaving the instructions from each step by hand to avoid
empty slots is painful, not to mention error prone. Are there any
tools available for this task?
I envisage a tool where the user defines the instructions required for
each step separately, including the stop bits needed for ordering
within the individual step. The resources used by each step must be
disjoint. The user also defines sync points, where steps must start,
end or join with other steps. The tool draws the DAG from the sync
points then runs down the DAG, picking instructions from each step to
best fill the slots. The output is all the instructions, nicely
interleaved to give the minimum number of bundles.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Automatically optimizing hand coded assembler
2005-03-18 2:36 Automatically optimizing hand coded assembler Keith Owens
@ 2005-03-18 4:45 ` David Mosberger
2005-03-18 4:51 ` Matt Chapman
1 sibling, 0 replies; 3+ messages in thread
From: David Mosberger @ 2005-03-18 4:45 UTC (permalink / raw)
To: linux-ia64
>>>>> On Fri, 18 Mar 2005 13:36:58 +1100, Keith Owens <kaos@sgi.com> said:
Keith> The code in ia64_syscall_setup has several independent steps
Keith> to execute. Interleaving the instructions from each step by
Keith> hand to avoid empty slots is painful, not to mention error
Keith> prone. Are there any tools available for this task?
Keith> I envisage a tool where the user defines the instructions
Keith> required for each step separately, including the stop bits
Keith> needed for ordering within the individual step. The
Keith> resources used by each step must be disjoint. The user also
Keith> defines sync points, where steps must start, end or join with
Keith> other steps. The tool draws the DAG from the sync points
Keith> then runs down the DAG, picking instructions from each step
Keith> to best fill the slots. The output is all the instructions,
Keith> nicely interleaved to give the minimum number of bundles.
I suggested a project along these lines to a few students a while ago
but unfortunately nothing came out of it. IIRC, Intel at one point
had a "visual assembler" which was doing something similar, but it was
Windows only and I don't know what became of it.
--david
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Automatically optimizing hand coded assembler
2005-03-18 2:36 Automatically optimizing hand coded assembler Keith Owens
2005-03-18 4:45 ` David Mosberger
@ 2005-03-18 4:51 ` Matt Chapman
1 sibling, 0 replies; 3+ messages in thread
From: Matt Chapman @ 2005-03-18 4:51 UTC (permalink / raw)
To: linux-ia64
On Thu, Mar 17, 2005 at 08:45:56PM -0800, David Mosberger wrote:
>
> I suggested a project along these lines to a few students a while ago
> but unfortunately nothing came out of it. IIRC, Intel at one point
> had a "visual assembler" which was doing something similar, but it was
> Windows only and I don't know what became of it.
I've suggested this as a student thesis topic as well, but no-one has
taken it up :(
http://www.cse.unsw.edu.au/db/thesis/topicinfo/GH115.html
One of these days I'll probably get frustrated enough with hand-optimising
assembly code to give it a go.
Matt
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-03-18 4:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-18 2:36 Automatically optimizing hand coded assembler Keith Owens
2005-03-18 4:45 ` David Mosberger
2005-03-18 4:51 ` Matt Chapman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox