diff --git a/osaca/data/csx.yml b/osaca/data/csx.yml index cdd97e5..fc6a264 100644 --- a/osaca/data/csx.yml +++ b/osaca/data/csx.yml @@ -25550,10 +25550,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D, 3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERQPD # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25565,10 +25565,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D, 3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERQPS # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25580,10 +25580,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERDPS # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25595,10 +25595,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D,3D]]] throughput: 4.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERDPS # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25610,10 +25610,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VPGATHERQD # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25625,9 +25625,9 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [4, [2D,3D]]] + throughput: 2 # model_importer.py SKX uops: 5 # model_importer.py SKX - name: VGATHERDPD # model_importer.py SKX operands: # model_importer.py SKX @@ -25640,70 +25640,70 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX -- name: VGATHERDPD # model_importer.py SKX - operands: # model_importer.py SKX - - class: register # model_importer.py SKX - name: xmm # model_importer.py SKX - - class: memory # model_importer.py SKX - base: '*' # model_importer.py SKX - offset: '*' # model_importer.py SKX - index: '*' # model_importer.py SKX - scale: '*' # model_importer.py SKX - - class: register # model_importer.py SKX - name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX - uops: 5 # model_importer.py SKX -- name: VPGATHERQQ # model_importer.py SKX - operands: # model_importer.py SKX - - class: register # model_importer.py SKX - name: ymm # model_importer.py SKX - - class: memory # model_importer.py SKX - base: '*' # model_importer.py SKX - offset: '*' # model_importer.py SKX - index: '*' # model_importer.py SKX - scale: '*' # model_importer.py SKX - - class: register # model_importer.py SKX - name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX -- name: VPGATHERQQ # model_importer.py SKX - operands: # model_importer.py SKX - - class: register # model_importer.py SKX - name: xmm # model_importer.py SKX - - class: memory # model_importer.py SKX - base: '*' # model_importer.py SKX - offset: '*' # model_importer.py SKX - index: '*' # model_importer.py SKX - scale: '*' # model_importer.py SKX - - class: register # model_importer.py SKX - name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX - uops: 5 # model_importer.py SKX -- name: VPGATHERDD # model_importer.py SKX - operands: # model_importer.py SKX - - class: register # model_importer.py SKX - name: ymm # model_importer.py SKX - - class: memory # model_importer.py SKX - base: '*' # model_importer.py SKX - offset: '*' # model_importer.py SKX - index: '*' # model_importer.py SKX - scale: '*' # model_importer.py SKX - - class: register # model_importer.py SKX - name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '2'], [1, '5'], [8, [2D,3D]]] throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX +- name: VGATHERDPD # model_importer.py SKX + operands: # model_importer.py SKX + - class: register # model_importer.py SKX + name: xmm # model_importer.py SKX + - class: memory # model_importer.py SKX + base: '*' # model_importer.py SKX + offset: '*' # model_importer.py SKX + index: '*' # model_importer.py SKX + scale: '*' # model_importer.py SKX + - class: register # model_importer.py SKX + name: xmm # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [4, [2D,3D]]] + throughput: 2.0 # model_importer.py SKX uops: 5 # model_importer.py SKX +- name: VPGATHERQQ # model_importer.py SKX + operands: # model_importer.py SKX + - class: register # model_importer.py SKX + name: ymm # model_importer.py SKX + - class: memory # model_importer.py SKX + base: '*' # model_importer.py SKX + offset: '*' # model_importer.py SKX + index: '*' # model_importer.py SKX + scale: '*' # model_importer.py SKX + - class: register # model_importer.py SKX + name: ymm # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '2'], [1, '5'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX +- name: VPGATHERQQ # model_importer.py SKX + operands: # model_importer.py SKX + - class: register # model_importer.py SKX + name: xmm # model_importer.py SKX + - class: memory # model_importer.py SKX + base: '*' # model_importer.py SKX + offset: '*' # model_importer.py SKX + index: '*' # model_importer.py SKX + scale: '*' # model_importer.py SKX + - class: register # model_importer.py SKX + name: xmm # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [4, [2D,3D]]] + throughput: 2.0 # model_importer.py SKX + uops: 5 # model_importer.py SKX +- name: VPGATHERDD # model_importer.py SKX + operands: # model_importer.py SKX + - class: register # model_importer.py SKX + name: ymm # model_importer.py SKX + - class: memory # model_importer.py SKX + base: '*' # model_importer.py SKX + offset: '*' # model_importer.py SKX + index: '*' # model_importer.py SKX + scale: '*' # model_importer.py SKX + - class: register # model_importer.py SKX + name: ymm # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VPGATHERDD # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25715,8 +25715,8 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [4, '32'], [1, '5'], [4, [2D,3D]]] throughput: 2.0 # model_importer.py SKX uops: 5 # model_importer.py SKX - name: VPGATHERDQ # model_importer.py SKX @@ -25730,10 +25730,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [8, '23'], [1, '5'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VPGATHERDQ # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -25745,10 +25745,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 1 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [2, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.3333333333333333 # model_importer.py SKX - uops: 5 # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [4, '23'], [1, '5'], [4, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VAESDEC # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -31129,12 +31129,12 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX + latency: 24 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [10, '23'], [10, [2D,3D]]] + throughput: 5.0 # model_importer.py SKX uops: 4 # model_importer.py SKX - name: VGATHERQPD # model_importer.py SKX operands: # model_importer.py SKX @@ -31144,13 +31144,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [2, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.5833333333333333 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 17 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [4, [2D,3D]]] + throughput: 2.0 # model_importer.py SKX + uops: 5 # model_importer.py SKX - name: VGATHERQPD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -31159,12 +31159,12 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [8, [2D,3D]]] + throughput: 4.0 # model_importer.py SKX uops: 4 # model_importer.py SKX - name: VFNMADD213SD # model_importer.py SKX operands: # model_importer.py SKX @@ -31205,13 +31205,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [8, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 21 # model_importer.py SKX + port_pressure: [[1, '0'], [10, '23'], [1, '5'], [10, [2D,3D]]] + throughput: 5.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERQPS # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -31220,13 +31220,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 21 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [10, '23'], [10, [2D,3D]]] + throughput: 5.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VFNMSUB213SD # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -40700,13 +40700,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 6 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [16, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 8.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 25 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [18, '23'], [18, [2D,3D]]] + throughput: 9.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VGATHERDPS # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40715,13 +40715,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 19 # model_importer.py SKX + port_pressure: [[1, '0'], [8, '23'], [1, '5'], [8, [2D, 3D]]] # model_importer.py SKX + throughput: 4.0 # model_importer.py SKX + uops: 6 # model_importer.py SKX - name: VGATHERDPS # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40730,13 +40730,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 21 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VPGATHERQD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40745,13 +40745,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [8, [2D, 3D]]] # model_importer.py SKX throughput: 4.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + uops: 11 # model_importer.py SKX - name: VPGATHERQD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40760,13 +40760,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 17 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [4, [2D, 3D]]] # model_importer.py SKX throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERDPD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40776,10 +40776,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 24 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX + uops: 13 # model_importer.py SKX - name: VGATHERDPD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40789,10 +40789,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [2, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.5833333333333333 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [4, [2D, 3D]]] # model_importer.py SKX + throughput: 2 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VGATHERDPD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -40802,10 +40802,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [8, [2D, 3D]]] # model_importer.py SKX + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VPUNPCKHDQ # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -40980,12 +40980,12 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX + latency: 24 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX uops: 4 # model_importer.py SKX - name: VPGATHERQQ # model_importer.py SKX operands: # model_importer.py SKX @@ -40995,13 +40995,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [2, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.5833333333333333 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [4, [2D, 3D]]] # model_importer.py SKX + throughput: 2.0 # model_importer.py SKX + uops: 5 # model_importer.py SKX - name: VPGATHERQQ # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -41010,13 +41010,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [8, [2D, 3D]]] # model_importer.py SKX + throughput: 4.0 # model_importer.py SKX + uops: 7 # model_importer.py SKX - name: VCVTQQ2PD # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -68873,10 +68873,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 6 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [16, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 8.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 24 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VPGATHERDD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -68886,10 +68886,10 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [4, '23'], [1, '5'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 18 # model_importer.py SKX + port_pressure: [[1, '0'], [4, '23'], [1, '5'], [4, [2D, 3D]]] # model_importer.py SKX throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + uops: 6 # model_importer.py SKX - name: VPGATHERDD # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -68899,8 +68899,8 @@ instruction_forms: scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX + latency: 20 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [8, [2D, 3D]]] # model_importer.py SKX throughput: 4.0 # model_importer.py SKX uops: 4 # model_importer.py SKX - name: VPUNPCKHWD # model_importer.py SKX @@ -69223,13 +69223,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: zmm # model_importer.py SKX - latency: 4 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [8, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 4.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 24 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '0156'], [1, '05'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VPGATHERDQ # model_importer.py SKX operands: # model_importer.py SKX - class: memory # model_importer.py SKX @@ -69238,12 +69238,12 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: xmm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [2, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 1.5833333333333333 # model_importer.py SKX + latency: 19 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [8, '23'], [8, [2D, 3D]]] # model_importer.py SKX + throughput: 4.0 # model_importer.py SKX uops: 4 # model_importer.py SKX - name: VPGATHERDQ # model_importer.py SKX operands: # model_importer.py SKX @@ -69253,13 +69253,13 @@ instruction_forms: index: '*' # model_importer.py SKX scale: '*' # model_importer.py SKX - class: register # model_importer.py SKX - name: gpr # model_importer.py SKX + name: k # model_importer.py SKX - class: register # model_importer.py SKX name: ymm # model_importer.py SKX - latency: 3 # model_importer.py SKX - port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [4, '23'], [1, [2D, 3D]]] # model_importer.py SKX - throughput: 2.0 # model_importer.py SKX - uops: 4 # model_importer.py SKX + latency: 21 # model_importer.py SKX + port_pressure: [[1, '0'], [1, '015'], [1, '0156'], [10, '23'], [10, [2D, 3D]]] # model_importer.py SKX + throughput: 5.0 # model_importer.py SKX + uops: 8 # model_importer.py SKX - name: VFNMADD132PS # model_importer.py SKX operands: # model_importer.py SKX - class: register # model_importer.py SKX @@ -70506,4 +70506,28 @@ instruction_forms: port_pressure: [[1, '01']] # model_importer.py SKX throughput: 0.5 # model_importer.py SKX uops: 2 # model_importer.py SKX - +- name: [vcmpltpd, vcmpltps] # uops.info + operands: # uops.info + - class: register # uops.info + name: ymm # uops.info + - class: register # uops.info + name: ymm # uops.info + - class: register # uops.info + name: ymm # uops.info + latency: 4 # uops.info + port_pressure: [[1, '5']] # uops.info + throughput: 1.0 # uops.info + uops: 1 # uops.info +- name: [vcmpltpd, vcmpltps] # uops.info + operands: # uops.info + - class: register # uops.info + name: zmm # uops.info + - class: register # uops.info + name: zmm # uops.info + - class: register # uops.info + name: k # uops.info + mask: True # uops.info + latency: 4 # uops.info + port_pressure: [[1, '5']] # uops.info + throughput: 1.0 # uops.info + uops: 1 # uops.info diff --git a/osaca/data/icx.yml b/osaca/data/icx.yml index 5573369..db463b7 100644 --- a/osaca/data/icx.yml +++ b/osaca/data/icx.yml @@ -5495,7 +5495,7 @@ instruction_forms: mask: True # ibench latency: 24 # ibench port_pressure: [[1, '015'], [1, '15'], [1, '0'], [14, ['2D', '3D']], [14, '23']] # ibench - throughput: 7.0 # ibench + throughput: 6.0 # ibench uops: 31 # ibench - name: vgatherdps # with load # ibench operands: # ibench @@ -7219,6 +7219,19 @@ instruction_forms: port_pressure: [[1, '5']] # model_importer.py instructions.xml ICL throughput: 1.0 # model_importer.py instructions.xml ICL uops: 1 # model_importer.py instructions.xml ICL +- name: VBROADCASTF64X4 # model_importer.py instructions.xml ICL + operands: # model_importer.py instructions.xml ICL + - class: memory + base: "*" + offset: "*" + index: "*" + scale: "*" + - class: register # model_importer.py instructions.xml ICL + name: zmm # model_importer.py instructions.xml ICL + latency: 5 # model_importer.py instructions.xml ICL + port_pressure: [[1, '23'], [1, ['2D', '3D']]] # model_importer.py instructions.xml ICL + throughput: 0.5 # model_importer.py instructions.xml ICL + uops: 1 # model_importer.py instructions.xml ICL - name: VPXOR # model_importer.py instructions.xml ICL operands: # model_importer.py instructions.xml ICL - class: register # model_importer.py instructions.xml ICL @@ -10299,7 +10312,7 @@ instruction_forms: port_pressure: [[1, '0']] # model_importer.py instructions.xml ICL throughput: 1.0 # model_importer.py instructions.xml ICL uops: 1 # model_importer.py instructions.xml ICL -- name: vcmpltpd # uops.info +- name: [vcmpltpd, vcmpltps] # uops.info operands: # uops.info - class: register # uops.info name: zmm # uops.info @@ -10312,3 +10325,275 @@ instruction_forms: port_pressure: [[1, '05']] # uops.info throughput: 0.5 # uops.info uops: 1 # uops.info +- name: [vcmpltpd, vcmpltps] # uops.info + operands: # uops.info + - class: register # uops.info + name: ymm # uops.info + - class: register # uops.info + name: ymm # uops.info + - class: register # uops.info + name: ymm # uops.info + latency: 4 # uops.info + port_pressure: [[1, '05']] # uops.info + throughput: 0.5 # uops.info + uops: 1 # uops.info +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + latency: 4 # model_importer.py ICX + port_pressure: [[1, '01']] # model_importer.py ICX + throughput: 0.5 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + latency: 4 # model_importer.py ICX + port_pressure: [[1, '01']] # model_importer.py ICX + throughput: 0.5 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + latency: 4 # model_importer.py ICX + port_pressure: [[1, '01']] # model_importer.py ICX + throughput: 0.5 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + latency: 4 # model_importer.py ICX + port_pressure: [[1, '01']] # model_importer.py ICX + throughput: 0.5 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPS # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: zmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: xmm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: VCMPPD # model_importer.py ICX + operands: # model_importer.py ICX + - class: immediate # model_importer.py ICX + imd: int # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: ymm # model_importer.py ICX + - class: register # model_importer.py ICX + name: k # model_importer.py ICX + mask: True + latency: 3 # model_importer.py ICX + port_pressure: [[1, '5']] # model_importer.py ICX + throughput: 1.0 # model_importer.py ICX + uops: 1 # model_importer.py ICX +- name: vpunpckhqdq + operands: + - class: register + name: xmm + - class: register + name: xmm + - class: register + name: xmm + latency: 1 + port_pressure: [[1, '15']] + throughput: 0.5 + uops: 1 +- name: vpunpckhqdq + operands: + - class: register + name: ymm + - class: register + name: ymm + - class: register + name: ymm + latency: 1 + port_pressure: [[1, '15']] + throughput: 0.5 + uops: 1 +- name: vpunpckhqdq + operands: + - class: register + name: zmm + - class: register + name: zmm + - class: register + name: zmm + latency: 1 + port_pressure: [[1, '5']] + throughput: 1.0 + uops: 1 +- name: vandpd + operands: + - class: register + name: xmm + - class: register + name: xmm + - class: register + name: xmm + latency: 1 + port_pressure: [[1, '015']] + throughput: 0.33333 + uops: 1 +- name: vandpd + operands: + - class: register + name: ymm + - class: register + name: ymm + - class: register + name: ymm + latency: 1 + port_pressure: [[1, '015']] + throughput: 0.33333 + uops: 1 +- name: vandpd + operands: + - class: register + name: zmm + - class: register + name: zmm + - class: register + name: zmm + latency: 1 + port_pressure: [[1, '05']] + throughput: 0.5 + uops: 1 +- name: vshuff64x2 #asmbench + operands: + - class: immediate + imd: int + - class: register + name: zmm + - class: register + name: zmm + - class: register + name: zmm + latency: 3 + port_pressure: [[1, '5']] + throughput: 1.0 + uops: 1 diff --git a/osaca/data/zen3.yml b/osaca/data/zen3.yml index 0848bb5..54dbdd1 100644 --- a/osaca/data/zen3.yml +++ b/osaca/data/zen3.yml @@ -5434,7 +5434,7 @@ instruction_forms: - class: register name: gpr latency: 6 - port_pressure: [[1, '1']] + port_pressure: [[1, '01'], [1, '1']] throughput: 1.0 uops: 1 - name: [vblendvpd, vblendvps, vpblendvb] #asmbench