File tree 1 file changed +134
-0
lines changed
1 file changed +134
-0
lines changed Original file line number Diff line number Diff line change
1
+ // run
2
+
3
+ // Copyright 2017 The Go Authors. All rights reserved.
4
+ // Use of this source code is governed by a BSD-style
5
+ // license that can be found in the LICENSE file.
6
+
7
+ // Test for golang.org/issue/19403.
8
+ // F15 should not be clobbered by float-to-int conversion on ARM.
9
+ // This test requires enough locals that can be put in registers that the compiler can choose to use F15.
10
+ package main
11
+
12
+ var count float32 = 16
13
+ var i0 int
14
+ var i1 int
15
+ var i2 int
16
+ var i3 int
17
+ var i4 int
18
+ var i5 int
19
+ var i6 int
20
+ var i7 int
21
+ var i8 int
22
+ var i9 int
23
+ var i10 int
24
+ var i11 int
25
+ var i12 int
26
+ var i13 int
27
+ var i14 int
28
+ var i15 int
29
+ var i16 int
30
+
31
+ func main () {
32
+ var f0 float32 = 0.0
33
+ var f1 float32 = 1.0
34
+ var f2 float32 = 2.0
35
+ var f3 float32 = 3.0
36
+ var f4 float32 = 4.0
37
+ var f5 float32 = 5.0
38
+ var f6 float32 = 6.0
39
+ var f7 float32 = 7.0
40
+ var f8 float32 = 8.0
41
+ var f9 float32 = 9.0
42
+ var f10 float32 = 10.0
43
+ var f11 float32 = 11.0
44
+ var f12 float32 = 12.0
45
+ var f13 float32 = 13.0
46
+ var f14 float32 = 14.0
47
+ var f15 float32 = 15.0
48
+ var f16 float32 = 16.0
49
+ i0 = int (f0 )
50
+ i1 = int (f1 )
51
+ i2 = int (f2 )
52
+ i3 = int (f3 )
53
+ i4 = int (f4 )
54
+ i5 = int (f5 )
55
+ i6 = int (f6 )
56
+ i7 = int (f7 )
57
+ i8 = int (f8 )
58
+ i9 = int (f9 )
59
+ i10 = int (f10 )
60
+ i11 = int (f11 )
61
+ i12 = int (f12 )
62
+ i13 = int (f13 )
63
+ i14 = int (f14 )
64
+ i15 = int (f15 )
65
+ i16 = int (f16 )
66
+ if f16 != count {
67
+ panic ("fail" )
68
+ }
69
+ count -= 1
70
+ if f15 != count {
71
+ panic ("fail" )
72
+ }
73
+ count -= 1
74
+ if f14 != count {
75
+ panic ("fail" )
76
+ }
77
+ count -= 1
78
+ if f13 != count {
79
+ panic ("fail" )
80
+ }
81
+ count -= 1
82
+ if f12 != count {
83
+ panic ("fail" )
84
+ }
85
+ count -= 1
86
+ if f11 != count {
87
+ panic ("fail" )
88
+ }
89
+ count -= 1
90
+ if f10 != count {
91
+ panic ("fail" )
92
+ }
93
+ count -= 1
94
+ if f9 != count {
95
+ panic ("fail" )
96
+ }
97
+ count -= 1
98
+ if f8 != count {
99
+ panic ("fail" )
100
+ }
101
+ count -= 1
102
+ if f7 != count {
103
+ panic ("fail" )
104
+ }
105
+ count -= 1
106
+ if f6 != count {
107
+ panic ("fail" )
108
+ }
109
+ count -= 1
110
+ if f5 != count {
111
+ panic ("fail" )
112
+ }
113
+ count -= 1
114
+ if f4 != count {
115
+ panic ("fail" )
116
+ }
117
+ count -= 1
118
+ if f3 != count {
119
+ panic ("fail" )
120
+ }
121
+ count -= 1
122
+ if f2 != count {
123
+ panic ("fail" )
124
+ }
125
+ count -= 1
126
+ if f1 != count {
127
+ panic ("fail" )
128
+ }
129
+ count -= 1
130
+ if f0 != count {
131
+ panic ("fail" )
132
+ }
133
+ count -= 1
134
+ }
You can’t perform that action at this time.
0 commit comments