https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82106
--- Comment #9 from Palmer Dabbelt <palmer at gcc dot gnu.org> --- (In reply to Palmer Dabbelt from comment #8) > This came up in the patchwork meeting, and I guess since I'd commented > before I'm on the hook. It's been 8-ish years, but here's my best attempt > at decoding what I was saying back then: > > By "I'd like to call this an ABI bug", I think I meant that the ABI is > essentially proscribing a misaligned access here and it'd be nice to change > that. It's definitely too late to do that now, though. > > Looking at the code from Jim's patch, I'd expect something different -- > essentially we'd just forbid the fld as it's likely misaligned and thus > slow, and instead fall back to lw;lw;shift;or;fmv.x. Maybe that's just > slower than the load/store juggling, though. Never mind, that's nonsense -- we're on rv32, so we don't have the X->F double-word move. So the only option here is to move through memory. > Either way, I'm assigning this to myself. Mostly as a test to see if I can > get any work done these days... ;)