x87sidecar
Hooks Apple's Rosetta to replace x87 handlers with a custom AArch64 JIT. Big speedups for x86 floating-point workloads (and old games via Wine) on Apple Silicon.
File Explorer
- ci.yml
- release.yml
- main.cpp
- RosettaAotApi.cpp
- RosettaAotApi.h
- CMakeLists.txt
- CMakeLists.txt
- mmo.c
- bench_add.c
- bench_compare.c
- bench_constants.c
- bench_div.c
- bench_dot_product.c
- bench_f2xm1.c
- bench_fbld.c
- bench_fbstp.c
- bench_fclex.c
- bench_fcmov.c
- bench_fcos.c
- bench_fdecstp.c
- bench_fdisi_feni.c
- bench_ffree.c
- bench_fincstp.c
- bench_finit.c
- bench_fistp_multi.c
- bench_fistt.c
- bench_fldenv.c
- bench_fnop.c
- bench_fpatan.c
- bench_fprem.c
- bench_fprem1.c
- bench_fptan.c
- bench_frstor.c
- bench_fsave.c
- bench_fscale.c
- bench_fsin.c
- bench_fsincos.c
- bench_fst_chain.c
- bench_fstenv.c
- bench_fstp_fld.c
- bench_fusion_arith_faddp.c
- bench_fusion_arith_fstp.c
- bench_fusion_arithp_fld.c
- bench_fusion_arithp_fstp.c
- bench_fusion_fcom_fstsw.c
- bench_fusion_fld_arith.c
- bench_fusion_fld_arith_arithp.c
- bench_fusion_fld_arith_fstp.c
- bench_fusion_fld_arithp.c
- bench_fusion_fld_fcomp_fstsw.c
- bench_fusion_fld_fcomp_mem.c
- bench_fusion_fld_fstp.c
- bench_fusion_fstp_arith_fstp.c
- bench_fusion_fxch_arithp.c
- bench_fusion_fxch_fcom.c
- bench_fusion_fxch_fstp.c
- bench_fxch.c
- bench_fxrstor.c
- bench_fxsave.c
- bench_fxtract.c
- bench_fyl2x.c
- bench_fyl2xp1.c
- bench_load.c
- bench_mul.c
- bench_round.c
- bench_single_op.c
- bench_store.c
- bench_sub.c
- bench_tag_batch.c
- bench_timing.h
- bench_unary.c
- CMakeLists.txt
- AddX86Sample.cmake
- AssemblerBase.hpp
- AssemblerBuffer.h
- AssemblerHelpers.hpp
- Config.h
- ConfigEnv.h
- CoreConfig.h
- CustomTranslationHook.h
- Fixup.h
- hook.h
- IRBlock.h
- IRInstr.h
- IRModuleData.h
- IROperand.h
- ModuleResult.h
- Opcode.h
- Opcode_26_4.h
- OpcodeCompatibility.h
- ProfileFormat.h
- ProfileRuntime.h
- Register.h
- RemoteVector.h
- RosettaCore.h
- RuntimeRoutine.h
- ThreadContextOffsets.h
- TransactionalList.h
- TranscendentalHelper.h
- TranslationResult.h
- Translator.h
- TranslatorCustom.h
- TranslatorHelpers.hpp
- TranslatorX87.h
- TranslatorX87F80.hpp
- TranslatorX87Fusion.h
- TranslatorX87Helpers.hpp
- TranslatorX87Transcendental.hpp
- X87Bridge.h
- X87Cache.h
- X87IR.h
- X87State.h
- AssemblerBuffer.cpp
- AssemblerHelpers.cpp
- ConfigEnv.cpp
- CoreConfig.cpp
- CustomTranslationHook.cpp
- hook.cpp
- IRInstr.cpp
- Opcode.cpp
- OpcodeCompatibility.cpp
- ProfileRuntime.cpp
- RosettaCore.cpp
- TranscendentalHelper.cpp
- Translator.cpp
- TranslatorCustom.cpp
- TranslatorHelpers.cpp
- TranslatorX87.cpp
- TranslatorX87F80.cpp
- TranslatorX87Fusion.cpp
- TranslatorX87Helpers.cpp
- TranslatorX87Internal.hpp
- TranslatorX87Single.cpp
- TranslatorX87Transcendental.cpp
- X87Cache.cpp
- X87IRBuild.cpp
- X87IRLower.cpp
- X87IROptimize.cpp
- CMakeLists.txt
- coop_proto.h
- dyld_process_info.hpp
- guest_pc_map.cpp
- guest_pc_map.hpp
- mach_exception.cpp
- mach_exception.hpp
- macho_loader.cpp
- macho_loader.hpp
- main.cpp
- offset_finder.cpp
- offset_finder.hpp
- sidecar.cpp
- sidecar.hpp
- stub_asm.cpp
- stub_asm.hpp
- types.h
- CMakeLists.txt
- entitlements.plist
- inspect_function.sh
- run_benchmarks.sh
- run_fusion_sweep.sh
- run_tests.sh
- geom_block_874c40.ir
- CMakeLists.txt
- coop_handshake.c
- test_arith.c
- test_arith_faddp.c
- test_arithp_fld.c
- test_arithp_fstp.c
- test_bridge_alu.c
- test_bridge_ext.c
- test_bridge_flags.c
- test_bridge_lea.c
- test_bridge_mov.c
- test_compare_unary.c
- test_decoder_arpl.c
- test_decoder_fcomp_st.c
- test_deep_stack.c
- test_f2xm1.c
- test_fbld.c
- test_fbstp.c
- test_fclex.c
- test_fclex_compose.c
- test_fcmov.c
- test_fcom.c
- test_fcom_nzcv.c
- test_fcomi.c
- test_fcomp_mem.c
- test_fcos.c
- test_fdecstp.c
- test_fdisi_feni.c
- test_ffree.c
- test_ficom.c
- test_fild.c
- test_fincstp.c
- test_finit.c
- test_finit_compose.c
- test_fist_indefinite.c
- test_fistp_multi.c
- test_fistt.c
- test_flags_across_vex.c
- test_flags_across_x87.c
- test_fld.c
- test_fld_arith.c
- test_fld_arith_arithp_fma.c
- test_fld_fst.c
- test_fld_m80fp.c
- test_fldconst.c
- test_fldcw.c
- test_fldenv.c
- test_fldenv_compose.c
- test_fma_reduce.c
- test_fma_reduce_strided.c
- test_fmul.c
- test_fpatan.c
- test_fprem.c
- test_fprem1.c
- test_fptan.c
- test_frndint.c
- test_frstor.c
- test_fsave.c
- test_fscale.c
- test_fsin.c
- test_fsincos.c
- test_fst_chain_compose.c
- test_fstenv.c
- test_fstenv_compose.c
- test_fstp_arith_fstp.c
- test_fstp_fld.c
- test_fstpt.c
- test_fstpt_gs.c
- test_fxam.c
- test_fxch.c
- test_fxch_initial.c
- test_fxrstor.c
- test_fxsave.c
- test_fxtract.c
- test_fyl2x.c
- test_fyl2xp1.c
- test_ir_gate_tag_push.c
- test_ir_remat.c
- test_ir_split.c
- test_ir_split_trans.c
- test_peephole.c
- test_peephole3.c
- test_peephole4.c
- test_peephole5.c
- test_peephole6.c
- test_peephole7.c
- test_peephole8.c
- test_rc_recache.c
- test_readst_elide.c
- test_single_op.c
- test_tag_batch.c
- test_x87_full.c
- test_x87_loop.c
- CMakeLists.txt
- ir_pressure_replay.cpp
- profile_analyze.cpp
- rollback_diff.cpp
- .clang-format
- .clang-tidy
- .clangd
- .gitignore
- CMakeLists.txt
- compile_commands.json
- LICENSE
- Makefile
- README.md
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
cmake
View Details ▼
cmake
Cross-platform build automation system, that generates recipes for native build systems.
cmake {{path/to/project_directory}}
Generate a build recipe in the current directory with `CMakeLists.txt` from a project directory:
cmake --build {{path/to/build_directory}}
Use a generated recipe in a given directory to build artifacts:
cmake --install {{path/to/build_directory}} --strip
Install the build artifacts into `/usr/local/` and strip debugging symbols:
xattr
View Details ▼
xattr
Utility to work with extended filesystem attributes.
xattr -l {{file}}
List key:value extended attributes for a given file:
xattr -w {{attribute_key}} {{attribute_value}} {{file}}
Write an attribute for a given file:
xattr -d {{com.apple.quarantine}} {{file}}
Delete an attribute from a given file:
