Commit Graph

91 Commits

Author SHA1 Message Date
bjorn3 c6086a8fd7 Rustup to rustc 1.41.0-nightly (6d77e45f0 2019-12-04) 2019-12-05 21:00:57 +01:00
bjorn3 e9d3569e08 Run libcore tests 2019-11-24 15:44:39 +01:00
bjorn3 b0bcb23eb4 Fix signed cast to 128bit integer 2019-11-16 16:44:26 +01:00
bjorn3 5407b51aa7 Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08) 2019-11-09 11:14:18 +01:00
bjorn3 8536514308 Rustup to rustc 1.40.0-nightly (10a52c25c 2019-10-24) 2019-10-25 21:41:24 +02:00
bjorn3 f2c574aebf Add extern type pointer cast tests 2019-09-21 11:32:11 +02:00
bjorn3 554a1aa0ba Reenable debug assertions for libstd on macOS
m4b/faerie#91 has been merged
2019-09-14 12:49:23 +02:00
bjorn3 a2e905f22d Correctly align offset for dst field projections
Fixes #681
2019-09-02 20:09:37 +02:00
bjorn3 15b9834d7d Don't copy ByRef passed types to local stack slot when not necessary
Eg when the local is immutable **and** the type is freeze.

This makes the simple raytracer runtime benchmark 1% faster than cg_llvm
without optimizations. Before it was 2% slower.

cc #691
cc #684
2019-08-30 15:42:07 +02:00
bjorn3 e704eb5259 Sync discriminant getter and setter with upstream
Fixes #683
2019-08-26 11:03:06 +02:00
bjorn3 1f90b04cd6 Fix float -> u/i128 cast
The original test casts were optimized away by rustc,
so cg_clif never saw them.

cc #668
2019-08-21 14:35:48 +02:00
bjorn3 b2d6705fe2 Implement u/i128 <-> float casts
Fixes #668
2019-08-21 14:01:29 +02:00
bjorn3 3fcd54088c Implement saturating_{add,sub} intrinsics 2019-08-20 10:40:08 +02:00
bjorn3 f99d31dbfe Implement pow{f32,f64} intrinsics 2019-08-19 17:16:21 +02:00
bjorn3 edbb5730ea Implement copysign{f32,f64} intrinsics 2019-08-19 16:27:09 +02:00
bjorn3 ce860e5fde Fix cross crate static duplicate codegen 2019-08-19 16:26:20 +02:00
bjorn3 f61b36a396 Don't run a alignment assertion on macOS 2019-08-18 15:30:06 +02:00
bjorn3 2558bf2f6b Workaround for missing `#[rustc_args_required_const(..)]` support
cc #666
2019-08-16 16:04:50 +02:00
bjorn3 9505d60a24 Cast rhs to lhs type for shl and shr 2019-08-14 15:18:05 +02:00
bjorn3 f93cd924ec Implement float -> small int cast
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3 f5b0a68fbf Fix some warnings 2019-08-12 16:00:10 +02:00
bjorn3 314141392a Implement log2{f32,f64} intrinsics 2019-08-12 15:54:24 +02:00
bjorn3 3000a3f63d [WIP] Implement dylib loading for the JIT 2019-08-10 16:50:23 +02:00
bjorn3 7602a46bb9 Implement simd_extract 2019-08-05 16:28:27 +02:00
bjorn3 c4af588f72 Correctly align all allocs
Fixes #348
2019-08-01 11:49:03 +02:00
bjorn3 2f0093b8c2 Test mutex locking 2019-08-01 11:15:40 +02:00
bjorn3 b806070a88 Fix simd_cast 2019-07-31 09:46:05 +02:00
bjorn3 69526d464f Implement some float simd intrinsics 2019-07-30 14:37:20 +02:00
bjorn3 ee4927e069 Fix _mm_movemask_epi8
The order of iteration was wrong
2019-07-29 18:59:17 +02:00
bjorn3 49b21f2730 Fix returning (u128, u128) 2019-07-29 13:18:21 +02:00
bjorn3 63646b1956 Implement llvm.x86.avx2.pmovmskb llvm intrinsic 2019-07-29 12:50:20 +02:00
bjorn3 9cb787fe70 Implement and test simd_shuffle* 2019-07-29 11:23:53 +02:00
bjorn3 76b89476c3 [WIP] simd_shuffle* 2019-07-29 11:03:55 +02:00
bjorn3 90f2b12d47 Fix simd comparison 2019-07-29 11:03:55 +02:00
bjorn3 7fdd058c60 Emulate some simd intrinsics 2019-07-29 11:03:55 +02:00
bjorn3 3f76607880 Rustup to rustc 1.38.0-nightly (4560cb830 2019-07-28) 2019-07-29 10:32:24 +02:00
bjorn3 dbf94c5697 Rustup to rustc 1.38.0-nightly (c798dffac 2019-07-27) 2019-07-28 09:24:16 +02:00
bjorn3 436a24a85d Implement many more float intrinsics 2019-07-27 16:52:00 +02:00
bjorn3 ffa34ae328 Remove unnecessary changes 2019-07-26 11:45:01 +02:00
bjorn3 0a833ba8a1 [WIP] 2019-07-26 11:32:04 +02:00
bjorn3 b46c8bfb7e Use std checked_div 2019-07-26 11:32:04 +02:00
bjorn3 7f5c2dab9d Remove some unnecessary changes 2019-07-26 11:30:39 +02:00
bjorn3 5180becc7c Fix 128bit CValue::const_val 2019-07-26 11:30:39 +02:00
bjorn3 63b82238bb Implement 128bit checked add and sub 2019-07-26 11:30:39 +02:00
bjorn3 65e337cdf3 Implement 128bit multiply with overflow 2019-07-26 11:29:35 +02:00
bjorn3 834a3bf49c [WIP] 2019-07-26 11:29:35 +02:00
bjorn3 641a210ff6 Implement most 128bit binops 2019-07-26 11:29:35 +02:00
bjorn3 45de0336a5 Fix some more stuff 2019-07-26 11:28:28 +02:00
bjorn3 c814ee0d2a [WIP] 2019-07-26 11:28:04 +02:00
bjorn3 de32ddad23 [WIP] Basic i128 support 2019-07-26 11:28:04 +02:00