public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
From: Rony Paul <ronypaul77@gmail.com>
To: gcc-help@gcc.gnu.org
Subject: Re: about named address space
Date: Fri, 20 May 2011 19:40:00 -0000	[thread overview]
Message-ID: <BANLkTik-Y0=YL3pOUQJ_JJ-dKtezJuQVVQ@mail.gmail.com> (raw)
In-Reply-To: <BANLkTi=mDVA-UNsHG6a2UBDT7Sdrz5RzqA@mail.gmail.com>

On Tue, May 17, 2011 at 5:35 PM, Rony Paul <ronypaul77@gmail.com> wrote:
> Rony Paul <ronypaul77@gmail.com> writes:
>
>> On Wed, May 4, 2011 at 4:35 PM, Ian Lance Taylor <iant@google.com> wrote:
>>> Rony Paul <ronypaul77@gmail.com> writes:
>>>
>>>> Thank you for your reply. I am new in this development. so I am askig
>>>> you Âvery basic question. I dont have enough knowledge on "backend",
>>>> what did you man with this term?
>>>>
>>>> my task is to use one memory space as big endian, other as little
>>>> endian, and to use Âcopying of pointer from 1 memory space to another.
>>>> Just tell me what should be my beggining step? which files I should modify?
>>>
>>> Please reply to the mailing list, not just to me. ÂAlso, please don't
>>> top-post. ÂThanks.
>>>
>>> Re: backend: See http://en.wikipedia.org/wiki/Compilers . ÂIn gcc the
>>> backend is the CPU-specific code in config/CPU.
>>>
>>> You haven't said anything about your target. ÂIs your memory different
>>> at the hardware level? ÂIf not, named address spaces are probably not
>>> the right approach.
>>>
>>> Ian
>>>
>>>
>>>> Rony Paul <ronypaul77@gmail.com> writes:
>>>>
>>>>> I want to use named address space support to allow mixed endian
>>>>> applications. Specifying the endianness of address spaces.
>>>>> Can you suggest me what should I do in this purpose? and which files I
>>>>> need to modify ?
>>>>
>>>> In general named address space is described here:
>>>>
>>>> http://gcc.gnu.org/onlinedocs/gccint/Named-Address-Spaces.html
>>>>
>>>> You didn't mention which backend you are using and you didn't mention
>>>> how you mean to handle pointers to an address space of different
>>>> endianness. ÂNamed address spaces seem appropriate if some of your
>>>> memory is big-endian and some is little-endian. ÂI don't know whether
>>>> they are appropriate if you want to have both big-endian and
>>>> little-endian pointers to the same area of memory.
>>>>
>>>> Ian
>>>
>> Thank you for the reply.
>>
>> Yes I have separate memory at the hardware level. And as far I learnt
>> that named address space is already implemented for SPU processor. SPU
>> port uses the __ea address space to refer to memory in the host
>> processor, rather than memory local to the SPU processor.
>> I am now just in the learning phase. SO , if I want to modify that
>> code (just to learn) and want to add one more address space keyword
>> like "__ea"............what should I do?
>
> Start by reading the link I mentioned above:
>
> http://gcc.gnu.org/onlinedocs/gccint/Named-Address-Spaces.html
>
> That explains what you do to add more address spaces.  It requires
> modifying the gcc source code and rebuilding gcc.
>
> Ian
>
>
> Dear Ian,
>
> Thanks for your help. I have started according to the mentioned link.
> And I could give support for another address space. what I want to do
> now is, I want to store data in different byte order in the new
> address space. that is, suppose I have 2 address spaces supported. 1.)
> Generic address space. 2.) __net address space.
>
> when some variable is declared in the __net address space, I will
> store in Bigendian order. , and whrn variable is declared in generic
> address space, It will store in little Endian order.
>
> Do you have any suggestion or idea??
>
> -Rony
>

Hello,

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"));
      set_mem_align (ls, 128);

      result = gen_reg_rtx (Pmode);
      ls = force_reg (Pmode, convert_modes (Pmode, DImode, ls, 1));
      op = force_reg (Pmode, convert_modes (Pmode, EAmode, op, 1));
      ls = emit_conditional_move (ls, NE, op, const0_rtx, Pmode,
					  ls, const0_rtx, Pmode, 1);

      emit_insn (gen_subsi3 (result, op, ls));


-Rony

  reply	other threads:[~2011-05-20 14:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-17 16:44 Rony Paul
2011-05-20 19:40 ` Rony Paul [this message]
2011-05-21  7:15   ` Ian Lance Taylor
2011-05-24 11:56     ` Rony Paul
2011-05-24 20:25       ` Ian Lance Taylor
2011-05-28  8:47         ` Rony Paul
2011-05-28 23:32           ` Ian Lance Taylor
2011-06-06 10:44             ` Rony Paul
2011-06-06 19:33               ` Rony Paul
2011-06-06 19:51                 ` Ian Lance Taylor
     [not found] <BANLkTinKZYCvTij1-7-X8+-_Zo_e77Y=8Q@mail.gmail.com>
     [not found] ` <mcr7ha63553.fsf@coign.corp.google.com>
2011-05-04 15:45   ` Rony Paul
2011-05-04 17:35     ` Ian Lance Taylor
  -- strict thread matches above, loose matches on Subject: below --
2011-05-02  9:18 Rony Paul
2011-05-02 20:14 ` Ian Lance Taylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='BANLkTik-Y0=YL3pOUQJ_JJ-dKtezJuQVVQ@mail.gmail.com' \
    --to=ronypaul77@gmail.com \
    --cc=gcc-help@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).