nb_kernel214_ia32_sse2.intel_syntax.s

来自「最著名最快的分子模拟软件」· S 代码 · 共 2,137 行 · 第 1/5 页

S
2,137
字号
	movapd xmm0, [esp + nb214_rsqH2H1]	movapd xmm4, [esp + nb214_rsqH2H2]		cvtsd2ss xmm1, xmm0		cvtsd2ss xmm5, xmm4		rsqrtss xmm1, xmm1	rsqrtss xmm5, xmm5	cvtss2sd xmm1, xmm1	cvtss2sd xmm5, xmm5		movapd  xmm2, xmm1	;# copy of luA 	movapd  xmm6, xmm5	;# copy of luB 	mulsd   xmm1, xmm1	;# luA*luA 	mulsd   xmm5, xmm5	;# luB*luB 	movapd  xmm3, [esp + nb214_three]	mulsd   xmm1, xmm0	;# rsqA*luA*luA 	mulsd   xmm5, xmm4	;# rsqB*luB*luB 		movapd  xmm7, xmm3	subsd   xmm3, xmm1	;# 3-rsqA*luA*luA 	subsd   xmm7, xmm5	;# 3-rsqB*luB*luB 	mulsd   xmm3, xmm2	;# luA*(3-rsqA*luA*luA) 	mulsd   xmm7, xmm6	;# luB*(3-rsqB*luB*luB) 	mulsd   xmm3, [esp + nb214_half] ;# iter1a 	mulsd   xmm7, [esp + nb214_half] ;# iter1b 	movapd  xmm2, xmm3	;# copy of luA 	movapd  xmm6, xmm7	;# copy of luB 	mulsd   xmm3, xmm3	;# luA*luA 	mulsd   xmm7, xmm7	;# luB*luB 	movapd  xmm1, [esp + nb214_three]	mulsd   xmm3, xmm0	;# rsqA*luA*luA 	mulsd   xmm7, xmm4	;# rsqB*luB*luB 		movapd  xmm5, xmm1	subsd   xmm1, xmm3	;# 3-rsqA*luA*luA 	subsd   xmm5, xmm7	;# 3-rsqB*luB*luB 	mulsd   xmm1, xmm2	;# luA*(3-rsqA*luA*luA) 	mulsd   xmm5, xmm6	;# luB*(3-rsqB*luB*luB) 	mulsd   xmm1, [esp + nb214_half] ;# rinv 	mulsd   xmm5, [esp + nb214_half] ;# rinv 	movapd [esp + nb214_rinvH2H1], xmm1	movapd [esp + nb214_rinvH2H2], xmm5	movapd xmm0, [esp + nb214_rsqMH1]	movapd xmm4, [esp + nb214_rsqH2M]		cvtsd2ss xmm1, xmm0		cvtsd2ss xmm5, xmm4		rsqrtss xmm1, xmm1	rsqrtss xmm5, xmm5	cvtss2sd xmm1, xmm1	cvtss2sd xmm5, xmm5		movapd  xmm2, xmm1	;# copy of luA 	movapd  xmm6, xmm5	;# copy of luB 	mulsd   xmm1, xmm1	;# luA*luA 	mulsd   xmm5, xmm5	;# luB*luB 	movapd  xmm3, [esp + nb214_three]	mulsd   xmm1, xmm0	;# rsqA*luA*luA 	mulsd   xmm5, xmm4	;# rsqB*luB*luB 		movapd  xmm7, xmm3	subsd   xmm3, xmm1	;# 3-rsqA*luA*luA 	subsd   xmm7, xmm5	;# 3-rsqB*luB*luB 	mulsd   xmm3, xmm2	;# luA*(3-rsqA*luA*luA) 	mulsd   xmm7, xmm6	;# luB*(3-rsqB*luB*luB) 	mulsd   xmm3, [esp + nb214_half] ;# iter1a 	mulsd   xmm7, [esp + nb214_half] ;# iter1b 	movapd  xmm2, xmm3	;# copy of luA 	movapd  xmm6, xmm7	;# copy of luB 	mulsd   xmm3, xmm3	;# luA*luA 	mulsd   xmm7, xmm7	;# luB*luB 	movapd  xmm1, [esp + nb214_three]	mulsd   xmm3, xmm0	;# rsqA*luA*luA 	mulsd   xmm7, xmm4	;# rsqB*luB*luB 		movapd  xmm5, xmm1	subsd   xmm1, xmm3	;# 3-rsqA*luA*luA 	subsd   xmm5, xmm7	;# 3-rsqB*luB*luB 	mulsd   xmm1, xmm2	;# luA*(3-rsqA*luA*luA) 	mulsd   xmm5, xmm6	;# luB*(3-rsqB*luB*luB) 	mulsd   xmm1, [esp + nb214_half] ;# rinv 	mulsd   xmm5, [esp + nb214_half] ;# rinv 	movapd [esp + nb214_rinvMH1], xmm1	movapd [esp + nb214_rinvH2M], xmm5	;# start with OO interaction 	movsd xmm0, [esp + nb214_rinvsqOO] ;# xmm0=rinvsq	movapd  xmm1, xmm0		mulsd   xmm1, xmm1 ;# rinv4	mulsd   xmm1, xmm0 ;#rinvsix	movsd  xmm2, xmm1	mulsd	xmm2, xmm2 ;# rinvtwelve	mulsd  xmm1, [esp + nb214_c6]	mulsd  xmm2, [esp + nb214_c12]	movsd xmm3, xmm2	subsd  xmm3, xmm1	;# Vvdw=Vvdw12-Vvdw6 			addsd  xmm3, [esp + nb214_Vvdwtot]	mulsd  xmm1, [esp + nb214_six]	mulsd  xmm2, [esp + nb214_twelve]	subsd  xmm2, xmm1	mulsd  xmm2, xmm0	movsd [esp + nb214_Vvdwtot], xmm3	movapd xmm0, xmm2	movapd xmm1, xmm2		xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulsd xmm0, [esp + nb214_dxOO]	mulsd xmm1, [esp + nb214_dyOO]	mulsd xmm2, [esp + nb214_dzOO]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixO]	addsd xmm1, [esp + nb214_fiyO]	addsd xmm2, [esp + nb214_fizO]	movsd [esp + nb214_fjxO], xmm3	movsd [esp + nb214_fjyO], xmm4	movsd [esp + nb214_fjzO], xmm5	movsd [esp + nb214_fixO], xmm0	movsd [esp + nb214_fiyO], xmm1	movsd [esp + nb214_fizO], xmm2	;# H1-H1 interaction 	movsd xmm0, [esp + nb214_rinvH1H1]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH1H1] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulsd xmm0, [esp + nb214_dxH1H1]	mulsd xmm1, [esp + nb214_dyH1H1]	mulsd xmm2, [esp + nb214_dzH1H1]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH1]	addsd xmm1, [esp + nb214_fiyH1]	addsd xmm2, [esp + nb214_fizH1]	movsd [esp + nb214_fjxH1], xmm3	movsd [esp + nb214_fjyH1], xmm4	movsd [esp + nb214_fjzH1], xmm5	movsd [esp + nb214_fixH1], xmm0	movsd [esp + nb214_fiyH1], xmm1	movsd [esp + nb214_fizH1], xmm2	;# H1-H2 interaction  	movsd xmm0, [esp + nb214_rinvH1H2]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH1H2] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulsd xmm0, [esp + nb214_dxH1H2]	mulsd xmm1, [esp + nb214_dyH1H2]	mulsd xmm2, [esp + nb214_dzH1H2]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH1]	addsd xmm1, [esp + nb214_fiyH1]	addsd xmm2, [esp + nb214_fizH1]	movsd [esp + nb214_fjxH2], xmm3	movsd [esp + nb214_fjyH2], xmm4	movsd [esp + nb214_fjzH2], xmm5	movsd [esp + nb214_fixH1], xmm0	movsd [esp + nb214_fiyH1], xmm1	movsd [esp + nb214_fizH1], xmm2	;# H1-M interaction 	movsd xmm0, [esp + nb214_rinvH1M]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH1M] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6	movapd xmm1, xmm0	movapd xmm2, xmm0		xorpd xmm3, xmm3	movapd xmm4, xmm3	movapd xmm5, xmm3	mulsd xmm0, [esp + nb214_dxH1M]	mulsd xmm1, [esp + nb214_dyH1M]	mulsd xmm2, [esp + nb214_dzH1M]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH1]	addsd xmm1, [esp + nb214_fiyH1]	addsd xmm2, [esp + nb214_fizH1]	movsd [esp + nb214_fjxM], xmm3	movsd [esp + nb214_fjyM], xmm4	movsd [esp + nb214_fjzM], xmm5	movsd [esp + nb214_fixH1], xmm0	movsd [esp + nb214_fiyH1], xmm1	movsd [esp + nb214_fizH1], xmm2	;# H2-H1 interaction 	movsd xmm0, [esp + nb214_rinvH2H1]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH2H1] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0		movapd xmm3, [esp + nb214_fjxH1]	movapd xmm4, [esp + nb214_fjyH1]	movapd xmm5, [esp + nb214_fjzH1]	mulsd xmm0, [esp + nb214_dxH2H1]	mulsd xmm1, [esp + nb214_dyH2H1]	mulsd xmm2, [esp + nb214_dzH2H1]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH2]	addsd xmm1, [esp + nb214_fiyH2]	addsd xmm2, [esp + nb214_fizH2]	movsd [esp + nb214_fjxH1], xmm3	movsd [esp + nb214_fjyH1], xmm4	movsd [esp + nb214_fjzH1], xmm5	movsd [esp + nb214_fixH2], xmm0	movsd [esp + nb214_fiyH2], xmm1	movsd [esp + nb214_fizH2], xmm2	;# H2-H2 interaction 	movsd xmm0, [esp + nb214_rinvH2H2]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH2H2] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqHH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqHH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movsd xmm1, xmm0	movsd xmm2, xmm0	movsd xmm3, [esp + nb214_fjxH2]	movsd xmm4, [esp + nb214_fjyH2]	movsd xmm5, [esp + nb214_fjzH2]	mulsd xmm0, [esp + nb214_dxH2H2]	mulsd xmm1, [esp + nb214_dyH2H2]	mulsd xmm2, [esp + nb214_dzH2H2]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH2]	addsd xmm1, [esp + nb214_fiyH2]	addsd xmm2, [esp + nb214_fizH2]	movsd [esp + nb214_fjxH2], xmm3	movsd [esp + nb214_fjyH2], xmm4	movsd [esp + nb214_fjzH2], xmm5	movsd [esp + nb214_fixH2], xmm0	movsd [esp + nb214_fiyH2], xmm1	movsd [esp + nb214_fizH2], xmm2	;# H2-M interaction 	movsd xmm0, [esp + nb214_rinvH2M]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqH2M] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	movapd xmm3, [esp + nb214_fjxM]	movapd xmm4, [esp + nb214_fjyM]	movapd xmm5, [esp + nb214_fjzM]	mulsd xmm0, [esp + nb214_dxH2M]	mulsd xmm1, [esp + nb214_dyH2M]	mulsd xmm2, [esp + nb214_dzH2M]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixH2]	addsd xmm1, [esp + nb214_fiyH2]	addsd xmm2, [esp + nb214_fizH2]	movsd [esp + nb214_fjxM], xmm3	movsd [esp + nb214_fjyM], xmm4	movsd [esp + nb214_fjzM], xmm5	movsd [esp + nb214_fixH2], xmm0	movsd [esp + nb214_fiyH2], xmm1	movsd [esp + nb214_fizH2], xmm2	;# M-H1 interaction 	movsd xmm0, [esp + nb214_rinvMH1]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqMH1] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal 		addsd  xmm6, [esp + nb214_vctot] ;# local vctot summation variable 	mulsd  xmm0, xmm7	movsd [esp + nb214_vctot], xmm6		movapd xmm1, xmm0	movapd xmm2, xmm0	movapd xmm3, [esp + nb214_fjxH1]	movapd xmm4, [esp + nb214_fjyH1]	movapd xmm5, [esp + nb214_fjzH1]	mulsd xmm0, [esp + nb214_dxMH1]	mulsd xmm1, [esp + nb214_dyMH1]	mulsd xmm2, [esp + nb214_dzMH1]	subsd xmm3, xmm0	subsd xmm4, xmm1	subsd xmm5, xmm2	addsd xmm0, [esp + nb214_fixM]	addsd xmm1, [esp + nb214_fiyM]	addsd xmm2, [esp + nb214_fizM]	movsd [esp + nb214_fjxH1], xmm3	movsd [esp + nb214_fjyH1], xmm4	movsd [esp + nb214_fjzH1], xmm5	movsd [esp + nb214_fixM], xmm0	movsd [esp + nb214_fiyM], xmm1	movsd [esp + nb214_fizM], xmm2	;# M-H2 interaction 	movsd xmm0, [esp + nb214_rinvMH2]	movsd xmm7, xmm0	;# xmm7=rinv 	movsd xmm5, [esp + nb214_krf]	mulsd  xmm0, xmm0	;# xmm0=rinvsq 	mulsd  xmm5, [esp + nb214_rsqMH2] ;# xmm5=krsq 	movsd xmm6, xmm5	addsd  xmm6, xmm7	;# xmm6=rinv+ krsq 	subsd  xmm6, [esp + nb214_crf]	mulsd  xmm6, [esp + nb214_qqMH] ;# xmm6=voul=qq*(rinv+ krsq-crf) 	mulsd  xmm5, [esp + nb214_two]	subsd  xmm7, xmm5	;# xmm7=rinv-2*krsq 	mulsd  xmm7, [esp + nb214_qqMH] ;# xmm7 = coul part of fscal

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?