This patch adds support for the haddpd sse instruction.

Attached is a simple test case (which depends on the movhpd patch I sent 
earlier today).


# HG changeset patch
# User Vince Weaver <[email protected]>
# Date 1256679237 14400
# Node ID 71078e842148765616feba710e31616ee39d382c
# Parent  a3c85a29b838e0e15a459f64b2d83b821aacf520
Add support for haddpd instruction to x86

diff -r a3c85a29b838 -r 71078e842148 
src/arch/x86/isa/decoder/two_byte_opcodes.isa
--- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa     Tue Oct 27 09:24:40 
2009 -0700
+++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa     Tue Oct 27 17:33:57 
2009 -0400
@@ -707,7 +707,7 @@
                     }
                     // operand size (0x66)
                     0x1: decode OPCODE_OP_BOTTOM3 {
-                        0x4: WarnUnimpl::haddpd_Vo_Wo();
+                        0x4: HADDPD(Vo,Wo);
                         0x5: WarnUnimpl::hsubpd_Vo_Wo();
                         0x6: WarnUnimpl::movd_Ed_Vd();
                         0x7: WarnUnimpl::movdqa_Wo_Vo();
diff -r a3c85a29b838 -r 71078e842148 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_addition.py
--- 
a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_addition.py
   Tue Oct 27 09:24:40 2009 -0700
+++ 
b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_addition.py
   Tue Oct 27 17:33:57 2009 -0400
@@ -55,5 +55,24 @@
 
 microcode = '''
 # HADDPS
-# HADDPD
+
+def macroop HADDPD_XMM_XMM {
+    maddf xmml, xmmh , xmml, size=8, ext=0
+    maddf xmmh, xmmlm, xmmhm, size=8, ext=0
+};
+
+def macroop HADDPD_XMM_M {
+    ldfp ufp1, seg, sib, disp, dataSize=8
+    ldfp ufp2, seg, sib, "DISPLACEMENT+8", dataSize=8
+    maddf xmml, xmmh, xmml, size=8, ext=1
+    maddf xmmh, ufp1, ufp2, size=8, ext=1
+};
+
+def macroop HADDPD_XMM_P {
+    rdip t7
+    ldfp ufp1, seg, riprel, disp, dataSize=8
+    ldfp ufp2, seg, riprel, "DISPLACEMENT+8", dataSize=8
+    maddf xmml, xmmh, xmml, size=8, ext=1
+    maddf xmmh, ufp1, ufp2, size=8, ext=1
+};
 '''

Attachment: haddpd
Description: Binary data

_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to