-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Medium
-
Code Generation Tools
-
CODEGEN-13621
-
-
C2000_22.6.0.LTS
-
-
default
-
Use --opt_level=off,0,1 instead of --opt_level=2,3,4
The C28 compiler generates below illegal parallel instruction that causes assembler to issue a valid error.
MPYF32 R1H,R2H,R1H || MOV32 R0H,@$BLOCKED(||tempInput||)+4,GT
Above parallel instruction is only legal with an unconditional MOV32.
The attached test case has this line ...
tempInput2.x.a = (temp5 * temp4 + temp6 * temp3);
All variables are of type float. Build it ...
% cl2000 -@options.txt -s test.c
"test.asm", ERROR! at line 237: [E0802] Incorrect instruction/operands used in parallel operation
1 Assembly Error, No Assembly Warnings
MPYF32 R1H,R2H,R1H ; [CPU_FPU] |43|
|| MOV32 R0H,@$BLOCKED(||tempInput||)+4,GT ; [CPU_FPU] |40|
Errors in Source - Assembler Aborted
>> Compilation failure