Issue 153981
Summary [llvm-exegesis] Add support for benchmarking PUSH/POP instructions
Labels tools:llvm-exegesis, backend:X86 Scheduler Models
Assignees boomanaiden154
Reporter boomanaiden154
    Having support for benchmarking PUSH/POP instructions in exegesis would be nice and might add some infrastructure that would make benchmarking other memory accessing instructions easier.

Benchmarking would probably require support for setting up memory in subprocess mode. We want to map enough pages to fully run the benchmark and have them point at the same physical page to take advantage of x86 uarches having physically tagged memory to avoid cache misses.

The scheduling models for PUSH/POP look alright currently, although there are some subtle details related to the stack engine. The scheduling models currently say there is a uop using port p0156, but these are actually stack sync uops. Given we don't model these at all within the scheduling models though, folding them into the push/pop instructions seems reasonable.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to