diff --git a/osaca/data/bdw.yml b/osaca/data/bdw.yml index 56fdede..d78013f 100644 --- a/osaca/data/bdw.yml +++ b/osaca/data/bdw.yml @@ -28564,6 +28564,17 @@ instruction_forms: throughput: 0.25 # ./generate_mov_entries.py bdw uops: 1 # ./generate_mov_entries.py bdw # ./generate_mov_entries.py bdw +- name: movabs # ./generate_mov_entries.py bdw + operands: # ./generate_mov_entries.py bdw + - class: immediate # ./generate_mov_entries.py bdw + imd: int # ./generate_mov_entries.py bdw + - class: register # ./generate_mov_entries.py bdw + name: gpr # ./generate_mov_entries.py bdw + latency: 1 # ./generate_mov_entries.py bdw + port_pressure: [[1, '0156']] # ./generate_mov_entries.py bdw + throughput: 0.25 # ./generate_mov_entries.py bdw + uops: 1 # ./generate_mov_entries.py bdw + # ./generate_mov_entries.py bdw - name: mov # with store, simple AGU # ./generate_mov_entries.py bdw operands: # ./generate_mov_entries.py bdw - class: immediate # ./generate_mov_entries.py bdw diff --git a/osaca/data/csx.yml b/osaca/data/csx.yml index 6a56b9c..8563b69 100644 --- a/osaca/data/csx.yml +++ b/osaca/data/csx.yml @@ -82658,6 +82658,17 @@ instruction_forms: throughput: 0.25 # ./generate_mov_entries.py csx uops: 1 # ./generate_mov_entries.py csx # ./generate_mov_entries.py csx +- name: movabs # ./generate_mov_entries.py csx + operands: # ./generate_mov_entries.py csx + - class: immediate # ./generate_mov_entries.py csx + imd: int # ./generate_mov_entries.py csx + - class: register # ./generate_mov_entries.py csx + name: gpr # ./generate_mov_entries.py csx + latency: 1 # ./generate_mov_entries.py csx + port_pressure: [[1, '0156']] # ./generate_mov_entries.py csx + throughput: 0.25 # ./generate_mov_entries.py csx + uops: 1 # ./generate_mov_entries.py csx + # ./generate_mov_entries.py csx - name: mov # with store, simple AGU # ./generate_mov_entries.py csx operands: # ./generate_mov_entries.py csx - class: immediate # ./generate_mov_entries.py csx diff --git a/osaca/data/generate_mov_entries.py b/osaca/data/generate_mov_entries.py index c24a4e9..2a11886 100755 --- a/osaca/data/generate_mov_entries.py +++ b/osaca/data/generate_mov_entries.py @@ -148,6 +148,7 @@ snb_mov_instructions = [ ('mov mem gpr', ('', 0)), ('mov imd gpr', ('1*p015', 1)), ('mov imd mem', ('', 0)), + ('movabs imd gpr', ('1*p015', 1)), # AT&T version # https://www.felixcloutier.com/x86/movapd ('movapd xmm xmm', ('1*p5', 1)), @@ -533,6 +534,7 @@ hsw_mov_instructions = list(OrderedDict(ivb_mov_instructions + [ # https://www.felixcloutier.com/x86/mov ('mov imd gpr', ('1*p0156', 1)), ('mov gpr gpr', ('1*p0156', 1)), + ('movabs imd gpr', ('1*p0156', 1)), # AT&T version # https://www.felixcloutier.com/x86/movbe ('movbe gpr mem', ('1*p15', 6)), diff --git a/osaca/data/hsw.yml b/osaca/data/hsw.yml index 1028d30..5789252 100644 --- a/osaca/data/hsw.yml +++ b/osaca/data/hsw.yml @@ -28376,6 +28376,17 @@ instruction_forms: throughput: 0.25 # ./generate_mov_entries.py hsw uops: 1 # ./generate_mov_entries.py hsw # ./generate_mov_entries.py hsw +- name: movabs # ./generate_mov_entries.py hsw + operands: # ./generate_mov_entries.py hsw + - class: immediate # ./generate_mov_entries.py hsw + imd: int # ./generate_mov_entries.py hsw + - class: register # ./generate_mov_entries.py hsw + name: gpr # ./generate_mov_entries.py hsw + latency: 1 # ./generate_mov_entries.py hsw + port_pressure: [[1, '0156']] # ./generate_mov_entries.py hsw + throughput: 0.25 # ./generate_mov_entries.py hsw + uops: 1 # ./generate_mov_entries.py hsw + # ./generate_mov_entries.py hsw - name: mov # with store, simple AGU # ./generate_mov_entries.py hsw operands: # ./generate_mov_entries.py hsw - class: immediate # ./generate_mov_entries.py hsw diff --git a/osaca/data/ivb.yml b/osaca/data/ivb.yml index 47f94de..fd1dad0 100644 --- a/osaca/data/ivb.yml +++ b/osaca/data/ivb.yml @@ -21089,6 +21089,17 @@ instruction_forms: throughput: 0.0 # ./generate_mov_entries.py ivb uops: 0 # ./generate_mov_entries.py ivb # ./generate_mov_entries.py ivb +- name: movabs # ./generate_mov_entries.py ivb + operands: # ./generate_mov_entries.py ivb + - class: immediate # ./generate_mov_entries.py ivb + imd: int # ./generate_mov_entries.py ivb + - class: register # ./generate_mov_entries.py ivb + name: gpr # ./generate_mov_entries.py ivb + latency: 0 # ./generate_mov_entries.py ivb + port_pressure: [] # ./generate_mov_entries.py ivb + throughput: 0.0 # ./generate_mov_entries.py ivb + uops: 0 # ./generate_mov_entries.py ivb + # ./generate_mov_entries.py ivb - name: mov # with store # ./generate_mov_entries.py ivb operands: # ./generate_mov_entries.py ivb - class: immediate # ./generate_mov_entries.py ivb diff --git a/osaca/data/skx.yml b/osaca/data/skx.yml index 5addb01..eab82d9 100644 --- a/osaca/data/skx.yml +++ b/osaca/data/skx.yml @@ -82426,6 +82426,17 @@ instruction_forms: throughput: 0.25 # ./generate_mov_entries.py skx uops: 1 # ./generate_mov_entries.py skx # ./generate_mov_entries.py skx +- name: movabs # ./generate_mov_entries.py skx + operands: # ./generate_mov_entries.py skx + - class: immediate # ./generate_mov_entries.py skx + imd: int # ./generate_mov_entries.py skx + - class: register # ./generate_mov_entries.py skx + name: gpr # ./generate_mov_entries.py skx + latency: 1 # ./generate_mov_entries.py skx + port_pressure: [[1, '0156']] # ./generate_mov_entries.py skx + throughput: 0.25 # ./generate_mov_entries.py skx + uops: 1 # ./generate_mov_entries.py skx + # ./generate_mov_entries.py skx - name: mov # with store, simple AGU # ./generate_mov_entries.py skx operands: # ./generate_mov_entries.py skx - class: immediate # ./generate_mov_entries.py skx diff --git a/osaca/data/snb.yml b/osaca/data/snb.yml index 0701a58..863c5ad 100644 --- a/osaca/data/snb.yml +++ b/osaca/data/snb.yml @@ -20810,6 +20810,18 @@ instruction_forms: uops: 2 # ./generate_mov_entries.py snb # ./generate_mov_entries.py snb - name: mov # ./generate_mov_entries.py snb + operands: # ./generate_mov_entries.py snb + - class: immediate # ./generate_mov_entries.py snb + imd: int # ./generate_mov_entries.py snb + - class: register # ./generate_mov_entries.py snb + name: gpr # ./generate_mov_entries.py snb + latency: 1 # ./generate_mov_entries.py snb + port_pressure: [[1, '015']] # ./generate_mov_entries.py snb + throughput: 0.3333333333333333 # ./generate_mov_entries.py snb + uops: 1 # ./generate_mov_entries.py snb + + # ./generate_mov_entries.py snb +- name: movabs # ./generate_mov_entries.py snb operands: # ./generate_mov_entries.py snb - class: immediate # ./generate_mov_entries.py snb imd: int # ./generate_mov_entries.py snb