🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #12374

Re: Machines with cond. assignment instruction?

#12374
From: Robert Colwell
Date: Wed, 27 Jan 1993 06:42
36 lines
2406 bytes
In article <6346@rosie.NeXT.COM> Bob_Beckwith@NeXT.COM (Bob Beckwith) writes:
   In article <1993Jan21.163607.31684@watson.ibm.com> pradeep@watson.ibm.com  
   > Are there announced machines (specially micros) with
   > some conditional assignment instruction.  I mean
   > instruction such as the following:
   > 
   > MovCond R1, R2, R3 /* if (c1) R1 <- R2 else R1 <- R3 */
   > 
   > where, c1 refers to some result of some previous compare.
   > 
   > Any pointers to such machines or any quantitative evaluation
   > of usefulness of this instruction in the specific context
   > of some machine would be appreciated.

   Unless I'm mistaken, the Multiflow Trace machines had conditional assignment  
   instructions. While you certainly wouldn't classify them as micros, they're  
   there (or at least were, at one point :-( ). Any ex-Multifloyd's out there  
   (DBP? PKR?) might be able to provide more information.

Hi Bob and Pradeep: Yep, the MFCI Trace VLIWs had conditional moves. Really
handy in certain tight inner loops. To quote from our ASPLOS paper: "We
also included the integer SELECT operation, which provides the semantics of
the C "?" operator without branching." This worked so well that we expanded
this to include other operations in the /500 (which was under construction
when the company croaked) such as conditional stores.

It was a tad messy trying to work SELECTs into the basic ISA, though; this
operator has more sources than normal, so figuring out how to gracefully
specify three sources in an instruction format designed for two is not
trivial. "Graceful", of course, means the compiler code generator guy likes
it.

Bob Colwell  colwell@ichips.intel.com  503-696-4550
Intel Corp.  JF1-19
5200 NE Elam Young Parkway
Hillsboro, Oregon 97124
Technical Details
Message-ID: <COLWELL.93Jan26224210@pdx022.world>
Path: arc1-ca.pugleaf.net!sparky!uunet!UB.com!pacbell.com!decwrl!concert!gatech!emory!sol.ctr.columbia.edu!eff!ssd.intel.com!ichips!ichips!colwell
References: <1993Jan21.163607.31684@watson.ibm.com> <6346@rosie.NeXT.COM>

Show Full Headers
Complete Article Headers
Newsgroups: comp.arch
Path: arc1-ca.pugleaf.net!sparky!uunet!UB.com!pacbell.com!decwrl!concert!gatech!emory!sol.ctr.columbia.edu!eff!ssd.intel.com!ichips!ichips!colwell
From: colwell@pdx022.world (Robert Colwell)
Subject: Re: Machines with cond. assignment instruction?
In-Reply-To: Bob_Beckwith@NeXT.COM's message of 24 Jan 93 21:22:35 GMT
Message-ID: <COLWELL.93Jan26224210@pdx022.world>
Sender: news@ichips.intel.com (News Account)
Organization: /fs2/d/colwell/.organization
References: <1993Jan21.163607.31684@watson.ibm.com> <6346@rosie.NeXT.COM>
Date: Wed, 27 Jan 1993 06:42:10 GMT
Lines: 37