pe_macro(1)
Dest
Init.
SRC
Destination
Message Reference
1
Each flag bit
Each PReg bit
Message #423–#444
0
1025[c2]
Each flag bit
Message #445–#466
0
Each flag bit
Each PReg bit
Message #467–#488
After each ELSE1UC operation, it tests the lflag. If this is wrong, it prints an
error message giving the expected and actual value of the flag.
If it detects an error in the result, it prints an error message giving the
instruction under test, the destination operand, the expected result and the
actual result.
•
LdSt
: LOAD/STORE Instruction Test — All PEs are enabled and authorized
to make load/store transactions. Each PE stores a constant from PReg to
PMem, then loads it back from PMem to (another) PReg:
Constant --> PReg --> PMem --> PReg
If the test detects an error, it prints an error message showing the chain of
store/load operations, and giving the expected and actual result.
An erroneous value indicates that one or more PEs made an error during this
transaction.
•
MoveTests1
: 8-Bit MOVE Test — This test verifies that the MOV8 instruction
moves only 8 bits and does not affect adjacent data.
All PEs are enabled. After initialization, the test makes the sequence of 8-bit
moves shown below:
Initialization
*
MOV32: 0x5e461237 –> 16[c0]
*
MOV32: 0xfffeffff –> acc
Test
*
MOV8: 16[c0] –> 64[c0] –> acc –> 72[c0] = 0x37 (?)
If it detects an error, it prints an error message giving the operation, the
expected result and the actual result.
•
MoveTests2
: 16-Bit & 32-Bit MOVE Test — This test verifies that the MOV16
instruction moves only 16 bits and does not affect adjacent data.
It enables all PEs, and initializes PReg 16[c0] with a 32-bit constant:
Test #1 — Makes three 16-bit moves starting with the data in 16[c0], and
verifies the result. Should not move the high order bits from 16[c0].
Test #2 — Makes three 32-bit moves starting with the data in 16[c0],
and verifies the result. The previous test should not have affected this
number.
If it detects an error, it prints an error message giving the operation, the
expected result and the actual result.
•
MoveTests3
: 64-Bit MOVE Test — Assembles a 64-bit number using two
32-bit moves. Moves the 64-bit number using a 64-bit move. Then picks out
the low word and high word from the 64-bit number using two 32-bit moves.
Data Parallel Unit Reference Pages B–21