🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.arch
Article #2699

Re: Where are delayed branches handled?

#2699
From: John Mashey
Date: Wed, 20 Aug 1986 05:47
31 lines
2230 bytes
In article <688@polaris.UUCP> josh@polaris.UUCP (Josh Knight) writes:
...
>>>On RISC machines with delayed branches, who does the instruction
>>>rearrangement that tries to put useful instructions after the branch?
...
>>
>>1) Ours is in the assembler, and I think most others are, also.  I haven't
>>seen one that was in the compiler; maybe others have and would say so.
> 
>I don't believe the PL.8 compiler for the 801 (or for the ROMP) generates
>assembly language.  I.e. any code movement to take advantage of delayed
>branches is done by the compiler.

Thanx for the note.  I reread the HP Spectrum papers and they seem to
be in the compiler also, although, as far as I could tell, fairly
late, i.e., peephole time.  Ours passes binary between compiler and assembler,
i.e., the "assembler" is really an ascii-binary conversion in front of the
the common assembler.  Maybe the real issues are:
	a) When you write handcoded assembler, do you get the optimizations
	or not?
	b) Is the pipeline scheduling early in the compilation, or late?
	(Regardless of the implementation, most cases seem to be late,
	i.e., peephole time, whether inside the compielr or the assembler.
	Of course, careful code generation helps the pipeline scheduler
	by careful choices of registers and other things.)  Now, does anyone
	have some instances where pipeline scheduling is done by, for
	example, the global optimization phase?
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{decvax,ucbvax,ihnp4}!decwrl!mips!mash, DDD:  	408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
Technical Details
Message-ID: <635@mips.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!lll-crg!nike!oliveb!glacier!mips!mash
References: <299@vaxb.calgary.UUCP> <612@mips.UUCP> <688@polaris.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!lll-crg!nike!oliveb!glacier!mips!mash
From: mash@mips.UUCP (John Mashey)
Newsgroups: net.arch
Subject: Re: Where are delayed branches handled?
Message-ID: <635@mips.UUCP>
Date: Wed, 20-Aug-86 01:47:56 EDT
Article-I.D.: mips.635
Posted: Wed Aug 20 01:47:56 1986
Date-Received: Wed, 20-Aug-86 23:26:08 EDT
References: <299@vaxb.calgary.UUCP> <612@mips.UUCP> <688@polaris.UUCP>
Reply-To: mash@mips.UUCP (John Mashey)
Organization: MIPS Computer Systems, Sunnyvale, CA
Lines: 31