Itanium(R) processor topicMove Predicates Instruction

mov pr

Operation Font Conventions

Instruction Type I

Format

(qp) mov r1 = pr from_form

(qp) mov pr = r2, mask17 to_form

(qp) mov pr.rot = imm44 to_rotate_form


Description

The source operand is copied to the destination register.

For moving the predicates to a GR, PR i is copied to bit position i within GR r1.

For moving to the predicates, the source can either be a general register, or an immediate value. In the to_form, the source operand is GR r2 and only those predicates specified by the immediate value mask17 are written. The value mask17 is encoded in the instruction in an imm16 field such that: imm16 = mask17 >> 1. Predicate register 0 is always one. The mask17 value is sign extended. The most significant bit of mask17, therefore, is the mask bit for all of the rotating predicates. If there is a deferred exception for GR r2 (the NaT bit is 1), a Register NaT Consumption fault is taken.

In the to_rotate_form, only the 48 rotating predicates can be written. The source operand is taken from the imm44 operand (which is encoded in the instruction in an imm28 field, such that: imm28 = imm44 >> 16). The low 16-bits correspond to the static predicates. The immediate is sign extended to set the top 21 predicates. Bit position i in the source operand is copied to PR i.

This instruction operates as if the predicate rotation base in the Current Frame Marker (CFM.rrb.pr) were zero.


Related Topics:

mov ar - Move Application Register Instruction

mov br - Move Branch Register Instruction

mov fr - Move Floating-point Register Instruction

mov gr - Move General Register Instruction

mov imm - Move Immediate Instruction

mov indirect - Move Indirect Register Instruction

mov ip - Move IP Instruction

mov psr.um - Move User Mask Instruction

move cr - Move Control Register Instruction

move psr - Move Processor Status Register Instruction

movl - Move Long Immediate Instruction

Move Instructions