[Gems-users] ATMTP "unrecognized instruction" error


Date: Thu, 22 Jan 2009 18:18:34 +0200
From: Nikos Anastopoulos <anastop@xxxxxxxxxxxxxxxxx>
Subject: [Gems-users] ATMTP "unrecognized instruction" error
Hi,
we are trying to use ATMTP to evaluate some TM code. We are building our binaries on a Niagara system using Sun Studio 12 (cc 5.9 SunOS_sparc 2007/05/03 ). We compiled with -m64 -mt -Wc,xarch=v9 , as specified in the rock-tm-test Makefile.
However, in contrast to the rock-tm-test example, our program crashes with:

 2 ERROR!!! tlb miss on unrecognized inst: d302a004 CPS bits not set

We used gdb and found out that this corresponds actually to a "ld" instruction. In Rock.h, only ldsb, ldsh, ldsw, ldub, lduh, lduw, ldx instructions are defined. Another "ld" instruction in the same part of the code gives an lduh opcode when masked with MEM_OP_MASK. However, the ld instruction in question, when masked with MEM_OP_MASK gives 0xc1000000, which is not defined in Rock.h and thus we get the "unrecognized inst." error. Moreover, we found an "st" instruction which again when masked with MEM_OP_MASK gives 0xc1200000, which will result in an "unrecognized inst".

Has anyone experienced a similar problem? Could it be a problem with the version of our compiler? Are we missing something in the setup process?

Thanks in advance.

Kind regards,

Nikos.

[← Prev in Thread] Current Thread [Next in Thread→]