-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMake_SSE_nasm
100 lines (81 loc) · 3.79 KB
/
Make_SSE_nasm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Makefile for Libraries for QCD programs
#
# No communications here, so good for clusters as well as workstations
# NASM SSE P3/P4 specialization
# You will need the NASM assembler. See http://nasm.2y.net
# DO NOT USE WITH DOUBLE PRECISION VERSION!! (Until we have double
# precision assembly code)
# Some SU(3) operations assembly coded in NASM. See files in the
# sse/libraries directory with suffix .nas.
MAKEFILE = Make_SSE_nasm
# See Make_vanilla for a generic processor
# See Make_t3e for the Cray T3E assembly code
# See Make_alpha for DEC alpha assembly code
# See Make_RS6K for IBM AIX RS6000
# Architecture and cc flags
CARCH=
CARCH= -fexpensive-optimizations -fpeephole -fstrength-reduce -march=i586
CODETYPE = -DFAST # usually unchanged
CFLAGS = -O ${CARCH} -Wall ${CODETYPE}
CC = gcc
# For invoking the NASM assembler
ASM = nasm
ASMFLAGS = -f elf
NASM_SOURCE1 = ../sse/nas
NASM_SOURCE2 = ../sse2/nas
# The list below should conform to the routines in the libraries
# The first set is available only in single precision
addvec.1o: ${NASM_SOURCE}/sse_addvec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_addvec.s
sub4vecs.1o: ${NASM_SOURCE}/sse_sub4vecs.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_sub4vecs.s
s_m_a_vec.1o: ${NASM_SOURCE}/sse_s_m_a_vec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_s_m_a_vec.s
s_m_a_mat.1o: ${NASM_SOURCE}/sse_s_m_a_mat.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_s_m_a_mat.s
# The second set is available in both precisions
m_amat_hwvec.1o: ${NASM_SOURCE}/sse_m_amat_hwvec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_amat_hwvec.s
m_amatvec.1o: ${NASM_SOURCE}/sse_m_amatvec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_amatvec.s
m_amv_4dir.1o: ${NASM_SOURCE}/sse_m_amv_4dir.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_amv_4dir.s
m_amv_4vec.1o: ${NASM_SOURCE}/sse_m_amv_4vec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_amv_4vec.s
m_mat_an.1o: ${NASM_SOURCE}/sse_m_mat_an.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_mat_an.s
m_mat_hwvec.1o: ${NASM_SOURCE}/sse_m_mat_hwvec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_mat_hwvec.s
m_mat_na.1o: ${NASM_SOURCE}/sse_m_mat_na.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_mat_na.s
m_mat_nn.1o: ${NASM_SOURCE}/sse_m_mat_nn.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_mat_nn.s
m_matvec.1o: ${NASM_SOURCE}/sse_m_matvec.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_matvec.s
m_mv_s_4dir.1o: ${NASM_SOURCE}/sse_m_mv_s_4dir.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_m_mv_s_4dir.s
su3_proj.1o: ${NASM_SOURCE}/sse_su3_proj.s
${ASM} ${ASMFLAGS} -o $*.1o ${NASM_SOURCE}/sse_su3_proj.s
m_amat_hwvec.2o: ${NASM_SOURCE}/sse_m_amat_hwvec.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_amat_hwvec.s
m_amatvec.2o: ${NASM_SOURCE}/sse_m_amatvec.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_amatvec.s
m_amv_4dir.2o: ${NASM_SOURCE}/sse_m_amv_4dir.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_amv_4dir.s
m_amv_4vec.2o: ${NASM_SOURCE}/sse_m_amv_4vec.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_amv_4vec.s
m_mat_an.2o: ${NASM_SOURCE}/sse_m_mat_an.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_mat_an.s
m_mat_hwvec.2o: ${NASM_SOURCE}/sse_m_mat_hwvec.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_mat_hwvec.s
m_mat_na.2o: ${NASM_SOURCE}/sse_m_mat_na.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_mat_na.s
m_mat_nn.2o: ${NASM_SOURCE}/sse_m_mat_nn.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_mat_nn.s
m_matvec.2o: ${NASM_SOURCE}/sse_m_matvec.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_matvec.s
m_mv_s_4dir.2o: ${NASM_SOURCE}/sse_m_mv_s_4dir.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_m_mv_s_4dir.s
su3_proj.2o: ${NASM_SOURCE}/sse_su3_proj.s
${ASM} ${ASMFLAGS} -o $*.2o ${NASM_SOURCE}/sse_su3_proj.s
include Make_template