https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93384
--- Comment #16 from Alan Modra <amodra at gmail dot com> --- It is possible to fix this in the assembler too, but I'm reluctant to do so. If we make some sort of promise that <some referenc to x> .set x,y <maybe lots of lines but no change in y> .set x,y <some reference to x> gives the same results as when only the first .set is present, then gas needs to correctly calculate "no change in y". That is complicated in the general case of an arbitrary expression for y. It's even surprisingly complicated if y is just a single symbol.