Questionn: mul functions for v850e
Tue Jun 4 00:11:00 GMT 2002

Hi, everybody,

My target board has not v850 but v850e processor and
I am compiling test code(mul.c) with cross GCC for target=v850-elf.

My question are:
1) Does GNU 2.95.2 support v850e?
   I configured GCC with options below:

   configure --target=v850-elf --prefix=/proj/tools --with-gnu-as --with-gnu-ld

2) Why does not GCC generate muliply code sets?
   GCC generates __mulsi3 sub routine call.

3) Please show me how to generate multiply code sets for v850e!

I atatched information for this issue.

Thank you,
Yoshinori Unno

o complie option
v850-elf/bin/gcc -c -S -Wall -Wno-format -Wimplicit -Wparentheses \
-Wunused -fconserve-space -fno-exceptions -fno-rtti -O2 \
-fno-expensive-optimizations -mno-pro \
log-function -gstabs3 -ffixed-r20 -ffixed-r21 -fpack-struct \
-Wa,-mv850e mul.c

o source list(mul.c)
  int func(int b)
  int main()
      int a= 3;
      int b= 4;
      int c;
      c= a * func(b);
      return c;

o assembly list

        .file   "mul.c"
        .section .text
        .align 1
        .global _func
        .type    _func,@function
        not r6,r10
        jmp [r31]
        .size    _func,.Lfe1-_func
        .global ___mulsi3
        .align 1
.stabs "main:F(0,1)",36,0,0,_main
        .global _main
        .type    _main,@function
        addi -20,sp,sp
        st.w r31,16[sp]
        mov 4,r6
        jarl _func,r31
        mov 3,r6
        mov r10,r7
        jarl ___mulsi3,r31
        ld.w 16[sp],r31
        addi 20,sp,sp
        jmp [r31]
        .size    _main,.Lfe2-_main
        .ident  "GCC: (GNU) 2.95.2 19991024 (release)"

Want more information?  See the CrossGCC FAQ,
Want to unsubscribe? Send a note to

More information about the crossgcc mailing list