changeset 1ad4a7774b3c in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=1ad4a7774b3c
description:
        X86: Use suffixes to differentiate XMM/MMX/GPR operands.

diffstat:

11 files changed, 61 insertions(+), 44 deletions(-)
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py            
                       |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py            
                       |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py      
                       |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py         
                       |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py         
                       |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
                      |    6 +-
src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
 |    2 
src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py             
                       |   30 +++++-----
src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py           
                       |    6 +-
src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
        |    6 +-
src/arch/x86/isa/specialize.isa                                                 
                       |   25 +++++++-

diffs (truncated from 355 to 300 lines):

diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py      
Mon Aug 17 18:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py      
Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # ADDPD
 # ADDSS
 
-def macroop ADDSD_R_R {
+def macroop ADDSD_XMM_XMM {
     addfp xmml, xmml, xmmlm
 };
 
-def macroop ADDSD_R_M {
+def macroop ADDSD_XMM_M {
     ldfp ufp1, seg, sib, disp
     addfp xmml, xmml, ufp1
 };
 
-def macroop ADDSD_R_P {
+def macroop ADDSD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     addfp xmml, xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py      
Mon Aug 17 18:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py      
Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # DIVPD
 # DIVSS
 
-def macroop DIVSD_R_R {
+def macroop DIVSD_XMM_XMM {
     divfp xmml, xmml, xmmlm
 };
 
-def macroop DIVSD_R_M {
+def macroop DIVSD_XMM_M {
     ldfp ufp1, seg, sib, disp
     divfp xmml, xmml, ufp1
 };
 
-def macroop DIVSD_R_P {
+def macroop DIVSD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     divfp xmml, xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py
--- 
a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py    
    Mon Aug 17 18:15:19 2009 -0700
+++ 
b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py    
    Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # MULPD
 # MULSS
 
-def macroop MULSD_R_R {
+def macroop MULSD_XMM_XMM {
     mulfp xmml, xmml, xmmlm
 };
 
-def macroop MULSD_R_M {
+def macroop MULSD_XMM_M {
     ldfp ufp1, seg, sib, disp
     mulfp xmml, xmml, ufp1
 };
 
-def macroop MULSD_R_P {
+def macroop MULSD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     mulfp xmml, xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py   
Mon Aug 17 18:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py   
Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # SQRTPD
 # SQRTSS
 
-def macroop SQRTSD_R_R {
+def macroop SQRTSD_XMM_XMM {
     sqrtfp xmml, xmml, xmmlm
 };
 
-def macroop SQRTSD_R_M {
+def macroop SQRTSD_XMM_M {
     ldfp ufp1, seg, sib, disp
     sqrtfp xmml, xmml, ufp1
 };
 
-def macroop SQRTSD_R_P {
+def macroop SQRTSD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     sqrtfp xmml, xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py   
Mon Aug 17 18:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py   
Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # SUBPD
 # SUBSS
 
-def macroop SUBSD_R_R {
+def macroop SUBSD_XMM_XMM {
     subfp xmml, xmml, xmmlm
 };
 
-def macroop SUBSD_R_M {
+def macroop SUBSD_XMM_M {
     ldfp ufp1, seg, sib, disp
     subfp xmml, xmml, ufp1
 };
 
-def macroop SUBSD_R_P {
+def macroop SUBSD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     subfp xmml, xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
--- 
a/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
 Mon Aug 17 18:15:19 2009 -0700
+++ 
b/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
 Mon Aug 17 18:15:21 2009 -0700
@@ -58,16 +58,16 @@
 # COMISD
 # UCOMISS
 
-def macroop UCOMISD_R_R {
+def macroop UCOMISD_XMM_XMM {
     compfp xmml, xmmlm
 };
 
-def macroop UCOMISD_R_M {
+def macroop UCOMISD_XMM_M {
     ldfp ufp1, seg, sib, disp
     compfp xmml, ufp1
 };
 
-def macroop UCOMISD_R_P {
+def macroop UCOMISD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     compfp xmml, ufp1
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
--- 
a/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
    Mon Aug 17 18:15:19 2009 -0700
+++ 
b/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
    Mon Aug 17 18:15:21 2009 -0700
@@ -58,7 +58,7 @@
 # CVTSD2SI
 # CVTTSS2SI
 
-def macroop CVTTSD2SI_R_R {
+def macroop CVTTSD2SI_R_XMM {
     cvtf_d2i reg, xmmlm
 };
 
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py
--- a/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py       
Mon Aug 17 18:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py       
Mon Aug 17 18:15:21 2009 -0700
@@ -54,33 +54,33 @@
 # Authors: Gabe Black
 
 microcode = '''
-def macroop MOVAPS_R_M {
+def macroop MOVAPS_XMM_M {
     # Check low address.
     ldfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8
     ldfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVAPS_R_P {
+def macroop MOVAPS_XMM_P {
     rdip t7
     # Check low address.
     ldfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8
     ldfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVAPS_M_R {
+def macroop MOVAPS_M_XMM {
     # Check low address.
     stfp xmmh, seg, sib, "DISPLACEMENT + 8", dataSize=8
     stfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVAPS_P_R {
+def macroop MOVAPS_P_XMM {
     rdip t7
     # Check low address.
     stfp xmmh, seg, riprel, "DISPLACEMENT + 8", dataSize=8
     stfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVAPS_R_R {
+def macroop MOVAPS_XMM_XMM {
     # Check low address.
     movfp xmml, xmmlm, dataSize=8
     movfp xmmh, xmmhm, dataSize=8
@@ -93,25 +93,25 @@
 # MOVHPD
 # MOVLPS
 
-def macroop MOVLPD_R_M {
+def macroop MOVLPD_XMM_M {
     ldfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVLPD_R_P {
+def macroop MOVLPD_XMM_P {
     rdip t7
     ldfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVLPD_M_R {
+def macroop MOVLPD_M_XMM {
     stfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVLPD_P_R {
+def macroop MOVLPD_P_XMM {
     rdip t7
     stfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVLPD_R_R {
+def macroop MOVLPD_XMM_XMM {
     movfp xmml, xmmlm, dataSize=8
 };
 
@@ -119,27 +119,27 @@
 # MOVLHPS
 # MOVSS
 
-def macroop MOVSD_R_M {
+def macroop MOVSD_XMM_M {
     # Zero xmmh
     ldfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVSD_R_P {
+def macroop MOVSD_XMM_P {
     rdip t7
     # Zero xmmh
     ldfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVSD_M_R {
+def macroop MOVSD_M_XMM {
     stfp xmml, seg, sib, disp, dataSize=8
 };
 
-def macroop MOVSD_P_R {
+def macroop MOVSD_P_XMM {
     rdip t7
     stfp xmml, seg, riprel, disp, dataSize=8
 };
 
-def macroop MOVSD_R_R {
+def macroop MOVSD_XMM_XMM {
     movfp xmml, xmmlm, dataSize=8
 };
 '''
diff -r 584314d07394 -r 1ad4a7774b3c 
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:15:19 2009 -0700
+++ b/src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py     
Mon Aug 17 18:15:21 2009 -0700
@@ -56,19 +56,19 @@
 microcode = '''
 # XORPS
 
-def macroop XORPD_R_R {
+def macroop XORPD_XMM_XMM {
     xorfp xmml, xmml, xmmlm
     xorfp xmmh, xmmh, xmmhm
 };
 
-def macroop XORPD_R_M {
+def macroop XORPD_XMM_M {
     ldfp ufp1, seg, sib, disp
     ldfp ufp2, seg, sib, "DISPLACEMENT + 8"
     xorfp xmml, xmml, ufp1
     xorfp xmmh, xmmh, ufp2
 };
 
-def macroop XORPD_R_P {
+def macroop XORPD_XMM_P {
     rdip t7
     ldfp ufp1, seg, riprel, disp
     ldfp ufp2, seg, riprel, "DISPLACEMENT + 8"
diff -r 584314d07394 -r 1ad4a7774b3c 
src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
--- 
a/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
   Mon Aug 17 18:15:19 2009 -0700
+++ 
b/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
   Mon Aug 17 18:15:21 2009 -0700
@@ -56,16 +56,16 @@
 microcode = '''
 # CVTSI2SS
 
-def macroop CVTSI2SD_R_R {
+def macroop CVTSI2SD_XMM_R {
     cvtf_i2d xmml, regm
 };
 
-def macroop CVTSI2SD_R_M {
+def macroop CVTSI2SD_XMM_M {
     ld t1, seg, sib, disp
     cvtf_i2d xmml, t1
 };
 
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to