291 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			291 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Go
		
	
	
	
| // RUN: llgo -o %t %s
 | |
| // RUN: %t 2>&1 | FileCheck %s
 | |
| 
 | |
| // CHECK: 4294967295
 | |
| // CHECK-NEXT: 4294967295
 | |
| // CHECK-NEXT: 2147483647
 | |
| // CHECK-NEXT: 4294967294
 | |
| // CHECK-NEXT: 1073741823
 | |
| // CHECK-NEXT: 4294967292
 | |
| // CHECK-NEXT: 536870911
 | |
| // CHECK-NEXT: 4294967288
 | |
| // CHECK-NEXT: 268435455
 | |
| // CHECK-NEXT: 4294967280
 | |
| // CHECK-NEXT: 134217727
 | |
| // CHECK-NEXT: 4294967264
 | |
| // CHECK-NEXT: 67108863
 | |
| // CHECK-NEXT: 4294967232
 | |
| // CHECK-NEXT: 33554431
 | |
| // CHECK-NEXT: 4294967168
 | |
| // CHECK-NEXT: 16777215
 | |
| // CHECK-NEXT: 4294967040
 | |
| // CHECK-NEXT: 8388607
 | |
| // CHECK-NEXT: 4294966784
 | |
| // CHECK-NEXT: 4194303
 | |
| // CHECK-NEXT: 4294966272
 | |
| // CHECK-NEXT: 2097151
 | |
| // CHECK-NEXT: 4294965248
 | |
| // CHECK-NEXT: 1048575
 | |
| // CHECK-NEXT: 4294963200
 | |
| // CHECK-NEXT: 524287
 | |
| // CHECK-NEXT: 4294959104
 | |
| // CHECK-NEXT: 262143
 | |
| // CHECK-NEXT: 4294950912
 | |
| // CHECK-NEXT: 131071
 | |
| // CHECK-NEXT: 4294934528
 | |
| // CHECK-NEXT: 65535
 | |
| // CHECK-NEXT: 4294901760
 | |
| // CHECK-NEXT: 32767
 | |
| // CHECK-NEXT: 4294836224
 | |
| // CHECK-NEXT: 16383
 | |
| // CHECK-NEXT: 4294705152
 | |
| // CHECK-NEXT: 8191
 | |
| // CHECK-NEXT: 4294443008
 | |
| // CHECK-NEXT: 4095
 | |
| // CHECK-NEXT: 4293918720
 | |
| // CHECK-NEXT: 2047
 | |
| // CHECK-NEXT: 4292870144
 | |
| // CHECK-NEXT: 1023
 | |
| // CHECK-NEXT: 4290772992
 | |
| // CHECK-NEXT: 511
 | |
| // CHECK-NEXT: 4286578688
 | |
| // CHECK-NEXT: 255
 | |
| // CHECK-NEXT: 4278190080
 | |
| // CHECK-NEXT: 127
 | |
| // CHECK-NEXT: 4261412864
 | |
| // CHECK-NEXT: 63
 | |
| // CHECK-NEXT: 4227858432
 | |
| // CHECK-NEXT: 31
 | |
| // CHECK-NEXT: 4160749568
 | |
| // CHECK-NEXT: 15
 | |
| // CHECK-NEXT: 4026531840
 | |
| // CHECK-NEXT: 7
 | |
| // CHECK-NEXT: 3758096384
 | |
| // CHECK-NEXT: 3
 | |
| // CHECK-NEXT: 3221225472
 | |
| // CHECK-NEXT: 1
 | |
| // CHECK-NEXT: 2147483648
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 4026531839
 | |
| // CHECK-NEXT: 4026531839
 | |
| // CHECK-NEXT: 2013265919
 | |
| // CHECK-NEXT: 3758096382
 | |
| // CHECK-NEXT: 1006632959
 | |
| // CHECK-NEXT: 3221225468
 | |
| // CHECK-NEXT: 503316479
 | |
| // CHECK-NEXT: 2147483640
 | |
| // CHECK-NEXT: 251658239
 | |
| // CHECK-NEXT: 4294967280
 | |
| // CHECK-NEXT: 125829119
 | |
| // CHECK-NEXT: 4294967264
 | |
| // CHECK-NEXT: 62914559
 | |
| // CHECK-NEXT: 4294967232
 | |
| // CHECK-NEXT: 31457279
 | |
| // CHECK-NEXT: 4294967168
 | |
| // CHECK-NEXT: 15728639
 | |
| // CHECK-NEXT: 4294967040
 | |
| // CHECK-NEXT: 7864319
 | |
| // CHECK-NEXT: 4294966784
 | |
| // CHECK-NEXT: 3932159
 | |
| // CHECK-NEXT: 4294966272
 | |
| // CHECK-NEXT: 1966079
 | |
| // CHECK-NEXT: 4294965248
 | |
| // CHECK-NEXT: 983039
 | |
| // CHECK-NEXT: 4294963200
 | |
| // CHECK-NEXT: 491519
 | |
| // CHECK-NEXT: 4294959104
 | |
| // CHECK-NEXT: 245759
 | |
| // CHECK-NEXT: 4294950912
 | |
| // CHECK-NEXT: 122879
 | |
| // CHECK-NEXT: 4294934528
 | |
| // CHECK-NEXT: 61439
 | |
| // CHECK-NEXT: 4294901760
 | |
| // CHECK-NEXT: 30719
 | |
| // CHECK-NEXT: 4294836224
 | |
| // CHECK-NEXT: 15359
 | |
| // CHECK-NEXT: 4294705152
 | |
| // CHECK-NEXT: 7679
 | |
| // CHECK-NEXT: 4294443008
 | |
| // CHECK-NEXT: 3839
 | |
| // CHECK-NEXT: 4293918720
 | |
| // CHECK-NEXT: 1919
 | |
| // CHECK-NEXT: 4292870144
 | |
| // CHECK-NEXT: 959
 | |
| // CHECK-NEXT: 4290772992
 | |
| // CHECK-NEXT: 479
 | |
| // CHECK-NEXT: 4286578688
 | |
| // CHECK-NEXT: 239
 | |
| // CHECK-NEXT: 4278190080
 | |
| // CHECK-NEXT: 119
 | |
| // CHECK-NEXT: 4261412864
 | |
| // CHECK-NEXT: 59
 | |
| // CHECK-NEXT: 4227858432
 | |
| // CHECK-NEXT: 29
 | |
| // CHECK-NEXT: 4160749568
 | |
| // CHECK-NEXT: 14
 | |
| // CHECK-NEXT: 4026531840
 | |
| // CHECK-NEXT: 7
 | |
| // CHECK-NEXT: 3758096384
 | |
| // CHECK-NEXT: 3
 | |
| // CHECK-NEXT: 3221225472
 | |
| // CHECK-NEXT: 1
 | |
| // CHECK-NEXT: 2147483648
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -2
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -4
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -8
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -16
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -32
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -64
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -128
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -256
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -512
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -1024
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -2048
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -4096
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -8192
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -16384
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -32768
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -65536
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -131072
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -262144
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -524288
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -1048576
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -2097152
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -4194304
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -8388608
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -16777216
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -33554432
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -67108864
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -134217728
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -268435456
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -536870912
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -1073741824
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: -2147483648
 | |
| // CHECK-NEXT: -1
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 1
 | |
| // CHECK-NEXT: 1
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 2
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 4
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 8
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 16
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 32
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 64
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 128
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 256
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 512
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 1024
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 2048
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 4096
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 8192
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 16384
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 32768
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 65536
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 131072
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 262144
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 524288
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 1048576
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 2097152
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 4194304
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 8388608
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 16777216
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 33554432
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 67108864
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 134217728
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 268435456
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 536870912
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 1073741824
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: -2147483648
 | |
| // CHECK-NEXT: 0
 | |
| // CHECK-NEXT: 0
 | |
| 
 | |
| package main
 | |
| 
 | |
| func testShrUint32(v uint32) {
 | |
| 	for i := uint(0); i <= 32; i++ {
 | |
| 		println(v >> i)
 | |
| 		println(v << i)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func testShrInt32(v int32) {
 | |
| 	for i := uint(0); i <= 32; i++ {
 | |
| 		println(v >> i)
 | |
| 		println(v << i)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func main() {
 | |
| 	testShrUint32(0xFFFFFFFF)
 | |
| 	testShrUint32(0xEFFFFFFF)
 | |
| 	testShrInt32(-1)
 | |
| 	testShrInt32(1)
 | |
| }
 |