URN Logo
UNIX Resources » Linux » China Linux Forum » CPU 与 编译器 » 2 » 关于GCC后端移植
announcement 声明: 本页内容为中国Linux论坛的内容镜像,文章的版权以及其他所有的相关权利属于中国Linux论坛和相应文章的作者,如果转载,请注明文章来源及相关版权信息。
Resources
China Linux Forum(finished)
Linux Forum(finished)
FreeBSD China(finished)
linuxforum.net
  业界新闻与评论
  自由软件杂谈
  IT 人生
  Linux软件快递
  翻译作坊
  Linux图书与评论
  GNU Emacs/XEmacs
  Linux 中文环境和中文化
  Linux桌面与办公软件
  Linux 多媒体与娱乐版
  自由之窗Mozilla
  笔记本电脑上的Linux
  Gentoo
  Debian 一族
  网络管理技术
  Linux 安装与入门
  WEB服务器和FTP服务器
  域名服务器和邮件服务器
  Linux防火墙和代理服务器应用
  文件及打印服务器
  技术培训与认证
  Linux内核技术
  Linux 嵌入技术
  Linux设备驱动程序
  Linux 集群技术
  LINUX平台数据库
  系统和网络安全
  CPU 与 编译器
  系统计算研究所专栏
  Linux下的GUI软件开发
  C/C++编程版
  PHP 技 术
  Java&jsp技术
  Shell编程技术
  Perl 编 程
  Python 编 程
  XML/Web Service 技术
  永远的Unix
  FreeBSD世界
   
关于GCC后端移植
关于GCC后端移植 - redriver [2007-01-09 11:27 | 1,045 byte(s)]
 
Re: 关于GCC后端移植 - sartpoint [2007-01-27 14:49 | 16 byte(s)]
 
Re: 关于GCC后端移植 - redriver [2007-02-27 21:32 | 71 byte(s)]
 
Re: 关于GCC后端移植 - canopy [2007-02-27 22:01 | 202 byte(s)]
 
Re: 关于GCC后端移植 - redriver [2007-02-28 19:57 | 172 byte(s)]
 
Re: 关于GCC后端移植 - redriver [2007-02-28 20:07 | 785 byte(s)]
 
Re: 关于GCC后端移植 - mingyanguo [2007-03-01 09:34 | 54 byte(s)]
 
Re: 关于GCC后端移植 - redriver [2007-03-01 21:04 | 96 byte(s)]
 
Re: 关于GCC后端移植 - redriver [2007-03-01 21:16 | 545 byte(s)]
 
Subject: 关于GCC后端移植
Author: redriver    Posted: 2007-01-09 11:27    Length: 1,045 byte(s)
[Original] [Print] [Top]
我最近在针对某个dsp移植GCC的后端。gcc internals看了几遍,rtl部分语法感觉应该没有问题。现在在写机器相关的宏,遇到一些问题:关于条件寄存器,GCC内部可以使用cc0,这样,机器真实的条件寄存器就无需暴露给GCC,所有涉及条件寄存器的设置和使用的指令,均只需使用cc0。gcc也建议针对某些平台中只有少数指令设置条件标志寄存器情形,可以将标志寄存器暴露给编译器,这样这些指令的指令模型中定义采用(reg: CC CC_REGNUM)来代替cc0,同样在使用条件寄存器的指令(分支指令),也是用(reg: CC CC_REGNUM)。但是在需要移植的DSP平台上,存在无符号和有符号比较指令,根据GCC Internals 4.1.0的13.12节(defining Jump Instructions)所述,可以在比较指令的指令模型里使用next_cc0_user函数来判断下个分支指令是否是有符号分支,从而根据这个信息来决定当前的比较指令是有符号还是无符号比较,这样做的前提是必须使用cc0,而不能使用类似reg: CC CC_REGNUM这种方式。因此,针对该DSP,我决定使用cc0。请问这样做是否合理?
另外,大体说下我对GCC md文件的理解,用rtl描述的指令模型(有名的和无名的),其主要作用是指导gcc产生rtl的insn链,然后用指令模型去匹配这些指令链,最终生成汇编。该理解是否正确?
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: sartpoint    Posted: 2007-01-27 14:49    Length: 16 byte(s)
[Original] [Print] [Top]
水木aritecture版
----
Crazy linux fans
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: redriver    Posted: 2007-02-27 21:32    Length: 71 byte(s)
[Original] [Print] [Top]
谢谢!我去找找。另外问下如何向GCC发送maillist?最近在优化时遇到一些问题
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: canopy    Posted: 2007-02-27 22:01    Length: 202 byte(s)
[Original] [Print] [Top]
http://gcc.gnu.org/lists.html

如果是gcc开发的问题,gcc
如果是用gcc的问题,gcc-help
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: redriver    Posted: 2007-02-28 19:57    Length: 172 byte(s)
[Original] [Print] [Top]
看了下gcc网站上,貌似没说怎么发送maillist。。。我已经订阅了mailist,发了很多别人的mailist过来。
尝试过直接向gcc@gcc.gnu.org发邮件,用的是sohu的,但是说发不出。。。
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: redriver    Posted: 2007-02-28 20:07    Length: 785 byte(s)
[Original] [Print] [Top]
sohu邮箱的反应是:
This is the Postfix program at host sohum19.sohu.com.

非常抱歉!我们无法把邮件发送到所有指定地址,如需进一步帮助,
请发送邮件到 <postmaster>,其中请包括问题的报告。
I'm sorry to have to inform you that the message returned
below could not be delivered to one or more destinations.

For further assistance, please send mail to <postmaster>

If you do so, please include this problem report. You can
delete your own text from the message returned below.

The Postfix program

<gcc@gcc.gnu.org>: host gcc.gnu.org[209.132.176.174] said: 552 spam score
exceeded threshold
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: mingyanguo    Posted: 2007-03-01 09:34    Length: 54 byte(s)
[Original] [Print] [Top]
尝试用国外的邮箱。我用国内邮箱订邮件列表,没有成功过。
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: redriver    Posted: 2007-03-01 21:04    Length: 96 byte(s)
[Original] [Print] [Top]
嗯,申请了gmail的邮箱,已经发出去了,谢谢各位。在这里贴一下RTL的中文,不过不是最新版的。网上找的
--
[Original] [Print] [Top]
Subject: Re: 关于GCC后端移植
Author: redriver    Posted: 2007-03-01 21:16    Length: 545 byte(s)
[Original] [Print] [Top]
关于CMP的问题现在已经解决了。现在已经定义完大部分指令,正在做部分优化。问下在md中定义的无名指令是否会在combine phase用到?比如arm中第二操作数,在有名的指令模板(define_expand和define_insn)中,均没有使用第二操作数,但是在一些无名的指令中使用了第二操作数,比如将一个plus的
的指令第三操作数移位,但是我觉得这个指令是无名的,也就是不会在rtl生成阶段产生这个指令,那么在后续阶段也不会用这个指令去匹配。但是在实际中发现在combie阶段(通过观察GCC的中间输出文件.combine)发觉将几条指令合并了,从而生成一个无名指令,最终匹配。问下我的理解是否正确?
[Original] [Print] [Top]
« Previous thread
请问哪能下载ppc-linux的交叉编译工具链,我上不了国外的网站。
CPU 与 编译器
2
Next thread »
交叉编译链制作时错误
     

Copyright © 2007 UNIX Resources Network, All Rights Reserved.      About URN | Privacy & Legal | Help | Contact us
备案序号: 京ICP备05006143    webmaster: webmaster@unixresources.net
This page created on 2008-07-17 03:47:10, cost 0.064239978790283 ms.