doh, you're right. I was focusing on the movsbl and not the operands /* { dg-final { scan-assembler "(movb|mov[zs]bl).*bits" } } */ Are there any other ways to load a byte than mobv and mov[sz]bl ?