[cairo] Pixman refactoring
Peter Harris
pharris at opentext.com
Mon May 25 07:35:24 PDT 2009
Soeren Sandmann wrote:
> Peter Harris <pharris at opentext.com> writes:
>
>> Take, for example, the Win64 ABI, which doesn't allow MMX. So you'd want
>
> Are you sure about this? The MMX registers are aliased onto the
> floating point stack, so the operating system would have to go out of
> its way to not support it.
>
> I found this:
>
> http://www.virtualdub.org/blog/pivot/entry.php?id=107
>
> which seems to say that MMX *can* be used on Windows 64.
Upon further digging, it appears that you are correct. MMX (and all
other instructions that use the floating point stack) are only
prohibited in 64-bit drivers. MMX/x87 are merely "deprecated" for
user-mode 64-bit applications. Presumably some future version of Windows
may stop saving and restoring the floating point stack for 64-bit apps,
but that's a ways into the future and probably not worth considering today.
Microsoft's compiler already refuses to recognize MMX intrinsics,
though, which means you'd have to rewrite much of pixman-mmx.c to get it
to compile. Given that maintaining intrinsics is a lot easier than pure
assembly, it probably isn't worth the effort. I'm not sure what mingw
does; last I checked mingw didn't support 64-bit at all, but that was a
while ago.
(All of this merely confirms what I read in your link. I probably should
have read your link before digging; it would have saved me some time).
Peter Harris
--
Open Text Connectivity Solutions Group
Peter Harris http://www.opentext.com/connectivity
Research and Development Phone: +1 905 762 6001
pharris at opentext.com Toll Free: 1 877 359 4866
More information about the xorg-devel
mailing list