申威开发论坛

 找回密码
 立即注册
楼主: czpzn007

申威平台GCC编译的时候怎么不支持minuw4指令?

[复制链接]

59

主题

207

帖子

1309

积分

超级版主

Rank: 8Rank: 8

积分
1309
发表于 2018-12-13 14:52:02 | 显示全部楼层
我用你的代码测试了  完全没问题啊。能正常执行。用的是自带的编译器。
回复 支持 反对

使用道具 举报

2

主题

21

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2018-12-13 18:42:11 | 显示全部楼层
我们需要一个411平台的交叉编译工具链;
我们用你提供的交叉编译工具链会报指令错误。
回复 支持 反对

使用道具 举报

59

主题

207

帖子

1309

积分

超级版主

Rank: 8Rank: 8

积分
1309
发表于 2018-12-14 09:20:00 | 显示全部楼层
你不用交叉编译工具链 本地用自带的编译器会报错吗???我发布的工具链分为交叉编译工具链(cross)和本地编译工具链(native)。你看看有没有弄错。
回复 支持 反对

使用道具 举报

2

主题

21

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2018-12-17 17:11:05 | 显示全部楼层
申威CPU 发表于 2018-12-14 09:20
你不用交叉编译工具链 本地用自带的编译器会报错吗???我发布的工具链分为交叉编译工具链(cross)和本地 ...

就是自带的编译器会报错,而且编译也比较慢,强烈建议提供sw4的交叉编译环境,
回复 支持 反对

使用道具 举报

59

主题

207

帖子

1309

积分

超级版主

Rank: 8Rank: 8

积分
1309
发表于 2018-12-18 11:34:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

2

主题

21

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2018-12-18 11:38:32 | 显示全部楼层
申威CPU 发表于 2018-12-18 11:34
http://bbs.swcpu.cn/forum.php?mod=viewthread&tid=104&extra=page%3D1
编译器下载

谢谢,验证可用
回复 支持 反对

使用道具 举报

0

主题

10

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2018-12-28 09:31:19 | 显示全部楼层
1. 申威和alpha在指令集上是有区别的,肯定不能假设所有指令都取一样的名字
2.  不要加mtune之类的,没必要,默认就有了。 如果一些项目脚本里加了这些,导致无法编译,直接去掉对应参数就行了。 6A之后的是加 -mcpu=sw6 (默认已经有了,具体可以用gcc -g 编译后,用readelf -w a.out |less 后搜索gcc看实际的编译参数),
3.  你的机器应该是申威411的吧? minuw4是alpha里的MVI扩展的多媒体指令,用来一次求多个数据的最小值。 目前411,421,1621均没有对应的指令集,需要修改代码使用多条指令去比较对应像素值。
deepin OS developer
回复 支持 反对

使用道具 举报

0

主题

10

帖子

194

积分

注册会员

Rank: 2

积分
194
发表于 2018-12-28 09:41:10 | 显示全部楼层
snyh 发表于 2018-12-28 09:31
1. 申威和alpha在指令集上是有区别的,肯定不能假设所有指令都取一样的名字
2.  不要加mtune之类的,没必要 ...

411的应该是-mcpu=sw4a 或者 -mcpu=sw4 (如果没记错的话,现在手头上没411的机器,你可以直接对比系统上的底层库的debug信息查看当时编译的最终参数)

申威6A上与minuw4最接近的是VSUBL指令,这个可以进行2组4byte的减法操作。但取决于你的应用场景,估计还是得使用多条指令组合起来。

另外,你在移植什么库?说不定深度这边已经移植过了,可以去咨询下。
deepin OS developer
回复 支持 反对

使用道具 举报

2

主题

21

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2018-12-28 10:35:47 | 显示全部楼层
snyh 发表于 2018-12-28 09:31
1. 申威和alpha在指令集上是有区别的,肯定不能假设所有指令都取一样的名字
2.  不要加mtune之类的,没必要 ...

是的,我的机器是411
回复 支持 反对

使用道具 举报

2

主题

21

帖子

98

积分

注册会员

Rank: 2

积分
98
 楼主| 发表于 2018-12-28 10:55:23 | 显示全部楼层
snyh 发表于 2018-12-28 09:41
411的应该是-mcpu=sw4a 或者 -mcpu=sw4 (如果没记错的话,现在手头上没411的机器,你可以直接对比系统上的 ...

刚用命令看看了是 sw2f
chenzeping@NSFOCUS:~$ gcc -c -Q --help=target -c -Q -mcpu=native --help=target -mtune=native
The following options are target specific:
  -G<number>                            0
  -fcheck-alpha                         [disabled]
  -int-div-use-float-di                 [disabled]
  -int-div-use-float-si                 [disabled]
  -mbionic                              [disabled]
  -mbuild-constants                     [disabled]
  -mbwx                                 [disabled]
  -mcix                                 [disabled]
  -mcpu=                                sw2f
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| ( 蜀ICP备17021894号

GMT+8, 2021-3-2 22:05 , Processed in 0.070440 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表