forked from OSchip/llvm-project
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)
|
|
}
|