summary refs log tree commit diff stats
path: root/results/scraper/fex/3467
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-17 09:10:43 +0200
commitf2ec263023649e596c5076df32c2d328bc9393d2 (patch)
tree5dd86caab46e552bd2e62bf9c4fb1a7504a44db4 /results/scraper/fex/3467
parent63d2e9d409831aa8582787234cae4741847504b7 (diff)
downloadqemu-analysis-main.tar.gz
qemu-analysis-main.zip
add downloaded fex bug-reports HEAD main
Diffstat (limited to 'results/scraper/fex/3467')
-rw-r--r--results/scraper/fex/34679
1 files changed, 9 insertions, 0 deletions
diff --git a/results/scraper/fex/3467 b/results/scraper/fex/3467
new file mode 100644
index 000000000..8fd72c862
--- /dev/null
+++ b/results/scraper/fex/3467
@@ -0,0 +1,9 @@
+Optimize rep movs and rep stos
+Decent number of games spent a decent amount of time in memcpy and memset.

+

+Stray's render thread spends 3% in a single block `rep movsb` memcpy.

+Metal Gear Rising Revengeance top block is a `rep movsd` for 32-bytes (8 elements).

+

+`rep movsb` is the one that is worst off since we move byte-by-byte, achieving only 2.7GB/s instead of 17.5GB/s in my microbench.

+

+Probably want to implement ASIMD and SVE optimized variants in the dispatcher that we can dynamically branch to. For FEAT_MOPS devices we can keep the copy/set inline whenever we implement that.
\ No newline at end of file