128 Bit Division/Multiplikation
-
Ich suche nach einer Möglichkeit 128 Bit Integer zu multiplizieren/dividieren. Für Addition/Subtraktion habe ich passende Instruktionen (paddq, psubq) gefunden, aber zu den anderen nicht... Wie heissen die Operationen?
-
SSE afaik mulps
Edit, doch noch fragen: 3DNow, SSE, Standard-Assembler?
MfG SideWinder
-
paddq/psubq verarbeiten 64bit integer - für 128bit integer gibt es keine direkten befehle, allerdings sind zumindest addition/subtraktion und multiplikation relativ leicht aus den 64bit befehlen heraus zu bauen. bei der division wird es etwas unangenehmer - machbar ist es nat.
-
Sagen wir A,B,C,D sind 32 Bit Teile einer Zahl:
A:B:C: D * H:G:F:E = ((D*E)<< 0) + ((C*E)<< 32) + ((B*E)<< 64) + ((A*E)<< 96) + ((D*F)<<32) + ((C*E)<< 64) + ((B*E)<< 96) + ((A*E)<<128) + ((D*G)<<64) + ((C*G)<< 96) + ((B*G)<<128) + ((A*G)<<160) + ((D*H)<<96) + ((C*H)<<128) + ((B*H)<<160) + ((A*H)<<192)
-
sollte in der zweiten zeile statt E nicht F stehen?
.MamboKurt