This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Using _cmpgt intrinsic function CCS tool giving error.

Other Parts Discussed in Thread: TMS320C6748

Hi, I want to use _cmpgt intrinsic function in tms320c6748 DSP,But CCS is throwing error. For _sadd intrinsic function CCS is not  any errors. Similar error observed for few intrinsic function functions. Please help to resolve.

Regards

Vinodnaik

  • Since this is a question about the compiler tools and not the DSP device, we requested a Moderator to move this to the Compiler Forum. You will have a better chance to get the right answers here.

    It may help to tell which version of the compiler you are using and what your compiler switches are set to. Also, the code snippets and the list of header files you are including could be useful.

    If you are using the latest TI Compiler and have the -mv6740 compiler switch selected, all of the C674x intrinsics should be available to you.

    From a quick look through the Compiler Guide, I do not find an intrinsic exactly matching your text, _cmpgt. If you are not using the exact intrinsic, you should expect errors. Other than this, there is not enough other information to suggest what you are doing wrong. But the fact that you named a non-existent intrinsic may be the exact error you are seeing.

    If you have a version of the compiler guide that has what you are using, that document name and revision would be good to know, and that page/section where your phrase is found.

    Regards,
    RandyP
  • There is no intrinsic named _cmpgt.  There are two with similar names: _cmpgt2 and _cmpgtu4.  One of those two is probably what you want.  They are described in the C6000 compiler manual.  If that description is lacking in detail, then read about the underlying instructions in the C674x CPU manual.

    Thanks and regards,

    -George

  • Yes i am using _cmpgt2 intrinsic function, but getting error
    D:\\ccsv5\utils\bin\gmake -k all
    'Building target: hello1.out'
    'Invoking: C6000 Linker'
    "D:/ccsv5/tools/compiler/c6000_7.3.4/bin/cl6x" -mv6740 -g --define=c6748 --display_error_number --diag_warning=225 --abi=coffabi -k --c_src_interlist --asm_listing --output_all_syms -z -m"hello1.map" --stack_size=0x800 --heap_size=0x800 --warn_sections --display_error_number -i"D:/ccsv5/tools/compiler/c6000_7.3.4/lib" -i"D:/ccsv5/tools/compiler/c6000_7.3.4/include" --reread_libs --rom_model -o "hello1.out" "./hello.obj" "./div.obj" -l"libc.a" "../C6748.cmd"
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    __cmplt2 ./hello.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "hello1.out" not built

  • Thank you for informing us about this problem.  I can reproduce the same results.  I filed CODEGEN-1948 in the SDOWP system to have this issue addressed.  You are welcome to follow it with the SDOWP link below in my signature.  For a workaround, use the intrinsic _cmpgt2 with the operands in the opposite order.

    Thanks and regards,

    -George

  • Please note that _cmplt2 is a macro defined in the header file c6x.h, which is in the compiler's include diretory. Please include the c6x.h header in your file.  There are several pseudo intrinsics that are defined in that header but are listed along with the other intrinsics in the compiler guide. This is a documentation error and the guide will be updated to mention that the header file must be included for these.

    Thanks,

    Anna