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)10void 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