MSC8122  - different compiler optimization levels, intrinsics

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MSC8122  - different compiler optimization levels, intrinsics

1,525 Views
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
Labels (1)
0 Kudos
1 Reply

223 Views
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 Kudos