Closed
Bug 847220
Opened 13 years ago
Closed 12 years ago
nanojit-lirasm need updated
Categories
(Core Graveyard :: Nanojit, defect)
Tracking
(Not tracked)
RESOLVED
INVALID
People
(Reporter: mingodad, Unassigned)
Details
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:19.0) Gecko/20100101 Firefox/19.0
Build ID: 20130227155321
Steps to reproduce:
I tried to compile the nanojit-lirasm and it doesn't compile, there is dependency not solved for flot4Support, when manually including float4Support.(h & cpp), there is a dependency not solved with "sqrtf", commenting all code that uses "sqrtf", there is a problem with "Lirasm" class constructor complaining about missong Codealloc() constructor without arguments:
Lirasm::Lirasm(bool verbose, Config& config) :
mConfig(config),mCodeAlloc(&mConfig), ////// adding mCodeAlloc(&mConfig), solve it
mAssm(mCodeAlloc, mAlloc, mAlloc, &mLogc, mConfig)
Actual results:
Several errors reported by the compiler related to the problems reported.
After the process described above, I run "make check" and get this failures:
...
TEST-PASS | lirasm | lirasm --execute --random 1000000
Assertion failure: memcmp( &f4, &other, sizeof(float4_t)) == 0 (./nanojit/LIR.cpp:3401)
TEST-UNEXPECTED-FAIL | lirasm | lirasm --execute --random 1000000 --optimize
expected output
Output is: 0
actual output
TEST-PASS | lirasm | lirasm --nosse --execute ./lirasm/tests/./addd.in
...
Assertion failure: _config.i386_sse2 (./nanojit/Nativei386.cpp:1918)
TEST-UNEXPECTED-FAIL | lirasm | lirasm --nosse --execute --random 1000000
expected output
Output is: 0
actual output
make: *** [check] Error 1
Expected results:
Compile and produce "lirasm" executable and also pass all tests.
| Reporter | ||
Comment 1•13 years ago
|
||
/* config.h. Generated from config.h.in by configure. */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#define DEBUG 1
/* #undef AVMPLUS_AMD64 */
/* #undef AVMPLUS_64BIT */
/* #undef AVMPLUS_ARM */
#define AVMPLUS_IA32 1
#define AVMPLUS_LINUX 1
/* #undef AVMPLUS_OS2 */
/* #undef AVMPLUS_PPC */
/* #undef AVMPLUS_MIPS */
/* #undef VMCFG_SH4 */
/* #undef VMCFG_FLOAT */
#define VMCFG_SSE2 1
/* #undef VMCFG_NEON */
/* #undef AVMPLUS_SPARC */
/* #undef SOLARIS */
#define AVMPLUS_UNIX 1
/* #undef AVMPLUS_WIN32 */
#define FEATURE_NANOJIT 1
/* #undef WINVER */
/* #undef _CRT_NONSTDC_NO_DEPRECATE */
/* #undef _CRT_NONSTDC_NO_WARNINGS */
/* #undef _CRT_SECURE_NO_DEPRECATE */
/* #undef _CRT_SECURE_NO_WARNINGS */
/* #undef WIN32 */
/* #undef _WIN32_IE */
/* #undef _WIN32_WINNT */
| Reporter | ||
Comment 2•13 years ago
|
||
Instead of commenting out references to "sqrtf" now I added a define prior to it's usage on float4Support and could compile it as well but with the same errors when "make check":
#define sqrtf sqrt
// in hardware: vdupq_n_f32, or _mm_sqrt_ps
REALLY_INLINE float4_t f4_sqrt(const float4_t& v)
{
float4_t retval = { sqrtf(v.x), sqrtf(v.y), sqrtf(v.z), sqrtf(v.w)};
return retval;
}
| Reporter | ||
Comment 3•13 years ago
|
||
I did some modifications to see why the test fails:
//NanoAssert(VMPI_memcmp( &f4, &other, sizeof(float4_t)) == 0);
if(!f4_eq_i(f4, other)){
printf("%d :: %d :: %.17f:%.17f, %.17f:%.17f, %.17f:%.17f, %.17f:%.17f\n",
f4_eq_i(f4, other), VMPI_memcmp( &f4, &other, sizeof(float4_t)),
f4.x, other.x, f4.y, other.y, f4.w, other.w, f4.z, other.z);
//printf("%d %d\n", f4_eq_i(f4, other), VMPI_memcmp( &f4, &other, sizeof(float4_t)));
}
//NanoAssert(f4_eq_i(f4, other));
And I've got this output on one run:
TEST-UNEXPECTED-FAIL | lirasm | lirasm --execute --random 1000000 --optimize
expected output
Output is: 0
actual output
0 :: -1 :: nan:nan, 180.00000000000000000:180.00000000000000000, 0.00000000000000000:0.00000000000000000, 0.00000000000039189:0.00000000000039189
0 :: 0 :: -nan:-nan, 0.00000000000000000:0.00000000000000000, 2.40486621856689453:2.40486621856689453, 0.00000000000000000:0.00000000000000000
0 :: 0 :: -nan:-nan, 0.00000000000000000:0.00000000000000000, 0.00000000000000000:0.00000000000000000, 0.00000000000000000:0.00000000000000000
I fails due to the presence of "nan" or "-nan" and obviously on that situation the other bits contains rubish.
The "nan" was expected to happen or it is a bug ?
Comment 4•12 years ago
|
||
Nanojit is long gone.
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
| Assignee | ||
Updated•12 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•