www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 7617] New: Add support for 64bit and 256bit vectors

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617

           Summary: Add support for 64bit and 256bit vectors
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD
        AssignedTo: nobody puremagic.com
        ReportedBy: turkeyman gmail.com



Many SSE opcodes interact with MMX regs, that is, 128bit vectors interacting
with 64bit vectors.
We currently have no expression of the MMX regs in the language.
Consider adding float2, short4, etc?

AVX is common now, has 256bit regs, I'd also like to start making use of this
architecture.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 01 2012
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla digitalmars.com



11:52:59 PST ---
I don't see any need to support MMX. I think it is completely superceded by
XMM.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 01 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617


Sean Cavanaugh <WorksOnMyMachine gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |WorksOnMyMachine gmail.com



12:01:14 PST ---
FYI info:

MMX itself is a big pain in in x86 mode, as it shares registers with the FPU
stack and all MMX code needs to flush the register state before calling FPU
functions, and the compiler also needs to not interleave the generated code.

SSE2 supercedes MMX, it just expands everything from 64 to 128 bit, likewise
for x64 (as SSE2 is the absolute minspec for x64)

SSE2 is a good minspec cutoff for simd support on x86, since it includes the
integer ops and doubles.

At my job we have minspec'd SSE2 support for our games starting with Brothers
in Arms: Hell's Highway which was released in Oct 2008.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 01 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617




I can buy possibly not supporting old MMX regs, but AVX is important.

That said, MMX is a physical feature in the x86 architecture, and it's also not
the only architecture with 64bit vectors, so I'd prefer to not see the type
definition ignored outright. Ie. GDC can't implement a type that the language
refuses to define.

Perhaps just define the types and leave them unsupported in DMD so Iain can
hook them up on GDC, since it already does support them all, or can he already
do that easily with the code how it is now? I thought I saw some hardcoded
widths in there...

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 01 2012
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617


Walter Bright <bugzilla digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement



13:41:22 PST ---
Sure, I agree that AVX support is important.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Mar 01 2012
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=7617




I just want to note, we will be targeting the AVX architecture.
We are using GDC, so functioning support in DMD is not important in the short
term, only definition of the types that GDC can hook up to the backend.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Apr 15 2012