Project

General

Profile

Bug #9471

Updated by Alexander Kamkin about 5 years ago

Ошибка: 
 <pre> 
 riscv.nml 370:8 ERROR (SEMANTIC): "Unable to calculate bitfield size. The given bitfield expressions cannot be reduced to constant value." 
 riscv.nml 370:8 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'tmp_dword<63-tmp_bit_offset..0>'." 
 riscv.nml 370:8 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'tmp_dword<63-tmp_bit_offset..0>'." 
 riscv.nml 370:42 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'tmp_dword<63-tmp_bit_offset..0>=MEM[mem_index]<63..tmp_bit_offset>'." 
 riscv.nml 370:42 ERROR (SEMANTIC): "Failed to recognize the grammar structure. It will be ignored: 'tmp_dword<63-tmp_bit_offset..0>=MEM[mem_index]<63..tmp_bit_offset>'." 
 </pre> 

 Неправильная версия: Не правильная версия 
 <pre> 
         tmp_bit_offset = zero_extend(card(6), tmp_address_op<2..0>) * 8; 
         tmp_dword<63 - tmp_bit_offset..0> = MEM[mem_index]<63..tmp_bit_offset>; 
         tmp_dword<63..64 - tmp_bit_offset> = MEM[mem_index + 1]<tmp_bit_offset-1..0>; 
 </pre> 

 Правильная версия: 
 <pre> 
         tmp_bit_offset = zero_extend(card(6), tmp_address_op<2..0>) * 8; 
         tmp_qword = MEM[mem_index + 1]::MEM[mem_index]; 
         tmp_dword = tmp_qword<63+tmp_bit_offset..0+tmp_bit_offset>; 
 </pre>

Back