1 typedef unsigned int u32;
   2 typedef          int s32;
   3 
   4 s32 asr31(s32 a) { return a >> 31; }
   5 s32 asr32(s32 a) { return a >> 32; }
   6 s32 asr33(s32 a) { return a >> 33; }
   7 
   8 u32 lsr31(u32 a) { return a >> 31; }
   9 u32 lsr32(u32 a) { return a >> 32; }
  10 u32 lsr33(u32 a) { return a >> 33; }
  11 
  12 u32 shl31(u32 a) { return a << 31; }
  13 u32 shl32(u32 a) { return a << 32; }
  14 u32 shl33(u32 a) { return a << 33; }
  15 
  16 /*
  17  * check-name: optim/shift-big.c
  18  * check-command: test-linearize -Wno-decl -m64 $file
  19  *
  20  * check-error-ignore
  21  * check-output-start
  22 asr31:
  23 .L0:
  24         <entry-point>
  25         asr.32      %r2 <- %arg1, $31
  26         ret.32      %r2
  27 
  28 
  29 asr32:
  30 .L2:
  31         <entry-point>
  32         asr.32      %r5 <- %arg1, $32
  33         ret.32      %r5
  34 
  35 
  36 asr33:
  37 .L4:
  38         <entry-point>
  39         asr.32      %r8 <- %arg1, $33
  40         ret.32      %r8
  41 
  42 
  43 lsr31:
  44 .L6:
  45         <entry-point>
  46         lsr.32      %r11 <- %arg1, $31
  47         ret.32      %r11
  48 
  49 
  50 lsr32:
  51 .L8:
  52         <entry-point>
  53         ret.32      $0
  54 
  55 
  56 lsr33:
  57 .L10:
  58         <entry-point>
  59         ret.32      $0
  60 
  61 
  62 shl31:
  63 .L12:
  64         <entry-point>
  65         shl.32      %r20 <- %arg1, $31
  66         ret.32      %r20
  67 
  68 
  69 shl32:
  70 .L14:
  71         <entry-point>
  72         ret.32      $0
  73 
  74 
  75 shl33:
  76 .L16:
  77         <entry-point>
  78         ret.32      $0
  79 
  80 
  81  * check-output-end
  82  */