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

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
for (i = 0; i < 8; i++) {
}
GR[r
} else if (two_byte_form) {
x[0] = GR[r
x[1] = GR[r
x[2] = GR[r
x[3] = GR[r
for (i = 0; i < 4; i++) {
}
GR[r
} else {
x[0] = GR[r
x[1] = GR[r
for (i = 0; i < 2; i++) {
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
if (prel == 'eq')
tmp_rel = x[i] == y[i];
else // 'gt'
tmp_rel = greater_signed(sign_ext(x[i], 8),
if (tmp_rel)
res[i] = 0xff;
else
res[i] = 0x00;
] = 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
if (prel == 'eq')
tmp_rel = x[i] == y[i];
else // 'gt'
tmp_rel = greater_signed(sign_ext(x[i], 16),
if (tmp_rel)
res[i] = 0xffff;
else
res[i] = 0x0000;
] = concatenate4(res[3], res[2], res[1], res[0]);
1
]{31:0};
2
]{63:32};
2
if (prel == 'eq')
tmp_rel = x[i] == y[i];
else // 'gt'
tmp_rel = greater_signed(sign_ext(x[i], 32),
if (tmp_rel)
res[i] = 0xffffffff;
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
sign_ext(y[i], 8));
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
sign_ext(y[i], 16));
y[0] = GR[r
]{31:0};
3
y[1] = GR[r
]{63:32};
3
sign_ext(y[i], 32));
pcmp
// one-byte elements
// two-byte elements
// four-byte elements
3:207

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents