On Thu, Dec 15, 2022 at 07:56:14PM +0100, Jakub Jelinek wrote: > On Thu, Dec 15, 2022 at 12:49:27PM -0600, Segher Boessenkool wrote: > > Certainly. But different types with the same mode having different > > precision is not so very reasonable, and will likely cause other > > problems as well. > > > > We cannot use precision to order modes or types, that is the core > > problem. A conversion from IEEE QP to double-double (or vice versa) is > > neither widening nor narrowing. > > Sure. For optabs, I bet we don't necessarily need to care that much, if > precision is the same, we can ask for widening and narrowing conversion > and expect only one to be implemented or both doing the same thing between > such modes. But when using libcalls, which library function we use is quite > important because not all of them might be actually implemented in the > library (better keep doing what we've done before).
I don't think we should name non-widenings widening, or non-narrowings narrowing. We should call conversions conversions. Even if it doesn't cause technical problems the way it is now (of which I am not convinced at all), faulty names like this are mightily confusing. This is a very real *practical* problem :-( Segher