Tool/software: TI C/C++ Compiler
TI v6.2.8 compiler, when the [3 interprocedure optimization] is selected, the first OR operation (tmp_1st |= 0xFFFFFF00) of the following code will be optimized as follows,
The high eight bits of the variable tmp_1st are not assigned, which results in an error in the result of the operation. The second OR operation has no problem.
I tried to use a higher version of the compiler (TI v18.1.4.LTS) and confirmed the phenomenon.
The above problems will not occur when the same code is executed and the [3 interprocedure optimization] are executed.
Is it a problem with the compiler TI v6.2.8?
.c file
.asm file
TI v6.2.8
Optimization level:3 Interprocedure Optimizations