This is the mail archive of the mailing list for the GCC project.

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

optab handler for floating point to interger "fix" is not generated


 I'm still a newbie to gcc porting and ask you for help.
I'm porting gcc to generate added hardware FPU unit to an existing architecture (tile64).
Without the hardware FPU unit, soft-float is used to handle floating point operations.
Now, arithmetic instructions using FPU is properly generated, 
but "fix/trunc" and logical operations for floating point types are not handled, yet.

 I've put something like the following code in the machine description file,
but the proper optab handlers for the fix instructions are not generated.
As a result, soft-float routines are called instead.

 (define_expand "fix_sfsi2"     
   [(set (match_operand:SI 0 "register_operand" )   
         (fix:SI (match_operand:SF 1 "register_operand" ) ))] 

I checked that there are no explicit 'set_conv_libfunc' calls in the code.

 Could someone tell me what I am doing wrong?
And I'll appreciate what architecture is similar and helpful for me to port gcc with the newly added FPU.



Dr. Dong-In "David" Kang
Computer Scientist

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