1 /* { dg-do compile } */
2 /* { dg-require-effective-target lp64 } */
3 /* { dg-options "-std=gnu99 -O2" } */
4 /* { dg-final { scan-assembler "salq\[ \\t\]+\\\$8, %rbx" } } */
5 
6 #include <stdint.h>
7 
8 register uint64_t global_flag_stack __asm__("rbx");
9 
push_flag_into_global_reg_var(uint64_t a,uint64_t b)10 void push_flag_into_global_reg_var(uint64_t a, uint64_t b) {
11   uint64_t flag = (a==b);
12   global_flag_stack <<= 8;
13   global_flag_stack  |= flag;
14 }
15