|
25 | 25 | extern "C" {
|
26 | 26 | #endif
|
27 | 27 |
|
| 28 | +#define INIT_ZERO 0 |
| 29 | +#define INIT_ONES 0xffffffffffffffffU |
| 30 | + |
28 | 31 | // CHECK-LABEL: define dso_local noundef i64 @test_init(
|
29 | 32 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0:[0-9]+]] {
|
30 | 33 | // CHECK-NEXT: [[ENTRY:.*:]]
|
31 | 34 | // CHECK-NEXT: ret i64 0
|
32 | 35 | //
|
33 | 36 | fpm_t test_init() { return __arm_fpm_init(); }
|
34 | 37 |
|
35 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 2) i64 @test_src1_1( |
| 38 | +// CHECK-LABEL: define dso_local noundef i64 @test_src1_1( |
36 | 39 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
37 | 40 | // CHECK-NEXT: [[ENTRY:.*:]]
|
38 |
| -// CHECK-NEXT: ret i64 0 |
| 41 | +// CHECK-NEXT: ret i64 -8 |
39 | 42 | //
|
40 | 43 | fpm_t test_src1_1() {
|
41 |
| - return __arm_set_fpm_src1_format(__arm_fpm_init(), __ARM_FPM_E5M2); |
| 44 | + return __arm_set_fpm_src1_format(INIT_ONES, __ARM_FPM_E5M2); |
42 | 45 | }
|
43 | 46 |
|
44 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 2) i64 @test_src1_2( |
| 47 | +// CHECK-LABEL: define dso_local noundef i64 @test_src1_2( |
45 | 48 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
46 | 49 | // CHECK-NEXT: [[ENTRY:.*:]]
|
47 | 50 | // CHECK-NEXT: ret i64 1
|
48 | 51 | //
|
49 | 52 | fpm_t test_src1_2() {
|
50 |
| - return __arm_set_fpm_src1_format(__arm_fpm_init(), __ARM_FPM_E4M3); |
| 53 | + return __arm_set_fpm_src1_format(INIT_ZERO, __ARM_FPM_E4M3); |
51 | 54 | }
|
52 | 55 |
|
53 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 16) i64 @test_src2_1( |
| 56 | +// CHECK-LABEL: define dso_local noundef i64 @test_src2_1( |
54 | 57 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
55 | 58 | // CHECK-NEXT: [[ENTRY:.*:]]
|
56 |
| -// CHECK-NEXT: ret i64 0 |
| 59 | +// CHECK-NEXT: ret i64 -57 |
57 | 60 | //
|
58 | 61 | fpm_t test_src2_1() {
|
59 |
| - return __arm_set_fpm_src2_format(__arm_fpm_init(), __ARM_FPM_E5M2); |
| 62 | + return __arm_set_fpm_src2_format(INIT_ONES, __ARM_FPM_E5M2); |
60 | 63 | }
|
61 | 64 |
|
62 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 16) i64 @test_src2_2( |
| 65 | +// CHECK-LABEL: define dso_local noundef i64 @test_src2_2( |
63 | 66 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
64 | 67 | // CHECK-NEXT: [[ENTRY:.*:]]
|
65 | 68 | // CHECK-NEXT: ret i64 8
|
66 | 69 | //
|
67 | 70 | fpm_t test_src2_2() {
|
68 |
| - return __arm_set_fpm_src2_format(__arm_fpm_init(), __ARM_FPM_E4M3); |
| 71 | + return __arm_set_fpm_src2_format(INIT_ZERO, __ARM_FPM_E4M3); |
69 | 72 | }
|
70 | 73 |
|
71 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 128) i64 @test_dst1_1( |
| 74 | +// CHECK-LABEL: define dso_local noundef i64 @test_dst1_1( |
72 | 75 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
73 | 76 | // CHECK-NEXT: [[ENTRY:.*:]]
|
74 |
| -// CHECK-NEXT: ret i64 0 |
| 77 | +// CHECK-NEXT: ret i64 -449 |
75 | 78 | //
|
76 | 79 | fpm_t test_dst1_1() {
|
77 |
| - return __arm_set_fpm_dst_format(__arm_fpm_init(), __ARM_FPM_E5M2); |
| 80 | + return __arm_set_fpm_dst_format(INIT_ONES, __ARM_FPM_E5M2); |
78 | 81 | }
|
79 | 82 |
|
80 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 128) i64 @test_dst2_2( |
| 83 | +// CHECK-LABEL: define dso_local noundef i64 @test_dst2_2( |
81 | 84 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
82 | 85 | // CHECK-NEXT: [[ENTRY:.*:]]
|
83 | 86 | // CHECK-NEXT: ret i64 64
|
84 | 87 | //
|
85 | 88 | fpm_t test_dst2_2() {
|
86 |
| - return __arm_set_fpm_dst_format(__arm_fpm_init(), __ARM_FPM_E4M3); |
| 89 | + return __arm_set_fpm_dst_format(INIT_ZERO, __ARM_FPM_E4M3); |
87 | 90 | }
|
88 | 91 |
|
89 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 32768) i64 @test_of_mul_1( |
| 92 | +// CHECK-LABEL: define dso_local noundef i64 @test_of_mul_1( |
90 | 93 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
91 | 94 | // CHECK-NEXT: [[ENTRY:.*:]]
|
92 |
| -// CHECK-NEXT: ret i64 0 |
| 95 | +// CHECK-NEXT: ret i64 -16385 |
93 | 96 | //
|
94 | 97 | fpm_t test_of_mul_1() {
|
95 |
| - return __arm_set_fpm_overflow_mul(__arm_fpm_init(), __ARM_FPM_INFNAN); |
| 98 | + return __arm_set_fpm_overflow_mul(INIT_ONES, __ARM_FPM_INFNAN); |
96 | 99 | }
|
97 | 100 |
|
98 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 32768) i64 @test_of_mul_2( |
| 101 | +// CHECK-LABEL: define dso_local noundef i64 @test_of_mul_2( |
99 | 102 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
100 | 103 | // CHECK-NEXT: [[ENTRY:.*:]]
|
101 | 104 | // CHECK-NEXT: ret i64 16384
|
102 | 105 | //
|
103 | 106 | fpm_t test_of_mul_2() {
|
104 |
| - return __arm_set_fpm_overflow_mul(__arm_fpm_init(), __ARM_FPM_SATURATE); |
| 107 | + return __arm_set_fpm_overflow_mul(INIT_ZERO, __ARM_FPM_SATURATE); |
105 | 108 | }
|
106 | 109 |
|
107 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 65536) i64 @test_of_cvt_1( |
| 110 | +// CHECK-LABEL: define dso_local noundef i64 @test_of_cvt_1( |
108 | 111 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
109 | 112 | // CHECK-NEXT: [[ENTRY:.*:]]
|
110 |
| -// CHECK-NEXT: ret i64 0 |
| 113 | +// CHECK-NEXT: ret i64 -32769 |
111 | 114 | //
|
112 | 115 | fpm_t test_of_cvt_1() {
|
113 |
| - return __arm_set_fpm_overflow_cvt(__arm_fpm_init(), __ARM_FPM_INFNAN); |
| 116 | + return __arm_set_fpm_overflow_cvt(INIT_ONES, __ARM_FPM_INFNAN); |
114 | 117 | }
|
115 | 118 |
|
116 |
| -// CHECK-LABEL: define dso_local noundef range(i64 0, 65536) i64 @test_of_cvt_2( |
| 119 | +// CHECK-LABEL: define dso_local noundef i64 @test_of_cvt_2( |
117 | 120 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
118 | 121 | // CHECK-NEXT: [[ENTRY:.*:]]
|
119 | 122 | // CHECK-NEXT: ret i64 32768
|
120 | 123 | //
|
121 | 124 | fpm_t test_of_cvt_2() {
|
122 |
| - return __arm_set_fpm_overflow_cvt(__arm_fpm_init(), __ARM_FPM_SATURATE); |
| 125 | + return __arm_set_fpm_overflow_cvt(INIT_ZERO, __ARM_FPM_SATURATE); |
123 | 126 | }
|
124 | 127 |
|
125 | 128 | // CHECK-LABEL: define dso_local noundef i64 @test_lscale(
|
126 | 129 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
127 | 130 | // CHECK-NEXT: [[ENTRY:.*:]]
|
128 | 131 | // CHECK-NEXT: ret i64 8323072
|
129 | 132 | //
|
130 |
| -fpm_t test_lscale() { return __arm_set_fpm_lscale(__arm_fpm_init(), 127); } |
| 133 | +fpm_t test_lscale() { return __arm_set_fpm_lscale(INIT_ZERO, 127); } |
131 | 134 |
|
132 | 135 | // CHECK-LABEL: define dso_local noundef i64 @test_lscale2(
|
133 | 136 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
134 | 137 | // CHECK-NEXT: [[ENTRY:.*:]]
|
135 | 138 | // CHECK-NEXT: ret i64 270582939648
|
136 | 139 | //
|
137 |
| -fpm_t test_lscale2() { return __arm_set_fpm_lscale2(__arm_fpm_init(), 63); } |
| 140 | +fpm_t test_lscale2() { return __arm_set_fpm_lscale2(INIT_ZERO, 63); } |
138 | 141 |
|
139 | 142 | // CHECK-LABEL: define dso_local noundef range(i64 0, 4294967296) i64 @test_nscale_1(
|
140 | 143 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
141 | 144 | // CHECK-NEXT: [[ENTRY:.*:]]
|
142 | 145 | // CHECK-NEXT: ret i64 2147483648
|
143 | 146 | //
|
144 |
| -fpm_t test_nscale_1() { return __arm_set_fpm_nscale(__arm_fpm_init(), -128); } |
| 147 | +fpm_t test_nscale_1() { return __arm_set_fpm_nscale(INIT_ZERO, -128); } |
145 | 148 |
|
146 | 149 | // CHECK-LABEL: define dso_local noundef range(i64 0, 4294967296) i64 @test_nscale_2(
|
147 | 150 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
148 | 151 | // CHECK-NEXT: [[ENTRY:.*:]]
|
149 | 152 | // CHECK-NEXT: ret i64 2130706432
|
150 | 153 | //
|
151 |
| -fpm_t test_nscale_2() { return __arm_set_fpm_nscale(__arm_fpm_init(), 127); } |
| 154 | +fpm_t test_nscale_2() { return __arm_set_fpm_nscale(INIT_ZERO, 127); } |
152 | 155 |
|
153 | 156 | // CHECK-LABEL: define dso_local noundef range(i64 0, 4294967296) i64 @test_nscale_3(
|
154 | 157 | // CHECK-SAME: ) local_unnamed_addr #[[ATTR0]] {
|
155 | 158 | // CHECK-NEXT: [[ENTRY:.*:]]
|
156 | 159 | // CHECK-NEXT: ret i64 4278190080
|
157 | 160 | //
|
158 |
| -fpm_t test_nscale_3() { return __arm_set_fpm_nscale(__arm_fpm_init(), -1); } |
| 161 | +fpm_t test_nscale_3() { return __arm_set_fpm_nscale(INIT_ZERO, -1); } |
159 | 162 |
|
160 | 163 | #ifdef __cplusplus
|
161 | 164 | }
|
|
0 commit comments