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.
|