On Thu, Feb 13, 2025 at 11:37:53AM +0100, Samuel Thibault wrote: > Fabian Grünbichler, le jeu. 13 févr. 2025 10:39:00 +0100, a ecrit: > > On Thu, Feb 13, 2025 at 09:24:02AM +0100, Samuel Thibault wrote: > > > Fabian Grünbichler, le jeu. 13 févr. 2025 08:11:14 +0100, a ecrit: > > > > A mixed approach (raising the baseline to allow LLVM and rustc to bump > > > > their targets, but keeping GCC's default target and thus the majority of > > > > packages at the current/old baseline and skip the rebuilds there) might > > > > be possible, but also has potential perfomance or bugginess implications > > > > because of switching back and forth between x87 and SSE floating > > > > operations. > > > > > > Which kind of bug? AIUI raising the baseline does not change the > > > function call ABI, and within a function we use only one compiler? > > > > I am not aware of any (and my quick check yesterday indicates that > > mixing like that shouldn't be an issue) - but I also haven't done any > > in-depth research that would make me confident in saying that I'd rule > > them out ;) the potential performance issue was raised by doko on IRC. > > When switching between functions, the floating-point operations are > normally already over, so I don't think we would suffer very much? (if > we were mixing within a function that would pose problem, sure).
yes. > Also, I don't think we would very often switch between floating-point > code compiled by llvm and gcc? can't speak for the archive as a whole, but in the Rust world this is quite common: - C library compiled with gcc (usually) - Rust code compiled with rustc (/LLVM) linked with such a library but like you (and others) pointed out - this shouldn't normally be an issue, as the interface and calling conventions are well-defined (else none of that would work anyway ;))