(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
arc/
mov-cnst-size.c
       1  /* Tests to check if mov instructions are emitted efficiently.  */
       2  /* { dg-require-effective-target codedensity } */
       3  /* { dg-options "-Os" } */
       4  
       5  int rule1 (void)
       6  {
       7    return 0x3f000000;
       8  }
       9  
      10  int rule2 (void)
      11  {
      12    return 0x3f00;
      13  }
      14  
      15  int rule3 (void)
      16  {
      17    return 0x3f0000;
      18  }
      19  
      20  int rule4 (void)
      21  {
      22    return 0x22000;
      23  }
      24  
      25  int rule5 (void)
      26  {
      27    return 0x8000001f;
      28  }
      29  
      30  int rule6 (void)
      31  {
      32    return 0x3fffff;
      33  }
      34  
      35  /* { dg-final { scan-assembler "ror8\\s+r0,63" } } */
      36  /* { dg-final { scan-assembler "lsl8\\s+r0,63" } } */
      37  /* { dg-final { scan-assembler "lsl16\\s+r0,63" } } */
      38  /* { dg-final { scan-assembler "ror\\s+r0,63" } } */
      39  /* { dg-final { scan-assembler "mov_s\\s+r0,17" } } */
      40  /* { dg-final { scan-assembler "asl_s\\s+r0,r0,13" } } */
      41  /* { dg-final { scan-assembler "mov_s\\s+r0,-1" } } */
      42  /* { dg-final { scan-assembler "bmsk_s\\s+r0,r0,21" } } */