Pytania otagowane jako x86-64

x86-64 to 64-bitowe rozszerzenie architektury Intel x86


6
Dlaczego GCC generuje kod o 15-20% szybszy, jeśli optymalizuję rozmiar zamiast prędkości?
Po raz pierwszy zauważyłem w 2009 roku, że GCC (przynajmniej w moich projektach i na moich maszynach) ma tendencję do generowania zauważalnie szybszego kodu, jeśli optymalizuję pod kątem rozmiaru ( -Os) zamiast prędkości ( -O2lub -O3), i od tego czasu zastanawiam się, dlaczego. Udało mi się stworzyć (raczej głupiutki) kod, …



4
Dlaczego wprowadzenie bezużytecznych instrukcji MOV przyspieszyłoby powstanie ciasnej pętli w zestawie x86_64?
Tło: Podczas optymalizacji kodu Pascal za pomocą wbudowanego języka asemblera zauważyłem niepotrzebną MOVinstrukcję i usunąłem ją. Ku mojemu zaskoczeniu usunięcie niepotrzebnych instrukcji spowodowało spowolnienie programu . Przekonałem się, że dodanie arbitralnych, bezużytecznych MOVinstrukcji jeszcze bardziej zwiększyło wydajność . Efekt jest zmienny, a zmiany oparte na kolejności wykonywania: te same niepotrzebne …



3
Możliwy błąd GCC podczas zwracania struktury z funkcji
Wydaje mi się, że znalazłem błąd w GCC podczas wdrażania PCN PRNG O'Neilla. ( Kod początkowy w Godbolt's Compiler Explorer ) Po pomnożeniu oldstateprzez MULTIPLIER(wynik przechowywany w rdi), GCC nie dodaje tego wyniku do INCREMENTmovabs'ing INCREMENTzamiast do rdx, który następnie jest wykorzystywany jako wartość zwracana rand32_ret.state Minimalny odtwarzalny przykład ( …
133 c  gcc  assembly  x86-64  compiler-bug 

4
Jak działa 128-bitowa liczba całkowita Rusta „i128” w systemie 64-bitowym?
Rust ma 128-bitowe liczby całkowite, które są oznaczone typem danych i128(i u128dla liczb całkowitych bez znaku): let a: i128 = 170141183460469231731687303715884105727; Jak Rust sprawia, że ​​te i128wartości działają w systemie 64-bitowym; np. jak to robi na nich arytmetykę? Ponieważ o ile wiem, wartość nie mieści się w jednym rejestrze procesora …

3
Dlaczego instrukcje x86-64 w rejestrach 32-bitowych zerują górną część pełnego rejestru 64-bitowego?
W x86-64 Tour Intel Podręczniki , czytam Być może najbardziej zaskakującym faktem jest to, że instrukcja taka jak MOV EAX, EBXautomatycznie zeruje górne 32 bity RAXrejestru. Dokumentacja firmy Intel (3.4.1.1 Rejestry ogólnego przeznaczenia w trybie 64-bitowym w ręcznej architekturze podstawowej) cytowana w tym samym źródle mówi nam: 64-bitowe operandy generują …

8
Kierowanie na wersje 32-bitowe i 64-bitowe w programie Visual Studio w tym samym rozwiązaniu / projekcie
Mam mały dylemat, jak skonfigurować moje kompilacje Visual Studio pod kątem multitargetingu. Tło: C # .NET v2.0 z p / wywoływaniem do zewnętrznych 32-bitowych bibliotek DLL, SQL Compact v3.5 SP1, z projektem instalacji. Obecnie platforma docelowa jest ustawiona na x86, więc można ją uruchomić w systemie Windows x64. Firma zewnętrzna …

4
Dlaczego Windows64 używa innej konwencji wywoływania niż wszystkie inne systemy operacyjne na x86-64?
AMD ma specyfikację ABI, która opisuje konwencję wywoływania używaną na x86-64. Podążają za nią wszystkie systemy operacyjne, z wyjątkiem systemu Windows, który ma własną konwencję wywoływania x86-64. Czemu? Czy ktoś zna techniczne, historyczne lub polityczne powody tej różnicy, czy też jest to wyłącznie kwestia zespołu NIH? Rozumiem, że różne systemy …

10
Dlaczego x86 jest brzydki? Dlaczego jest uważany za gorszy w porównaniu z innymi? [Zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …

15
System.BadImageFormatException: nie można załadować pliku lub zestawu (z installutil.exe)
Próbuję zainstalować usługę systemu Windows przy użyciu programu InstallUtil.exe i pojawia się komunikat o błędzie System.BadImageFormatException: nie można załadować pliku lub zestawu „ {xxx.exe}” lub jednej z jego zależności. Podjęto próbę załadowania programu o nieprawidłowym formacie. Co daje? EDYCJA: (nie przez OP) Pełna wiadomość wyodrębniona z dup, uzyskując o wiele …

11
Obliczenia zmiennoprzecinkowe i całkowite na nowoczesnym sprzęcie
Wykonuję pewne prace krytyczne dla wydajności w C ++ i obecnie używamy obliczeń całkowitych do problemów, które są z natury zmiennoprzecinkowe, ponieważ „jest szybsze”. Powoduje to wiele irytujących problemów i dodaje dużo irytującego kodu. Pamiętam, jak czytałem o tym, jak obliczenia zmiennoprzecinkowe były tak powolne przez około 386 dni, kiedy …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.