On Tue, 21 Mar 2023 at 20:19, Nicolas Pitre <npitre@xxxxxxxxxxxx> wrote: > > On Mon, Mar 20, 2023 at 2:19 PM Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > > The conditional MOVS instruction that appears to have been added to test > > for the TIF_USING_IWMMXT thread_info flag only sets the N and Z > > condition flags and register R7, none of which are referenced in the > > subsequent code. > > Really? > > As far as I know, the rsb instruction is a "reversed subtract" and that > also sets the carry flag. > > And so does a move with a shifter argument (the last dropped bit is > moved to the carry flag). > > What am I missing? > No, you are absolutely right. I looked up the wrong encoding in the ARM ARM. MOVS without a shift preserves the carry flag, but the variant you used here behaves as you describe. So the code is correct - apologies for the noise.