summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--compiler/utils/x86/assembler_x86_test.cc13
-rw-r--r--disassembler/disassembler_x86.cc4
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;