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