Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1102

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

Operation:
if (PR[qp]) {
check_target_register(r
if (one_byte_form) {
x[0] = GR[r
x[1] = GR[r
x[2] = GR[r
x[3] = GR[r
x[4] = GR[r
x[5] = GR[r
x[6] = GR[r
x[7] = GR[r
if (raz_form) {
} else {
}
GR[r
} else {
x[0] = GR[r
x[1] = GR[r
x[2] = GR[r
x[3] = GR[r
if (raz_form) {
} else {
}
GR[r
}
GR[r
].nat = GR[r
1
}
Illegal Operation fault
Interruptions:
Volume 3: Instruction Reference
);
1
]{7:0};
2
]{15:8};
2
]{23:16};
2
]{31:24};
2
]{39:32};
2
]{47:40};
2
]{55:48};
2
]{63:56};
2
for (i = 0; i < 8; i++) {
temp[i] = zero_ext(x[i], 8) + zero_ext(y[i], 8) + 1;
res[i] = shift_right_unsigned(temp[i], 1);
}
for (i = 0; i < 8; i++) {
temp[i] = zero_ext(x[i], 8) + zero_ext(y[i], 8);
res[i] = shift_right_unsigned(temp[i], 1) | (temp[i]{0});
}
] = concatenate8(res[7], res[6], res[5], res[4],
1
res[3], res[2], res[1], res[0]);
]{15:0};
2
]{31:16};
2
]{47:32};
2
]{63:48};
2
for (i = 0; i < 4; i++) {
temp[i] = zero_ext(x[i], 16) + zero_ext(y[i], 16) + 1;
res[i] = shift_right_unsigned(temp[i], 1);
}
for (i = 0; i < 4; i++) {
temp[i] = zero_ext(x[i], 16) + zero_ext(y[i], 16);
res[i] = shift_right_unsigned(temp[i], 1) | (temp[i]{0});
}
] = concatenate4(res[3], res[2], res[1], res[0]);
1
].nat || GR[r
2
y[0] = GR[r
]{7:0};
3
y[1] = GR[r
]{15:8};
3
y[2] = GR[r
]{23:16};
3
y[3] = GR[r
]{31:24};
3
y[4] = GR[r
]{39:32};
3
y[5] = GR[r
]{47:40};
3
y[6] = GR[r
]{55:48};
3
y[7] = GR[r
]{63:56};
3
y[0] = GR[r
]{15:0};
3
y[1] = GR[r
]{31:16};
3
y[2] = GR[r
]{47:32};
3
y[3] = GR[r
]{63:48};
3
].nat;
3
pavg
// normal form
// two_byte_form
// normal form
3:203

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents