diff options
| -rw-r--r-- | compiler/utils/x86/assembler_x86_test.cc | 13 | ||||
| -rw-r--r-- | disassembler/disassembler_x86.cc | 4 |
2 files changed, 15 insertions, 2 deletions
diff --git a/compiler/utils/x86/assembler_x86_test.cc b/compiler/utils/x86/assembler_x86_test.cc index 67db51a89d..307e034b76 100644 --- a/compiler/utils/x86/assembler_x86_test.cc +++ b/compiler/utils/x86/assembler_x86_test.cc @@ -346,6 +346,19 @@ TEST_F(AssemblerX86Test, UComisdAddr) { DriverStr(expected, "ucomisd"); } +TEST_F(AssemblerX86Test, RoundSS) { + GetAssembler()->roundss( + x86::XmmRegister(x86::XMM0), x86::XmmRegister(x86::XMM1), x86::Immediate(1)); + const char* expected = "roundss $1, %xmm1, %xmm0\n"; + DriverStr(expected, "roundss"); +} + +TEST_F(AssemblerX86Test, RoundSD) { + GetAssembler()->roundsd( + x86::XmmRegister(x86::XMM0), x86::XmmRegister(x86::XMM1), x86::Immediate(1)); + const char* expected = "roundsd $1, %xmm1, %xmm0\n"; + DriverStr(expected, "roundsd"); +} TEST_F(AssemblerX86Test, CmovlAddress) { GetAssembler()->cmovl(x86::kEqual, x86::Register(x86::EAX), x86::Address( diff --git a/disassembler/disassembler_x86.cc b/disassembler/disassembler_x86.cc index 7f6a7ba63b..bac6b062d4 100644 --- a/disassembler/disassembler_x86.cc +++ b/disassembler/disassembler_x86.cc @@ -597,7 +597,7 @@ DISASSEMBLER_ENTRY(cmp, opcode1 = "roundss"; prefix[2] = 0; has_modrm = true; - store = true; + load = true; src_reg_file = SSE; dst_reg_file = SSE; immediate_bytes = 1; @@ -606,7 +606,7 @@ DISASSEMBLER_ENTRY(cmp, opcode1 = "roundsd"; prefix[2] = 0; has_modrm = true; - store = true; + load = true; src_reg_file = SSE; dst_reg_file = SSE; immediate_bytes = 1; |