changeset b595412884f9 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=b595412884f9
description:
        X86: (Re)implement XORPS and XORPD.

diffstat:

2 files changed, 27 insertions(+), 9 deletions(-)
src/arch/x86/isa/decoder/two_byte_opcodes.isa                         |    2 
src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py |   34 
+++++++---

diffs (67 lines):

diff -r 0943f0e54f0f -r b595412884f9 
src/arch/x86/isa/decoder/two_byte_opcodes.isa
--- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa     Mon Aug 17 18:22:33 
2009 -0700
+++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa     Mon Aug 17 18:22:37 
2009 -0700
@@ -471,7 +471,7 @@
                     0x4: andps_Vo_Wo();
                     0x5: andnps_Vo_Wo();
                     0x6: orps_Vo_Wo();
-                    0x7: xorps_Vo_Wo();
+                    0x7: Inst::XORPS(Vo,Wo);
                 }
                 // repe (0xF3)
                 0x4: decode OPCODE_OP_BOTTOM3 {
diff -r 0943f0e54f0f -r b595412884f9 
src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py     
Mon Aug 17 18:22:33 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py     
Mon Aug 17 18:22:37 2009 -0700
@@ -54,25 +54,43 @@
 # Authors: Gabe Black
 
 microcode = '''
-# XORPS
-
 def macroop XORPD_XMM_XMM {
-    xorfp xmml, xmml, xmmlm
-    xorfp xmmh, xmmh, xmmhm
+    mxor xmml, xmml, xmmlm
+    mxor xmmh, xmmh, xmmhm
 };
 
 def macroop XORPD_XMM_M {
     ldfp ufp1, seg, sib, disp, dataSize=8
     ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
-    xorfp xmml, xmml, ufp1
-    xorfp xmmh, xmmh, ufp2
+    mxor xmml, xmml, ufp1
+    mxor xmmh, xmmh, ufp2
 };
 
 def macroop XORPD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp, dataSize=8
     ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
-    xorfp xmml, xmml, ufp1
-    xorfp xmmh, xmmh, ufp2
+    mxor xmml, xmml, ufp1
+    mxor xmmh, xmmh, ufp2
+};
+
+def macroop XORPS_XMM_XMM {
+    mxor xmml, xmml, xmmlm
+    mxor xmmh, xmmh, xmmhm
+};
+
+def macroop XORPS_XMM_M {
+    ldfp ufp1, seg, sib, disp, dataSize=8
+    ldfp ufp2, seg, sib, "DISPLACEMENT + 8", dataSize=8
+    mxor xmml, xmml, ufp1
+    mxor xmmh, xmmh, ufp2
+};
+
+def macroop XORPS_XMM_P {
+    rdip t7
+    ldfp ufp1, seg, riprel, disp, dataSize=8
+    ldfp ufp2, seg, riprel, "DISPLACEMENT + 8", dataSize=8
+    mxor xmml, xmml, ufp1
+    mxor xmmh, xmmh, ufp2
 };
 '''
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to