Browse Source

go.crypto/poly1305: enable AMD64 assembly

This change alters the assembly to use FSUBD instructions such that
6l will actually emit the correct FSUBRD instructions and enables
the assembly code.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6514044
Adam Langley 13 năm trước cách đây
mục cha
commit
9c0a3ae199
3 tập tin đã thay đổi với 17 bổ sung15 xóa
  1. 15 15
      poly1305/poly1305_amd64.s
  2. 0 0
      poly1305/sum_amd64.go
  3. 2 0
      poly1305/sum_ref.go

+ 15 - 15
poly1305/poly1305_amd64.s.needs103 → poly1305/poly1305_amd64.s

@@ -109,22 +109,22 @@ TEXT ·poly1305(SB),0,$224-32
 	FMOVD ·ALPHA130(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA130(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FMULD ·SCALE(SB), F0
 	FMOVD ·ALPHA32(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA32(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FXCHD F0, F2
 	FADDDP F0,F1
 	FMOVD ·ALPHA64(SB), F0
 	FADDD F4,F0
 	FSUBD ·ALPHA64(SB), F0
-	FSUBRD F0,F4
+	FSUBD F0,F4
 	FMOVD ·ALPHA96(SB), F0
 	FADDD F6,F0
 	FSUBD ·ALPHA96(SB), F0
-	FSUBRD F0,F6
+	FSUBD F0,F6
 	FXCHD F0, F6
 	FADDDP F0,F1
 	FXCHD F0, F3
@@ -202,20 +202,20 @@ TEXT ·poly1305(SB),0,$224-32
 	FMOVD ·ALPHA130(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA130(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FMULD ·SCALE(SB), F0
 	FMOVD ·ALPHA32(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA32(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FMOVD ·ALPHA64(SB), F0
 	FADDD F5,F0
 	FSUBD ·ALPHA64(SB), F0
-	FSUBRD F0,F5
+	FSUBD F0,F5
 	FMOVD ·ALPHA96(SB), F0
 	FADDD F7,F0
 	FSUBD ·ALPHA96(SB), F0
-	FSUBRD F0,F7
+	FSUBD F0,F7
 	FXCHD F0, F7
 	FADDDP F0,F1
 	FXCHD F0, F5
@@ -304,20 +304,20 @@ TEXT ·poly1305(SB),0,$224-32
 	FMOVD ·ALPHA130(SB), F0
 	FADDD F3,F0
 	FSUBD ·ALPHA130(SB), F0
-	FSUBRD F0,F3
+	FSUBD F0,F3
 	FMULD ·SCALE(SB), F0
 	FMOVD ·ALPHA32(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA32(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FMOVD ·ALPHA64(SB), F0
 	FADDD F6,F0
 	FSUBD ·ALPHA64(SB), F0
-	FSUBRD F0,F6
+	FSUBD F0,F6
 	FMOVD ·ALPHA96(SB), F0
 	FADDD F5,F0
 	FSUBD ·ALPHA96(SB), F0
-	FSUBRD F0,F5
+	FSUBD F0,F5
 	FXCHD F0, F4
 	FADDDP F0,F3
 	FXCHD F0, F6
@@ -380,16 +380,16 @@ TEXT ·poly1305(SB),0,$224-32
 	FMOVD ·ALPHA130(SB), F0
 	FADDD F4,F0
 	FSUBD ·ALPHA130(SB), F0
-	FSUBRD F0,F4
+	FSUBD F0,F4
 	FMULD ·SCALE(SB), F0
 	FMOVD ·ALPHA32(SB), F0
 	FADDD F2,F0
 	FSUBD ·ALPHA32(SB), F0
-	FSUBRD F0,F2
+	FSUBD F0,F2
 	FMOVD ·ALPHA64(SB), F0
 	FADDD F4,F0
 	FSUBD ·ALPHA64(SB), F0
-	FSUBRD F0,F4
+	FSUBD F0,F4
 	FMOVD ·ALPHA96(SB), F0
 	FADDD F6,F0
 	FSUBD ·ALPHA96(SB), F0

+ 0 - 0
poly1305/sum_amd64.go.needs103 → poly1305/sum_amd64.go


+ 2 - 0
poly1305/sum_ref.go

@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+// +build !amd64
+
 package poly1305
 
 // Based on original, public domain implementation from NaCl by D. J.