[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Intel C/C++ free compilers
- From: Eero Pajarre <epajarre@...>
- Date: Sun, 19 Jan 2003 21:12:25 +0200
Eero Pajarre wrote:
In any case, I will check again because of your results.
Maybe the most interesting result so far is that with my
normal compilation options (which I use with Microsoft
compiler) the 4.5 Intel compiler generates incorrect
code. The options include /Oa (assume no aliasing) so
I cannot say for sure should this be called a compiler bug.
(It is possibly a documentation bug, because the docs claim
that this option is ignored by the compiler... )
The problematic code is in f_luaopen (lstate.c)
defaultmeta(L)->tt = LUA_TTABLE;
sethvalue(defaultmeta(L), luaH_new(L, 0, 4));
hvalue(defaultmeta(L))->metatable = hvalue(defaultmeta(L));
In generated code the compiler reorders the instructions so much,
that it does not write the result of luaF_new into memory
before it uses that value on the next line...
When compiled without /Oa and Intel compiler my application
on whole does not run noticeably faster than when compiled
with the Microsoft compiler. (actually it is little slower)