|
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