首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用编译器实现循环的矢量化

用编译器实现循环的矢量化
EN

Stack Overflow用户
提问于 2013-11-04 17:26:28
回答 1查看 105关注 0票数 2

关于编译器(在我的例子中是gcc)使用-O标志所做的优化,我有一个非常基本的问题。我只想在这里集中讨论循环的向量化。假设一个简单的for-循环,不存在指针混叠/争用的危险。是否有可能重写此循环,使编译器生成的代码具有-O0标志,就像编译器将循环向量化时那样快?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-04 17:37:29

更有可能:不。通过使用-O0,编译器可以任意选择,从而使代码效率达到它想要的程度。当然,不是一些邪恶的畜生想惹你,但它不会努力,除非你告诉它。

一些优化通常必须由编译器来完成。通常,您不能通过源代码中的微优化获得与使用激进的编译器优化相同的性能。

关于您的具体示例:是的,您可以在代码中包含向量指令,以强制使用向量指令。但是,如果您做这样的事情,您的代码可能不会在所有平台上工作,除非您非常清楚自己在做什么,并且总是提供后遗症。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19773434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档