MSC8122  - different compiler optimization levels, intrinsics

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MSC8122  - different compiler optimization levels, intrinsics

1,982 次查看
aking
Contributor I
I'm optimizing a project for Starcore MSC8122 with CW v5.7.0 (build 2262) in Windows XP. In my project I found issues that,
 
(1) (Without using any intrinsics) when compiling with O1, O2 or O3, results are wrong;
 
(2) Without intrinsics some modules/functions are ok with O3, but when using "norm_l" intrinsic, result at O0 is ok but at O1/O3 is wrong. Debugging revealed at least one problem: at one place the compiler was getting the value for a variable from a wrong place (pointed by stack pointer SP + wrong offset).
 
I understand (1) somewhat, although it's hardly acceptable. For (2), what can be the reason? Is it because my code is all in integer mode? norm_l is supposed to give same result for intergers or fractionals, since no shifting or saturation is involved, right?
 
Thanks.
Kevin
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Added part number to subject.


Message Edited by NLFSJ on 2007-07-17 06:42 PM
标签 (1)
0 项奖励
回复
1 回复

680 次查看
CrasyCat
Specialist III
Hello
 
This need to be investigated by a support engineer. I would recommend you to submit a service request for that.

Click here to submit a service request.

Make sure to attach a reproducible project and installed product information to the service request.
To generate the required information:
- Start CodeWarrior
- Open the project
- Select "Help" -> "Pack and Go" and follow instructions on the screen.

Attach the generated .zip file to the SR.
 
CrasyCat
0 项奖励
回复