Я только что установил mingw32 на своем 32-битном поле Vista, чтобы поэкспериментировать с сборкой gcc inline. К сожалению, 32-битный gcc-компилятор не распознает 64-разрядные регистры, таких как %% rax.
До того, как я утонул много времени в попытке собрать новую инструментальную цепочку, у меня есть несколько вопросов:
-
Есть ли какой-то процессорный режим на x86 (Intel Core Duo, T5800), который предотвратит использование 64-разрядных регистров при работе Vista32 (т.е. это потерянная причина)?
-
Предполагая, что ответ на # 1 "Конечно, вы можете использовать% rax и т.д. под 32-битными окнами", может быть настроен как распознавать 64-разрядные регистры. И построить исполняемый файл, который будет запускаться под 32-битными окнами? Я знаю, что gcc имеет параметр -m64, но моя версия, которая поставляется вместе с mingw32, не содержит 64-разрядной поддержки. Я, конечно же, хочу перестроить gcc, если он может создавать 32-разрядные приложения, имеющие доступ к 64-разрядным регистры, но я не хочу переживать эту боль, если она все равно не будет работать.
Помимо этого: это на самом деле первый шаг к изучению инструкций SSE2 (да, я знаю, существуют встроенные возможности компилятора, но я бы хотел понять это с уровня машины).
Заранее благодарим за любой ответ!
-Джит