bec90acd31
175: mask chains must be SEPARATE STATEMENTS -- one expression folds to a single and; three statements emit the original's lw/and/and/and/sw. cc1 does not fold constants across statements. 176: a MECHANISM, not a tip. Three separate RMW statements give one lw, three ands and ONE sw (cse forwards each load from the previous store within a block); an intervening early return makes that store land in the beq delay slot and the tail's store stays alive because its load is forwarded from a store in the PREVIOUS block. A local chain loses the delay-slot store (100 B); volatile keeps both stores but flips the entry branch (100 B). 177: fold REASSOCIATES | -- one statement becomes v | (C1 | X), a 17-byte residual; two statements give the original (v | C1) | X. 178: finding 170 has a CONSTANT-clobber variant -- the same entry-block copies arise because mask constants are materialised into the parameters' own homes, with no call involved. The rule generalises: a redundant entry copy means the value is live when its home is clobbered, whether by a call's argument setup OR by constant materialisation.