Really fix vupkhsb/vupklsb.
This commit is contained in:
parent
f06ddd3869
commit
6a675659e4
|
@ -6875,7 +6875,8 @@ struct UNPACK : Sequence<UNPACK, I<OPCODE_UNPACK, V128Op, V128Op>> {
|
||||||
assert_always();
|
assert_always();
|
||||||
} else {
|
} else {
|
||||||
// signed -> signed
|
// signed -> signed
|
||||||
e.vpunpckhbw(i.dest, i.src1, i.src1);
|
e.vpshufb(i.dest, i.src1, e.GetXmmConstPtr(XMMByteOrderMask));
|
||||||
|
e.vpunpckhbw(i.dest, i.dest, i.dest);
|
||||||
e.vpsraw(i.dest, 8);
|
e.vpsraw(i.dest, 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6895,7 +6896,8 @@ struct UNPACK : Sequence<UNPACK, I<OPCODE_UNPACK, V128Op, V128Op>> {
|
||||||
assert_always();
|
assert_always();
|
||||||
} else {
|
} else {
|
||||||
// signed -> signed
|
// signed -> signed
|
||||||
e.vpunpcklbw(i.dest, i.src1, i.src1);
|
e.vpshufb(i.dest, i.src1, e.GetXmmConstPtr(XMMByteOrderMask));
|
||||||
|
e.vpunpcklbw(i.dest, i.dest, i.dest);
|
||||||
e.vpsraw(i.dest, 8);
|
e.vpsraw(i.dest, 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue