Hi,<div><br></div><div>this is unrelated to the issue I reported.</div><div><br></div><div>I think Erik forgot to commit gmx_sse2_double.h with that commit. Compile in single precision works.</div><div><br></div><div>Roland<br>

<br><div class="gmail_quote">On Mon, Jul 26, 2010 at 7:49 PM, Alexey Shvetsov <span dir="ltr">&lt;<a href="mailto:alexxyum@gmail.com">alexxyum@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi all!<br>
<br>
Seems after commit 0648cdb56793bae5ec3f205add0a95330d08ae19 gromacs<br>
dont builds anymore on linux x86_64<br>
<br>
<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxlib/n<br>
onbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c: In function<br>
‘nb_kernel_allvsall_sse2_double’:<br>
/var/tmp/portage/sci-chemistry/gromacs-999<br>
9/work/gromacs-9999/src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allv<br>
sall_sse2_double.c:694: error: incompatible types when assigning to type<br>
‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:695:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:702:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:703:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:794:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:795:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:798:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:799:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:892:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:893:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:899:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsall_sse2_double.c:900:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
make[5]: *** [nb_kernel_allvsall_sse2_double.lo] Error 1<br>
make[5]: ***<br>
Waiting for unfinished<br>
jobs....<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/g<br>
mxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:40:2<br>
9: error: gmx_sse2_double.h: No such file or<br>
directory<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/<br>
gmxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c: In<br>
function<br>
‘nb_kernel_allvsallgb_sse2_double’:<br>
/var/tmp/portage/sci-chemistry/gromacs-9<br>
999/work/gromacs-9999/src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_al<br>
lvsallgb_sse2_double.c:735: error: incompatible types when assigning to type<br>
‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:736:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:743:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:744:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:933:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:934:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:937:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:938:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:1129:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:1130:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:1137:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999/src/gmxl<br>
ib/nonbonded/nb_kernel_x86_64_sse2/nb_kernel_allvsallgb_sse2_double.c:1138:<br>
error: incompatible types when assigning to type ‘__m128d’ from type<br>
‘int’<br>
make[5]: *** [nb_kernel_allvsallgb_sse2_double.lo] Error 1<br>
make[5]:<br>
Leaving directory<br>
`/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999-double/src/gm<br>
xlib/nonbonded/nb_kernel_x86_64_sse2&#39;<br>
make[4]: *** [all-recursive] Error<br>
1<br>
make[4]: Leaving directory<br>
`/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999-double/src/gm<br>
xlib/nonbonded&#39;<br>
make[3]: *** [all-recursive] Error 1<br>
make[3]: Leaving<br>
directory<br>
`/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999-double/src/gm<br>
xlib&#39;<br>
make[2]: *** [all-recursive] Error 1<br>
make[2]: Leaving directory<br>
`/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999-double/src&#39;<br>
m<br>
ake[1]: *** [all] Error 2<br>
make[1]: Leaving directory<br>
`/var/tmp/portage/sci-chemistry/gromacs-9999/work/gromacs-9999-double/src&#39;<br>
m<br>
ake: *** [all-recursive] Error 1<br>
<br>
<br>
<br>
<br>
On Monday 26 of July 2010 09:00:46<br>
<div><div></div><div class="h5">Roland Schulz wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; gmx_sse2_single.h doesn&#39;t compile with MSVC<br>
2010 on 32bit. As the COMPILER<br>
&gt; RANT in the file states MSVC doesn&#39;t<br>
support more than 3 __m128 parameters.<br>
&gt; In the rant it also says that  some<br>
compilers don&#39;t support pointers to<br>
&gt; __m128. For what compiler is this<br>
still true? If none, I suggest to change<br>
&gt; the arguments to const<br>
pointers.<br>
&gt;<br>
&gt; If there are still, some: Are there also compilers which<br>
don&#39;t support<br>
&gt; either pointers nor unlimited __m128 parameters?<br>
&gt;<br>
&gt; If<br>
not, I suggest a mixed approach. Where we detect which version is<br>
&gt;<br>
supported and use macros to have to write each function only once. See the<br>
&gt;<br>
below example. I think this is much less error prone than converting all<br>
&gt;<br>
functions to macros as the rant suggests. Mainly because of the double<br>
&gt;<br>
evaluation pitfall of macros.<br>
&gt;<br>
&gt; Roland<br>
&gt;<br>
&gt; sample:<br>
&gt; #include<br>
&lt;xmmintrin.h&gt;<br>
&gt;<br>
&gt; #ifdef SSE_POINTER<br>
&gt; #define SSE_M128(a) const __m128<br>
*a<br>
&gt; #define SSE_REF(a) (&amp;a)<br>
&gt; #define SSE_IND(a) (*a)<br>
&gt; #else<br>
&gt; #define<br>
SSE_M128(a) __m128 a<br>
&gt; #define SSE_REF(a) (a)<br>
&gt; #define SSE_IND(a) (a)<br>
&gt;<br>
#endif<br>
&gt;<br>
&gt; static inline void f(SSE_M128(b)) {<br>
&gt;   __m128 x = SSE_IND(b);<br>
&gt;<br>
}<br>
&gt;<br>
&gt; int main() {<br>
&gt;   __m128 x;<br>
&gt;   f(SSE_REF(x));<br>
&gt;   return 0;<br>
&gt; }<br>
<br>
--<br>
<br>
</div></div>Best Regards,<br>
Alexey &#39;Alexxy&#39; Shvetsov<br>
Petersburg Nuclear Physics<br>
Institute, Russia<br>
Department of Molecular and Radiation Biophysics<br>
Gentoo<br>
Team Ru<br>
Gentoo Linux<br>
Dev<br>
mailto:<a href="mailto:alexxyum@gmail.com">alexxyum@gmail.com</a><br>
mailto:<a href="mailto:alexxy@gentoo.org">alexxy@gentoo.org</a><br>
mailto:<a href="mailto:alexxy@omrb.pn">alexxy@omrb.pn</a><br>
<a href="http://pi.spb.ru" target="_blank">pi.spb.ru</a><br>
<br>--<br>
gmx-developers mailing list<br>
<a href="mailto:gmx-developers@gromacs.org">gmx-developers@gromacs.org</a><br>
<a href="http://lists.gromacs.org/mailman/listinfo/gmx-developers" target="_blank">http://lists.gromacs.org/mailman/listinfo/gmx-developers</a><br>
Please don&#39;t post (un)subscribe requests to the list. Use the<br>
www interface or send it to <a href="mailto:gmx-developers-request@gromacs.org">gmx-developers-request@gromacs.org</a>.<br></blockquote></div><br><br clear="all"><br>-- <br>ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov">cmb.ornl.gov</a><br>

865-241-1537, ORNL PO BOX 2008 MS6309<br>
</div>