github.com/llvm-mirror/llgo@v0.0.0-20190322182713-bf6f0a60fce1/test/execution/operators/shifts.go (about) 1 // RUN: llgo -o %t %s 2 // RUN: %t 2>&1 | FileCheck %s 3 4 // CHECK: 4294967295 5 // CHECK-NEXT: 4294967295 6 // CHECK-NEXT: 2147483647 7 // CHECK-NEXT: 4294967294 8 // CHECK-NEXT: 1073741823 9 // CHECK-NEXT: 4294967292 10 // CHECK-NEXT: 536870911 11 // CHECK-NEXT: 4294967288 12 // CHECK-NEXT: 268435455 13 // CHECK-NEXT: 4294967280 14 // CHECK-NEXT: 134217727 15 // CHECK-NEXT: 4294967264 16 // CHECK-NEXT: 67108863 17 // CHECK-NEXT: 4294967232 18 // CHECK-NEXT: 33554431 19 // CHECK-NEXT: 4294967168 20 // CHECK-NEXT: 16777215 21 // CHECK-NEXT: 4294967040 22 // CHECK-NEXT: 8388607 23 // CHECK-NEXT: 4294966784 24 // CHECK-NEXT: 4194303 25 // CHECK-NEXT: 4294966272 26 // CHECK-NEXT: 2097151 27 // CHECK-NEXT: 4294965248 28 // CHECK-NEXT: 1048575 29 // CHECK-NEXT: 4294963200 30 // CHECK-NEXT: 524287 31 // CHECK-NEXT: 4294959104 32 // CHECK-NEXT: 262143 33 // CHECK-NEXT: 4294950912 34 // CHECK-NEXT: 131071 35 // CHECK-NEXT: 4294934528 36 // CHECK-NEXT: 65535 37 // CHECK-NEXT: 4294901760 38 // CHECK-NEXT: 32767 39 // CHECK-NEXT: 4294836224 40 // CHECK-NEXT: 16383 41 // CHECK-NEXT: 4294705152 42 // CHECK-NEXT: 8191 43 // CHECK-NEXT: 4294443008 44 // CHECK-NEXT: 4095 45 // CHECK-NEXT: 4293918720 46 // CHECK-NEXT: 2047 47 // CHECK-NEXT: 4292870144 48 // CHECK-NEXT: 1023 49 // CHECK-NEXT: 4290772992 50 // CHECK-NEXT: 511 51 // CHECK-NEXT: 4286578688 52 // CHECK-NEXT: 255 53 // CHECK-NEXT: 4278190080 54 // CHECK-NEXT: 127 55 // CHECK-NEXT: 4261412864 56 // CHECK-NEXT: 63 57 // CHECK-NEXT: 4227858432 58 // CHECK-NEXT: 31 59 // CHECK-NEXT: 4160749568 60 // CHECK-NEXT: 15 61 // CHECK-NEXT: 4026531840 62 // CHECK-NEXT: 7 63 // CHECK-NEXT: 3758096384 64 // CHECK-NEXT: 3 65 // CHECK-NEXT: 3221225472 66 // CHECK-NEXT: 1 67 // CHECK-NEXT: 2147483648 68 // CHECK-NEXT: 0 69 // CHECK-NEXT: 0 70 // CHECK-NEXT: 4026531839 71 // CHECK-NEXT: 4026531839 72 // CHECK-NEXT: 2013265919 73 // CHECK-NEXT: 3758096382 74 // CHECK-NEXT: 1006632959 75 // CHECK-NEXT: 3221225468 76 // CHECK-NEXT: 503316479 77 // CHECK-NEXT: 2147483640 78 // CHECK-NEXT: 251658239 79 // CHECK-NEXT: 4294967280 80 // CHECK-NEXT: 125829119 81 // CHECK-NEXT: 4294967264 82 // CHECK-NEXT: 62914559 83 // CHECK-NEXT: 4294967232 84 // CHECK-NEXT: 31457279 85 // CHECK-NEXT: 4294967168 86 // CHECK-NEXT: 15728639 87 // CHECK-NEXT: 4294967040 88 // CHECK-NEXT: 7864319 89 // CHECK-NEXT: 4294966784 90 // CHECK-NEXT: 3932159 91 // CHECK-NEXT: 4294966272 92 // CHECK-NEXT: 1966079 93 // CHECK-NEXT: 4294965248 94 // CHECK-NEXT: 983039 95 // CHECK-NEXT: 4294963200 96 // CHECK-NEXT: 491519 97 // CHECK-NEXT: 4294959104 98 // CHECK-NEXT: 245759 99 // CHECK-NEXT: 4294950912 100 // CHECK-NEXT: 122879 101 // CHECK-NEXT: 4294934528 102 // CHECK-NEXT: 61439 103 // CHECK-NEXT: 4294901760 104 // CHECK-NEXT: 30719 105 // CHECK-NEXT: 4294836224 106 // CHECK-NEXT: 15359 107 // CHECK-NEXT: 4294705152 108 // CHECK-NEXT: 7679 109 // CHECK-NEXT: 4294443008 110 // CHECK-NEXT: 3839 111 // CHECK-NEXT: 4293918720 112 // CHECK-NEXT: 1919 113 // CHECK-NEXT: 4292870144 114 // CHECK-NEXT: 959 115 // CHECK-NEXT: 4290772992 116 // CHECK-NEXT: 479 117 // CHECK-NEXT: 4286578688 118 // CHECK-NEXT: 239 119 // CHECK-NEXT: 4278190080 120 // CHECK-NEXT: 119 121 // CHECK-NEXT: 4261412864 122 // CHECK-NEXT: 59 123 // CHECK-NEXT: 4227858432 124 // CHECK-NEXT: 29 125 // CHECK-NEXT: 4160749568 126 // CHECK-NEXT: 14 127 // CHECK-NEXT: 4026531840 128 // CHECK-NEXT: 7 129 // CHECK-NEXT: 3758096384 130 // CHECK-NEXT: 3 131 // CHECK-NEXT: 3221225472 132 // CHECK-NEXT: 1 133 // CHECK-NEXT: 2147483648 134 // CHECK-NEXT: 0 135 // CHECK-NEXT: 0 136 // CHECK-NEXT: -1 137 // CHECK-NEXT: -1 138 // CHECK-NEXT: -1 139 // CHECK-NEXT: -2 140 // CHECK-NEXT: -1 141 // CHECK-NEXT: -4 142 // CHECK-NEXT: -1 143 // CHECK-NEXT: -8 144 // CHECK-NEXT: -1 145 // CHECK-NEXT: -16 146 // CHECK-NEXT: -1 147 // CHECK-NEXT: -32 148 // CHECK-NEXT: -1 149 // CHECK-NEXT: -64 150 // CHECK-NEXT: -1 151 // CHECK-NEXT: -128 152 // CHECK-NEXT: -1 153 // CHECK-NEXT: -256 154 // CHECK-NEXT: -1 155 // CHECK-NEXT: -512 156 // CHECK-NEXT: -1 157 // CHECK-NEXT: -1024 158 // CHECK-NEXT: -1 159 // CHECK-NEXT: -2048 160 // CHECK-NEXT: -1 161 // CHECK-NEXT: -4096 162 // CHECK-NEXT: -1 163 // CHECK-NEXT: -8192 164 // CHECK-NEXT: -1 165 // CHECK-NEXT: -16384 166 // CHECK-NEXT: -1 167 // CHECK-NEXT: -32768 168 // CHECK-NEXT: -1 169 // CHECK-NEXT: -65536 170 // CHECK-NEXT: -1 171 // CHECK-NEXT: -131072 172 // CHECK-NEXT: -1 173 // CHECK-NEXT: -262144 174 // CHECK-NEXT: -1 175 // CHECK-NEXT: -524288 176 // CHECK-NEXT: -1 177 // CHECK-NEXT: -1048576 178 // CHECK-NEXT: -1 179 // CHECK-NEXT: -2097152 180 // CHECK-NEXT: -1 181 // CHECK-NEXT: -4194304 182 // CHECK-NEXT: -1 183 // CHECK-NEXT: -8388608 184 // CHECK-NEXT: -1 185 // CHECK-NEXT: -16777216 186 // CHECK-NEXT: -1 187 // CHECK-NEXT: -33554432 188 // CHECK-NEXT: -1 189 // CHECK-NEXT: -67108864 190 // CHECK-NEXT: -1 191 // CHECK-NEXT: -134217728 192 // CHECK-NEXT: -1 193 // CHECK-NEXT: -268435456 194 // CHECK-NEXT: -1 195 // CHECK-NEXT: -536870912 196 // CHECK-NEXT: -1 197 // CHECK-NEXT: -1073741824 198 // CHECK-NEXT: -1 199 // CHECK-NEXT: -2147483648 200 // CHECK-NEXT: -1 201 // CHECK-NEXT: 0 202 // CHECK-NEXT: 1 203 // CHECK-NEXT: 1 204 // CHECK-NEXT: 0 205 // CHECK-NEXT: 2 206 // CHECK-NEXT: 0 207 // CHECK-NEXT: 4 208 // CHECK-NEXT: 0 209 // CHECK-NEXT: 8 210 // CHECK-NEXT: 0 211 // CHECK-NEXT: 16 212 // CHECK-NEXT: 0 213 // CHECK-NEXT: 32 214 // CHECK-NEXT: 0 215 // CHECK-NEXT: 64 216 // CHECK-NEXT: 0 217 // CHECK-NEXT: 128 218 // CHECK-NEXT: 0 219 // CHECK-NEXT: 256 220 // CHECK-NEXT: 0 221 // CHECK-NEXT: 512 222 // CHECK-NEXT: 0 223 // CHECK-NEXT: 1024 224 // CHECK-NEXT: 0 225 // CHECK-NEXT: 2048 226 // CHECK-NEXT: 0 227 // CHECK-NEXT: 4096 228 // CHECK-NEXT: 0 229 // CHECK-NEXT: 8192 230 // CHECK-NEXT: 0 231 // CHECK-NEXT: 16384 232 // CHECK-NEXT: 0 233 // CHECK-NEXT: 32768 234 // CHECK-NEXT: 0 235 // CHECK-NEXT: 65536 236 // CHECK-NEXT: 0 237 // CHECK-NEXT: 131072 238 // CHECK-NEXT: 0 239 // CHECK-NEXT: 262144 240 // CHECK-NEXT: 0 241 // CHECK-NEXT: 524288 242 // CHECK-NEXT: 0 243 // CHECK-NEXT: 1048576 244 // CHECK-NEXT: 0 245 // CHECK-NEXT: 2097152 246 // CHECK-NEXT: 0 247 // CHECK-NEXT: 4194304 248 // CHECK-NEXT: 0 249 // CHECK-NEXT: 8388608 250 // CHECK-NEXT: 0 251 // CHECK-NEXT: 16777216 252 // CHECK-NEXT: 0 253 // CHECK-NEXT: 33554432 254 // CHECK-NEXT: 0 255 // CHECK-NEXT: 67108864 256 // CHECK-NEXT: 0 257 // CHECK-NEXT: 134217728 258 // CHECK-NEXT: 0 259 // CHECK-NEXT: 268435456 260 // CHECK-NEXT: 0 261 // CHECK-NEXT: 536870912 262 // CHECK-NEXT: 0 263 // CHECK-NEXT: 1073741824 264 // CHECK-NEXT: 0 265 // CHECK-NEXT: -2147483648 266 // CHECK-NEXT: 0 267 // CHECK-NEXT: 0 268 269 package main 270 271 func testShrUint32(v uint32) { 272 for i := uint(0); i <= 32; i++ { 273 println(v >> i) 274 println(v << i) 275 } 276 } 277 278 func testShrInt32(v int32) { 279 for i := uint(0); i <= 32; i++ { 280 println(v >> i) 281 println(v << i) 282 } 283 } 284 285 func main() { 286 testShrUint32(0xFFFFFFFF) 287 testShrUint32(0xEFFFFFFF) 288 testShrInt32(-1) 289 testShrInt32(1) 290 }