Запитання з тегом «x86-64»

x86-64 - це 64-розрядне розширення архітектури Intel x86


6
Чому GCC генерує 15-20% швидший код, якщо я оптимізую розмір замість швидкості?
Я вперше помітив у 2009 році, що GCC (принаймні, на моїх проектах і на моїх машинах) має тенденцію генерувати помітно швидший код, якщо я оптимізую розмір ( -Os) замість швидкості ( -O2або -O3), і з тих пір мені цікаво чому. Мені вдалося створити (досить нерозумний) код, який показує цю дивовижну …


5
Чому GCC використовує множення на дивне число при здійсненні цілого поділу?
Я читав про divі mulскладальних операціях, і я вирішив , щоб побачити їх у дії, написавши просту програму в C: Розділення файлів.c #include <stdlib.h> #include <stdio.h> int main() { size_t i = 9; size_t j = i / 5; printf("%zu\n",j); return 0; } А потім генерувати код мови збірки за …

4
Чому введення непотрібних інструкцій MOV прискорить щільний цикл у зборі x86_64?
Фон: Оптимізуючи деякий код Pascal із вбудованою мовою збірки, я помітив непотрібну MOVінструкцію та видалив її. На мій подив, видалення непотрібної інструкції призвело до уповільнення моєї програми . Я виявив, що додавання довільних, марних MOVінструкцій ще більше підвищує продуктивність . Ефект є нестабільним, і зміни ґрунтуються на порядку виконання: ті …

4
Які умови виклику для системних дзвінків UNIX та Linux на i386 та x86-64
Наступні посилання пояснюють умови використання системних викликів x86-32 для UNIX (BSD-аромат) та Linux: http://www.int80h.org/bsdasm/#system-calls http://www.freebsd.org/doc/en/books/developers-handbook/x86-system-calls.html Але які умови системного виклику x86-64 як для UNIX, так і для Linux?
147 linux  unix  assembly  x86-64  abi 

3
Можлива помилка GCC при поверненні структури з функції
Я вважаю, що знайшов помилку в GCC під час впровадження програми PCG PRNG O'Neill. ( Початковий код у Провіднику компілятора Godbolt ) Після множення oldstateна MULTIPLIER(результат, збережений у rdi), GCC не додає цього результату INCREMENT, INCREMENTзамість цього, movabs'ing в rdx, який потім використовується як повернене значення rand32_ret.state Мінімальний приклад відтворення …
133 c  gcc  assembly  x86-64  compiler-bug 

11
Як знайти, чи власний файл DLL складений як x64 або x86?
Я хочу визначити, чи відповідає власна збірка як x64 або x86 з керованої програми коду ( C # ). Я думаю, що він повинен бути десь у заголовку PE, оскільки завантажувач ОС повинен знати цю інформацію, але я не зміг її знайти. Звичайно, я вважаю за краще це робити в …
133 c#  .net  winapi  64-bit  x86-64 

4
Як працює 128-розрядний цілий `i128` Руста на 64-бітній системі?
Іржа має 128-бітні цілі числа, вони позначаються типом даних i128(і u128для непідписаних вкладишів): let a: i128 = 170141183460469231731687303715884105727; Як Rust змушує ці i128значення працювати в 64-бітній системі; наприклад, як це робить арифметику на них? Оскільки, наскільки я знаю, значення не може вміститися в одному реєстрі процесора x86-64, чи компілятор якось …

3
Чому вказівки x86-64 на 32-бітних регістрах дорівнюють нулю верхній частині повного 64-розрядного регістра?
У x86-64 екскурсії по посібниках Intel я читав Мабуть, найдивовижніший факт полягає в тому, що така інструкція, як MOV EAX, EBXавтоматично нулює верхні 32 біти RAXрегістру. Документація Intel (3.4.1.1 регістри загального призначення в 64-бітному режимі в посібнику з базової архітектури), цитована в тому ж джерелі, говорить нам: 64-бітні операнди генерують …

8
Націлювання на 32-бітну та 64-бітну версію Visual Studio в одному і тому ж рішенні / проекті
У мене є невелика дилема щодо того, як налаштувати мої візуальні студії для багатоцільового націлювання. Передумови: c # .NET v2.0 з p / викликом в сторонні 32-бітні DLL, SQL compact v3.5 SP1, з проектом Setup. Зараз цільова платформа встановлена ​​на x86, тому її можна запустити на Windows x64. Компанія третьої …

4
Чому Windows64 використовує інший режим виклику від усіх інших ОС на x86-64?
AMD має специфікацію ABI, яка описує конвенцію про виклики для використання на x86-64. Усі ОС дотримуються цього, за винятком Windows, яка має власну умову викликів x86-64. Чому? Хтось знає технічні, історичні чи політичні причини цієї різниці, чи це суто питання НІХсиндрому? Я розумію, що різні ОС можуть мати різні потреби …

10
Чому x86 потворний? Чому він вважається неповноцінним порівняно з іншими? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

15
System.BadImageFormatException: Не вдалося завантажити файл або збірку (з installutil.exe)
Я намагаюся встановити службу Windows за допомогою InstallUtil.exe і отримую повідомлення про помилку System.BadImageFormatException: Не вдалося завантажити файл або збірку ' {xxx.exe}' або одну з її залежностей. Була зроблена спроба завантажити програму з неправильним форматом. Що дає? EDIT: (Not by OP) Повне повідомлення, вилучене з дублювання, отримує більше показів [для …

11
Розрахунки з плаваючою точкою та цілими числами на сучасному обладнання
Я роблю деяку критичну роботу на C ++, і зараз ми використовуємо цілі обчислення для проблем, які за своєю суттю є плаваючою точкою, оскільки "це швидше". Це викликає цілу масу роздратованих проблем і додає багато дратівливого коду. Тепер я пам'ятаю, як читав про те, як обчислення з плаваючою точкою були …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.