AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Tokyo 10.2.3 Community Edition: Bug in Math-Unit?
Thema durchsuchen
Ansicht
Themen-Optionen

Tokyo 10.2.3 Community Edition: Bug in Math-Unit?

Ein Thema von gammatester · begonnen am 20. Jul 2018 · letzter Beitrag vom 27. Jul 2018
 
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#1

Tokyo 10.2.3 Community Edition: Bug in Math-Unit?

  Alt 20. Jul 2018, 11:59
Delphi-Version: 10.2 Tokyo
Hallo,
ich habe gestern die Tokyo Community Edition installiert und dann (natürlich) ziemlich bald den Quellcode der Math-Unit angeschaut, und denke da ist ein Bug drin:
Delphi-Quellcode:
function GetSSEType: Cardinal;
...
{$ELSEIF Defined(CPUX86)}
asm
        PUSH EBX
        MOV EAX, 1
        CPUID
        XOR EAX, EAX
        TEST EDX, $02000000 // EDX 25 bits - SSE bit
        JZ @@CheckSSE2
        OR EAX, seSSE
...
@@CheckSSE42:
        TEST ECX, $00100000 // ECX 20 bits - SSSE4.2 bit
        JZ @@CheckPOPCNT
        OR EAX, seSSE42
@@CheckPOPCNT:
        TEST ECX, $00800000 // ECX 23 bits - POPCNT bit
        JZ @@CheckAESNI
        OR EAX, sePOPCNT
@@CheckAESNI:
        TEST ECX, $02000000 // ECX 25 bits - AESNI bit
        JZ @@CheckPCLMULQDQ
        OR EAX, sePOPCNT
@@CheckPCLMULQDQ:
        TEST ECX, $00000002 // ECX 1 bits - PCLMULQDQ bit
        JZ @@Exit
        OR EAX, sePCLMULQDQ
@@Exit:
        POP EBX
end;
Und ähnlich für CPUX64. Ich glaube, da hat jemand einen Copy/Paste-Fehler gemacht und es sollte so aussehen:
Delphi-Quellcode:
@@CheckAESNI:
        TEST ECX, $02000000 // ECX 25 bits - AESNI bit
        JZ @@CheckPCLMULQDQ
        OR EAX, seAESNI
Leider hat mein I3 laut CPU-Z keine Advanced Encryption Standard Instructions (AES-NI), so das ich natürlich auch von Delphi kein AES-NI (seAESNI = $0080) sehen kann. Das folgende Program
Delphi-Quellcode:
{$apptype console}
uses
  system.sysutils, system.math;
begin
  writeln(IntToHex(TestSSE,16));
end.
gibt 000000000000017F aus sowohl für 32- als auch 64-Bit und es fehlt das $80-Bit. Kann jemand mit AES-NI-Processor-Feature das als Bug bestätigen (d.h. fehlt auch bei ihm das $80-Bit)?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz