Programs written in C/C++ often include inline assembly: a snippet of architecture-specific assembly code used to access low-level functionalities that are impossible or expensive to simulate in the source language. Although inline assembly is widely used, its semantics has not yet been formally studied.
In this paper, we overcome this deficiency by investigating the effect of inline assembly to the consistency semantics of C/C++ programs. We propose the first memory model of the C++ Programming Language with support for inline assembly for Intel’s x86 including non-temporal stores and store fences. We argue that previous provably correct compiler optimizations and correct compiler mappings should remain correct under such an extended model and we prove that this requirement is met by our proposed model.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:40 | Performance Analysis and Optimisation 2OOPSLA 2024 at IBR West Chair(s): Matthew Flatt University of Utah | ||
16:00 20mTalk | Jmvx: Fast Multi-threaded Multi-Version eXecution and Record-Replay for Managed Languages OOPSLA 2024 David Schwartz University of Illinois at Chicago, Ankith Kowshik University of Illinois Chicago, Luís Pina University of Illinois at Chicago DOI | ||
16:20 20mTalk | libLISA: Instruction Discovery and Analysis on x86-64 OOPSLA 2024 Jos Craaijo Open Universiteit, Freek Verbeek Open Universiteit & Virginia Tech, Binoy Ravindran Virginia Tech DOI | ||
16:40 20mTalk | Extending the C/C++ Memory Model with Inline Assembly OOPSLA 2024 Paulo Emílio de Vilhena Imperial College London, Ori Lahav Tel Aviv University, Viktor Vafeiadis MPI-SWS, Azalea Raad Imperial College London DOI | ||
17:00 20mTalk | TorchQL: A Programming Framework for Integrity Constraints in Machine Learning OOPSLA 2024 Aaditya Naik University of Pennsylvania, Adam Stein University of Pennsylvania, Yinjun Wu University of Pennsylvania, Mayur Naik University of Pennsylvania, Eric Wong DOI | ||
17:20 20mTalk | Verification of Neural Networks' Global RobustnessRemote OOPSLA 2024 DOI |