From c7ca1d3c8a3b785c80ec23bd84666c3c6e08b4e4 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Sat, 19 Dec 2009 01:48:31 -0800 Subject: X86: Add a common named flag for signed media operations. --- .../isa/insts/simd64/integer/arithmetic/addition.py | 12 ++++++------ .../insts/simd64/integer/arithmetic/multiplication.py | 18 +++++++++--------- .../insts/simd64/integer/arithmetic/multiply_add.py | 12 ++++++------ .../isa/insts/simd64/integer/arithmetic/subtraction.py | 12 ++++++------ .../compare/compare_and_write_minimum_or_maximum.py | 12 ++++++------ .../integer/data_reordering/pack_with_saturation.py | 12 ++++++------ 6 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src/arch/x86/isa/insts/simd64/integer') diff --git a/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py b/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py index b663d15b7..d376dccce 100644 --- a/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py +++ b/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py @@ -115,33 +115,33 @@ def macroop PADDQ_MMX_P { }; def macroop PADDSB_MMX_MMX { - maddi mmx, mmx, mmxm, size=1, ext=4 + maddi mmx, mmx, mmxm, size=1, ext = "2 |" + Signed }; def macroop PADDSB_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - maddi mmx, mmx, ufp1, size=1, ext=4 + maddi mmx, mmx, ufp1, size=1, ext = "2 |" + Signed }; def macroop PADDSB_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - maddi mmx, mmx, ufp1, size=1, ext=4 + maddi mmx, mmx, ufp1, size=1, ext = "2 |" + Signed }; def macroop PADDSW_MMX_MMX { - maddi mmx, mmx, mmxm, size=2, ext=4 + maddi mmx, mmx, mmxm, size=2, ext = "2 |" + Signed }; def macroop PADDSW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - maddi mmx, mmx, ufp1, size=2, ext=4 + maddi mmx, mmx, ufp1, size=2, ext = "2 |" + Signed }; def macroop PADDSW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - maddi mmx, mmx, ufp1, size=2, ext=4 + maddi mmx, mmx, ufp1, size=2, ext = "2 |" + Signed }; def macroop PADDUSB_MMX_MMX { diff --git a/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py b/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py index 50a1e5dc0..526162e32 100644 --- a/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py +++ b/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py @@ -55,48 +55,48 @@ microcode = ''' def macroop PMULHW_MMX_MMX { - mmuli mmx, mmx, mmxm, size=2, ext = "0x2 |" + MultHi + mmuli mmx, mmx, mmxm, size=2, ext = Signed + "|" + MultHi }; def macroop PMULHW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext = "0x2 |" + MultHi + mmuli mmx, mmx, ufp1, size=2, ext = Signed + "|" + MultHi }; def macroop PMULHW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext = "0x2 |" + MultHi + mmuli mmx, mmx, ufp1, size=2, ext = Signed + "|" + MultHi }; def macroop PMULLW_MMX_MMX { - mmuli mmx, mmx, mmxm, size=2, ext=2 + mmuli mmx, mmx, mmxm, size=2, ext = Signed }; def macroop PMULLW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext=2 + mmuli mmx, mmx, ufp1, size=2, ext = Signed }; def macroop PMULLW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext=2 + mmuli mmx, mmx, ufp1, size=2, ext = Signed }; def macroop PMULHRW_MMX_MMX { - mmuli mmx, mmx, mmxm, size=2, ext = "0x2 | 0x4 |" + MultHi + mmuli mmx, mmx, mmxm, size=2, ext = Signed + "| 0x4 |" + MultHi }; def macroop PMULHRW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext = "0x2 | 0x4 |" + MultHi + mmuli mmx, mmx, ufp1, size=2, ext = Signed + "| 0x4 |" + MultHi }; def macroop PMULHRW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - mmuli mmx, mmx, ufp1, size=2, ext = "0x2 | 0x4 |" + MultHi + mmuli mmx, mmx, ufp1, size=2, ext = Signed + "| 0x4 |" + MultHi }; def macroop PMULHUW_MMX_MMX { diff --git a/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py b/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py index f6940d159..354cf8722 100644 --- a/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py +++ b/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py @@ -55,23 +55,23 @@ microcode = ''' def macroop PMADDWD_MMX_MMX { - mmuli ufp3, mmx, mmxm, srcSize=2, destSize=4, ext=(0x2 | 0x10 | 0x20) - mmuli ufp4, mmx, mmxm, srcSize=2, destSize=4, ext=(0x2 | 0x10) + mmuli ufp3, mmx, mmxm, srcSize=2, destSize=4, ext = Signed + "| 0x10 | 0x20" + mmuli ufp4, mmx, mmxm, srcSize=2, destSize=4, ext = Signed + "| 0x10" maddi mmx, ufp3, ufp4, size=4, ext=0 }; def macroop PMADDWD_MMX_M { ldfp ufp1, seg, sib, "DISPLACEMENT", dataSize=8 - mmuli ufp3, mmx, ufp1, srcSize=2, destSize=4, ext=(0x2 | 0x10 | 0x20) - mmuli ufp4, mmx, ufp1, srcSize=2, destSize=4, ext=(0x2 | 0x10) + mmuli ufp3, mmx, ufp1, srcSize=2, destSize=4, ext = Signed + "| 0x10 | 0x20" + mmuli ufp4, mmx, ufp1, srcSize=2, destSize=4, ext = Signed + "| 0x10" maddi mmx, ufp3, ufp4, size=4, ext=0 }; def macroop PMADDWD_MMX_P { rdip t7 ldfp ufp1, seg, riprel, "DISPLACEMENT", dataSize=8 - mmuli ufp3, mmx, ufp1, srcSize=2, destSize=4, ext=(0x2 | 0x10 | 0x20) - mmuli ufp4, mmx, ufp1, srcSize=2, destSize=4, ext=(0x2 | 0x10) + mmuli ufp3, mmx, ufp1, srcSize=2, destSize=4, ext = Signed + "| 0x10 | 0x20" + mmuli ufp4, mmx, ufp1, srcSize=2, destSize=4, ext = Signed + "| 0x10" maddi mmx, ufp3, ufp4, size=4, ext=0 }; ''' diff --git a/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py b/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py index a60c0b1a8..4ee87e0f8 100644 --- a/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py +++ b/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py @@ -115,33 +115,33 @@ def macroop PSUBQ_MMX_P { }; def macroop PSUBSB_MMX_MMX { - msubi mmx, mmx, mmxm, size=1, ext=4 + msubi mmx, mmx, mmxm, size=1, ext = "2 |" + Signed }; def macroop PSUBSB_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - msubi mmx, mmx, ufp1, size=1, ext=4 + msubi mmx, mmx, ufp1, size=1, ext = "2 |" + Signed }; def macroop PSUBSB_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - msubi mmx, mmx, ufp1, size=1, ext=4 + msubi mmx, mmx, ufp1, size=1, ext = "2 |" + Signed }; def macroop PSUBSW_MMX_MMX { - msubi mmx, mmx, mmxm, size=2, ext=4 + msubi mmx, mmx, mmxm, size=2, ext = "2 |" + Signed }; def macroop PSUBSW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - msubi mmx, mmx, ufp1, size=2, ext=4 + msubi mmx, mmx, ufp1, size=2, ext = "2 |" + Signed }; def macroop PSUBSW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - msubi mmx, mmx, ufp1, size=2, ext=4 + msubi mmx, mmx, ufp1, size=2, ext = "2 |" + Signed }; def macroop PSUBUSB_MMX_MMX { diff --git a/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py b/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py index 8d8247300..c2eedbb0e 100644 --- a/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py +++ b/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py @@ -70,18 +70,18 @@ def macroop PMINUB_MMX_P { }; def macroop PMINSW_MMX_MMX { - mmini mmx, mmx, mmxm, size=2, ext=2 + mmini mmx, mmx, mmxm, size=2, ext=Signed }; def macroop PMINSW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - mmini mmx, mmx, ufp1, size=2, ext=2 + mmini mmx, mmx, ufp1, size=2, ext=Signed }; def macroop PMINSW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - mmini mmx, mmx, ufp1, size=2, ext=2 + mmini mmx, mmx, ufp1, size=2, ext=Signed }; def macroop PMAXUB_MMX_MMX { @@ -100,17 +100,17 @@ def macroop PMAXUB_MMX_P { }; def macroop PMAXSW_MMX_MMX { - mmaxi mmx, mmx, mmxm, size=2, ext=2 + mmaxi mmx, mmx, mmxm, size=2, ext=Signed }; def macroop PMAXSW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - mmaxi mmx, mmx, ufp1, size=2, ext=2 + mmaxi mmx, mmx, ufp1, size=2, ext=Signed }; def macroop PMAXSW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - mmaxi mmx, mmx, ufp1, size=2, ext=2 + mmaxi mmx, mmx, ufp1, size=2, ext=Signed }; ''' diff --git a/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py b/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py index 4235d7f26..cb8b4eaa7 100644 --- a/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py +++ b/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py @@ -55,33 +55,33 @@ microcode = ''' def macroop PACKSSDW_MMX_MMX { - pack mmx, mmx, mmxm, ext=1, srcSize=4, destSize=2 + pack mmx, mmx, mmxm, ext=Signed, srcSize=4, destSize=2 }; def macroop PACKSSDW_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - pack mmx, mmx, ufp1, ext=1, srcSize=4, destSize=2 + pack mmx, mmx, ufp1, ext=Signed, srcSize=4, destSize=2 }; def macroop PACKSSDW_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - pack mmx, mmx, ufp1, ext=1, srcSize=4, destSize=2 + pack mmx, mmx, ufp1, ext=Signed, srcSize=4, destSize=2 }; def macroop PACKSSWB_MMX_MMX { - pack mmx, mmx, mmxm, ext=1, srcSize=2, destSize=1 + pack mmx, mmx, mmxm, ext=Signed, srcSize=2, destSize=1 }; def macroop PACKSSWB_MMX_M { ldfp ufp1, seg, sib, disp, dataSize=8 - pack mmx, mmx, ufp1, ext=1, srcSize=2, destSize=1 + pack mmx, mmx, ufp1, ext=Signed, srcSize=2, destSize=1 }; def macroop PACKSSWB_MMX_P { rdip t7 ldfp ufp1, seg, riprel, disp, dataSize=8 - pack mmx, mmx, ufp1, ext=1, srcSize=2, destSize=1 + pack mmx, mmx, ufp1, ext=Signed, srcSize=2, destSize=1 }; def macroop PACKUSWB_MMX_MMX { -- cgit v1.2.3