html-to-markdown 2.28.1 → 2.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +6 -6
- data/README.md +5 -1
- data/ext/html-to-markdown-rb/native/Cargo.lock +1694 -0
- data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
- data/lib/html_to_markdown/version.rb +1 -1
- data/rust-vendor/html-to-markdown-rs/Cargo.toml +1 -1
- data/rust-vendor/libc/.cargo-checksum.json +1 -1
- data/rust-vendor/libc/.cargo_vcs_info.json +1 -1
- data/rust-vendor/libc/CHANGELOG.md +19 -0
- data/rust-vendor/libc/Cargo.lock +1 -1
- data/rust-vendor/libc/Cargo.toml +1 -1
- data/rust-vendor/libc/Cargo.toml.orig +1 -1
- data/rust-vendor/libc/build.rs +3 -3
- data/rust-vendor/libc/src/fuchsia/mod.rs +2 -0
- data/rust-vendor/libc/src/hermit.rs +1 -0
- data/rust-vendor/libc/src/lib.rs +1 -0
- data/rust-vendor/libc/src/new/linux_uapi/linux/mod.rs +1 -0
- data/rust-vendor/libc/src/new/linux_uapi/linux/pidfd.rs +59 -0
- data/rust-vendor/libc/src/new/mod.rs +3 -0
- data/rust-vendor/libc/src/new/netbsd/sys/file.rs +16 -0
- data/rust-vendor/libc/src/new/netbsd/sys/mod.rs +2 -0
- data/rust-vendor/libc/src/new/netbsd/sys/socket.rs +44 -0
- data/rust-vendor/libc/src/new/qurt/mod.rs +2 -0
- data/rust-vendor/libc/src/solid/mod.rs +1 -0
- data/rust-vendor/libc/src/switch.rs +1 -0
- data/rust-vendor/libc/src/teeos/mod.rs +2 -0
- data/rust-vendor/libc/src/trusty.rs +1 -0
- data/rust-vendor/libc/src/unix/bsd/apple/b64/mod.rs +1 -0
- data/rust-vendor/libc/src/unix/bsd/netbsdlike/netbsd/mod.rs +31 -0
- data/rust-vendor/libc/src/unix/bsd/netbsdlike/openbsd/mod.rs +92 -0
- data/rust-vendor/libc/src/unix/hurd/mod.rs +1 -0
- data/rust-vendor/libc/src/unix/linux_like/linux/gnu/mod.rs +1 -0
- data/rust-vendor/libc/src/unix/linux_like/linux/mod.rs +22 -46
- data/rust-vendor/libc/src/unix/mod.rs +2 -0
- data/rust-vendor/libc/src/unix/newlib/espidf/mod.rs +2 -0
- data/rust-vendor/libc/src/unix/redox/mod.rs +2 -2
- data/rust-vendor/libc/src/vxworks/mod.rs +46 -0
- data/rust-vendor/libc/src/wasi/mod.rs +2 -0
- data/rust-vendor/libc/src/windows/mod.rs +2 -0
- data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zerocopy/Cargo.lock +3 -3
- data/rust-vendor/zerocopy/Cargo.toml +178 -4
- data/rust-vendor/zerocopy/Cargo.toml.orig +5 -5
- data/rust-vendor/zerocopy/benches/formats/coco_dynamic_padding.rs +24 -0
- data/rust-vendor/zerocopy/benches/formats/coco_dynamic_size.rs +23 -0
- data/rust-vendor/zerocopy/benches/formats/coco_static_size.rs +23 -0
- data/rust-vendor/zerocopy/benches/read_from_bytes.rs +7 -0
- data/rust-vendor/zerocopy/benches/read_from_bytes.x86-64 +15 -0
- data/rust-vendor/zerocopy/benches/read_from_bytes.x86-64.mca +65 -0
- data/rust-vendor/zerocopy/benches/read_from_prefix.rs +10 -0
- data/rust-vendor/zerocopy/benches/read_from_prefix.x86-64 +14 -0
- data/rust-vendor/zerocopy/benches/read_from_prefix.x86-64.mca +63 -0
- data/rust-vendor/zerocopy/benches/read_from_suffix.rs +10 -0
- data/rust-vendor/zerocopy/benches/read_from_suffix.x86-64 +15 -0
- data/rust-vendor/zerocopy/benches/read_from_suffix.x86-64.mca +65 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.rs +7 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.x86-64 +22 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_padding.x86-64.mca +77 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.rs +7 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.x86-64 +20 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_dynamic_size.x86-64.mca +75 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.rs +7 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.x86-64 +8 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_static_size.x86-64.mca +53 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.x86-64 +30 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_padding.x86-64.mca +95 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.x86-64 +16 -0
- data/rust-vendor/zerocopy/benches/ref_from_bytes_with_elems_dynamic_size.x86-64.mca +65 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.x86-64 +22 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_padding.x86-64.mca +77 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.x86-64 +17 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_dynamic_size.x86-64.mca +67 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.x86-64 +8 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_static_size.x86-64.mca +53 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.rs +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.x86-64 +35 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_padding.x86-64.mca +101 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.rs +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.x86-64 +22 -0
- data/rust-vendor/zerocopy/benches/ref_from_prefix_with_elems_dynamic_size.x86-64.mca +77 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.x86-64 +23 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_padding.x86-64.mca +79 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.x86-64 +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_dynamic_size.x86-64.mca +63 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.x86-64 +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_static_size.x86-64.mca +61 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.rs +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.x86-64 +34 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_padding.x86-64.mca +99 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.rs +13 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.x86-64 +23 -0
- data/rust-vendor/zerocopy/benches/ref_from_suffix_with_elems_dynamic_size.x86-64.mca +77 -0
- data/rust-vendor/zerocopy/benches/transmute.rs +16 -0
- data/rust-vendor/zerocopy/benches/transmute.x86-64 +3 -0
- data/rust-vendor/zerocopy/benches/transmute.x86-64.mca +43 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.rs +16 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.x86-64 +4 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_dynamic_size.x86-64.mca +45 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_static_size.rs +15 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_static_size.x86-64 +3 -0
- data/rust-vendor/zerocopy/benches/transmute_ref_static_size.x86-64.mca +43 -0
- data/rust-vendor/zerocopy/benches/try_read_from_bytes.rs +7 -0
- data/rust-vendor/zerocopy/benches/try_read_from_bytes.x86-64 +23 -0
- data/rust-vendor/zerocopy/benches/try_read_from_bytes.x86-64.mca +79 -0
- data/rust-vendor/zerocopy/benches/try_read_from_prefix.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_read_from_prefix.x86-64 +16 -0
- data/rust-vendor/zerocopy/benches/try_read_from_prefix.x86-64.mca +67 -0
- data/rust-vendor/zerocopy/benches/try_read_from_suffix.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_read_from_suffix.x86-64 +18 -0
- data/rust-vendor/zerocopy/benches/try_read_from_suffix.x86-64.mca +71 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.rs +7 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.x86-64 +24 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_padding.x86-64.mca +81 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.rs +7 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.x86-64 +22 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_dynamic_size.x86-64.mca +79 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.rs +7 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.x86-64 +13 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_static_size.x86-64.mca +59 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64 +36 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_padding.x86-64.mca +105 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64 +18 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_bytes_with_elems_dynamic_size.x86-64.mca +69 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.x86-64 +29 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_padding.x86-64.mca +91 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.x86-64 +22 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_dynamic_size.x86-64.mca +77 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.x86-64 +15 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_static_size.x86-64.mca +63 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.rs +13 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64 +35 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_padding.x86-64.mca +101 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.rs +13 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64 +26 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_prefix_with_elems_dynamic_size.x86-64.mca +83 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64 +26 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_padding.x86-64.mca +85 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.x86-64 +18 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_dynamic_size.x86-64.mca +71 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.rs +10 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.x86-64 +16 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_static_size.x86-64.mca +67 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.rs +13 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64 +39 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_padding.x86-64.mca +109 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.rs +13 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64 +28 -0
- data/rust-vendor/zerocopy/benches/try_ref_from_suffix_with_elems_dynamic_size.x86-64.mca +87 -0
- data/rust-vendor/zerocopy/benches/try_transmute.rs +16 -0
- data/rust-vendor/zerocopy/benches/try_transmute.x86-64 +9 -0
- data/rust-vendor/zerocopy/benches/try_transmute.x86-64.mca +55 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.rs +18 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.x86-64 +6 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_dynamic_size.x86-64.mca +49 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.rs +17 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.x86-64 +5 -0
- data/rust-vendor/zerocopy/benches/try_transmute_ref_static_size.x86-64.mca +47 -0
- data/rust-vendor/zerocopy/rustdoc/style.css +55 -0
- data/rust-vendor/zerocopy/src/lib.rs +331 -0
- data/rust-vendor/zerocopy/src/macros.rs +48 -1
- data/rust-vendor/zerocopy/src/util/macros.rs +199 -0
- data/rust-vendor/zerocopy/tests/codegen.rs +111 -0
- data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
- data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.lock +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.toml +1 -1
- data/rust-vendor/zerocopy-derive/Cargo.toml.orig +1 -1
- metadata +137 -2
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 1400
|
|
3
|
+
Total Cycles: 442
|
|
4
|
+
Total uOps: 1500
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.39
|
|
8
|
+
IPC: 3.17
|
|
9
|
+
Block RThroughput: 3.8
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 mov eax, 49345
|
|
22
|
+
1 1 0.33 cmp rsi, 6
|
|
23
|
+
1 1 1.00 jb .LBB5_2
|
|
24
|
+
1 5 0.50 * mov eax, dword ptr [rdi]
|
|
25
|
+
1 5 0.50 * movzx ecx, word ptr [rdi + 4]
|
|
26
|
+
1 1 0.50 shl rcx, 32
|
|
27
|
+
1 1 0.33 or rcx, rax
|
|
28
|
+
1 1 0.33 movzx eax, cx
|
|
29
|
+
1 1 0.33 and rcx, -65536
|
|
30
|
+
1 1 0.33 or rcx, 49344
|
|
31
|
+
1 1 0.33 cmp eax, 49344
|
|
32
|
+
1 1 0.33 mov eax, 49345
|
|
33
|
+
2 2 0.67 cmove rax, rcx
|
|
34
|
+
1 1 1.00 U ret
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
Resources:
|
|
38
|
+
[0] - SBDivider
|
|
39
|
+
[1] - SBFPDivider
|
|
40
|
+
[2] - SBPort0
|
|
41
|
+
[3] - SBPort1
|
|
42
|
+
[4] - SBPort4
|
|
43
|
+
[5] - SBPort5
|
|
44
|
+
[6.0] - SBPort23
|
|
45
|
+
[6.1] - SBPort23
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
Resource pressure per iteration:
|
|
49
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
50
|
+
- - 4.33 4.33 - 4.34 1.00 1.00
|
|
51
|
+
|
|
52
|
+
Resource pressure by instruction:
|
|
53
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
54
|
+
- - 0.65 0.01 - 0.34 - - mov eax, 49345
|
|
55
|
+
- - 0.01 0.33 - 0.66 - - cmp rsi, 6
|
|
56
|
+
- - - - - 1.00 - - jb .LBB5_2
|
|
57
|
+
- - - - - - - 1.00 mov eax, dword ptr [rdi]
|
|
58
|
+
- - - - - - 1.00 - movzx ecx, word ptr [rdi + 4]
|
|
59
|
+
- - 0.65 - - 0.35 - - shl rcx, 32
|
|
60
|
+
- - - 0.67 - 0.33 - - or rcx, rax
|
|
61
|
+
- - 0.01 0.99 - - - - movzx eax, cx
|
|
62
|
+
- - 0.99 0.01 - - - - and rcx, -65536
|
|
63
|
+
- - 0.01 0.99 - - - - or rcx, 49344
|
|
64
|
+
- - 0.99 0.01 - - - - cmp eax, 49344
|
|
65
|
+
- - 0.02 0.33 - 0.65 - - mov eax, 49345
|
|
66
|
+
- - 1.00 0.99 - 0.01 - - cmove rax, rcx
|
|
67
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#[path = "formats/coco_static_size.rs"]
|
|
2
|
+
mod format;
|
|
3
|
+
|
|
4
|
+
#[unsafe(no_mangle)]
|
|
5
|
+
fn bench_try_read_from_suffix_static_size(source: &[u8]) -> Option<format::CocoPacket> {
|
|
6
|
+
match zerocopy::TryFromBytes::try_read_from_suffix(source) {
|
|
7
|
+
Ok((_rest, packet)) => Some(packet),
|
|
8
|
+
_ => None,
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
bench_try_read_from_suffix_static_size:
|
|
2
|
+
mov eax, 49345
|
|
3
|
+
cmp rsi, 6
|
|
4
|
+
jb .LBB5_2
|
|
5
|
+
mov eax, dword ptr [rdi + rsi - 6]
|
|
6
|
+
movzx ecx, word ptr [rdi + rsi - 2]
|
|
7
|
+
shl rcx, 32
|
|
8
|
+
or rcx, rax
|
|
9
|
+
movzx edx, cx
|
|
10
|
+
xor eax, eax
|
|
11
|
+
cmp edx, 49344
|
|
12
|
+
cmovne rcx, rsi
|
|
13
|
+
sete al
|
|
14
|
+
and rcx, -65536
|
|
15
|
+
xor rax, 49345
|
|
16
|
+
or rax, rcx
|
|
17
|
+
.LBB5_2:
|
|
18
|
+
ret
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 1600
|
|
3
|
+
Total Cycles: 478
|
|
4
|
+
Total uOps: 1700
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.56
|
|
8
|
+
IPC: 3.35
|
|
9
|
+
Block RThroughput: 4.3
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 mov eax, 49345
|
|
22
|
+
1 1 0.33 cmp rsi, 6
|
|
23
|
+
1 1 1.00 jb .LBB5_2
|
|
24
|
+
1 5 0.50 * mov eax, dword ptr [rdi + rsi - 6]
|
|
25
|
+
1 5 0.50 * movzx ecx, word ptr [rdi + rsi - 2]
|
|
26
|
+
1 1 0.50 shl rcx, 32
|
|
27
|
+
1 1 0.33 or rcx, rax
|
|
28
|
+
1 1 0.33 movzx edx, cx
|
|
29
|
+
1 0 0.25 xor eax, eax
|
|
30
|
+
1 1 0.33 cmp edx, 49344
|
|
31
|
+
2 2 0.67 cmovne rcx, rsi
|
|
32
|
+
1 1 0.50 sete al
|
|
33
|
+
1 1 0.33 and rcx, -65536
|
|
34
|
+
1 1 0.33 xor rax, 49345
|
|
35
|
+
1 1 0.33 or rax, rcx
|
|
36
|
+
1 1 1.00 U ret
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
Resources:
|
|
40
|
+
[0] - SBDivider
|
|
41
|
+
[1] - SBFPDivider
|
|
42
|
+
[2] - SBPort0
|
|
43
|
+
[3] - SBPort1
|
|
44
|
+
[4] - SBPort4
|
|
45
|
+
[5] - SBPort5
|
|
46
|
+
[6.0] - SBPort23
|
|
47
|
+
[6.1] - SBPort23
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
Resource pressure per iteration:
|
|
51
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
52
|
+
- - 4.66 4.66 - 4.68 1.00 1.00
|
|
53
|
+
|
|
54
|
+
Resource pressure by instruction:
|
|
55
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
56
|
+
- - 0.32 0.01 - 0.67 - - mov eax, 49345
|
|
57
|
+
- - 0.62 0.02 - 0.36 - - cmp rsi, 6
|
|
58
|
+
- - - - - 1.00 - - jb .LBB5_2
|
|
59
|
+
- - - - - - - 1.00 mov eax, dword ptr [rdi + rsi - 6]
|
|
60
|
+
- - - - - - 1.00 - movzx ecx, word ptr [rdi + rsi - 2]
|
|
61
|
+
- - 0.37 - - 0.63 - - shl rcx, 32
|
|
62
|
+
- - 0.99 0.01 - - - - or rcx, rax
|
|
63
|
+
- - 1.00 - - - - - movzx edx, cx
|
|
64
|
+
- - - - - - - - xor eax, eax
|
|
65
|
+
- - 0.35 0.64 - 0.01 - - cmp edx, 49344
|
|
66
|
+
- - 1.00 1.00 - - - - cmovne rcx, rsi
|
|
67
|
+
- - - - - 1.00 - - sete al
|
|
68
|
+
- - 0.01 0.99 - - - - and rcx, -65536
|
|
69
|
+
- - - 1.00 - - - - xor rax, 49345
|
|
70
|
+
- - - 0.99 - 0.01 - - or rax, rcx
|
|
71
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
bench_try_ref_from_bytes_dynamic_padding:
|
|
2
|
+
test dil, 3
|
|
3
|
+
jne .LBB5_4
|
|
4
|
+
movabs rax, 9223372036854775804
|
|
5
|
+
and rax, rsi
|
|
6
|
+
cmp rax, 9
|
|
7
|
+
jb .LBB5_4
|
|
8
|
+
add rax, -9
|
|
9
|
+
movabs rcx, -6148914691236517205
|
|
10
|
+
mul rcx
|
|
11
|
+
shr rdx
|
|
12
|
+
lea rax, [rdx + 2*rdx]
|
|
13
|
+
or rax, 3
|
|
14
|
+
add rax, 9
|
|
15
|
+
cmp rsi, rax
|
|
16
|
+
jne .LBB5_4
|
|
17
|
+
cmp word ptr [rdi], -16192
|
|
18
|
+
je .LBB5_5
|
|
19
|
+
.LBB5_4:
|
|
20
|
+
xor edi, edi
|
|
21
|
+
mov rdx, rsi
|
|
22
|
+
.LBB5_5:
|
|
23
|
+
mov rax, rdi
|
|
24
|
+
ret
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 2100
|
|
3
|
+
Total Cycles: 709
|
|
4
|
+
Total uOps: 2300
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.24
|
|
8
|
+
IPC: 2.96
|
|
9
|
+
Block RThroughput: 5.8
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 test dil, 3
|
|
22
|
+
1 1 1.00 jne .LBB5_4
|
|
23
|
+
1 1 0.33 movabs rax, 9223372036854775804
|
|
24
|
+
1 1 0.33 and rax, rsi
|
|
25
|
+
1 1 0.33 cmp rax, 9
|
|
26
|
+
1 1 1.00 jb .LBB5_4
|
|
27
|
+
1 1 0.33 add rax, -9
|
|
28
|
+
1 1 0.33 movabs rcx, -6148914691236517205
|
|
29
|
+
2 4 1.00 mul rcx
|
|
30
|
+
1 1 0.50 shr rdx
|
|
31
|
+
1 1 0.50 lea rax, [rdx + 2*rdx]
|
|
32
|
+
1 1 0.33 or rax, 3
|
|
33
|
+
1 1 0.33 add rax, 9
|
|
34
|
+
1 1 0.33 cmp rsi, rax
|
|
35
|
+
1 1 1.00 jne .LBB5_4
|
|
36
|
+
2 6 0.50 * cmp word ptr [rdi], -16192
|
|
37
|
+
1 1 1.00 je .LBB5_5
|
|
38
|
+
1 0 0.25 xor edi, edi
|
|
39
|
+
1 1 0.33 mov rdx, rsi
|
|
40
|
+
1 1 0.33 mov rax, rdi
|
|
41
|
+
1 1 1.00 U ret
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Resources:
|
|
45
|
+
[0] - SBDivider
|
|
46
|
+
[1] - SBFPDivider
|
|
47
|
+
[2] - SBPort0
|
|
48
|
+
[3] - SBPort1
|
|
49
|
+
[4] - SBPort4
|
|
50
|
+
[5] - SBPort5
|
|
51
|
+
[6.0] - SBPort23
|
|
52
|
+
[6.1] - SBPort23
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
Resource pressure per iteration:
|
|
56
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
57
|
+
- - 6.98 6.99 - 7.03 0.50 0.50
|
|
58
|
+
|
|
59
|
+
Resource pressure by instruction:
|
|
60
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
61
|
+
- - 0.48 0.51 - 0.01 - - test dil, 3
|
|
62
|
+
- - - - - 1.00 - - jne .LBB5_4
|
|
63
|
+
- - 0.51 0.49 - - - - movabs rax, 9223372036854775804
|
|
64
|
+
- - 0.01 0.99 - - - - and rax, rsi
|
|
65
|
+
- - 0.51 0.49 - - - - cmp rax, 9
|
|
66
|
+
- - - - - 1.00 - - jb .LBB5_4
|
|
67
|
+
- - 0.98 - - 0.02 - - add rax, -9
|
|
68
|
+
- - 0.98 0.02 - - - - movabs rcx, -6148914691236517205
|
|
69
|
+
- - 1.00 1.00 - - - - mul rcx
|
|
70
|
+
- - 0.99 - - 0.01 - - shr rdx
|
|
71
|
+
- - - 1.00 - - - - lea rax, [rdx + 2*rdx]
|
|
72
|
+
- - - 0.51 - 0.49 - - or rax, 3
|
|
73
|
+
- - 0.01 0.49 - 0.50 - - add rax, 9
|
|
74
|
+
- - - 0.02 - 0.98 - - cmp rsi, rax
|
|
75
|
+
- - - - - 1.00 - - jne .LBB5_4
|
|
76
|
+
- - 0.51 0.49 - - 0.50 0.50 cmp word ptr [rdi], -16192
|
|
77
|
+
- - - - - 1.00 - - je .LBB5_5
|
|
78
|
+
- - - - - - - - xor edi, edi
|
|
79
|
+
- - 0.50 0.50 - - - - mov rdx, rsi
|
|
80
|
+
- - 0.50 0.48 - 0.02 - - mov rax, rdi
|
|
81
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
bench_try_ref_from_bytes_dynamic_size:
|
|
2
|
+
mov rdx, rsi
|
|
3
|
+
mov rax, rdi
|
|
4
|
+
cmp rsi, 4
|
|
5
|
+
setb cl
|
|
6
|
+
or cl, al
|
|
7
|
+
test cl, 1
|
|
8
|
+
jne .LBB5_4
|
|
9
|
+
lea rcx, [rdx - 4]
|
|
10
|
+
mov rsi, rcx
|
|
11
|
+
and rsi, -2
|
|
12
|
+
add rsi, 4
|
|
13
|
+
cmp rdx, rsi
|
|
14
|
+
jne .LBB5_4
|
|
15
|
+
cmp word ptr [rax], -16192
|
|
16
|
+
jne .LBB5_4
|
|
17
|
+
shr rcx
|
|
18
|
+
mov rdx, rcx
|
|
19
|
+
ret
|
|
20
|
+
.LBB5_4:
|
|
21
|
+
xor eax, eax
|
|
22
|
+
ret
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 2000
|
|
3
|
+
Total Cycles: 639
|
|
4
|
+
Total uOps: 2100
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.29
|
|
8
|
+
IPC: 3.13
|
|
9
|
+
Block RThroughput: 5.3
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 mov rdx, rsi
|
|
22
|
+
1 1 0.33 mov rax, rdi
|
|
23
|
+
1 1 0.33 cmp rsi, 4
|
|
24
|
+
1 1 0.50 setb cl
|
|
25
|
+
1 1 0.33 or cl, al
|
|
26
|
+
1 1 0.33 test cl, 1
|
|
27
|
+
1 1 1.00 jne .LBB5_4
|
|
28
|
+
1 1 0.50 lea rcx, [rdx - 4]
|
|
29
|
+
1 1 0.33 mov rsi, rcx
|
|
30
|
+
1 1 0.33 and rsi, -2
|
|
31
|
+
1 1 0.33 add rsi, 4
|
|
32
|
+
1 1 0.33 cmp rdx, rsi
|
|
33
|
+
1 1 1.00 jne .LBB5_4
|
|
34
|
+
2 6 0.50 * cmp word ptr [rax], -16192
|
|
35
|
+
1 1 1.00 jne .LBB5_4
|
|
36
|
+
1 1 0.50 shr rcx
|
|
37
|
+
1 1 0.33 mov rdx, rcx
|
|
38
|
+
1 1 1.00 U ret
|
|
39
|
+
1 0 0.25 xor eax, eax
|
|
40
|
+
1 1 1.00 U ret
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
Resources:
|
|
44
|
+
[0] - SBDivider
|
|
45
|
+
[1] - SBFPDivider
|
|
46
|
+
[2] - SBPort0
|
|
47
|
+
[3] - SBPort1
|
|
48
|
+
[4] - SBPort4
|
|
49
|
+
[5] - SBPort5
|
|
50
|
+
[6.0] - SBPort23
|
|
51
|
+
[6.1] - SBPort23
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
Resource pressure per iteration:
|
|
55
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
56
|
+
- - 6.32 6.32 - 6.36 0.50 0.50
|
|
57
|
+
|
|
58
|
+
Resource pressure by instruction:
|
|
59
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
60
|
+
- - 0.33 0.66 - 0.01 - - mov rdx, rsi
|
|
61
|
+
- - 0.66 0.34 - - - - mov rax, rdi
|
|
62
|
+
- - 0.34 0.66 - - - - cmp rsi, 4
|
|
63
|
+
- - 0.99 - - 0.01 - - setb cl
|
|
64
|
+
- - 0.01 0.99 - - - - or cl, al
|
|
65
|
+
- - - 1.00 - - - - test cl, 1
|
|
66
|
+
- - - - - 1.00 - - jne .LBB5_4
|
|
67
|
+
- - 0.66 0.34 - - - - lea rcx, [rdx - 4]
|
|
68
|
+
- - 0.33 0.66 - 0.01 - - mov rsi, rcx
|
|
69
|
+
- - 1.00 - - - - - and rsi, -2
|
|
70
|
+
- - 0.66 0.34 - - - - add rsi, 4
|
|
71
|
+
- - - 1.00 - - - - cmp rdx, rsi
|
|
72
|
+
- - - - - 1.00 - - jne .LBB5_4
|
|
73
|
+
- - - - - 1.00 0.50 0.50 cmp word ptr [rax], -16192
|
|
74
|
+
- - - - - 1.00 - - jne .LBB5_4
|
|
75
|
+
- - 0.67 - - 0.33 - - shr rcx
|
|
76
|
+
- - 0.67 0.33 - - - - mov rdx, rcx
|
|
77
|
+
- - - - - 1.00 - - ret
|
|
78
|
+
- - - - - - - - xor eax, eax
|
|
79
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 1000
|
|
3
|
+
Total Cycles: 308
|
|
4
|
+
Total uOps: 1100
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.57
|
|
8
|
+
IPC: 3.25
|
|
9
|
+
Block RThroughput: 3.0
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 mov rax, rdi
|
|
22
|
+
1 1 0.33 cmp rsi, 6
|
|
23
|
+
1 1 0.50 setne cl
|
|
24
|
+
1 1 0.33 or cl, al
|
|
25
|
+
1 1 0.33 test cl, 1
|
|
26
|
+
1 1 1.00 jne .LBB5_2
|
|
27
|
+
2 6 0.50 * cmp word ptr [rax], -16192
|
|
28
|
+
1 1 1.00 je .LBB5_3
|
|
29
|
+
1 0 0.25 xor eax, eax
|
|
30
|
+
1 1 1.00 U ret
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Resources:
|
|
34
|
+
[0] - SBDivider
|
|
35
|
+
[1] - SBFPDivider
|
|
36
|
+
[2] - SBPort0
|
|
37
|
+
[3] - SBPort1
|
|
38
|
+
[4] - SBPort4
|
|
39
|
+
[5] - SBPort5
|
|
40
|
+
[6.0] - SBPort23
|
|
41
|
+
[6.1] - SBPort23
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
Resource pressure per iteration:
|
|
45
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
46
|
+
- - 2.98 2.98 - 3.04 0.50 0.50
|
|
47
|
+
|
|
48
|
+
Resource pressure by instruction:
|
|
49
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
50
|
+
- - 0.02 0.97 - 0.01 - - mov rax, rdi
|
|
51
|
+
- - 0.02 0.98 - - - - cmp rsi, 6
|
|
52
|
+
- - 1.00 - - - - - setne cl
|
|
53
|
+
- - 0.97 0.02 - 0.01 - - or cl, al
|
|
54
|
+
- - 0.96 0.03 - 0.01 - - test cl, 1
|
|
55
|
+
- - - - - 1.00 - - jne .LBB5_2
|
|
56
|
+
- - 0.01 0.98 - 0.01 0.50 0.50 cmp word ptr [rax], -16192
|
|
57
|
+
- - - - - 1.00 - - je .LBB5_3
|
|
58
|
+
- - - - - - - - xor eax, eax
|
|
59
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#[path = "formats/coco_dynamic_padding.rs"]
|
|
2
|
+
mod format;
|
|
3
|
+
|
|
4
|
+
#[unsafe(no_mangle)]
|
|
5
|
+
fn bench_try_ref_from_bytes_with_elems_dynamic_padding(
|
|
6
|
+
source: &[u8],
|
|
7
|
+
count: usize,
|
|
8
|
+
) -> Option<&format::CocoPacket> {
|
|
9
|
+
zerocopy::TryFromBytes::try_ref_from_bytes_with_elems(source, count).ok()
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
bench_try_ref_from_bytes_with_elems_dynamic_padding:
|
|
2
|
+
mov rcx, rdx
|
|
3
|
+
mov edx, 3
|
|
4
|
+
mov rax, rcx
|
|
5
|
+
mul rdx
|
|
6
|
+
jo .LBB5_8
|
|
7
|
+
mov rdx, rax
|
|
8
|
+
cmp rax, -10
|
|
9
|
+
ja .LBB5_8
|
|
10
|
+
mov eax, edx
|
|
11
|
+
not eax
|
|
12
|
+
and eax, 3
|
|
13
|
+
lea r8, [rax + rdx]
|
|
14
|
+
add r8, 9
|
|
15
|
+
xor eax, eax
|
|
16
|
+
cmp rsi, r8
|
|
17
|
+
jne .LBB5_6
|
|
18
|
+
mov r9d, edi
|
|
19
|
+
and r9d, 3
|
|
20
|
+
jne .LBB5_6
|
|
21
|
+
add rdx, 9
|
|
22
|
+
cmp r8, rdx
|
|
23
|
+
jb .LBB5_6
|
|
24
|
+
movzx edx, word ptr [rdi]
|
|
25
|
+
cmp dx, -16192
|
|
26
|
+
cmove rsi, rcx
|
|
27
|
+
xor eax, eax
|
|
28
|
+
cmp edx, 49344
|
|
29
|
+
cmove rax, rdi
|
|
30
|
+
.LBB5_6:
|
|
31
|
+
mov rdx, rsi
|
|
32
|
+
ret
|
|
33
|
+
.LBB5_8:
|
|
34
|
+
xor eax, eax
|
|
35
|
+
mov rdx, rsi
|
|
36
|
+
ret
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
Iterations: 100
|
|
2
|
+
Instructions: 3300
|
|
3
|
+
Total Cycles: 1082
|
|
4
|
+
Total uOps: 3600
|
|
5
|
+
|
|
6
|
+
Dispatch Width: 4
|
|
7
|
+
uOps Per Cycle: 3.33
|
|
8
|
+
IPC: 3.05
|
|
9
|
+
Block RThroughput: 9.0
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
Instruction Info:
|
|
13
|
+
[1]: #uOps
|
|
14
|
+
[2]: Latency
|
|
15
|
+
[3]: RThroughput
|
|
16
|
+
[4]: MayLoad
|
|
17
|
+
[5]: MayStore
|
|
18
|
+
[6]: HasSideEffects (U)
|
|
19
|
+
|
|
20
|
+
[1] [2] [3] [4] [5] [6] Instructions:
|
|
21
|
+
1 1 0.33 mov rcx, rdx
|
|
22
|
+
1 1 0.33 mov edx, 3
|
|
23
|
+
1 1 0.33 mov rax, rcx
|
|
24
|
+
2 4 1.00 mul rdx
|
|
25
|
+
1 1 1.00 jo .LBB5_8
|
|
26
|
+
1 1 0.33 mov rdx, rax
|
|
27
|
+
1 1 0.33 cmp rax, -10
|
|
28
|
+
1 1 1.00 ja .LBB5_8
|
|
29
|
+
1 1 0.33 mov eax, edx
|
|
30
|
+
1 1 0.33 not eax
|
|
31
|
+
1 1 0.33 and eax, 3
|
|
32
|
+
1 1 0.50 lea r8, [rax + rdx]
|
|
33
|
+
1 1 0.33 add r8, 9
|
|
34
|
+
1 0 0.25 xor eax, eax
|
|
35
|
+
1 1 0.33 cmp rsi, r8
|
|
36
|
+
1 1 1.00 jne .LBB5_6
|
|
37
|
+
1 1 0.33 mov r9d, edi
|
|
38
|
+
1 1 0.33 and r9d, 3
|
|
39
|
+
1 1 1.00 jne .LBB5_6
|
|
40
|
+
1 1 0.33 add rdx, 9
|
|
41
|
+
1 1 0.33 cmp r8, rdx
|
|
42
|
+
1 1 1.00 jb .LBB5_6
|
|
43
|
+
1 5 0.50 * movzx edx, word ptr [rdi]
|
|
44
|
+
1 1 0.33 cmp dx, -16192
|
|
45
|
+
2 2 0.67 cmove rsi, rcx
|
|
46
|
+
1 0 0.25 xor eax, eax
|
|
47
|
+
1 1 0.33 cmp edx, 49344
|
|
48
|
+
2 2 0.67 cmove rax, rdi
|
|
49
|
+
1 1 0.33 mov rdx, rsi
|
|
50
|
+
1 1 1.00 U ret
|
|
51
|
+
1 0 0.25 xor eax, eax
|
|
52
|
+
1 1 0.33 mov rdx, rsi
|
|
53
|
+
1 1 1.00 U ret
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
Resources:
|
|
57
|
+
[0] - SBDivider
|
|
58
|
+
[1] - SBFPDivider
|
|
59
|
+
[2] - SBPort0
|
|
60
|
+
[3] - SBPort1
|
|
61
|
+
[4] - SBPort4
|
|
62
|
+
[5] - SBPort5
|
|
63
|
+
[6.0] - SBPort23
|
|
64
|
+
[6.1] - SBPort23
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
Resource pressure per iteration:
|
|
68
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1]
|
|
69
|
+
- - 10.64 10.65 - 10.71 0.50 0.50
|
|
70
|
+
|
|
71
|
+
Resource pressure by instruction:
|
|
72
|
+
[0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
|
|
73
|
+
- - 0.25 0.73 - 0.02 - - mov rcx, rdx
|
|
74
|
+
- - 0.74 0.03 - 0.23 - - mov edx, 3
|
|
75
|
+
- - 0.60 0.40 - - - - mov rax, rcx
|
|
76
|
+
- - 1.00 1.00 - - - - mul rdx
|
|
77
|
+
- - - - - 1.00 - - jo .LBB5_8
|
|
78
|
+
- - 0.11 0.89 - - - - mov rdx, rax
|
|
79
|
+
- - 0.99 0.01 - - - - cmp rax, -10
|
|
80
|
+
- - - - - 1.00 - - ja .LBB5_8
|
|
81
|
+
- - 0.01 0.89 - 0.10 - - mov eax, edx
|
|
82
|
+
- - 0.11 0.89 - - - - not eax
|
|
83
|
+
- - 0.01 0.88 - 0.11 - - and eax, 3
|
|
84
|
+
- - 0.01 0.99 - - - - lea r8, [rax + rdx]
|
|
85
|
+
- - 0.01 0.99 - - - - add r8, 9
|
|
86
|
+
- - - - - - - - xor eax, eax
|
|
87
|
+
- - - 0.99 - 0.01 - - cmp rsi, r8
|
|
88
|
+
- - - - - 1.00 - - jne .LBB5_6
|
|
89
|
+
- - 0.42 - - 0.58 - - mov r9d, edi
|
|
90
|
+
- - 0.53 0.01 - 0.46 - - and r9d, 3
|
|
91
|
+
- - - - - 1.00 - - jne .LBB5_6
|
|
92
|
+
- - 0.99 0.01 - - - - add rdx, 9
|
|
93
|
+
- - 0.99 0.01 - - - - cmp r8, rdx
|
|
94
|
+
- - - - - 1.00 - - jb .LBB5_6
|
|
95
|
+
- - - - - - 0.50 0.50 movzx edx, word ptr [rdi]
|
|
96
|
+
- - 0.45 0.01 - 0.54 - - cmp dx, -16192
|
|
97
|
+
- - 1.00 0.35 - 0.65 - - cmove rsi, rcx
|
|
98
|
+
- - - - - - - - xor eax, eax
|
|
99
|
+
- - 0.75 0.02 - 0.23 - - cmp edx, 49344
|
|
100
|
+
- - 1.00 0.68 - 0.32 - - cmove rax, rdi
|
|
101
|
+
- - 0.12 0.54 - 0.34 - - mov rdx, rsi
|
|
102
|
+
- - - - - 1.00 - - ret
|
|
103
|
+
- - - - - - - - xor eax, eax
|
|
104
|
+
- - 0.55 0.33 - 0.12 - - mov rdx, rsi
|
|
105
|
+
- - - - - 1.00 - - ret
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#[path = "formats/coco_dynamic_size.rs"]
|
|
2
|
+
mod format;
|
|
3
|
+
|
|
4
|
+
#[unsafe(no_mangle)]
|
|
5
|
+
fn bench_try_ref_from_bytes_with_elems_dynamic_size(
|
|
6
|
+
source: &[u8],
|
|
7
|
+
count: usize,
|
|
8
|
+
) -> Option<&format::CocoPacket> {
|
|
9
|
+
zerocopy::TryFromBytes::try_ref_from_bytes_with_elems(source, count).ok()
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
bench_try_ref_from_bytes_with_elems_dynamic_size:
|
|
2
|
+
movabs rax, 9223372036854775805
|
|
3
|
+
cmp rdx, rax
|
|
4
|
+
seta cl
|
|
5
|
+
mov rax, rdi
|
|
6
|
+
or dil, cl
|
|
7
|
+
test dil, 1
|
|
8
|
+
jne .LBB5_3
|
|
9
|
+
lea rcx, [2*rdx + 4]
|
|
10
|
+
cmp rsi, rcx
|
|
11
|
+
jne .LBB5_3
|
|
12
|
+
cmp word ptr [rax], -16192
|
|
13
|
+
je .LBB5_4
|
|
14
|
+
.LBB5_3:
|
|
15
|
+
xor eax, eax
|
|
16
|
+
mov rdx, rsi
|
|
17
|
+
.LBB5_4:
|
|
18
|
+
ret
|