From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: John Wehle Cc: egcs@egcs.cygnus.com Subject: Re: x86 fixuns_truncsfsi2 and expand_fix Date: Sat, 10 Apr 1999 02:05:00 -0000 Message-id: <925.923734421@upchuck> References: <199904100347.XAA03073@jwlab.FEITH.COM> X-SW-Source: 1999-04/msg00353.html In message < 199904100347.XAA03073@jwlab.FEITH.COM >you write: > The x86 can convert from a float to a signed integer. It does not > support converting a float to an unsigned integer. The x86 port > currently defines expanders for fixuns_truncsfsi2 which work by > doing a signed conversion to DImode and then taking the lower half. > Why is it useful for a port to provide these expanders considering > that expand_fix in optabs.c is also capable of converting a float to > an unsigned integer in the same fashion without these expanders being > present? None that I'm aware of. It may be from a time when expand_fix couldn't handle that case. I remember that code went through some major rewriting in the early 90s. I recommend killing the expanders if expand_fix can generate code that is just as efficient as what i386.md generates. jeff From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeffrey A Law To: John Wehle Cc: egcs@egcs.cygnus.com Subject: Re: x86 fixuns_truncsfsi2 and expand_fix Date: Fri, 30 Apr 1999 23:15:00 -0000 Message-ID: <925.923734421@upchuck> References: <199904100347.XAA03073@jwlab.FEITH.COM> X-SW-Source: 1999-04n/msg00356.html Message-ID: <19990430231500.07JjwhH7Zjw1DuIj2YpDyjG-r_9IPriGmFl8s7oiO3M@z> In message < 199904100347.XAA03073@jwlab.FEITH.COM >you write: > The x86 can convert from a float to a signed integer. It does not > support converting a float to an unsigned integer. The x86 port > currently defines expanders for fixuns_truncsfsi2 which work by > doing a signed conversion to DImode and then taking the lower half. > Why is it useful for a port to provide these expanders considering > that expand_fix in optabs.c is also capable of converting a float to > an unsigned integer in the same fashion without these expanders being > present? None that I'm aware of. It may be from a time when expand_fix couldn't handle that case. I remember that code went through some major rewriting in the early 90s. I recommend killing the expanders if expand_fix can generate code that is just as efficient as what i386.md generates. jeff