Whither UCMPH?

Jonathan jonathan at comp.vuw.ac.nz
Tue Nov 22 22:51:30 AEST 1988


Pyramid's machine architecture includes a variety of integer
compare instructions for signed and unsigned compares:

 +-----------------------------------------------------------+
 |                     Pyramid Compare insns                 |
 |                                                           |
 +-------------------+-------------------+-------------------+
 |  Operand          |       Signed      |      Unsigned     |
 |    size           | mnemonic   opcode | mnemonic   opcode |
 +-------------------+----------+--------+----------+--------+
 | word     (32 bit) |   CMPW   |   60   |   UCMPW  |   65   |
 +-------------------+----------+--------+----------+--------+
 | halfword (16 bit) |   CMPH   |   62   |         ???       |
 +-------------------+----------+--------+----------+--------+
 |  byte     (8 bit) |   CMPB   |   61   |   UCMPB  |   66   |
 +-------------------+----------+--------+----------+--------+

UCMPH (opcode 67) is conspicuous by its absence.

Why isn't it there?  Is it elsewhere?  [[we don't actually have an
up-to-date assembler manual; I do know the assembler barfs on the
mnemonic ``ucmph'' on our 90x running OSx 4.0. ]]

Any chance of getting it added before Pyramid implement their
architecture in hardware rather than microcode :-) ?

Not having a UCMPH causes the novice compiler writer (like me) much grief,
especially when using a smart table-driven compiler like GNU CC.  I
know it's possible to kludge around this, but at the cost of
less-than-optimal signed-halfword compares.

Wasn't it Wirth who said that RISC should stand for Regular
Instruction Set Computer :-) ?
-- 
-----------------------------------------------------------------------------
sane mailers: jonathan at comp.vuw.ac.nz |    Industrial democracy:
UUCP path: ...!uunet!vuwcomp!jonathan |           One factory, one vote!



More information about the Comp.sys.pyramid mailing list