| ... | @@ -22,6 +22,12 @@ else | ... | @@ -22,6 +22,12 @@ else |
| 22 | const long_double_is_f128 = builtin.target.longDoubleIsF128(); | 22 | const long_double_is_f128 = builtin.target.longDoubleIsF128(); |
| 23 | | 23 | |
| 24 | comptime { | 24 | comptime { |
| | 25 | // These files do their own comptime exporting logic. |
| | 26 | if (!builtin.zig_is_stage2) { |
| | 27 | _ = @import("compiler_rt/atomics.zig"); |
| | 28 | } |
| | 29 | _ = @import("compiler_rt/clear_cache.zig").clear_cache; |
| | 30 | |
| 25 | const __extenddftf2 = @import("compiler_rt/extendXfYf2.zig").__extenddftf2; | 31 | const __extenddftf2 = @import("compiler_rt/extendXfYf2.zig").__extenddftf2; |
| 26 | @export(__extenddftf2, .{ .name = "__extenddftf2", .linkage = linkage }); | 32 | @export(__extenddftf2, .{ .name = "__extenddftf2", .linkage = linkage }); |
| 27 | const __extendsftf2 = @import("compiler_rt/extendXfYf2.zig").__extendsftf2; | 33 | const __extendsftf2 = @import("compiler_rt/extendXfYf2.zig").__extendsftf2; |
| ... | @@ -171,16 +177,16 @@ comptime { | ... | @@ -171,16 +177,16 @@ comptime { |
| 171 | const __truncdfsf2 = @import("compiler_rt/truncXfYf2.zig").__truncdfsf2; | 177 | const __truncdfsf2 = @import("compiler_rt/truncXfYf2.zig").__truncdfsf2; |
| 172 | @export(__truncdfsf2, .{ .name = "__truncdfsf2", .linkage = linkage }); | 178 | @export(__truncdfsf2, .{ .name = "__truncdfsf2", .linkage = linkage }); |
| 173 | | 179 | |
| 174 | if (!builtin.zig_is_stage2) { | 180 | if (!long_double_is_f128) { |
| 175 | if (!long_double_is_f128) { | 181 | // TODO implement these |
| 176 | // TODO implement these | 182 | //const __extendxftf2 = @import("compiler_rt/extendXfYf2.zig").__extendxftf2; |
| 177 | //const __extendxftf2 = @import("compiler_rt/extendXfYf2.zig").__extendxftf2; | 183 | //@export(__extendxftf2, .{ .name = "__extendxftf2", .linkage = linkage }); |
| 178 | //@export(__extendxftf2, .{ .name = "__extendxftf2", .linkage = linkage }); | | |
| 179 | | 184 | |
| 180 | //const __trunctfxf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfxf2; | 185 | //const __trunctfxf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfxf2; |
| 181 | //@export(__trunctfxf2, .{ .name = "__trunctfxf2", .linkage = linkage }); | 186 | //@export(__trunctfxf2, .{ .name = "__trunctfxf2", .linkage = linkage }); |
| 182 | } | 187 | } |
| 183 | | 188 | |
| | 189 | if (!builtin.zig_is_stage2) { |
| 184 | switch (arch) { | 190 | switch (arch) { |
| 185 | .i386, | 191 | .i386, |
| 186 | .x86_64, | 192 | .x86_64, |
| ... | @@ -193,30 +199,29 @@ comptime { | ... | @@ -193,30 +199,29 @@ comptime { |
| 193 | }, | 199 | }, |
| 194 | else => {}, | 200 | else => {}, |
| 195 | } | 201 | } |
| | 202 | } |
| 196 | | 203 | |
| 197 | // __clear_cache manages its own logic about whether to be exported or not. | 204 | const __unordsf2 = @import("compiler_rt/compareXf2.zig").__unordsf2; |
| 198 | _ = @import("compiler_rt/clear_cache.zig").clear_cache; | 205 | @export(__unordsf2, .{ .name = "__unordsf2", .linkage = linkage }); |
| 199 | | 206 | const __unorddf2 = @import("compiler_rt/compareXf2.zig").__unorddf2; |
| 200 | const __unordsf2 = @import("compiler_rt/compareXf2.zig").__unordsf2; | 207 | @export(__unorddf2, .{ .name = "__unorddf2", .linkage = linkage }); |
| 201 | @export(__unordsf2, .{ .name = "__unordsf2", .linkage = linkage }); | 208 | const __unordtf2 = @import("compiler_rt/compareXf2.zig").__unordtf2; |
| 202 | const __unorddf2 = @import("compiler_rt/compareXf2.zig").__unorddf2; | 209 | @export(__unordtf2, .{ .name = "__unordtf2", .linkage = linkage }); |
| 203 | @export(__unorddf2, .{ .name = "__unorddf2", .linkage = linkage }); | 210 | |
| 204 | const __unordtf2 = @import("compiler_rt/compareXf2.zig").__unordtf2; | 211 | const __addsf3 = @import("compiler_rt/addXf3.zig").__addsf3; |
| 205 | @export(__unordtf2, .{ .name = "__unordtf2", .linkage = linkage }); | 212 | @export(__addsf3, .{ .name = "__addsf3", .linkage = linkage }); |
| 206 | | 213 | const __adddf3 = @import("compiler_rt/addXf3.zig").__adddf3; |
| 207 | const __addsf3 = @import("compiler_rt/addXf3.zig").__addsf3; | 214 | @export(__adddf3, .{ .name = "__adddf3", .linkage = linkage }); |
| 208 | @export(__addsf3, .{ .name = "__addsf3", .linkage = linkage }); | 215 | const __addtf3 = @import("compiler_rt/addXf3.zig").__addtf3; |
| 209 | const __adddf3 = @import("compiler_rt/addXf3.zig").__adddf3; | 216 | @export(__addtf3, .{ .name = "__addtf3", .linkage = linkage }); |
| 210 | @export(__adddf3, .{ .name = "__adddf3", .linkage = linkage }); | 217 | const __subsf3 = @import("compiler_rt/addXf3.zig").__subsf3; |
| 211 | const __addtf3 = @import("compiler_rt/addXf3.zig").__addtf3; | 218 | @export(__subsf3, .{ .name = "__subsf3", .linkage = linkage }); |
| 212 | @export(__addtf3, .{ .name = "__addtf3", .linkage = linkage }); | 219 | const __subdf3 = @import("compiler_rt/addXf3.zig").__subdf3; |
| 213 | const __subsf3 = @import("compiler_rt/addXf3.zig").__subsf3; | 220 | @export(__subdf3, .{ .name = "__subdf3", .linkage = linkage }); |
| 214 | @export(__subsf3, .{ .name = "__subsf3", .linkage = linkage }); | 221 | const __subtf3 = @import("compiler_rt/addXf3.zig").__subtf3; |
| 215 | const __subdf3 = @import("compiler_rt/addXf3.zig").__subdf3; | 222 | @export(__subtf3, .{ .name = "__subtf3", .linkage = linkage }); |
| 216 | @export(__subdf3, .{ .name = "__subdf3", .linkage = linkage }); | | |
| 217 | const __subtf3 = @import("compiler_rt/addXf3.zig").__subtf3; | | |
| 218 | @export(__subtf3, .{ .name = "__subtf3", .linkage = linkage }); | | |
| 219 | | 223 | |
| | 224 | if (!builtin.zig_is_stage2) { |
| 220 | const __mulsf3 = @import("compiler_rt/mulXf3.zig").__mulsf3; | 225 | const __mulsf3 = @import("compiler_rt/mulXf3.zig").__mulsf3; |
| 221 | @export(__mulsf3, .{ .name = "__mulsf3", .linkage = linkage }); | 226 | @export(__mulsf3, .{ .name = "__mulsf3", .linkage = linkage }); |
| 222 | const __muldf3 = @import("compiler_rt/mulXf3.zig").__muldf3; | 227 | const __muldf3 = @import("compiler_rt/mulXf3.zig").__muldf3; |
| ... | @@ -230,21 +235,23 @@ comptime { | ... | @@ -230,21 +235,23 @@ comptime { |
| 230 | @export(__divdf3, .{ .name = "__divdf3", .linkage = linkage }); | 235 | @export(__divdf3, .{ .name = "__divdf3", .linkage = linkage }); |
| 231 | const __divtf3 = @import("compiler_rt/divtf3.zig").__divtf3; | 236 | const __divtf3 = @import("compiler_rt/divtf3.zig").__divtf3; |
| 232 | @export(__divtf3, .{ .name = "__divtf3", .linkage = linkage }); | 237 | @export(__divtf3, .{ .name = "__divtf3", .linkage = linkage }); |
| | 238 | } |
| 233 | | 239 | |
| 234 | // Integral bit manipulation | 240 | // Integral bit manipulation |
| 235 | const __ashldi3 = @import("compiler_rt/shift.zig").__ashldi3; | 241 | const __ashldi3 = @import("compiler_rt/shift.zig").__ashldi3; |
| 236 | @export(__ashldi3, .{ .name = "__ashldi3", .linkage = linkage }); | 242 | @export(__ashldi3, .{ .name = "__ashldi3", .linkage = linkage }); |
| 237 | const __ashlti3 = @import("compiler_rt/shift.zig").__ashlti3; | 243 | const __ashlti3 = @import("compiler_rt/shift.zig").__ashlti3; |
| 238 | @export(__ashlti3, .{ .name = "__ashlti3", .linkage = linkage }); | 244 | @export(__ashlti3, .{ .name = "__ashlti3", .linkage = linkage }); |
| 239 | const __ashrdi3 = @import("compiler_rt/shift.zig").__ashrdi3; | 245 | const __ashrdi3 = @import("compiler_rt/shift.zig").__ashrdi3; |
| 240 | @export(__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage }); | 246 | @export(__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage }); |
| 241 | const __ashrti3 = @import("compiler_rt/shift.zig").__ashrti3; | 247 | const __ashrti3 = @import("compiler_rt/shift.zig").__ashrti3; |
| 242 | @export(__ashrti3, .{ .name = "__ashrti3", .linkage = linkage }); | 248 | @export(__ashrti3, .{ .name = "__ashrti3", .linkage = linkage }); |
| 243 | const __lshrdi3 = @import("compiler_rt/shift.zig").__lshrdi3; | 249 | const __lshrdi3 = @import("compiler_rt/shift.zig").__lshrdi3; |
| 244 | @export(__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage }); | 250 | @export(__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage }); |
| 245 | const __lshrti3 = @import("compiler_rt/shift.zig").__lshrti3; | 251 | const __lshrti3 = @import("compiler_rt/shift.zig").__lshrti3; |
| 246 | @export(__lshrti3, .{ .name = "__lshrti3", .linkage = linkage }); | 252 | @export(__lshrti3, .{ .name = "__lshrti3", .linkage = linkage }); |
| 247 | | 253 | |
| | 254 | if (!builtin.zig_is_stage2) { |
| 248 | const __clzsi2 = @import("compiler_rt/count0bits.zig").__clzsi2; | 255 | const __clzsi2 = @import("compiler_rt/count0bits.zig").__clzsi2; |
| 249 | @export(__clzsi2, .{ .name = "__clzsi2", .linkage = linkage }); | 256 | @export(__clzsi2, .{ .name = "__clzsi2", .linkage = linkage }); |
| 250 | const __clzdi2 = @import("compiler_rt/count0bits.zig").__clzdi2; | 257 | const __clzdi2 = @import("compiler_rt/count0bits.zig").__clzdi2; |
| ... | @@ -263,461 +270,466 @@ comptime { | ... | @@ -263,461 +270,466 @@ comptime { |
| 263 | @export(__ffsdi2, .{ .name = "__ffsdi2", .linkage = linkage }); | 270 | @export(__ffsdi2, .{ .name = "__ffsdi2", .linkage = linkage }); |
| 264 | const __ffsti2 = @import("compiler_rt/count0bits.zig").__ffsti2; | 271 | const __ffsti2 = @import("compiler_rt/count0bits.zig").__ffsti2; |
| 265 | @export(__ffsti2, .{ .name = "__ffsti2", .linkage = linkage }); | 272 | @export(__ffsti2, .{ .name = "__ffsti2", .linkage = linkage }); |
| | 273 | } |
| 266 | | 274 | |
| 267 | const __paritysi2 = @import("compiler_rt/parity.zig").__paritysi2; | 275 | const __paritysi2 = @import("compiler_rt/parity.zig").__paritysi2; |
| 268 | @export(__paritysi2, .{ .name = "__paritysi2", .linkage = linkage }); | 276 | @export(__paritysi2, .{ .name = "__paritysi2", .linkage = linkage }); |
| 269 | const __paritydi2 = @import("compiler_rt/parity.zig").__paritydi2; | 277 | const __paritydi2 = @import("compiler_rt/parity.zig").__paritydi2; |
| 270 | @export(__paritydi2, .{ .name = "__paritydi2", .linkage = linkage }); | 278 | @export(__paritydi2, .{ .name = "__paritydi2", .linkage = linkage }); |
| 271 | const __parityti2 = @import("compiler_rt/parity.zig").__parityti2; | 279 | const __parityti2 = @import("compiler_rt/parity.zig").__parityti2; |
| 272 | @export(__parityti2, .{ .name = "__parityti2", .linkage = linkage }); | 280 | @export(__parityti2, .{ .name = "__parityti2", .linkage = linkage }); |
| 273 | const __popcountsi2 = @import("compiler_rt/popcount.zig").__popcountsi2; | 281 | |
| 274 | @export(__popcountsi2, .{ .name = "__popcountsi2", .linkage = linkage }); | 282 | const __popcountsi2 = @import("compiler_rt/popcount.zig").__popcountsi2; |
| 275 | const __popcountdi2 = @import("compiler_rt/popcount.zig").__popcountdi2; | 283 | @export(__popcountsi2, .{ .name = "__popcountsi2", .linkage = linkage }); |
| 276 | @export(__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage }); | 284 | const __popcountdi2 = @import("compiler_rt/popcount.zig").__popcountdi2; |
| 277 | const __popcountti2 = @import("compiler_rt/popcount.zig").__popcountti2; | 285 | @export(__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage }); |
| 278 | @export(__popcountti2, .{ .name = "__popcountti2", .linkage = linkage }); | 286 | const __popcountti2 = @import("compiler_rt/popcount.zig").__popcountti2; |
| 279 | const __bswapsi2 = @import("compiler_rt/bswap.zig").__bswapsi2; | 287 | @export(__popcountti2, .{ .name = "__popcountti2", .linkage = linkage }); |
| 280 | @export(__bswapsi2, .{ .name = "__bswapsi2", .linkage = linkage }); | 288 | |
| 281 | const __bswapdi2 = @import("compiler_rt/bswap.zig").__bswapdi2; | 289 | const __bswapsi2 = @import("compiler_rt/bswap.zig").__bswapsi2; |
| 282 | @export(__bswapdi2, .{ .name = "__bswapdi2", .linkage = linkage }); | 290 | @export(__bswapsi2, .{ .name = "__bswapsi2", .linkage = linkage }); |
| 283 | const __bswapti2 = @import("compiler_rt/bswap.zig").__bswapti2; | 291 | const __bswapdi2 = @import("compiler_rt/bswap.zig").__bswapdi2; |
| 284 | @export(__bswapti2, .{ .name = "__bswapti2", .linkage = linkage }); | 292 | @export(__bswapdi2, .{ .name = "__bswapdi2", .linkage = linkage }); |
| 285 | | 293 | const __bswapti2 = @import("compiler_rt/bswap.zig").__bswapti2; |
| 286 | // Integral / floating point conversion (part 1/2) | 294 | @export(__bswapti2, .{ .name = "__bswapti2", .linkage = linkage }); |
| 287 | const __floatsidf = @import("compiler_rt/floatsiXf.zig").__floatsidf; | 295 | |
| 288 | @export(__floatsidf, .{ .name = "__floatsidf", .linkage = linkage }); | 296 | // Integral / floating point conversion (part 1/2) |
| 289 | const __floatsisf = @import("compiler_rt/floatsiXf.zig").__floatsisf; | 297 | const __floatsidf = @import("compiler_rt/floatsiXf.zig").__floatsidf; |
| 290 | @export(__floatsisf, .{ .name = "__floatsisf", .linkage = linkage }); | 298 | @export(__floatsidf, .{ .name = "__floatsidf", .linkage = linkage }); |
| 291 | const __floatdidf = @import("compiler_rt/floatdidf.zig").__floatdidf; | 299 | const __floatsisf = @import("compiler_rt/floatsiXf.zig").__floatsisf; |
| 292 | @export(__floatdidf, .{ .name = "__floatdidf", .linkage = linkage }); | 300 | @export(__floatsisf, .{ .name = "__floatsisf", .linkage = linkage }); |
| 293 | const __floatsitf = @import("compiler_rt/floatsiXf.zig").__floatsitf; | 301 | const __floatdidf = @import("compiler_rt/floatdidf.zig").__floatdidf; |
| 294 | @export(__floatsitf, .{ .name = "__floatsitf", .linkage = linkage }); | 302 | @export(__floatdidf, .{ .name = "__floatdidf", .linkage = linkage }); |
| 295 | | 303 | const __floatsitf = @import("compiler_rt/floatsiXf.zig").__floatsitf; |
| 296 | const __floatunsisf = @import("compiler_rt/floatunsisf.zig").__floatunsisf; | 304 | @export(__floatsitf, .{ .name = "__floatsitf", .linkage = linkage }); |
| 297 | @export(__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage }); | 305 | |
| | 306 | const __floatunsisf = @import("compiler_rt/floatunsisf.zig").__floatunsisf; |
| | 307 | @export(__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage }); |
| | 308 | if (!builtin.zig_is_stage2) { |
| 298 | const __floatundisf = @import("compiler_rt/floatundisf.zig").__floatundisf; | 309 | const __floatundisf = @import("compiler_rt/floatundisf.zig").__floatundisf; |
| 299 | @export(__floatundisf, .{ .name = "__floatundisf", .linkage = linkage }); | 310 | @export(__floatundisf, .{ .name = "__floatundisf", .linkage = linkage }); |
| 300 | const __floatunsidf = @import("compiler_rt/floatunsidf.zig").__floatunsidf; | 311 | } |
| 301 | @export(__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage }); | 312 | const __floatunsidf = @import("compiler_rt/floatunsidf.zig").__floatunsidf; |
| 302 | const __floatundidf = @import("compiler_rt/floatundidf.zig").__floatundidf; | 313 | @export(__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage }); |
| 303 | @export(__floatundidf, .{ .name = "__floatundidf", .linkage = linkage }); | 314 | const __floatundidf = @import("compiler_rt/floatundidf.zig").__floatundidf; |
| 304 | | 315 | @export(__floatundidf, .{ .name = "__floatundidf", .linkage = linkage }); |
| 305 | const __floatditf = @import("compiler_rt/floatditf.zig").__floatditf; | 316 | |
| 306 | @export(__floatditf, .{ .name = "__floatditf", .linkage = linkage }); | 317 | const __floatditf = @import("compiler_rt/floatditf.zig").__floatditf; |
| 307 | const __floattitf = @import("compiler_rt/floattitf.zig").__floattitf; | 318 | @export(__floatditf, .{ .name = "__floatditf", .linkage = linkage }); |
| 308 | @export(__floattitf, .{ .name = "__floattitf", .linkage = linkage }); | 319 | const __floattitf = @import("compiler_rt/floattitf.zig").__floattitf; |
| 309 | const __floattidf = @import("compiler_rt/floattidf.zig").__floattidf; | 320 | @export(__floattitf, .{ .name = "__floattitf", .linkage = linkage }); |
| 310 | @export(__floattidf, .{ .name = "__floattidf", .linkage = linkage }); | 321 | const __floattidf = @import("compiler_rt/floattidf.zig").__floattidf; |
| 311 | const __floattisf = @import("compiler_rt/floatXisf.zig").__floattisf; | 322 | @export(__floattidf, .{ .name = "__floattidf", .linkage = linkage }); |
| 312 | @export(__floattisf, .{ .name = "__floattisf", .linkage = linkage }); | 323 | const __floattisf = @import("compiler_rt/floatXisf.zig").__floattisf; |
| 313 | const __floatdisf = @import("compiler_rt/floatXisf.zig").__floatdisf; | 324 | @export(__floattisf, .{ .name = "__floattisf", .linkage = linkage }); |
| 314 | @export(__floatdisf, .{ .name = "__floatdisf", .linkage = linkage }); | 325 | const __floatdisf = @import("compiler_rt/floatXisf.zig").__floatdisf; |
| 315 | | 326 | @export(__floatdisf, .{ .name = "__floatdisf", .linkage = linkage }); |
| 316 | const __floatunditf = @import("compiler_rt/floatunditf.zig").__floatunditf; | 327 | |
| 317 | @export(__floatunditf, .{ .name = "__floatunditf", .linkage = linkage }); | 328 | const __floatunditf = @import("compiler_rt/floatunditf.zig").__floatunditf; |
| 318 | const __floatunsitf = @import("compiler_rt/floatunsitf.zig").__floatunsitf; | 329 | @export(__floatunditf, .{ .name = "__floatunditf", .linkage = linkage }); |
| 319 | @export(__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage }); | 330 | const __floatunsitf = @import("compiler_rt/floatunsitf.zig").__floatunsitf; |
| 320 | | 331 | @export(__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage }); |
| 321 | const __floatuntitf = @import("compiler_rt/floatuntitf.zig").__floatuntitf; | 332 | |
| 322 | @export(__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage }); | 333 | const __floatuntitf = @import("compiler_rt/floatuntitf.zig").__floatuntitf; |
| 323 | const __floatuntidf = @import("compiler_rt/floatuntidf.zig").__floatuntidf; | 334 | @export(__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage }); |
| 324 | @export(__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage }); | 335 | const __floatuntidf = @import("compiler_rt/floatuntidf.zig").__floatuntidf; |
| 325 | const __floatuntisf = @import("compiler_rt/floatuntisf.zig").__floatuntisf; | 336 | @export(__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage }); |
| 326 | @export(__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage }); | 337 | const __floatuntisf = @import("compiler_rt/floatuntisf.zig").__floatuntisf; |
| 327 | | 338 | @export(__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage }); |
| 328 | const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2; | 339 | |
| 329 | @export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage }); | 340 | const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2; |
| 330 | if (!is_test) { | 341 | @export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage }); |
| 331 | @export(__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage }); | 342 | if (!is_test) { |
| 332 | } | 343 | @export(__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage }); |
| 333 | const __extendsfdf2 = @import("compiler_rt/extendXfYf2.zig").__extendsfdf2; | 344 | } |
| 334 | @export(__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage }); | 345 | const __extendsfdf2 = @import("compiler_rt/extendXfYf2.zig").__extendsfdf2; |
| 335 | | 346 | @export(__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage }); |
| 336 | // Integral / floating point conversion (part 2/2) | 347 | |
| 337 | const __fixunssfsi = @import("compiler_rt/fixunssfsi.zig").__fixunssfsi; | 348 | // Integral / floating point conversion (part 2/2) |
| 338 | @export(__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage }); | 349 | const __fixunssfsi = @import("compiler_rt/fixunssfsi.zig").__fixunssfsi; |
| 339 | const __fixunssfdi = @import("compiler_rt/fixunssfdi.zig").__fixunssfdi; | 350 | @export(__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage }); |
| 340 | @export(__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage }); | 351 | const __fixunssfdi = @import("compiler_rt/fixunssfdi.zig").__fixunssfdi; |
| 341 | const __fixunssfti = @import("compiler_rt/fixunssfti.zig").__fixunssfti; | 352 | @export(__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage }); |
| 342 | @export(__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage }); | 353 | const __fixunssfti = @import("compiler_rt/fixunssfti.zig").__fixunssfti; |
| 343 | | 354 | @export(__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage }); |
| 344 | const __fixunsdfsi = @import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi; | 355 | |
| 345 | @export(__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage }); | 356 | const __fixunsdfsi = @import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi; |
| 346 | const __fixunsdfdi = @import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi; | 357 | @export(__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage }); |
| 347 | @export(__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage }); | 358 | const __fixunsdfdi = @import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi; |
| 348 | const __fixunsdfti = @import("compiler_rt/fixunsdfti.zig").__fixunsdfti; | 359 | @export(__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage }); |
| 349 | @export(__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage }); | 360 | const __fixunsdfti = @import("compiler_rt/fixunsdfti.zig").__fixunsdfti; |
| 350 | | 361 | @export(__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage }); |
| 351 | const __fixunstfsi = @import("compiler_rt/fixunstfsi.zig").__fixunstfsi; | 362 | |
| 352 | @export(__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage }); | 363 | const __fixunstfsi = @import("compiler_rt/fixunstfsi.zig").__fixunstfsi; |
| 353 | const __fixunstfdi = @import("compiler_rt/fixunstfdi.zig").__fixunstfdi; | 364 | @export(__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage }); |
| 354 | @export(__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage }); | 365 | const __fixunstfdi = @import("compiler_rt/fixunstfdi.zig").__fixunstfdi; |
| 355 | const __fixunstfti = @import("compiler_rt/fixunstfti.zig").__fixunstfti; | 366 | @export(__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage }); |
| 356 | @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage }); | 367 | const __fixunstfti = @import("compiler_rt/fixunstfti.zig").__fixunstfti; |
| 357 | | 368 | @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage }); |
| 358 | const __fixdfdi = @import("compiler_rt/fixdfdi.zig").__fixdfdi; | 369 | |
| 359 | @export(__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage }); | 370 | const __fixdfdi = @import("compiler_rt/fixdfdi.zig").__fixdfdi; |
| 360 | const __fixdfsi = @import("compiler_rt/fixdfsi.zig").__fixdfsi; | 371 | @export(__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage }); |
| 361 | @export(__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage }); | 372 | const __fixdfsi = @import("compiler_rt/fixdfsi.zig").__fixdfsi; |
| 362 | const __fixdfti = @import("compiler_rt/fixdfti.zig").__fixdfti; | 373 | @export(__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage }); |
| 363 | @export(__fixdfti, .{ .name = "__fixdfti", .linkage = linkage }); | 374 | const __fixdfti = @import("compiler_rt/fixdfti.zig").__fixdfti; |
| 364 | const __fixsfdi = @import("compiler_rt/fixsfdi.zig").__fixsfdi; | 375 | @export(__fixdfti, .{ .name = "__fixdfti", .linkage = linkage }); |
| 365 | @export(__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage }); | 376 | const __fixsfdi = @import("compiler_rt/fixsfdi.zig").__fixsfdi; |
| 366 | const __fixsfsi = @import("compiler_rt/fixsfsi.zig").__fixsfsi; | 377 | @export(__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage }); |
| 367 | @export(__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage }); | 378 | const __fixsfsi = @import("compiler_rt/fixsfsi.zig").__fixsfsi; |
| 368 | const __fixsfti = @import("compiler_rt/fixsfti.zig").__fixsfti; | 379 | @export(__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage }); |
| 369 | @export(__fixsfti, .{ .name = "__fixsfti", .linkage = linkage }); | 380 | const __fixsfti = @import("compiler_rt/fixsfti.zig").__fixsfti; |
| 370 | const __fixtfdi = @import("compiler_rt/fixtfdi.zig").__fixtfdi; | 381 | @export(__fixsfti, .{ .name = "__fixsfti", .linkage = linkage }); |
| 371 | @export(__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage }); | 382 | const __fixtfdi = @import("compiler_rt/fixtfdi.zig").__fixtfdi; |
| 372 | const __fixtfsi = @import("compiler_rt/fixtfsi.zig").__fixtfsi; | 383 | @export(__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage }); |
| 373 | @export(__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage }); | 384 | const __fixtfsi = @import("compiler_rt/fixtfsi.zig").__fixtfsi; |
| 374 | const __fixtfti = @import("compiler_rt/fixtfti.zig").__fixtfti; | 385 | @export(__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage }); |
| 375 | @export(__fixtfti, .{ .name = "__fixtfti", .linkage = linkage }); | 386 | const __fixtfti = @import("compiler_rt/fixtfti.zig").__fixtfti; |
| 376 | | 387 | @export(__fixtfti, .{ .name = "__fixtfti", .linkage = linkage }); |
| 377 | const __udivmoddi4 = @import("compiler_rt/int.zig").__udivmoddi4; | 388 | |
| 378 | @export(__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage }); | 389 | const __udivmoddi4 = @import("compiler_rt/int.zig").__udivmoddi4; |
| 379 | | 390 | @export(__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage }); |
| 380 | if (is_darwin) { | 391 | |
| 381 | const __isPlatformVersionAtLeast = @import("compiler_rt/os_version_check.zig").__isPlatformVersionAtLeast; | 392 | if (is_darwin) { |
| 382 | @export(__isPlatformVersionAtLeast, .{ .name = "__isPlatformVersionAtLeast", .linkage = linkage }); | 393 | const __isPlatformVersionAtLeast = @import("compiler_rt/os_version_check.zig").__isPlatformVersionAtLeast; |
| 383 | } | 394 | @export(__isPlatformVersionAtLeast, .{ .name = "__isPlatformVersionAtLeast", .linkage = linkage }); |
| | 395 | } |
| 384 | | 396 | |
| 385 | // Integral arithmetic | 397 | // Integral arithmetic |
| 386 | const __negsi2 = @import("compiler_rt/negXi2.zig").__negsi2; | 398 | const __negsi2 = @import("compiler_rt/negXi2.zig").__negsi2; |
| 387 | @export(__negsi2, .{ .name = "__negsi2", .linkage = linkage }); | 399 | @export(__negsi2, .{ .name = "__negsi2", .linkage = linkage }); |
| 388 | const __negdi2 = @import("compiler_rt/negXi2.zig").__negdi2; | 400 | const __negdi2 = @import("compiler_rt/negXi2.zig").__negdi2; |
| 389 | @export(__negdi2, .{ .name = "__negdi2", .linkage = linkage }); | 401 | @export(__negdi2, .{ .name = "__negdi2", .linkage = linkage }); |
| 390 | const __negti2 = @import("compiler_rt/negXi2.zig").__negti2; | 402 | const __negti2 = @import("compiler_rt/negXi2.zig").__negti2; |
| 391 | @export(__negti2, .{ .name = "__negti2", .linkage = linkage }); | 403 | @export(__negti2, .{ .name = "__negti2", .linkage = linkage }); |
| 392 | const __mulsi3 = @import("compiler_rt/int.zig").__mulsi3; | 404 | const __mulsi3 = @import("compiler_rt/int.zig").__mulsi3; |
| 393 | @export(__mulsi3, .{ .name = "__mulsi3", .linkage = linkage }); | 405 | @export(__mulsi3, .{ .name = "__mulsi3", .linkage = linkage }); |
| 394 | const __muldi3 = @import("compiler_rt/muldi3.zig").__muldi3; | 406 | const __muldi3 = @import("compiler_rt/muldi3.zig").__muldi3; |
| 395 | @export(__muldi3, .{ .name = "__muldi3", .linkage = linkage }); | 407 | @export(__muldi3, .{ .name = "__muldi3", .linkage = linkage }); |
| 396 | const __divmoddi4 = @import("compiler_rt/int.zig").__divmoddi4; | 408 | const __divmoddi4 = @import("compiler_rt/int.zig").__divmoddi4; |
| 397 | @export(__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage }); | 409 | @export(__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage }); |
| 398 | const __divsi3 = @import("compiler_rt/int.zig").__divsi3; | 410 | const __divsi3 = @import("compiler_rt/int.zig").__divsi3; |
| 399 | @export(__divsi3, .{ .name = "__divsi3", .linkage = linkage }); | 411 | @export(__divsi3, .{ .name = "__divsi3", .linkage = linkage }); |
| 400 | const __divdi3 = @import("compiler_rt/int.zig").__divdi3; | 412 | const __divdi3 = @import("compiler_rt/int.zig").__divdi3; |
| 401 | @export(__divdi3, .{ .name = "__divdi3", .linkage = linkage }); | 413 | @export(__divdi3, .{ .name = "__divdi3", .linkage = linkage }); |
| 402 | const __udivsi3 = @import("compiler_rt/int.zig").__udivsi3; | 414 | const __udivsi3 = @import("compiler_rt/int.zig").__udivsi3; |
| 403 | @export(__udivsi3, .{ .name = "__udivsi3", .linkage = linkage }); | 415 | @export(__udivsi3, .{ .name = "__udivsi3", .linkage = linkage }); |
| 404 | const __udivdi3 = @import("compiler_rt/int.zig").__udivdi3; | 416 | const __udivdi3 = @import("compiler_rt/int.zig").__udivdi3; |
| 405 | @export(__udivdi3, .{ .name = "__udivdi3", .linkage = linkage }); | 417 | @export(__udivdi3, .{ .name = "__udivdi3", .linkage = linkage }); |
| 406 | const __modsi3 = @import("compiler_rt/int.zig").__modsi3; | 418 | const __modsi3 = @import("compiler_rt/int.zig").__modsi3; |
| 407 | @export(__modsi3, .{ .name = "__modsi3", .linkage = linkage }); | 419 | @export(__modsi3, .{ .name = "__modsi3", .linkage = linkage }); |
| 408 | const __moddi3 = @import("compiler_rt/int.zig").__moddi3; | 420 | const __moddi3 = @import("compiler_rt/int.zig").__moddi3; |
| 409 | @export(__moddi3, .{ .name = "__moddi3", .linkage = linkage }); | 421 | @export(__moddi3, .{ .name = "__moddi3", .linkage = linkage }); |
| 410 | const __umodsi3 = @import("compiler_rt/int.zig").__umodsi3; | 422 | const __umodsi3 = @import("compiler_rt/int.zig").__umodsi3; |
| 411 | @export(__umodsi3, .{ .name = "__umodsi3", .linkage = linkage }); | 423 | @export(__umodsi3, .{ .name = "__umodsi3", .linkage = linkage }); |
| 412 | const __umoddi3 = @import("compiler_rt/int.zig").__umoddi3; | 424 | const __umoddi3 = @import("compiler_rt/int.zig").__umoddi3; |
| 413 | @export(__umoddi3, .{ .name = "__umoddi3", .linkage = linkage }); | 425 | @export(__umoddi3, .{ .name = "__umoddi3", .linkage = linkage }); |
| 414 | const __divmodsi4 = @import("compiler_rt/int.zig").__divmodsi4; | 426 | const __divmodsi4 = @import("compiler_rt/int.zig").__divmodsi4; |
| 415 | @export(__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage }); | 427 | @export(__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage }); |
| 416 | const __udivmodsi4 = @import("compiler_rt/int.zig").__udivmodsi4; | 428 | const __udivmodsi4 = @import("compiler_rt/int.zig").__udivmodsi4; |
| 417 | @export(__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage }); | 429 | @export(__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage }); |
| 418 | | 430 | |
| 419 | // Integral arithmetic with trapping overflow | 431 | // Integral arithmetic with trapping overflow |
| 420 | const __absvsi2 = @import("compiler_rt/absv.zig").__absvsi2; | 432 | const __absvsi2 = @import("compiler_rt/absv.zig").__absvsi2; |
| 421 | @export(__absvsi2, .{ .name = "__absvsi2", .linkage = linkage }); | 433 | @export(__absvsi2, .{ .name = "__absvsi2", .linkage = linkage }); |
| 422 | const __absvdi2 = @import("compiler_rt/absv.zig").__absvdi2; | 434 | const __absvdi2 = @import("compiler_rt/absv.zig").__absvdi2; |
| 423 | @export(__absvdi2, .{ .name = "__absvdi2", .linkage = linkage }); | 435 | @export(__absvdi2, .{ .name = "__absvdi2", .linkage = linkage }); |
| 424 | const __absvti2 = @import("compiler_rt/absv.zig").__absvti2; | 436 | const __absvti2 = @import("compiler_rt/absv.zig").__absvti2; |
| 425 | @export(__absvti2, .{ .name = "__absvti2", .linkage = linkage }); | 437 | @export(__absvti2, .{ .name = "__absvti2", .linkage = linkage }); |
| 426 | const __negvsi2 = @import("compiler_rt/negv.zig").__negvsi2; | 438 | const __negvsi2 = @import("compiler_rt/negv.zig").__negvsi2; |
| 427 | @export(__negvsi2, .{ .name = "__negvsi2", .linkage = linkage }); | 439 | @export(__negvsi2, .{ .name = "__negvsi2", .linkage = linkage }); |
| 428 | const __negvdi2 = @import("compiler_rt/negv.zig").__negvdi2; | 440 | const __negvdi2 = @import("compiler_rt/negv.zig").__negvdi2; |
| 429 | @export(__negvdi2, .{ .name = "__negvdi2", .linkage = linkage }); | 441 | @export(__negvdi2, .{ .name = "__negvdi2", .linkage = linkage }); |
| 430 | const __negvti2 = @import("compiler_rt/negv.zig").__negvti2; | 442 | const __negvti2 = @import("compiler_rt/negv.zig").__negvti2; |
| 431 | @export(__negvti2, .{ .name = "__negvti2", .linkage = linkage }); | 443 | @export(__negvti2, .{ .name = "__negvti2", .linkage = linkage }); |
| 432 | | 444 | |
| 433 | // missing: Integral arithmetic which returns if overflow | 445 | // missing: Integral arithmetic which returns if overflow |
| 434 | | 446 | |
| 435 | // Integral comparison | 447 | // Integral comparison |
| 436 | // (a < b) => 0 | 448 | // (a < b) => 0 |
| 437 | // (a == b) => 1 | 449 | // (a == b) => 1 |
| 438 | // (a > b) => 2 | 450 | // (a > b) => 2 |
| 439 | const __cmpsi2 = @import("compiler_rt/cmp.zig").__cmpsi2; | 451 | const __cmpsi2 = @import("compiler_rt/cmp.zig").__cmpsi2; |
| 440 | @export(__cmpsi2, .{ .name = "__cmpsi2", .linkage = linkage }); | 452 | @export(__cmpsi2, .{ .name = "__cmpsi2", .linkage = linkage }); |
| 441 | const __cmpdi2 = @import("compiler_rt/cmp.zig").__cmpdi2; | 453 | const __cmpdi2 = @import("compiler_rt/cmp.zig").__cmpdi2; |
| 442 | @export(__cmpdi2, .{ .name = "__cmpdi2", .linkage = linkage }); | 454 | @export(__cmpdi2, .{ .name = "__cmpdi2", .linkage = linkage }); |
| 443 | const __cmpti2 = @import("compiler_rt/cmp.zig").__cmpti2; | 455 | const __cmpti2 = @import("compiler_rt/cmp.zig").__cmpti2; |
| 444 | @export(__cmpti2, .{ .name = "__cmpti2", .linkage = linkage }); | 456 | @export(__cmpti2, .{ .name = "__cmpti2", .linkage = linkage }); |
| 445 | const __ucmpsi2 = @import("compiler_rt/cmp.zig").__ucmpsi2; | 457 | const __ucmpsi2 = @import("compiler_rt/cmp.zig").__ucmpsi2; |
| 446 | @export(__ucmpsi2, .{ .name = "__ucmpsi2", .linkage = linkage }); | 458 | @export(__ucmpsi2, .{ .name = "__ucmpsi2", .linkage = linkage }); |
| 447 | const __ucmpdi2 = @import("compiler_rt/cmp.zig").__ucmpdi2; | 459 | const __ucmpdi2 = @import("compiler_rt/cmp.zig").__ucmpdi2; |
| 448 | @export(__ucmpdi2, .{ .name = "__ucmpdi2", .linkage = linkage }); | 460 | @export(__ucmpdi2, .{ .name = "__ucmpdi2", .linkage = linkage }); |
| 449 | const __ucmpti2 = @import("compiler_rt/cmp.zig").__ucmpti2; | 461 | const __ucmpti2 = @import("compiler_rt/cmp.zig").__ucmpti2; |
| 450 | @export(__ucmpti2, .{ .name = "__ucmpti2", .linkage = linkage }); | 462 | @export(__ucmpti2, .{ .name = "__ucmpti2", .linkage = linkage }); |
| 451 | | 463 | |
| 452 | // missing: Floating point raised to integer power | 464 | // missing: Floating point raised to integer power |
| 453 | | 465 | |
| 454 | // missing: Complex arithmetic | 466 | // missing: Complex arithmetic |
| 455 | // (a + ib) * (c + id) | 467 | // (a + ib) * (c + id) |
| 456 | // (a + ib) / (c + id) | 468 | // (a + ib) / (c + id) |
| 457 | | 469 | |
| 458 | const __negsf2 = @import("compiler_rt/negXf2.zig").__negsf2; | 470 | const __negsf2 = @import("compiler_rt/negXf2.zig").__negsf2; |
| 459 | @export(__negsf2, .{ .name = "__negsf2", .linkage = linkage }); | 471 | @export(__negsf2, .{ .name = "__negsf2", .linkage = linkage }); |
| 460 | const __negdf2 = @import("compiler_rt/negXf2.zig").__negdf2; | 472 | const __negdf2 = @import("compiler_rt/negXf2.zig").__negdf2; |
| 461 | @export(__negdf2, .{ .name = "__negdf2", .linkage = linkage }); | 473 | @export(__negdf2, .{ .name = "__negdf2", .linkage = linkage }); |
| 462 | | 474 | |
| 463 | if (builtin.link_libc and os_tag == .openbsd) { | 475 | if (builtin.link_libc and os_tag == .openbsd) { |
| 464 | const __emutls_get_address = @import("compiler_rt/emutls.zig").__emutls_get_address; | 476 | const __emutls_get_address = @import("compiler_rt/emutls.zig").__emutls_get_address; |
| 465 | @export(__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage }); | 477 | @export(__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage }); |
| 466 | } | 478 | } |
| 467 | | 479 | |
| 468 | if ((arch.isARM() or arch.isThumb()) and !is_test) { | 480 | if ((arch.isARM() or arch.isThumb()) and !is_test) { |
| 469 | const __aeabi_unwind_cpp_pr0 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0; | 481 | const __aeabi_unwind_cpp_pr0 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0; |
| 470 | @export(__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage }); | 482 | @export(__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage }); |
| 471 | const __aeabi_unwind_cpp_pr1 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1; | 483 | const __aeabi_unwind_cpp_pr1 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1; |
| 472 | @export(__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage }); | 484 | @export(__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage }); |
| 473 | const __aeabi_unwind_cpp_pr2 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2; | 485 | const __aeabi_unwind_cpp_pr2 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2; |
| 474 | @export(__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage }); | 486 | @export(__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage }); |
| 475 | | 487 | |
| 476 | @export(__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage }); | 488 | @export(__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage }); |
| 477 | | 489 | |
| 478 | const __aeabi_ldivmod = @import("compiler_rt/arm.zig").__aeabi_ldivmod; | 490 | const __aeabi_ldivmod = @import("compiler_rt/arm.zig").__aeabi_ldivmod; |
| 479 | @export(__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage }); | 491 | @export(__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage }); |
| 480 | const __aeabi_uldivmod = @import("compiler_rt/arm.zig").__aeabi_uldivmod; | 492 | const __aeabi_uldivmod = @import("compiler_rt/arm.zig").__aeabi_uldivmod; |
| 481 | @export(__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage }); | 493 | @export(__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage }); |
| 482 | | 494 | |
| 483 | @export(__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage }); | 495 | @export(__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage }); |
| 484 | const __aeabi_idivmod = @import("compiler_rt/arm.zig").__aeabi_idivmod; | 496 | const __aeabi_idivmod = @import("compiler_rt/arm.zig").__aeabi_idivmod; |
| 485 | @export(__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage }); | 497 | @export(__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage }); |
| 486 | @export(__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage }); | 498 | @export(__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage }); |
| 487 | const __aeabi_uidivmod = @import("compiler_rt/arm.zig").__aeabi_uidivmod; | 499 | const __aeabi_uidivmod = @import("compiler_rt/arm.zig").__aeabi_uidivmod; |
| 488 | @export(__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage }); | 500 | @export(__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage }); |
| 489 | | 501 | |
| 490 | const __aeabi_memcpy = @import("compiler_rt/arm.zig").__aeabi_memcpy; | 502 | const __aeabi_memcpy = @import("compiler_rt/arm.zig").__aeabi_memcpy; |
| 491 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage }); | 503 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage }); |
| 492 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage }); | 504 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage }); |
| 493 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage }); | 505 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage }); |
| 494 | | 506 | |
| 495 | const __aeabi_memmove = @import("compiler_rt/arm.zig").__aeabi_memmove; | 507 | const __aeabi_memmove = @import("compiler_rt/arm.zig").__aeabi_memmove; |
| 496 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage }); | 508 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage }); |
| 497 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage }); | 509 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage }); |
| 498 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage }); | 510 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage }); |
| 499 | | 511 | |
| 500 | const __aeabi_memset = @import("compiler_rt/arm.zig").__aeabi_memset; | 512 | const __aeabi_memset = @import("compiler_rt/arm.zig").__aeabi_memset; |
| 501 | @export(__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage }); | 513 | @export(__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage }); |
| 502 | @export(__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage }); | 514 | @export(__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage }); |
| 503 | @export(__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage }); | 515 | @export(__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage }); |
| 504 | | 516 | |
| 505 | const __aeabi_memclr = @import("compiler_rt/arm.zig").__aeabi_memclr; | 517 | const __aeabi_memclr = @import("compiler_rt/arm.zig").__aeabi_memclr; |
| 506 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage }); | 518 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage }); |
| 507 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage }); | 519 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage }); |
| 508 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage }); | 520 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage }); |
| 509 | | 521 | |
| 510 | if (os_tag == .linux) { | 522 | if (os_tag == .linux) { |
| 511 | const __aeabi_read_tp = @import("compiler_rt/arm.zig").__aeabi_read_tp; | 523 | const __aeabi_read_tp = @import("compiler_rt/arm.zig").__aeabi_read_tp; |
| 512 | @export(__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage }); | 524 | @export(__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage }); |
| 513 | } | | |
| 514 | | | |
| 515 | const __aeabi_f2d = @import("compiler_rt/extendXfYf2.zig").__aeabi_f2d; | | |
| 516 | @export(__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage }); | | |
| 517 | const __aeabi_i2d = @import("compiler_rt/floatsiXf.zig").__aeabi_i2d; | | |
| 518 | @export(__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage }); | | |
| 519 | const __aeabi_l2d = @import("compiler_rt/floatdidf.zig").__aeabi_l2d; | | |
| 520 | @export(__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage }); | | |
| 521 | const __aeabi_l2f = @import("compiler_rt/floatXisf.zig").__aeabi_l2f; | | |
| 522 | @export(__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage }); | | |
| 523 | const __aeabi_ui2d = @import("compiler_rt/floatunsidf.zig").__aeabi_ui2d; | | |
| 524 | @export(__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage }); | | |
| 525 | const __aeabi_ul2d = @import("compiler_rt/floatundidf.zig").__aeabi_ul2d; | | |
| 526 | @export(__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage }); | | |
| 527 | const __aeabi_ui2f = @import("compiler_rt/floatunsisf.zig").__aeabi_ui2f; | | |
| 528 | @export(__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage }); | | |
| 529 | const __aeabi_ul2f = @import("compiler_rt/floatundisf.zig").__aeabi_ul2f; | | |
| 530 | @export(__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage }); | | |
| 531 | | | |
| 532 | const __aeabi_fneg = @import("compiler_rt/negXf2.zig").__aeabi_fneg; | | |
| 533 | @export(__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage }); | | |
| 534 | const __aeabi_dneg = @import("compiler_rt/negXf2.zig").__aeabi_dneg; | | |
| 535 | @export(__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage }); | | |
| 536 | | | |
| 537 | const __aeabi_fmul = @import("compiler_rt/mulXf3.zig").__aeabi_fmul; | | |
| 538 | @export(__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage }); | | |
| 539 | const __aeabi_dmul = @import("compiler_rt/mulXf3.zig").__aeabi_dmul; | | |
| 540 | @export(__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage }); | | |
| 541 | | | |
| 542 | const __aeabi_d2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2h; | | |
| 543 | @export(__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage }); | | |
| 544 | | | |
| 545 | const __aeabi_f2ulz = @import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz; | | |
| 546 | @export(__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage }); | | |
| 547 | const __aeabi_d2ulz = @import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz; | | |
| 548 | @export(__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage }); | | |
| 549 | | | |
| 550 | const __aeabi_f2lz = @import("compiler_rt/fixsfdi.zig").__aeabi_f2lz; | | |
| 551 | @export(__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage }); | | |
| 552 | const __aeabi_d2lz = @import("compiler_rt/fixdfdi.zig").__aeabi_d2lz; | | |
| 553 | @export(__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage }); | | |
| 554 | | | |
| 555 | const __aeabi_d2uiz = @import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz; | | |
| 556 | @export(__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage }); | | |
| 557 | | | |
| 558 | const __aeabi_h2f = @import("compiler_rt/extendXfYf2.zig").__aeabi_h2f; | | |
| 559 | @export(__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage }); | | |
| 560 | const __aeabi_f2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_f2h; | | |
| 561 | @export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage }); | | |
| 562 | | | |
| 563 | const __aeabi_i2f = @import("compiler_rt/floatsiXf.zig").__aeabi_i2f; | | |
| 564 | @export(__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage }); | | |
| 565 | const __aeabi_d2f = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2f; | | |
| 566 | @export(__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage }); | | |
| 567 | | | |
| 568 | const __aeabi_fadd = @import("compiler_rt/addXf3.zig").__aeabi_fadd; | | |
| 569 | @export(__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage }); | | |
| 570 | const __aeabi_dadd = @import("compiler_rt/addXf3.zig").__aeabi_dadd; | | |
| 571 | @export(__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage }); | | |
| 572 | const __aeabi_fsub = @import("compiler_rt/addXf3.zig").__aeabi_fsub; | | |
| 573 | @export(__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage }); | | |
| 574 | const __aeabi_dsub = @import("compiler_rt/addXf3.zig").__aeabi_dsub; | | |
| 575 | @export(__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage }); | | |
| 576 | | | |
| 577 | const __aeabi_f2uiz = @import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz; | | |
| 578 | @export(__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage }); | | |
| 579 | | | |
| 580 | const __aeabi_f2iz = @import("compiler_rt/fixsfsi.zig").__aeabi_f2iz; | | |
| 581 | @export(__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage }); | | |
| 582 | const __aeabi_d2iz = @import("compiler_rt/fixdfsi.zig").__aeabi_d2iz; | | |
| 583 | @export(__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage }); | | |
| 584 | | | |
| 585 | const __aeabi_fdiv = @import("compiler_rt/divsf3.zig").__aeabi_fdiv; | | |
| 586 | @export(__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage }); | | |
| 587 | const __aeabi_ddiv = @import("compiler_rt/divdf3.zig").__aeabi_ddiv; | | |
| 588 | @export(__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage }); | | |
| 589 | | | |
| 590 | const __aeabi_llsl = @import("compiler_rt/shift.zig").__aeabi_llsl; | | |
| 591 | @export(__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage }); | | |
| 592 | const __aeabi_lasr = @import("compiler_rt/shift.zig").__aeabi_lasr; | | |
| 593 | @export(__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage }); | | |
| 594 | const __aeabi_llsr = @import("compiler_rt/shift.zig").__aeabi_llsr; | | |
| 595 | @export(__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage }); | | |
| 596 | | | |
| 597 | const __aeabi_fcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq; | | |
| 598 | @export(__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage }); | | |
| 599 | const __aeabi_fcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmplt; | | |
| 600 | @export(__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage }); | | |
| 601 | const __aeabi_fcmple = @import("compiler_rt/compareXf2.zig").__aeabi_fcmple; | | |
| 602 | @export(__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage }); | | |
| 603 | const __aeabi_fcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpge; | | |
| 604 | @export(__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage }); | | |
| 605 | const __aeabi_fcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt; | | |
| 606 | @export(__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage }); | | |
| 607 | const __aeabi_fcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpun; | | |
| 608 | @export(__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage }); | | |
| 609 | | | |
| 610 | const __aeabi_dcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq; | | |
| 611 | @export(__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage }); | | |
| 612 | const __aeabi_dcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmplt; | | |
| 613 | @export(__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage }); | | |
| 614 | const __aeabi_dcmple = @import("compiler_rt/compareXf2.zig").__aeabi_dcmple; | | |
| 615 | @export(__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage }); | | |
| 616 | const __aeabi_dcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpge; | | |
| 617 | @export(__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage }); | | |
| 618 | const __aeabi_dcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt; | | |
| 619 | @export(__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage }); | | |
| 620 | const __aeabi_dcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpun; | | |
| 621 | @export(__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage }); | | |
| 622 | } | 525 | } |
| 623 | | 526 | |
| 624 | if (arch == .i386 and abi == .msvc) { | 527 | const __aeabi_f2d = @import("compiler_rt/extendXfYf2.zig").__aeabi_f2d; |
| 625 | // Don't let LLVM apply the stdcall name mangling on those MSVC builtins | 528 | @export(__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage }); |
| 626 | const _alldiv = @import("compiler_rt/aulldiv.zig")._alldiv; | 529 | const __aeabi_i2d = @import("compiler_rt/floatsiXf.zig").__aeabi_i2d; |
| 627 | @export(_alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage }); | 530 | @export(__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage }); |
| 628 | const _aulldiv = @import("compiler_rt/aulldiv.zig")._aulldiv; | 531 | const __aeabi_l2d = @import("compiler_rt/floatdidf.zig").__aeabi_l2d; |
| 629 | @export(_aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage }); | 532 | @export(__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage }); |
| 630 | const _allrem = @import("compiler_rt/aullrem.zig")._allrem; | 533 | const __aeabi_l2f = @import("compiler_rt/floatXisf.zig").__aeabi_l2f; |
| 631 | @export(_allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage }); | 534 | @export(__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage }); |
| 632 | const _aullrem = @import("compiler_rt/aullrem.zig")._aullrem; | 535 | const __aeabi_ui2d = @import("compiler_rt/floatunsidf.zig").__aeabi_ui2d; |
| 633 | @export(_aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage }); | 536 | @export(__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage }); |
| 634 | } | 537 | const __aeabi_ul2d = @import("compiler_rt/floatundidf.zig").__aeabi_ul2d; |
| | 538 | @export(__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage }); |
| | 539 | const __aeabi_ui2f = @import("compiler_rt/floatunsisf.zig").__aeabi_ui2f; |
| | 540 | @export(__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage }); |
| | 541 | const __aeabi_ul2f = @import("compiler_rt/floatundisf.zig").__aeabi_ul2f; |
| | 542 | @export(__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage }); |
| | 543 | |
| | 544 | const __aeabi_fneg = @import("compiler_rt/negXf2.zig").__aeabi_fneg; |
| | 545 | @export(__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage }); |
| | 546 | const __aeabi_dneg = @import("compiler_rt/negXf2.zig").__aeabi_dneg; |
| | 547 | @export(__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage }); |
| | 548 | |
| | 549 | const __aeabi_fmul = @import("compiler_rt/mulXf3.zig").__aeabi_fmul; |
| | 550 | @export(__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage }); |
| | 551 | const __aeabi_dmul = @import("compiler_rt/mulXf3.zig").__aeabi_dmul; |
| | 552 | @export(__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage }); |
| | 553 | |
| | 554 | const __aeabi_d2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2h; |
| | 555 | @export(__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage }); |
| | 556 | |
| | 557 | const __aeabi_f2ulz = @import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz; |
| | 558 | @export(__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage }); |
| | 559 | const __aeabi_d2ulz = @import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz; |
| | 560 | @export(__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage }); |
| | 561 | |
| | 562 | const __aeabi_f2lz = @import("compiler_rt/fixsfdi.zig").__aeabi_f2lz; |
| | 563 | @export(__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage }); |
| | 564 | const __aeabi_d2lz = @import("compiler_rt/fixdfdi.zig").__aeabi_d2lz; |
| | 565 | @export(__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage }); |
| | 566 | |
| | 567 | const __aeabi_d2uiz = @import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz; |
| | 568 | @export(__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage }); |
| | 569 | |
| | 570 | const __aeabi_h2f = @import("compiler_rt/extendXfYf2.zig").__aeabi_h2f; |
| | 571 | @export(__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage }); |
| | 572 | const __aeabi_f2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_f2h; |
| | 573 | @export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage }); |
| | 574 | |
| | 575 | const __aeabi_i2f = @import("compiler_rt/floatsiXf.zig").__aeabi_i2f; |
| | 576 | @export(__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage }); |
| | 577 | const __aeabi_d2f = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2f; |
| | 578 | @export(__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage }); |
| | 579 | |
| | 580 | const __aeabi_fadd = @import("compiler_rt/addXf3.zig").__aeabi_fadd; |
| | 581 | @export(__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage }); |
| | 582 | const __aeabi_dadd = @import("compiler_rt/addXf3.zig").__aeabi_dadd; |
| | 583 | @export(__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage }); |
| | 584 | const __aeabi_fsub = @import("compiler_rt/addXf3.zig").__aeabi_fsub; |
| | 585 | @export(__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage }); |
| | 586 | const __aeabi_dsub = @import("compiler_rt/addXf3.zig").__aeabi_dsub; |
| | 587 | @export(__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage }); |
| | 588 | |
| | 589 | const __aeabi_f2uiz = @import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz; |
| | 590 | @export(__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage }); |
| | 591 | |
| | 592 | const __aeabi_f2iz = @import("compiler_rt/fixsfsi.zig").__aeabi_f2iz; |
| | 593 | @export(__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage }); |
| | 594 | const __aeabi_d2iz = @import("compiler_rt/fixdfsi.zig").__aeabi_d2iz; |
| | 595 | @export(__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage }); |
| | 596 | |
| | 597 | const __aeabi_fdiv = @import("compiler_rt/divsf3.zig").__aeabi_fdiv; |
| | 598 | @export(__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage }); |
| | 599 | const __aeabi_ddiv = @import("compiler_rt/divdf3.zig").__aeabi_ddiv; |
| | 600 | @export(__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage }); |
| | 601 | |
| | 602 | const __aeabi_llsl = @import("compiler_rt/shift.zig").__aeabi_llsl; |
| | 603 | @export(__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage }); |
| | 604 | const __aeabi_lasr = @import("compiler_rt/shift.zig").__aeabi_lasr; |
| | 605 | @export(__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage }); |
| | 606 | const __aeabi_llsr = @import("compiler_rt/shift.zig").__aeabi_llsr; |
| | 607 | @export(__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage }); |
| | 608 | |
| | 609 | const __aeabi_fcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq; |
| | 610 | @export(__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage }); |
| | 611 | const __aeabi_fcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmplt; |
| | 612 | @export(__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage }); |
| | 613 | const __aeabi_fcmple = @import("compiler_rt/compareXf2.zig").__aeabi_fcmple; |
| | 614 | @export(__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage }); |
| | 615 | const __aeabi_fcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpge; |
| | 616 | @export(__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage }); |
| | 617 | const __aeabi_fcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt; |
| | 618 | @export(__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage }); |
| | 619 | const __aeabi_fcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpun; |
| | 620 | @export(__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage }); |
| | 621 | |
| | 622 | const __aeabi_dcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq; |
| | 623 | @export(__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage }); |
| | 624 | const __aeabi_dcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmplt; |
| | 625 | @export(__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage }); |
| | 626 | const __aeabi_dcmple = @import("compiler_rt/compareXf2.zig").__aeabi_dcmple; |
| | 627 | @export(__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage }); |
| | 628 | const __aeabi_dcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpge; |
| | 629 | @export(__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage }); |
| | 630 | const __aeabi_dcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt; |
| | 631 | @export(__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage }); |
| | 632 | const __aeabi_dcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpun; |
| | 633 | @export(__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage }); |
| | 634 | } |
| 635 | | 635 | |
| 636 | if (arch.isSPARC()) { | 636 | if (arch == .i386 and abi == .msvc) { |
| 637 | // SPARC systems use a different naming scheme | 637 | // Don't let LLVM apply the stdcall name mangling on those MSVC builtins |
| 638 | const _Qp_add = @import("compiler_rt/sparc.zig")._Qp_add; | 638 | const _alldiv = @import("compiler_rt/aulldiv.zig")._alldiv; |
| 639 | @export(_Qp_add, .{ .name = "_Qp_add", .linkage = linkage }); | 639 | @export(_alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage }); |
| 640 | const _Qp_div = @import("compiler_rt/sparc.zig")._Qp_div; | 640 | const _aulldiv = @import("compiler_rt/aulldiv.zig")._aulldiv; |
| 641 | @export(_Qp_div, .{ .name = "_Qp_div", .linkage = linkage }); | 641 | @export(_aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage }); |
| 642 | const _Qp_mul = @import("compiler_rt/sparc.zig")._Qp_mul; | 642 | const _allrem = @import("compiler_rt/aullrem.zig")._allrem; |
| 643 | @export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage }); | 643 | @export(_allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage }); |
| 644 | const _Qp_sub = @import("compiler_rt/sparc.zig")._Qp_sub; | 644 | const _aullrem = @import("compiler_rt/aullrem.zig")._aullrem; |
| 645 | @export(_Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage }); | 645 | @export(_aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage }); |
| 646 | | 646 | } |
| 647 | const _Qp_cmp = @import("compiler_rt/sparc.zig")._Qp_cmp; | | |
| 648 | @export(_Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage }); | | |
| 649 | const _Qp_feq = @import("compiler_rt/sparc.zig")._Qp_feq; | | |
| 650 | @export(_Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage }); | | |
| 651 | const _Qp_fne = @import("compiler_rt/sparc.zig")._Qp_fne; | | |
| 652 | @export(_Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage }); | | |
| 653 | const _Qp_flt = @import("compiler_rt/sparc.zig")._Qp_flt; | | |
| 654 | @export(_Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage }); | | |
| 655 | const _Qp_fle = @import("compiler_rt/sparc.zig")._Qp_fle; | | |
| 656 | @export(_Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage }); | | |
| 657 | const _Qp_fgt = @import("compiler_rt/sparc.zig")._Qp_fgt; | | |
| 658 | @export(_Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage }); | | |
| 659 | const _Qp_fge = @import("compiler_rt/sparc.zig")._Qp_fge; | | |
| 660 | @export(_Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage }); | | |
| 661 | | | |
| 662 | const _Qp_itoq = @import("compiler_rt/sparc.zig")._Qp_itoq; | | |
| 663 | @export(_Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage }); | | |
| 664 | const _Qp_uitoq = @import("compiler_rt/sparc.zig")._Qp_uitoq; | | |
| 665 | @export(_Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage }); | | |
| 666 | const _Qp_xtoq = @import("compiler_rt/sparc.zig")._Qp_xtoq; | | |
| 667 | @export(_Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage }); | | |
| 668 | const _Qp_uxtoq = @import("compiler_rt/sparc.zig")._Qp_uxtoq; | | |
| 669 | @export(_Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage }); | | |
| 670 | const _Qp_stoq = @import("compiler_rt/sparc.zig")._Qp_stoq; | | |
| 671 | @export(_Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage }); | | |
| 672 | const _Qp_dtoq = @import("compiler_rt/sparc.zig")._Qp_dtoq; | | |
| 673 | @export(_Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage }); | | |
| 674 | const _Qp_qtoi = @import("compiler_rt/sparc.zig")._Qp_qtoi; | | |
| 675 | @export(_Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage }); | | |
| 676 | const _Qp_qtoui = @import("compiler_rt/sparc.zig")._Qp_qtoui; | | |
| 677 | @export(_Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage }); | | |
| 678 | const _Qp_qtox = @import("compiler_rt/sparc.zig")._Qp_qtox; | | |
| 679 | @export(_Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage }); | | |
| 680 | const _Qp_qtoux = @import("compiler_rt/sparc.zig")._Qp_qtoux; | | |
| 681 | @export(_Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage }); | | |
| 682 | const _Qp_qtos = @import("compiler_rt/sparc.zig")._Qp_qtos; | | |
| 683 | @export(_Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage }); | | |
| 684 | const _Qp_qtod = @import("compiler_rt/sparc.zig")._Qp_qtod; | | |
| 685 | @export(_Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage }); | | |
| 686 | } | | |
| 687 | | 647 | |
| 688 | if ((arch == .powerpc or arch.isPPC64()) and !is_test) { | 648 | if (arch.isSPARC()) { |
| 689 | @export(__addtf3, .{ .name = "__addkf3", .linkage = linkage }); | 649 | // SPARC systems use a different naming scheme |
| 690 | @export(__subtf3, .{ .name = "__subkf3", .linkage = linkage }); | 650 | const _Qp_add = @import("compiler_rt/sparc.zig")._Qp_add; |
| 691 | @export(__multf3, .{ .name = "__mulkf3", .linkage = linkage }); | 651 | @export(_Qp_add, .{ .name = "_Qp_add", .linkage = linkage }); |
| 692 | @export(__divtf3, .{ .name = "__divkf3", .linkage = linkage }); | 652 | const _Qp_div = @import("compiler_rt/sparc.zig")._Qp_div; |
| 693 | @export(__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage }); | 653 | @export(_Qp_div, .{ .name = "_Qp_div", .linkage = linkage }); |
| 694 | @export(__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage }); | 654 | const _Qp_mul = @import("compiler_rt/sparc.zig")._Qp_mul; |
| 695 | @export(__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage }); | 655 | @export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage }); |
| 696 | @export(__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage }); | 656 | const _Qp_sub = @import("compiler_rt/sparc.zig")._Qp_sub; |
| 697 | @export(__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage }); | 657 | @export(_Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage }); |
| 698 | @export(__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage }); | 658 | |
| 699 | @export(__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage }); | 659 | const _Qp_cmp = @import("compiler_rt/sparc.zig")._Qp_cmp; |
| 700 | @export(__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage }); | 660 | @export(_Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage }); |
| 701 | @export(__floatsitf, .{ .name = "__floatsikf", .linkage = linkage }); | 661 | const _Qp_feq = @import("compiler_rt/sparc.zig")._Qp_feq; |
| 702 | @export(__floatditf, .{ .name = "__floatdikf", .linkage = linkage }); | 662 | @export(_Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage }); |
| 703 | @export(__floatunditf, .{ .name = "__floatundikf", .linkage = linkage }); | 663 | const _Qp_fne = @import("compiler_rt/sparc.zig")._Qp_fne; |
| 704 | @export(__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage }); | 664 | @export(_Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage }); |
| 705 | | 665 | const _Qp_flt = @import("compiler_rt/sparc.zig")._Qp_flt; |
| 706 | @export(__letf2, .{ .name = "__eqkf2", .linkage = linkage }); | 666 | @export(_Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage }); |
| 707 | @export(__letf2, .{ .name = "__nekf2", .linkage = linkage }); | 667 | const _Qp_fle = @import("compiler_rt/sparc.zig")._Qp_fle; |
| 708 | @export(__getf2, .{ .name = "__gekf2", .linkage = linkage }); | 668 | @export(_Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage }); |
| 709 | @export(__letf2, .{ .name = "__ltkf2", .linkage = linkage }); | 669 | const _Qp_fgt = @import("compiler_rt/sparc.zig")._Qp_fgt; |
| 710 | @export(__letf2, .{ .name = "__lekf2", .linkage = linkage }); | 670 | @export(_Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage }); |
| 711 | @export(__getf2, .{ .name = "__gtkf2", .linkage = linkage }); | 671 | const _Qp_fge = @import("compiler_rt/sparc.zig")._Qp_fge; |
| 712 | @export(__unordtf2, .{ .name = "__unordkf2", .linkage = linkage }); | 672 | @export(_Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage }); |
| 713 | } | 673 | |
| | 674 | const _Qp_itoq = @import("compiler_rt/sparc.zig")._Qp_itoq; |
| | 675 | @export(_Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage }); |
| | 676 | const _Qp_uitoq = @import("compiler_rt/sparc.zig")._Qp_uitoq; |
| | 677 | @export(_Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage }); |
| | 678 | const _Qp_xtoq = @import("compiler_rt/sparc.zig")._Qp_xtoq; |
| | 679 | @export(_Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage }); |
| | 680 | const _Qp_uxtoq = @import("compiler_rt/sparc.zig")._Qp_uxtoq; |
| | 681 | @export(_Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage }); |
| | 682 | const _Qp_stoq = @import("compiler_rt/sparc.zig")._Qp_stoq; |
| | 683 | @export(_Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage }); |
| | 684 | const _Qp_dtoq = @import("compiler_rt/sparc.zig")._Qp_dtoq; |
| | 685 | @export(_Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage }); |
| | 686 | const _Qp_qtoi = @import("compiler_rt/sparc.zig")._Qp_qtoi; |
| | 687 | @export(_Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage }); |
| | 688 | const _Qp_qtoui = @import("compiler_rt/sparc.zig")._Qp_qtoui; |
| | 689 | @export(_Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage }); |
| | 690 | const _Qp_qtox = @import("compiler_rt/sparc.zig")._Qp_qtox; |
| | 691 | @export(_Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage }); |
| | 692 | const _Qp_qtoux = @import("compiler_rt/sparc.zig")._Qp_qtoux; |
| | 693 | @export(_Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage }); |
| | 694 | const _Qp_qtos = @import("compiler_rt/sparc.zig")._Qp_qtos; |
| | 695 | @export(_Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage }); |
| | 696 | const _Qp_qtod = @import("compiler_rt/sparc.zig")._Qp_qtod; |
| | 697 | @export(_Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage }); |
| | 698 | } |
| 714 | | 699 | |
| 715 | _ = @import("compiler_rt/atomics.zig"); | 700 | if ((arch == .powerpc or arch.isPPC64()) and !is_test) { |
| | 701 | @export(__addtf3, .{ .name = "__addkf3", .linkage = linkage }); |
| | 702 | @export(__subtf3, .{ .name = "__subkf3", .linkage = linkage }); |
| | 703 | @export(__multf3, .{ .name = "__mulkf3", .linkage = linkage }); |
| | 704 | @export(__divtf3, .{ .name = "__divkf3", .linkage = linkage }); |
| | 705 | @export(__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage }); |
| | 706 | @export(__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage }); |
| | 707 | @export(__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage }); |
| | 708 | @export(__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage }); |
| | 709 | @export(__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage }); |
| | 710 | @export(__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage }); |
| | 711 | @export(__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage }); |
| | 712 | @export(__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage }); |
| | 713 | @export(__floatsitf, .{ .name = "__floatsikf", .linkage = linkage }); |
| | 714 | @export(__floatditf, .{ .name = "__floatdikf", .linkage = linkage }); |
| | 715 | @export(__floatunditf, .{ .name = "__floatundikf", .linkage = linkage }); |
| | 716 | @export(__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage }); |
| | 717 | |
| | 718 | @export(__letf2, .{ .name = "__eqkf2", .linkage = linkage }); |
| | 719 | @export(__letf2, .{ .name = "__nekf2", .linkage = linkage }); |
| | 720 | @export(__getf2, .{ .name = "__gekf2", .linkage = linkage }); |
| | 721 | @export(__letf2, .{ .name = "__ltkf2", .linkage = linkage }); |
| | 722 | @export(__letf2, .{ .name = "__lekf2", .linkage = linkage }); |
| | 723 | @export(__getf2, .{ .name = "__gtkf2", .linkage = linkage }); |
| | 724 | @export(__unordtf2, .{ .name = "__unordkf2", .linkage = linkage }); |
| | 725 | } |
| 716 | | 726 | |
| | 727 | @export(floorf, .{ .name = "floorf", .linkage = linkage }); |
| | 728 | @export(floor, .{ .name = "floor", .linkage = linkage }); |
| | 729 | @export(floorl, .{ .name = "floorl", .linkage = linkage }); |
| | 730 | |
| | 731 | if (!builtin.zig_is_stage2) { |
| 717 | @export(fmaq, .{ .name = "fmaq", .linkage = linkage }); | 732 | @export(fmaq, .{ .name = "fmaq", .linkage = linkage }); |
| 718 | @export(floorf, .{ .name = "floorf", .linkage = linkage }); | | |
| 719 | @export(floor, .{ .name = "floor", .linkage = linkage }); | | |
| 720 | @export(floorl, .{ .name = "floorl", .linkage = linkage }); | | |
| 721 | } | 733 | } |
| 722 | } | 734 | } |
| 723 | | 735 | |