1  /* { dg-do compile } */
       2  /* { dg-options "-ffixed-cr2 -ffixed-cr3 -ffixed-cr4" } */
       3  
       4  #define SET_CR(R,V) __asm__ __volatile__ ("mtcrf %0,%1" : : "n" (1<<(7-R)), "r" (V<<(4*(7-R))) : "cr" #R)
       5  
       6  void foo (void)
       7  {
       8    SET_CR (2, 7);
       9    SET_CR (3, 8);
      10    SET_CR (4, 9);
      11  }