Commit Graph

69 Commits

Author SHA1 Message Date
antoyo
d6aadc684b
Merge pull request #187 from GuillaumeGomez/invalid-conversion
Prevent invalid intrinsics conversion generation
2022-06-24 12:57:54 -04:00
Guillaume Gomez
f7a3dffc0b Add missing intrinsics conversions for ignored invalid LLVM intrinsics 2022-06-24 17:25:09 +02:00
Guillaume Gomez
94b345705a Regen without invalid conversion intrinsics 2022-06-23 13:39:30 +02:00
Guillaume Gomez
48347715fb Regen intrinsics 2022-06-23 13:28:38 +02:00
antoyo
302157d7bd
Merge pull request #181 from GuillaumeGomez/more-intrinsics
More intrinsics
2022-06-18 11:25:34 -04:00
Antoni Boucher
ee4755afdb Add more SIMD 2022-06-09 21:11:30 -04:00
Guillaume Gomez
c66055c193 Generate new intrinsics 2022-06-09 14:25:48 +02:00
Antoni Boucher
13fa30c6c3 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
b55bd956dc Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
e5a1bb2f59 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
fe606eb444 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
df85771b34 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
06073c9dfc Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
2fa6a9080b Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
f59d345fc1 Refactor 2022-06-06 22:08:07 -04:00
Antoni Boucher
4e802c84c5 Remove intrinsics that were adding by the updated script 2022-06-06 22:08:07 -04:00
Antoni Boucher
3b35940443 Implement more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
bafdded12b Merge branch 'master' into sync_from_rust2 2022-06-06 20:57:25 -04:00
Mark Rousskov
a513b2abae Finish bumping stage0
It looks like the last time had left some remaining cfg's -- which made me think
that the stage0 bump was actually successful. This brings us to a released 1.62
beta though.
2022-05-27 07:36:17 -04:00
antoyo
e6dbecdff3
Merge pull request #175 from GuillaumeGomez/llvmint-update
Update llvmint
2022-05-15 10:25:28 -04:00
Guillaume Gomez
be960e1747 Update llvmint 2022-05-15 15:25:12 +02:00
Antoni Boucher
4a9744059f Feature gate call to get_size() for libgccjit 12 2022-05-04 22:20:38 -04:00
Antoni Boucher
d4ab681ebd Add comments 2022-05-04 21:17:58 -04:00
Antoni Boucher
41807a3094 Support more SIMD intrinsics 2022-05-03 22:46:40 -04:00
Antoni Boucher
4b40ac790d Support more SIMD intrinsics and refactor argument adjustment 2022-05-03 22:35:26 -04:00
Antoni Boucher
eba654c57a Support more SIMD intrinsics 2022-05-03 17:47:46 -04:00
Antoni Boucher
6bfe2b0b05 Support more SIMD intrinsics 2022-05-03 17:47:46 -04:00
Antoni Boucher
a65418666f Implement simd_select_bitmask 2022-05-03 17:47:46 -04:00
Antoni Boucher
ddc152b04d Add more SIMD 2022-05-03 17:47:46 -04:00
Antoni Boucher
4636c59df5 Add more SIMD 2022-05-03 17:47:46 -04:00
Antoni Boucher
5088fb3d3b Cast arguments in SIMD function 2022-05-03 17:47:46 -04:00
antoyo
852735da05
Merge pull request #171 from GuillaumeGomez/update-intrinsics
Update intrinsics conversion generation
2022-05-03 17:47:03 -04:00
Guillaume Gomez
6e1bf49273 Give priority to intrinsics translations from llvm 2022-05-03 23:00:25 +02:00
Guillaume Gomez
618ba484e9 Handle a syntax corner case where a def does not end with a ; 2022-05-03 23:00:25 +02:00
Guillaume Gomez
f402cfe561 Update intrinsics 2022-05-03 21:24:22 +02:00
Guillaume Gomez
ed0ba311c5 Update intrinsics 2022-05-03 20:55:55 +02:00
Antoni Boucher
4d7de81199 Add feature for future libgccjit 12 release 2022-04-13 23:01:01 -04:00
antoyo
d69ada6bf3
Merge pull request #156 from yvt/fix-int-ops
Implement `saturating_{add, sub}` for non-native integer types
2022-04-06 10:14:19 -04:00
yvt
5061e3ad16 Remove redundant assertions 2022-04-06 21:49:54 +09:00
yvt
00677e5159 Implement saturating_{add, sub} for non-native integer types
Updates their unsigned code paths to use the `Builder::gcc_` methods
that automatically lower non-native integer operations to native ones.

Also updates the signed code path of `saturating_add` to support non-
native integer types. That of `saturating_sub` already supports this,
so no major changes have been made.
2022-04-06 01:48:37 +09:00
Guillaume Gomez
035ac03521 Add intrinsics not bound to a specific arch 2022-03-31 14:58:31 +02:00
Guillaume Gomez
68ac3a4b3b Generate all listed architectures from llvmint 2022-03-30 18:41:57 +02:00
Guillaume Gomez
3970825b92 Add intrinsic translation for x86 arch 2022-03-30 17:37:33 +02:00
bjorn3
9bb797c2ae Add missing vendor intrinsics 2022-03-30 14:16:02 +02:00
Yuri Astrakhan
74edcb8bd1 Spellchecking some comments
This PR attempts to clean up some minor spelling mistakes in comments
2022-03-30 01:39:38 -04:00
Antoni Boucher
267e5e1ea7 Add support for target builtins 2022-03-29 22:50:20 -04:00
Antoni Boucher
02970a6ca8 Add support for target builtins 2022-03-29 21:41:17 -04:00
bjorn3
3888aafe3a Merge commit '39683d8eb7a32a74bea96ecbf1e87675d3338506' into sync_cg_gcc-2022-03-26 2022-03-26 18:29:37 +01:00
bjorn3
db591778ac Sync from rust bc881e83d1 2022-03-26 12:52:21 +01:00
Nicholas Nethercote
d35fc85a44 Clarify Layout interning.
`Layout` is another type that is sometimes interned, sometimes not, and
we always use references to refer to it so we can't take any advantage
of the uniqueness properties for hashing or equality checks.

This commit renames `Layout` as `LayoutS`, and then introduces a new
`Layout` that is a newtype around an `Interned<LayoutS>`. It also
interns more layouts than before. Previously layouts within layouts
(via the `variants` field) were never interned, but now they are. Hence
the lifetime on the new `Layout` type.

Unlike other interned types, these ones are in `rustc_target` instead of
`rustc_middle`. This reflects the existing structure of the code, which
does layout-specific stuff in `rustc_target` while `TyAndLayout` is
generic over the `Ty`, allowing the type-specific stuff to occur in
`rustc_middle`.

The commit also adds a `HashStable` impl for `Interned`, which was
needed. It hashes the contents, unlike the `Hash` impl which hashes the
pointer.
2022-03-07 13:41:47 +11:00