| Index: src/IceInstX8632.cpp
|
| diff --git a/src/IceInstX8632.cpp b/src/IceInstX8632.cpp
|
| index 776a8708b8a31ccf89ec250629bac6fd42f30f44..478735e77362273384565ea1aae3059d54b56d53 100644
|
| --- a/src/IceInstX8632.cpp
|
| +++ b/src/IceInstX8632.cpp
|
| @@ -943,6 +943,7 @@ template <> const char *InstX8632Psll::Opcode = "psll";
|
| template <> const char *InstX8632Shr::Opcode = "shr";
|
| template <> const char *InstX8632Sar::Opcode = "sar";
|
| template <> const char *InstX8632Psra::Opcode = "psra";
|
| +template <> const char *InstX8632Psrl::Opcode = "psrl";
|
| template <> const char *InstX8632Pcmpeq::Opcode = "pcmpeq";
|
| template <> const char *InstX8632Pcmpgt::Opcode = "pcmpgt";
|
| template <> const char *InstX8632MovssRegs::Opcode = "movss";
|
| @@ -1090,6 +1091,10 @@ template <>
|
| const x86::AssemblerX86::XmmEmitterShiftOp InstX8632Psra::Emitter = {
|
| &x86::AssemblerX86::psra, &x86::AssemblerX86::psra,
|
| &x86::AssemblerX86::psra};
|
| +template <>
|
| +const x86::AssemblerX86::XmmEmitterShiftOp InstX8632Psrl::Emitter = {
|
| + &x86::AssemblerX86::psrl, &x86::AssemblerX86::psrl,
|
| + &x86::AssemblerX86::psrl};
|
|
|
| template <> void InstX8632Sqrtss::emit(const Cfg *Func) const {
|
| if (!ALLOW_DUMP)
|
| @@ -2679,6 +2684,15 @@ template <> void InstX8632Psra::emit(const Cfg *Func) const {
|
| emitTwoAddress(buf, this, Func);
|
| }
|
|
|
| +template <> void InstX8632Psrl::emit(const Cfg *Func) const {
|
| + if (!ALLOW_DUMP)
|
| + return;
|
| + char buf[30];
|
| + snprintf(buf, llvm::array_lengthof(buf), "psrl%s",
|
| + TypeX8632Attributes[getDest()->getType()].PackString);
|
| + emitTwoAddress(buf, this, Func);
|
| +}
|
| +
|
| void InstX8632Ret::emit(const Cfg *Func) const {
|
| if (!ALLOW_DUMP)
|
| return;
|
|
|