免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1983 | 回复: 8

gcc mailing list 发问题没反应 [复制链接]

论坛徽章:
0
发表于 2013-10-23 10:01 |显示全部楼层
gcc mailing list 发问题没反应 一般要怎么用

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
发表于 2013-10-23 10:05 |显示全部楼层
可以ping一下。或者直接去irc里问问。

论坛徽章:
1
综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00
发表于 2013-10-23 10:56 |显示全部楼层
没办法。发帖子没人回是常事 @_@

论坛徽章:
0
发表于 2013-10-23 12:14 |显示全部楼层
先这里问问

我要将一条rtl变成两条rtl,要怎么写define_expand

store 123,[abcd]
(set (mem:SI (symbol_ref:SI "abcd")) (const_int 123))

move reg , abcd
store 123 , [reg]

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
发表于 2013-10-23 16:01 |显示全部楼层
首先,define_expand只能用于标准名字,“A define_expand is an RTL expression that looks almost like a define_insn; but, unlike the latter, a define_expand is used only for RTL generation and it can produce more than one RTL insn. ”。

看起来,你这个是一个move操作,所以需要定义mov的define_expand,具体的实现,可以先参考下现有gcc中的代码。

论坛徽章:
0
发表于 2013-10-23 17:25 |显示全部楼层
非常感谢!我先去看资料

论坛徽章:
0
发表于 2013-10-24 15:05 |显示全部楼层
用下面的代码,没效果。
  1. (define_expand "movsi_symbol_ref" [(set (mem:SI (match_operand:SI 0 "address_operand")) (match_operand:SI 1 "general_operand"))] ""
  2. "
  3. {
  4.         rtx symbol;

  5.         symbol = copy_to_reg (operands[0]);
  6.         emit_move_insn (operands[0], symbol);
  7.         operands[0] = symbol;
  8.         DONE;
  9. }"
  10. )
复制代码

论坛徽章:
2
摩羯座
日期:2013-10-10 14:29:04天蝎座
日期:2014-01-03 09:14:49
发表于 2013-10-24 15:29 |显示全部楼层
恩,我说过,define_expand只用于标准名字。movsi_symbol_ref不是标准名字吧,参见http://gcc.gnu.org/onlinedocs/gc ... html#Standard-Names

论坛徽章:
0
发表于 2013-10-24 17:04 |显示全部楼层
我再试试,其它后端也有非标准名字的define_expand
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP