mirror of
https://github.com/RRZE-HPC/OSACA.git
synced 2026-01-05 18:50:08 +01:00
567 lines
20 KiB
YAML
567 lines
20 KiB
YAML
osaca_version: 0.~
|
|
micro_architecture: "AMD Zen (family 17h)"
|
|
isa: "x86"
|
|
port_model_scheme: |
|
|
┌--------------------------------------┐ ┌-----------------------------------------------┐
|
|
| 96 entries OoO scheduler | | 84 entries OoO scheduler |
|
|
└--------------------------------------┘ └-----------------------------------------------┘
|
|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|
|
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
|
|
┌-------┐ ┌-------┐ ┌-------┐ ┌-------┐ ┌------┐ ┌-----┐ ┌-----┐ ┌------┐ ┌-----┐ ┌-----┐
|
|
|SSE ALU| |SSE ALU| |SSE ALU| |SSE ALU| | ALU | | ALU | | ALU | | ALU | | AGU | | AGU |
|
|
└-------┘ └-------┘ └-------┘ └-------┘ └------┘ └-----┘ └-----┘ └------┘ └-----┘ └-----┘
|
|
┌-------┐ ┌-------┐ ┌-------┐ ┌-------┐ ┌------┐ ┌-----┐ ┌-----┐ ┌------┐ | |
|
|
|SSE MUL| |SSE MUL| |SSE ADD| |SSE ADD| |BRANCH| | MUL | | MUL | |BRANCH| ▼ ▼
|
|
└-------┘ └-------┘ └-------┘ └-------┘ └------┘ └-----┘ └-----┘ └------┘ ┌-------------┐
|
|
┌-------┐ ┌-------┐ ┌-------┐ ┌-------┐ | LOAD |
|
|
|SSE FMA| |SSE FMA| | SSE | |SSE DIV| └-------------┘
|
|
└-------┘ └-------┘ | SHUF | └-------┘ ┌-------------┐
|
|
┌-------┐ └-------┘ | LOAD |
|
|
| SSE | └-------------┘
|
|
| SHUF | ┌-------------┐
|
|
└-------┘ | STORE |
|
|
└-------------┘
|
|
ports: ["0", "1", "2", "3", "3DV", "4", "5", "6", "7", "8", "8D", "9", "9D"]
|
|
instruction_forms:
|
|
- name: add
|
|
operands:
|
|
- class: "immediate"
|
|
imd: "int"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: add
|
|
operands:
|
|
- class: "register"
|
|
name: "gpr"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: addl
|
|
operands:
|
|
- class: "immediate"
|
|
imd: "int"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: addq
|
|
operands:
|
|
- class: "immediate"
|
|
imd: "int"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: cmpl
|
|
operands:
|
|
- class: "register"
|
|
name: "gpr"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: cmpq
|
|
operands:
|
|
- class: "register"
|
|
name: "gpr"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: cmpq
|
|
operands:
|
|
- class: "register"
|
|
name: "gpr"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: ~
|
|
scale: 1
|
|
throughput: 0.25
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: ja
|
|
operands:
|
|
- class: 'identifier'
|
|
throughput: 0.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: jne
|
|
operands:
|
|
- class: 'identifier'
|
|
throughput: 0.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: mulsd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: mulss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: rcpss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: ~ #1.0
|
|
latency: 5.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: sqrtsd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: ~ #8.0
|
|
latency: 23.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: sqrtss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: ~ #5.0
|
|
latency: 17.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: subq
|
|
operands:
|
|
- class: "register"
|
|
name: "gpr"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: subq
|
|
operands:
|
|
- class: "immediate"
|
|
imd: "int"
|
|
- class: "register"
|
|
name: "gpr"
|
|
throughput: 0.25
|
|
latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.25, 0.25, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vaddpd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vaddpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vaddpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vaddsd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vaddss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vdivsd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 4.0
|
|
latency: 13.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 1.0, 4.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vdivss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 3.0
|
|
latency: 10.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 1.0, 3.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vfmadd213pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vfmadd213pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vfmadd231pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vfmadd231pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vfmadd132pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vfmadd132pd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vmulsd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vmulss
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vmulpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5]
|
|
- name: vmulpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5]
|
|
- name: vmulpd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
|
|
- name: vmulpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vmulpd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "xmm"
|
|
throughput: 0.5
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 0.5, 1.0]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 1.0]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|
|
- name: vmovapd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|
|
- name: vmovaps
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 0.5, 1.0]
|
|
- name: vmovaps
|
|
operands:
|
|
- class: "register"
|
|
name: "xmm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 1.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 1.0, 0.5, 1.0]
|
|
- name: vmovupd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|
|
- name: vmovupd
|
|
operands:
|
|
- class: "register"
|
|
name: "ymm"
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|
|
- name: vmovupd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: ~
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|
|
- name: vmovupd
|
|
operands:
|
|
- class: "memory"
|
|
base: "gpr"
|
|
offset: "imd"
|
|
index: "gpr"
|
|
scale: 1
|
|
- class: "register"
|
|
name: "ymm"
|
|
throughput: 2.0
|
|
latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 8D 9 9D
|
|
port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 2.0, 1.0, 2.0]
|