PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.target / i386 / bittest.c
blob79c389718591ac979a746cd0d7a874b24b773032
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
4 extern int dbg_cnt (void);
6 struct function
8 unsigned int calls_setjmp:1;
9 };
10 extern struct function *cfun;
11 unsigned char
12 gate_rtl_cprop (void)
14 return !(cfun + 0)->calls_setjmp && dbg_cnt ();
17 /* This should be implementable without performing a bitmask as we can
18 just use a test imm,mem. So instructions which load the object from
19 memory and mask off bits are unnecessary. In theory we can just count
20 the move-with-extension, and and testb instructions. There should be
21 only one. */
22 /* { dg-final { scan-assembler-times "movzbl|and|testb" 1 } } */