(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arc/
movh_cl-1.c
       1  /* { dg-do compile } */
       2  /* { dg-skip-if "" { ! { clmcpu } } } */
       3  /* { dg-options "-mcpu=nps400 -O2 -mbitops" } */
       4  
       5  struct thing
       6  {
       7    union
       8    {
       9      int raw;
      10      struct
      11      {
      12        unsigned a : 1;
      13        unsigned b : 1;
      14        unsigned c : 28;
      15        unsigned d : 1;
      16        unsigned e : 1;
      17      };
      18    };
      19  };
      20  
      21  extern void func (int);
      22  
      23  void
      24  blah ()
      25  {
      26    struct thing xx;
      27    xx.a = xx.b = 1;
      28    func (xx.raw);
      29  }
      30  
      31  void
      32  woof ()
      33  {
      34    struct thing xx;
      35    xx.d = xx.e = 1;
      36    func (xx.raw);
      37  }
      38  
      39  /* { dg-final { scan-assembler "movh\.cl\\s+r\[0-9\]+,0xc0000000>>16" } } */