Comments (3)
It is not yet possible to differentiate between different addressing modes in the CSV.
Nevertheless, when creating a parameter, every MemAddr
object is checked for the addressing mode and contains the attributes
offset, base, index, scale
which are currently either True
or None
. This is done during the init of a MemAddr
in param.py
:
Lines 27 to 42 in 961364c
Some examples:
>>> mem = MemAddr('8(%rsp,%rax,8)')
>>> print(mem)
MEM(offset(base, index, scale))
>>> mem = MemAddr('(%rsp,%rax,8)')
>>> print(mem)
MEM((base, index, scale))
>>> mem = MemAddr('(%rsp)')
>>> print(mem)
MEM((base))
from osaca.
Okay, the issue is that uops.info also has no notion of different addressing modes and seems to use simple addresses during their benchmarks and therefore consider Port7 as a viable target for all address generation uops. Not yet sure how this should be handled in future.
from osaca.
solved in new version (dev releases are available)
from osaca.
Related Issues (20)
- Throughput output HOT 5
- Parsing negative hex offsets fails HOT 2
- Benchmark fails on ICL HOT 1
- Benchmark with movb fails on ICL HOT 1
- Benchmark with cmp fails on IVB HOT 3
- Benchmark with xor fails on HSW HOT 1
- Benchmark with test fails on SNB HOT 2
- osaca not terminating HOT 2
- unsupported jmpq instruction in parser_x86att.py
- Hex immediate are not recognized. HOT 7
- Bug with working with A64FX assembly code. HOT 5
- Import asmbench result HOT 1
- Instruction is missing HOT 1
- x86 OR instruction breaks LCD analysis HOT 1
- x86 NOT instruction doesn't add a cycle to the critical path HOT 1
- [ARM] Multiply-accumulate output register dependency not recognized HOT 1
- iacaMarks.h compatibility HOT 1
- [ARM] Incorrect parsing of NEON instructions targeting individual lanes HOT 4
- [ARM] Incorrect dependency graph for store dependent on post-indexed load HOT 1
- Parallel LCD computation fails on macOS HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from osaca.