msvc

Sep. 14th, 2012 04:02 pm
thedeemon: (Default)
[personal profile] thedeemon
Пытаюсь тут собрать в vs2010 в 64 бита код, который успешно собирался в vs2005. Не собирается, не находит некоторые SSE интринсики - те, что используют тип __m64 (пришедший из MMX'a еще). Заглядываю в MSDN, а там просто так пишут: "The __m64 data type is not supported on x64 processors". Как же оно у меня тогда работало столько лет? А просто там проект интеловским компилятором компилился, он прекрасно эти типы и интринсики понимает, и отлично они себе работают на x64. Просто в MSVC кто-то решил их не поддерживать, а чтобы не задавали лишних вопросов написали, что это процессоры виноваты. Молодцы, чо.

Date: 2012-09-14 11:02 am (UTC)
From: [identity profile] macrop.livejournal.com
Видать слишком мало пользуются. У меня в шестой студии вообще арифметика над 64-битными целыми неверно работала, приходилось замены руками писать..

Date: 2012-09-14 11:12 am (UTC)
From: [identity profile] thedeemon.livejournal.com
Там, похоже, причины исторические. Слухи из интернетов:
The __m64 stuff is hilarious. Initially MS were saying they won't support x87 and MMX in win64 - that is, they didn't want to save and restore the FPU registers when they switched threads. That didn't happen, but I guess the VC people heard about it and liked the idea, so they banned MMX intrinsics even though the OS is fine with them now.


А вот ошибки 64-битной арифметики в vc6 - это очень странно. Я там пользовался __int64, работало хорошо.

Date: 2012-09-14 11:25 am (UTC)
From: [identity profile] macrop.livejournal.com
бред какой-то)))

vc6 например делаю так __int 64 a,b,c; c=a%b;
Работал я с каким-то хитрым полиномом и % неверный результат даёт.. % никому кроме меня не нужен был получается, вот и не проверял никто. Может в sp5 sp6 поправили, не знаю. А мне вобщем неприятно было. Вобщем дофига там ошибок помню было, самодельные int64 писал, чтобы считало нормально.. В современных студиях уже точно починили..

Date: 2012-09-14 11:47 am (UTC)
From: [identity profile] macrop.livejournal.com
может правда это всё с безнаковыми __int64 , не помню уже

Date: 2012-09-17 06:28 pm (UTC)
From: [identity profile] procho8643815.livejournal.com
Почитать с утра ваш журнал - самое то!

Profile

thedeemon: (Default)
Dmitry Popov

December 2025

S M T W T F S
 12 3456
789101112 13
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 31st, 2026 03:18 pm
Powered by Dreamwidth Studios