This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Questionn: mul functions for v850e


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)
  {
      return~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
.Ltext0:
        .align 1
        .global _func
        .type    _func,@function
_func:
.LM1:
.LM2:
        not r6,r10
        jmp [r31]
.Lfe1:
        .size    _func,.Lfe1-_func
        .global ___mulsi3
        .align 1
.stabs "main:F(0,1)",36,0,0,_main
        .global _main
        .type    _main,@function
_main:
.LM3:
.LM4:
.LBB2:
.LM5:
        addi -20,sp,sp
        st.w r31,16[sp]
        mov 4,r6
        jarl _func,r31
        mov 3,r6
        mov r10,r7
        jarl ___mulsi3,r31
.LM6:
        ld.w 16[sp],r31
        addi 20,sp,sp
        jmp [r31]
.LM7:
.LBE2:
.Lfe2:
        .size    _main,.Lfe2-_main
        .text
Letext:
        .ident  "GCC: (GNU) 2.95.2 19991024 (release)"


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]