[LLVMdev] Trunc Load
Johannes Birgmeier
e0902998 at student.tuwien.ac.at
Thu Oct 27 10:40:31 PDT 2011
> This is contradictory: on a little-endian processor, the address for
> loading a 64-bit value is same as the address of the low word. Are
> you sure you're modeling the semantics of your lddw and stddw
> instructions correctly?
... I thought so until now. Because I implemented stdw (store
doubleword) completely analogous to lddw: Just print out stdw with the
given pointer and the register pair, just like lddw. (This seems obvious.)
Well, ****. I just read the documentation very carefully (yeah I know.
I'm sorry) and it seems that stdw doesn't care about the big/little
endian setting, it always writes the regpair into memory in big endian.
lddw, however, DOES care about the setting - if little endian is
enabled, the result register pair gets switched. What kind of confusion
could have provoked the TI engineers to create such a horrible
instruction set?
OK, thanks for the hints. I'll try to sort this out.
Cheers!
Johannes
More information about the llvm-dev
mailing list