Re: about named address space

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, May 21, 2011 at 8:19 AM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
> Rony Paul <ronypaul77@xxxxxxxxx> writes:
>
>> Can you explain me the following piece of code?
>>
>>       rtx result, ls;
>>
>>       ls = gen_const_mem (DImode,
>>                         gen_rtx_SYMBOL_REF (Pmode, "__ea_local_store"));
>
> Build a memory reference to the address __ea_local_store in DImode
> (64-bit).
>
>>       set_mem_align (ls, 128);
>
> Set the alignment of that memory to 128 bits.
>
>>       result = gen_reg_rtx (Pmode);
>
> Build a pseudo-register of type Pmode.
>
>>       ls = force_reg (Pmode, convert_modes (Pmode, DImode, ls, 1));
>
> Copy ls to a new pseudo-register, converting it from DImode to Pmode.
>
>>       op = force_reg (Pmode, convert_modes (Pmode, EAmode, op, 1));
>
> Copy op to a new pseudo-register, converting it from EAmode to Pmode.
>
>>       ls = emit_conditional_move (ls, NE, op, const0_rtx, Pmode,
>>                                         ls, const0_rtx, Pmode, 1);
>
> Equivalent to ls = op != 0 ? ls : 0.
>
>>       emit_insn (gen_subsi3 (result, op, ls));
>
> Equivalent to result = op - ls.
>
> So basically if op is not 0, this subtracts __ea_local_store from it.
>
> Ian
>

Hello,

I user declare a variable "x", then when compiler executes that and
stores in memory, can  you tell me what is the rtx code for storing
that variable? and in which file in GCC it is done?

-Rony



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux