/* { dg-do compile { target { arm_cortex_m && { arm_thumb2_ok || arm_thumb1_movt_ok } } } } */ /* { dg-skip-if "-mslow-flash-data and -mword-relocations incompatible" { *-*-* } { "-mword-relocations" } } */ /* { dg-options "-O2 -mslow-flash-data" } */ unsigned long long movdi_1 (int a) { return 0xF0F00000LLU; } unsigned long long movdi_2 (int a) { return 0xF0F0000000000000LLU; } /* Accept r1 because big endian targets put the low bits in the highest numbered register of a pair. */ /* { dg-final { scan-assembler-times "movt\tr\[01\], 61680" 2 } } */