Related articles |
---|
Question: "Zuse's Device" glassy@cs.montana.edu (Louis Glassy) (1999-04-01) |
Re: Question: "Zuse's Device" ramdrive@masslab.snu.ac.kr (1999-04-03) |
Re: Question: "Zuse's Device" daniel.guerrero@upcnet.upc.es (Daniel Guerrero Miralles) (1999-04-10) |
From: | ramdrive@masslab.snu.ac.kr |
Newsgroups: | comp.compilers |
Date: | 3 Apr 1999 21:59:09 -0500 |
Organization: | Seoul National University, Republic of Korea |
References: | 99-04-003 |
Keywords: | architecture, optimize |
It is exactly the same idea with "predicated execution" or
"conditional execution". Already many processors (UltraSPARC, R10k,
PPC, etc) have such conditional move instructions.
In UltraSPARC, your example code can be:
cmp %i1,0 ! %i1 = k
add %i0,1,%i2 ! %i0 = a, %i2 = scratch
movg %xcc, %i2, %i0 ! move %i2 to %i0 only when condition satisfied
See 591 page of Muchnick's Advanced Compiler Design & Impl. for
conditional move.
IA-64 and other VLIW processors will support conditional execution for
more general instructions. Many papers are available for predicated
execution and conditional execution.
Seongbae Park
Louis Glassy <glassy@cs.montana.edu> wrote:
> Dear all,
> if k > 0 then
> a = a + 1
> endif
> I've looked in compiler texts, e.g. Fischer & LeBlanc, the Dragon
> Book, Muchnick's Advanced Compiler Design & Impl., but I haven't
> been able to find a name for "Zuse's Device", and was wondering
> if c.c. readers knew this method by some other name, and if so, what..?
Return to the
comp.compilers page.
Search the
comp.compilers archives again.