Arm Community
Site
Search
User
Site
Search
User
Arm Developer
Documentation
Learning Paths
On-Demand Videos
Groups
Arm Ambassadors
Education Hub
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Automotive forum
Compilers and Libraries forum
Embedded and Microcontrollers forum
Internet of Things (IoT) forum
Keil forum
Laptops and Desktops forum
Mobile, Graphics, and Gaming forum
Morello forum
Operating Systems forum
Servers and Cloud Computing forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI blog
Announcements
Architectures and Processors blog
Automotive blog
Embedded and Microcontrollers blog
Internet of Things (IoT) blog
Laptops and Desktops blog
Mobile, Graphics, and Gaming blog
Operating Systems blog
Servers and Cloud Computing blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Arm Development Studio forum
CM3 / RVDS / NOPs
Jump...
Cancel
Locked
Locked
Replies
9 replies
Subscribers
120 subscribers
Views
4647 views
Users
0 members are here
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
CM3 / RVDS / NOPs
David Clark
over 11 years ago
Parents
David Clark
over 11 years ago
Note: This was originally posted on 14th June 2010 at
http://forums.arm.com
Please try switch from -O0 to -O1, or -O2, and see if it remove the NOPs.
Hi Joseph,
Yep, even switching to -O1 did the trick. NOPs are gone, plus a few other small things changed.
Do you know why the lowest optimization level would have the NOPs? They just seem so unnecessary & wasteful, I can't imagine why they're there even with optimization disabled. It seems like the compiler went out of its way to put them there. The output with -O1 (from a quick diff of the 2 generated assembly listings) is closer to what I'd have expected with optimization disabled. It's almost like -O0 = "fluff up the code".
Sorry, I don't expect/want you to apologize/defend/explain the compiler, I'm sure there are reasons, they're just not obvious to me.
Thanks for your input on the issue, too.
By the way, I'm going to install the latest version of the RVDS tools, maybe that alone will rectify the -O0 output... will post back.
Cancel
Vote up
0
Vote down
Cancel
Reply
David Clark
over 11 years ago
Note: This was originally posted on 14th June 2010 at
http://forums.arm.com
Please try switch from -O0 to -O1, or -O2, and see if it remove the NOPs.
Hi Joseph,
Yep, even switching to -O1 did the trick. NOPs are gone, plus a few other small things changed.
Do you know why the lowest optimization level would have the NOPs? They just seem so unnecessary & wasteful, I can't imagine why they're there even with optimization disabled. It seems like the compiler went out of its way to put them there. The output with -O1 (from a quick diff of the 2 generated assembly listings) is closer to what I'd have expected with optimization disabled. It's almost like -O0 = "fluff up the code".
Sorry, I don't expect/want you to apologize/defend/explain the compiler, I'm sure there are reasons, they're just not obvious to me.
Thanks for your input on the issue, too.
By the way, I'm going to install the latest version of the RVDS tools, maybe that alone will rectify the -O0 output... will post back.
Cancel
Vote up
0
Vote down
Cancel
Children
No data