Boxis R700 Manuel d'utilisateur Page 53

  • Télécharger
  • Ajouter à mon manuel
  • Imprimer
  • Page
    / 392
  • Table des matières
  • MARQUE LIVRES
  • Noté. / 5. Basé sur avis des utilisateurs
Vue de la page 52
ATI R700 Technology
Branch and Loop Instructions 3-17
Copyright © 2009 Advanced Micro Devices, Inc. All rights reserved.
3.7.1 ADDR Field
The address specified in the ADDR field of a CF instruction is a quadword-aligned
(64 bit) offset from the base of the program (host-specified PGM_START_*
register). The execution continues from this offset. Branch-loop instructions
typically implement conditional jumps, so execution continues either at the next
CF instruction, or at the CF instruction located at the ADDR address.
3.7.2 Stack Operations and Jumps
Several stack operations are available in the CF instruction set: PUSH, POP, and
ELSE. There also is a JUMP instruction that jumps if all pixels fail a condition test.
PUSH - pushes the current per-pixel state from hardware-maintained registers
onto the stack, then updates the per-pixel state based on the condition test.
If all pixels fail the test, PUSH does not push anything onto the stack; instead,
ELSE After last pop. No. Yes. Yes, if all
pixels are
inactive
after
ELSE.
Pop the stack, then invert status of
active or inactive-branch pixels that pass
conditional test and were active on last
PUSH.
CALL
CALL_FS
After last pop. Yes, if a
pixel
passes
test.
Pushes
address.
Yes. Yes, if
any pixel
passes
test.
Call a subroutine if any pixel passes the
condition test and the maximum call
depth limit is not exceeded. POP_COUNT
must be zero.
RETURN
RETURN_FS
No. No. Yes. Pops
address
from
stack if
jump
taken.
Yes, if all
active
pixels
pass test.
Return from a subroutine.
ALU No. No. No. N/A PRED_SET* with exec mask update puts
active pixels in to the inactive-branch
state.
ALU_PUSH_BEFORE No. Before
ALU
clause.
No. N/A Equivalent to PUSH; ALU clause.
ALU_POP_AFTER No. No. Yes. N/A Equivalent to ALU, POP,
ALU_POP2_AFTER POP, POP
ALU_CONTINUE No. No. No. N/A Change active pixels masked by ALU to
inactive-continue. Equivalent to PUSH,
ALU, ELSE, CONTINUE, POP.
ALU_BREAK No. No. No. N/A Change active pixels masked by ALU to
inactive-break. Equivalent to PUSH,
ALU, ELSE, CONTINUE, POP.
ALU_ELSE_AFTER No. No. Yes. N/A Equivalent to ALU; POP.
Table 3.7 Branch-Loop Instructions (Cont.)
Instruction
Condition
Test
Computed Push Pop Jump Description
Vue de la page 52
1 2 ... 48 49 50 51 52 53 54 55 56 57 58 ... 391 392

Commentaires sur ces manuels

Pas de commentaire