diff --git a/osaca/data/csx.yml b/osaca/data/csx.yml index b290410..1c5ee73 100644 --- a/osaca/data/csx.yml +++ b/osaca/data/csx.yml @@ -110,12 +110,25 @@ instruction_forms: throughput: 0.5 latency: ~ # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.25, 0.0, 0.25, 0.5, 0.5, 0.5, 0.5, 0.0, 0.25, 0.25, 0.0] + - name: incq + operands: + - class: "register" + name: "gpr" + throughput: 0.25 + latency: ~ # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [0.25, 0.0, 0.25, 0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.25, 0.0] - name: ja operands: - class: 'identifier' throughput: 0.0 latency: 0.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] + - name: jb + operands: + - class: 'identifier' + throughput: 0.0 + latency: 0.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [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' @@ -199,7 +212,7 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 7.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vaddpd operands: @@ -213,7 +226,35 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 7.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] + - name: vaddpd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] + - name: vaddsd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vaddsd operands: @@ -329,7 +370,6 @@ instruction_forms: throughput: 0.5 latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - - name: vfmadd132pd operands: - class: "memory" @@ -389,9 +429,8 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 7.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - - name: vmulpd operands: - class: "memory" @@ -404,7 +443,7 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 7.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 8.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.5, 0.0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vmovapd operands: @@ -428,7 +467,7 @@ instruction_forms: index: "gpr" scale: 1 throughput: 1.0 - latency: 2.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] - name: vmovapd operands: @@ -440,7 +479,7 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vmovapd operands: @@ -452,7 +491,7 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vmovapd operands: @@ -464,7 +503,7 @@ instruction_forms: index: "gpr" scale: 1 throughput: 1.0 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 5.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] - name: vmovapd operands: @@ -476,7 +515,7 @@ instruction_forms: index: "gpr" scale: 1 throughput: 1.0 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 5.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] - name: vmovupd operands: @@ -488,7 +527,7 @@ instruction_forms: index: "gpr" scale: 1 throughput: 1.0 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 5.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] - name: vmovupd operands: @@ -500,7 +539,7 @@ instruction_forms: index: "gpr" scale: 1 throughput: 1.0 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 5.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] - name: vmovupd operands: @@ -512,7 +551,7 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - name: vmovupd operands: @@ -524,6 +563,29 @@ instruction_forms: - class: "register" name: "ymm" throughput: 0.5 - latency: 3.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 port_pressure: [0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] - + - name: vmovsd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0] + - name: vmovsd + operands: + - class: "register" + name: "xmm" + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + throughput: 1.0 + latency: 4.0 # 0 0DV 1 2 2D 3 3D 4 5 6 7 + port_pressure: [0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 1.0, 0.0, 0.0, 0.0] diff --git a/osaca/data/isa/aarch64.yml b/osaca/data/isa/aarch64.yml index dae5f04..6ba17e0 100644 --- a/osaca/data/isa/aarch64.yml +++ b/osaca/data/isa/aarch64.yml @@ -282,6 +282,36 @@ instruction_forms: post-indexed: false source: false destination: true + - name: "str" + operands: + - class: "register" + prefix: "d" + source: true + destination: false + - class: "memory" + base: "x" + offset: "imd" + index: ~ + scale: 1 + pre-indexed: false + post-indexed: false + source: false + destination: true + - name: "str" + operands: + - class: "register" + prefix: "d" + source: true + destination: false + - class: "memory" + base: "x" + offset: ~ + index: ~ + scale: 1 + pre-indexed: false + post-indexed: true + source: false + destination: true - name: "str" operands: - class: "register" diff --git a/osaca/data/vulcan.yml b/osaca/data/vulcan.yml index 127be41..b4ab30d 100644 --- a/osaca/data/vulcan.yml +++ b/osaca/data/vulcan.yml @@ -68,12 +68,27 @@ instruction_forms: throughput: 0.0 latency: 0.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0, 0, 0, 0, 0, 0, 0, 0] + - name: "b.gt" + operands: + - class: 'identifier' + throughput: 0.0 + latency: 0.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0, 0, 0, 0, 0, 0, 0, 0] - name: "bne" operands: - class: 'identifier' throughput: 0.0 latency: 0.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0, 0, 0, 0, 0, 0, 0, 0] + - name: "cmp" + operands: + - class: "register" + prefix: "w" + - class: "immediate" + imd: "int" + throughput: 0.33333333 + latency: 1.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.33333333, 0.0, 0.33333333, 0.0, 0.33333333, 0.0, 0.0, 0.0] - name: "cmp" operands: - class: "register" @@ -81,7 +96,7 @@ instruction_forms: - class: "register" prefix: "x" throughput: 0.33333333 - latency: 0.0 # 0 0DV 1 1DV 2 3 4 5 + latency: 1.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.33333333, 0.0, 0.33333333, 0.0, 0.33333333, 0.0, 0.0, 0.0] - name: "fadd" operands: @@ -97,6 +112,17 @@ instruction_forms: throughput: 0.5 latency: 6.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0] + - name: "fadd" + operands: + - class: "register" + prefix: "d" + - class: "register" + prefix: "d" + - class: "register" + prefix: "d" + throughput: 0.5 + latency: 6.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0] - name: "fadd" operands: - class: "register" @@ -202,6 +228,17 @@ instruction_forms: throughput: 0.5 latency: 6.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0] + - name: "fmul" + operands: + - class: "register" + prefix: "d" + - class: "register" + prefix: "d" + - class: "register" + prefix: "d" + throughput: 0.5 + latency: 6.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0] - name: "fsub" operands: - class: "register" @@ -354,6 +391,76 @@ instruction_forms: throughput: 0.5 latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "ldr" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: "imd" + index: ~ + scale: 1 + pre-indexed: false + post-indexed: false + throughput: 0.5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "ldr" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: ~ + index: "x" + scale: 1 + pre-indexed: false + post-indexed: false + throughput: 0.5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "ldr" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: ~ + index: ~ + scale: 1 + pre-indexed: false + post-indexed: true + throughput: 0.5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "ldr" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: ~ + index: "x" + scale: 8 + pre-indexed: false + post-indexed: false + throughput: 0.5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "ldr" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: ~ + index: ~ + scale: 1 + pre-indexed: false + post-indexed: false + throughput: 0.5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] - name: "ldr" operands: - class: "register" @@ -368,6 +475,15 @@ instruction_forms: throughput: 0.5 latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.0] + - name: "mov" + operands: + - class: "register" + prefix: "x" + - class: "register" + prefix: "x" + throughput: 0.5 + latency: 1.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.5, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0] - name: "mov" operands: - class: "register" @@ -503,8 +619,36 @@ instruction_forms: pre-indexed: false post-indexed: false throughput: 1.0 - latency: ~ # 0 0DV 1 1DV 2 3 4 5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0] + - name: "str" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: "imd" + index: ~ + scale: 1 + pre-indexed: false + post-indexed: false + throughput: 1.0 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] + - name: "str" + operands: + - class: "register" + prefix: "d" + - class: "memory" + base: "x" + offset: ~ + index: ~ + scale: 1 + pre-indexed: false + post-indexed: true + throughput: 1.0 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] - name: "str" operands: - class: "register" @@ -517,7 +661,7 @@ instruction_forms: pre-indexed: false post-indexed: false throughput: 1.0 - latency: ~ # 0 0DV 1 1DV 2 3 4 5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] - name: "str" operands: @@ -531,7 +675,7 @@ instruction_forms: pre-indexed: false post-indexed: true throughput: 1.0 - latency: ~ # 0 0DV 1 1DV 2 3 4 5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] - name: "str" operands: @@ -545,7 +689,7 @@ instruction_forms: pre-indexed: false post-indexed: true throughput: 1.0 - latency: ~ # 0 0DV 1 1DV 2 3 4 5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] - name: "str" operands: @@ -559,5 +703,5 @@ instruction_forms: pre-indexed: false post-indexed: false throughput: 1.0 - latency: ~ # 0 0DV 1 1DV 2 3 4 5 + latency: 4.0 # 0 0DV 1 1DV 2 3 4 5 port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 1.0] diff --git a/osaca/data/zen1.yml b/osaca/data/zen1.yml index e6fed4b..6d2d1b5 100644 --- a/osaca/data/zen1.yml +++ b/osaca/data/zen1.yml @@ -91,18 +91,43 @@ instruction_forms: throughput: 0.25 latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST 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, 0.0] + - name: incq + operands: + - class: "register" + name: "gpr" + throughput: 0.25 + latency: 1.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.25, 0.52, 0.52, 0.25, 0.0, 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 9 8D 9D ST 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, 0.0] + - name: jb + operands: + - class: 'identifier' + throughput: 0.0 + latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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, 0.0] - name: jne operands: - class: 'identifier' throughput: 0.0 latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST 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, 0.0] + - name: leaq + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: ~ + scale: 1 + - class: "register" + name: "gpr" + throughput: 0.5 + latency: ~ # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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.0, 0.0, 0.0] - name: movl operands: - class: "memory" @@ -228,6 +253,62 @@ instruction_forms: throughput: 0.5 latency: 3.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST 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, 0.0] + - name: vaddsd + operands: + - class: "memory" + base: "gpr" + offset: ~ + index: ~ + scale: 1 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 7.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0] + - name: vaddsd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: ~ + scale: 1 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 7.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0] + - name: vaddsd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 7.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0] + - name: vaddsd + operands: + - class: "memory" + base: "gpr" + offset: ~ + index: "gpr" + scale: 8 + - class: "register" + name: "xmm" + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 7.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + port_pressure: [0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.5, 0.5, 0.5, 0.5, 0.0] - name: vaddss operands: - class: "register" @@ -578,3 +659,75 @@ instruction_forms: throughput: 2.0 latency: 5.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST port_pressure: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0] + - name: vmovsd + operands: + - class: "memory" + base: "gpr" + offset: ~ + index: "gpr" + scale: 8 + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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, 0.0] + - name: vmovsd + operands: + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + - class: "register" + name: "xmm" + throughput: 0.5 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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, 0.0] + - name: vmovsd + operands: + - class: "register" + name: "xmm" + - class: "memory" + base: "gpr" + offset: ~ + index: ~ + scale: 1 + throughput: 1.0 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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.0, 0.0, 1.0] + - name: vmovsd + operands: + - class: "register" + name: "xmm" + - class: "memory" + base: "gpr" + offset: "imd" + index: ~ + scale: 1 + throughput: 1.0 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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.0, 0.0, 1.0] + - name: vmovsd + operands: + - class: "register" + name: "xmm" + - class: "memory" + base: "gpr" + offset: ~ + index: "gpr" + scale: 1 + throughput: 1.0 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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.0, 0.0, 1.0] + - name: vmovsd + operands: + - class: "register" + name: "xmm" + - class: "memory" + base: "gpr" + offset: "imd" + index: "gpr" + scale: 1 + throughput: 1.0 + latency: 4.0 # 0 1 2 3 3DV 4 5 6 7 8 9 8D 9D ST + 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.0, 0.0, 1.0]