x86_64 specific assembly version of field code

This commit is contained in:
Diederik Huys
2013-03-26 00:39:22 +01:00
parent 0cd6372fe8
commit 37c4ab156d
5 changed files with 471 additions and 12 deletions

View File

@@ -1,10 +1,11 @@
FLAGS_COMMON:=-Wall
FLAGS_PROD:=-DNDEBUG -g0 -O3 -march=native
FLAGS_PROD:=-DNDEBUG -O2 -march=native
FLAGS_DEBUG:=-DVERIFY_MAGNITUDE -ggdb3 -O1
FLAGS_TEST:=-DVERIFY_MAGNITUDE -ggdb3 -O3 -march=native
FLAGS_TEST:=-DVERIFY_MAGNITUDE -ggdb3 -O2 -march=native
SECP256K1_FILES := num.h field.h group.h ecmult.h ecdsa.h \
num.cpp field.cpp group.cpp ecmult.cpp ecdsa.cpp \
lin64.asm
ifndef CONF
CONF := gmp
@@ -22,7 +23,7 @@ SECP256K1_FILES := $(SECP256K1_FILES) num_gmp.h num_gmp.cpp
endif
endif
all: *.cpp *.h
all: *.cpp *.asm *.h
+make CONF=openssl all-openssl
+make CONF=gmp all-gmp
@@ -41,8 +42,11 @@ clean-$(CONF):
obj/secp256k1-$(CONF).o: $(SECP256K1_FILES)
$(CXX) $(FLAGS_COMMON) $(FLAGS_PROD) $(FLAGS_CONF) secp256k1.cpp -c -o obj/secp256k1-$(CONF).o
bench-$(CONF): obj/secp256k1-$(CONF).o bench.cpp
$(CXX) $(FLAGS_COMMON) $(FLAGS_PROD) $(FLAGS_CONF) obj/secp256k1-$(CONF).o bench.cpp $(LIBS) -o bench-$(CONF)
obj/lin64.o: lin64.asm
~/tmp/jwasm -Fo obj/lin64.o -elf64 lin64.asm
tests-$(CONF): $(SECP256K1_FILES) tests.cpp
$(CXX) $(FLAGS_COMMON) $(FLAGS_TEST) $(FLAGS_CONF) tests.cpp $(LIBS) -o tests-$(CONF)
bench-$(CONF): obj/secp256k1-$(CONF).o bench.cpp obj/lin64.o
$(CXX) $(FLAGS_COMMON) $(FLAGS_PROD) $(FLAGS_CONF) obj/secp256k1-$(CONF).o obj/lin64.o bench.cpp $(LIBS) -o bench-$(CONF)
tests-$(CONF): $(SECP256K1_FILES) tests.cpp obj/lin64.o
$(CXX) $(FLAGS_COMMON) $(FLAGS_TEST) $(FLAGS_CONF) obj/lin64.o tests.cpp $(LIBS) -o tests-$(CONF)