Fix problem with the x86 sse movhpd instruction.
authorVince Weaver <vince@csl.cornell.edu>
Tue, 27 Oct 2009 18:11:06 +0000 (14:11 -0400)
committerVince Weaver <vince@csl.cornell.edu>
Tue, 27 Oct 2009 18:11:06 +0000 (14:11 -0400)
The movhpd instruction was writing to the wrong memory offset.

src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py

index 1f4044bde6492122c3b09378b6d2c5aaa77d7d6c..09b380fbd2359cab18df3bd40b7e9bf5f8d0cc6b 100644 (file)
@@ -187,22 +187,21 @@ def macroop MOVHPS_P_XMM {
 };
 
 def macroop MOVHPD_XMM_M {
-    ldfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8
+    ldfp xmmh, seg, sib, "DISPLACEMENT", dataSize=8
 };
 
 def macroop MOVHPD_XMM_P {
     rdip t7
-    ldfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8
+    ldfp xmmh, seg, riprel, "DISPLACEMENT", dataSize=8
 };
 
 def macroop MOVHPD_M_XMM {
-    stfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8
+    stfp xmmh, seg, sib, "DISPLACEMENT", dataSize=8
 };
 
 def macroop MOVHPD_P_XMM {
     rdip t7
-    stfp xmml, seg, riprel, "DISPLACEMENT", dataSize=8
-    stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8
+    stfp xmmh, seg, riprel, "DISPLACEMENT", dataSize=8
 };
 
 def macroop MOVLPS_XMM_M {