工具/软件:TI C/C++编译器
您好!
我的客户在代码中使用 uint64_t shift 操作与 ti-cgt-arm_16.9.6.LTS、但发现如果启用编译器优化、附加代码无法正常工作。 如果优化关闭、它可以正确输出。
e2e.ti.com/.../mss_5F00_main.c
对于 O3、CCS 输出如下所示、这是不正确的。
temp data1 0、temp data2 100
选择关闭后、CCS 输出如下所示、正确。
temp data1 0、temp data2 efd3b900
如果我们为每个变量使用 volatile、则输出是正确的 O3。
volatile uint64_t x;
volatile uint64_t m=0;
您是否愿意帮助检查编译器为什么会使用 O3进行 uint64_t 移位运算?
如果这是一个合规性错误、您是否可以帮助修复它?