[LLVMdev] Trunc Load
Eli Friedman
eli.friedman at gmail.com
Thu Oct 27 10:01:21 PDT 2011
On Thu, Oct 27, 2011 at 9:29 AM, Johannes Birgmeier
<e0902998 at student.tuwien.ac.at> wrote:
>
>> Hi Johannes, what processor are you targeting? Is it little-endian or
>> big-endian?
> Little-endian. (The truth: you can set it manually, but it is set to
> little endian, for sure.) The processor is a TI TMS320C64x.
>
> Follow-up: I discovered that the "guilty" method is
> DAGCombiner::ReduceLoadWidth. The error is introduced because the offset
> is not calculated correctly.
>
> The first problem is that the pointer I get for loading does not point
> to the address of the low word, but to the address of the high word.
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?
-Eli
More information about the llvm-dev
mailing list