Antoni Boucher
4dbfa4d698
Set the .comment section
2023-11-08 17:24:04 -05:00
antoyo
551ea4b027
Merge pull request #374 from rust-lang/fix/eh-frame
...
Do not emit .eh_frame section if using -Cpanic=abort
2023-11-08 17:18:37 -05:00
Antoni Boucher
cc2af1fb41
Do not emit .eh_frame section when using -Cpanic=abort
2023-11-08 09:10:33 -05:00
antoyo
f20f6bbdbc
Merge pull request #368 from rust-lang/fix/vector-error
...
Fix vector compilation error
2023-11-03 17:56:16 -04:00
Antoni Boucher
9149becf6a
Fix vector compilation error
2023-11-03 09:05:31 -04:00
antoyo
09ce29d059
Merge pull request #375 from GuillaumeGomez/fix-build-scripts
...
Make build scripts work with rust bootstrap
2023-10-27 16:06:12 -04:00
Guillaume Gomez
eb10fa345e
Fix build scripts
2023-10-27 17:53:44 +02:00
antoyo
e4fe941b11
Merge pull request #371 from rust-lang/sync_from_rust_2023_10_25
...
Sync from rust 2023/10/25
2023-10-26 17:40:15 -04:00
Antoni Boucher
a6984f5961
Fix tests
2023-10-26 08:26:03 -04:00
Antoni Boucher
2a2b3ea48b
Remove duplication in CI
2023-10-25 20:43:51 -04:00
Antoni Boucher
c12ac7ea76
Fix warning
2023-10-25 20:42:47 -04:00
Antoni Boucher
9efb4ce8ba
Update to nightly-2023-10-25
2023-10-25 20:41:45 -04:00
Antoni Boucher
42e37059a3
Fix rebase
2023-10-25 20:41:39 -04:00
Antoni Boucher
4d66cd8aa8
Merge branch 'master' into sync_from_rust_2023_10_25
2023-10-25 20:39:08 -04:00
antoyo
8329a356fc
Merge pull request #369 from GuillaumeGomez/regen-intrinsics
...
Regenerate intrinsics mapping
2023-10-25 18:21:34 -04:00
antoyo
d4a74fba1f
Merge pull request #363 from GuillaumeGomez/test-command
...
Add basics for `test` command in build system
2023-10-25 18:20:42 -04:00
antoyo
47bac1f679
Merge pull request #357 from rust-lang/fix/gcc-12
...
Fix for the libgccjit 12 CI
2023-10-25 17:55:34 -04:00
Antoni Boucher
783789f831
Build the sysroot and run more tests
2023-10-25 11:19:03 -04:00
Guillaume Gomez
c15ad9e7a5
Regenerate intrinsics mapping
2023-10-25 15:53:31 +02:00
antoyo
3d9c8afc03
Merge pull request #365 from rust-lang/fix/volatile-load
...
Fix volatile_load
2023-10-24 21:34:17 -04:00
Antoni Boucher
a93d1b73c6
Fix volatile_load
2023-10-24 19:53:59 -04:00
antoyo
46887f2a84
Merge pull request #364 from rust-lang/doc/target-spec
...
Fix to be able to use a target specification JSON file and document the process
2023-10-24 18:30:01 -04:00
Antoni Boucher
0b6e1332b1
Fix to be able to use a target specification JSON file and document the process
2023-10-24 17:41:44 -04:00
Guillaume Gomez
fcd336b3de
Add basics for test
command in build system
2023-10-24 17:15:18 +02:00
antoyo
16b3da81f3
Merge pull request #346 from rust-lang/fix/endianness
...
Fix/endianness
2023-10-21 20:32:09 -04:00
Antoni Boucher
7425c560d3
Add comment
2023-10-21 18:48:03 -04:00
Oli Scherer
a690467938
s/generator/coroutine/
2023-10-20 21:14:01 +00:00
Oli Scherer
67b28ac34b
s/Generator/Coroutine/
2023-10-20 21:10:38 +00:00
antoyo
2096606684
Merge pull request #354 from sadlerap/popcount-128-bits
...
optimize u128/i128 popcounts further
2023-10-19 07:42:50 -04:00
Andy Sadler
81c1f39a86
optimize u128/i128 popcounts further
...
Don't fall back on breaking apart the popcount operation if 128-bit
integers are natively supported.
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-10-18 22:10:41 -05:00
antoyo
a9f31ab481
Merge pull request #355 from rust-lang/refactor-ci
...
Refactor CI
2023-10-18 20:07:45 -04:00
Antoni Boucher
c7679c4831
Revome llvm-14-tools from failures CI
2023-10-18 19:04:47 -04:00
Antoni Boucher
99bc37e075
Refactor CI scripts to have a different file for libgccjit 12
2023-10-18 19:04:27 -04:00
antoyo
d64662ff3e
Merge pull request #353 from rust-lang/fix/int-types-alignment
...
Fix/int types alignment
2023-10-17 21:30:47 -04:00
Antoni Boucher
9d5e0ba1f5
Fixes including fixing compilation for --no-default-features
2023-10-17 20:55:54 -04:00
Antoni Boucher
e5fa9f8692
Use the correct alignment for integer types
2023-10-17 20:55:54 -04:00
antoyo
fabdc1a273
Merge pull request #348 from sadlerap/optimize-popcount
...
optimize popcount implementation
2023-10-17 20:47:05 -04:00
antoyo
c80fb4aaf0
Merge pull request #326 from GuillaumeGomez/non-null
...
Add support for NonNull function attribute
2023-10-17 17:48:03 -04:00
Andy Sadler
64abf5862f
optimize popcount implementation
...
In the current implementation, the gcc backend of rustc currently emits the
following for a function that implements popcount for a u32 (x86_64 targeting
AVX2, using standard unix calling convention):
popcount:
mov eax, edi
and edi, 1431655765
shr eax
and eax, 1431655765
add edi, eax
mov edx, edi
and edi, 858993459
shr edx, 2
and edx, 858993459
add edx, edi
mov eax, edx
and edx, 252645135
shr eax, 4
and eax, 252645135
add eax, edx
mov edx, eax
and eax, 16711935
shr edx, 8
and edx, 16711935
add edx, eax
movzx eax, dx
shr edx, 16
add eax, edx
ret
Rather than using this implementation, gcc could be told to use Wenger's
algorithm. This would give the same function the following implementation:
popcount:
xor eax, eax
xor edx, edx
popcnt eax, edi
test edi, edi
cmove eax, edx
ret
This patch implements the popcount operation in terms of Wenger's algorithm in
all cases.
Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
2023-10-17 16:20:55 -05:00
Guillaume Gomez
0348a5f17a
Improve code readability
2023-10-17 23:00:23 +02:00
Guillaume Gomez
096f14d374
Add support for NonNull function attribute
2023-10-17 15:03:25 +02:00
antoyo
4dce75f2e7
Merge pull request #352 from rust-lang/update-libgccjit
...
Fix #[inline(always)] attribute and support unsigned comparison for signed integers
2023-10-17 08:41:45 -04:00
Antoni Boucher
e2f32c72a7
Ignore failing test
...
This test only fails with non-native 128-bit integers, but it will also
fail with native 128-bit integers if we copy/paste it so that it's
executed twice. Interestingly, wrapping the test in a loop won't make it
fail.
So, it could be due to stack space or unwinding in release mode.
Also, the test only fails with -O2:
../cargo.sh rustc --bin test-rust -- -O
It doesn't fail with -O3.
2023-10-17 07:57:56 -04:00
Michael Howell
e1cb8187e1
docs: add Rust logo to more compiler crates
...
c6e6ecb1af
added it to some of the
compiler's crates, but avoided adding it to all of them to reduce
bit-rot. This commit adds to more.
2023-10-16 15:38:08 -07:00
Antoni Boucher
e3998b2d46
Handle unsigned comparison for signed integers
2023-10-13 07:50:42 -04:00
Antoni Boucher
100dfced20
Fix #[inline(always)] attribute
2023-10-11 20:55:32 -04:00
Antoni Boucher
9030b70421
Update libgccjit
2023-10-11 19:38:03 -04:00
Antoni Boucher
cf8c391fc1
Add comment
2023-10-10 19:19:38 -04:00
Antoni Boucher
ba103e34c0
Use IntoDynSyncSend
2023-10-09 17:13:35 -04:00
Antoni Boucher
22e6f6caaf
Fix checks
2023-10-09 16:03:05 -04:00