https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121511
--- Comment #1 from Stefan Schulze Frielinghaus <stefansf at gcc dot gnu.org> --- (In reply to Christophe Lyon from comment #0) > Given the dg-do line: > /* { dg-do compile { target { { aarch64*-*-* powerpc64*-*-* riscv64-*-* > s390*-*-* x86_64-*-* } && int128 } } } */ > > > I suppose you want to skip the test on arm? (but that's not what the above > does) I think the quoted dg-do compile directive belongs to a different test. In gcc.dg/asm-hard-reg-error-3.c we have /* { dg-do compile { target arm-*-* s390-*-* } } */ For some reason that test passes my cross compiler. What I would like to test is that a register pair must be in an even/odd pair. So I think the correct option is -marm here since that requires for a `long long` an even/odd register pair whereas for -mthumb any register pair is allowed. Can you confirm that?