Skip to content

Commit

Permalink
add CLDEMOTE, TREMONT, MOVDIR*, WAITPKG to base layer
Browse files Browse the repository at this point in the history
  * ISE rev 33 exposes this material (released 2018-04-04)

Change-Id: Ifb290935c9f3d11b54b0eb329062e8bc310ca2c6
(cherry picked from commit 2f5e0327c5d483b2ade5dab0eeb6e9c81c1bfbe1)
  • Loading branch information
mjcharne authored and markcharney committed Apr 9, 2018
1 parent 9305645 commit 6fc8ec3
Show file tree
Hide file tree
Showing 17 changed files with 588 additions and 5 deletions.
21 changes: 21 additions & 0 deletions datafiles/cldemote/cldemote-fields.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
# scalar
# name array type bit-width
# ==== ====== ==== =========
CLDEMOTE SCALAR xed_bits_t 1 SUPPRESSED NOPRINT INTERNAL DO EO
41 changes: 41 additions & 0 deletions datafiles/cldemote/cldemote-isa.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
#
#
#
# ***** GENERATED FILE -- DO NOT EDIT! *****
# ***** GENERATED FILE -- DO NOT EDIT! *****
# ***** GENERATED FILE -- DO NOT EDIT! *****
#
#
#
INSTRUCTIONS()::
# EMITTING CLDEMOTE (CLDEMOTE-N/A-1)
{
ICLASS: CLDEMOTE
CPL: 3
CATEGORY: CLDEMOTE
EXTENSION: CLDEMOTE
ISA_SET: CLDEMOTE
REAL_OPCODE: N
PATTERN: 0x0F 0x1C MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() no_refining_prefix CLDEMOTE=1
OPERANDS: MEM0:r:b:u8
IFORM: CLDEMOTE_MEMu8
}


96 changes: 96 additions & 0 deletions datafiles/cldemote/cldemote-nop-mod.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL


INSTRUCTIONS()::

UDELETE: NOP0F1C

{
ICLASS : NOP
#UNAME : NOP0F1C
CPL : 3
CATEGORY : WIDENOP
EXTENSION : BASE
ATTRIBUTES: NOP
ISA_SET : PPRO
COMMENT : memory form with MODRM.REG=0b000 and no refining prefix is CLDEMOTE
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() f2_refining_prefix
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() f3_refining_prefix
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() osz_refining_prefix
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C


PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM()
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
}

# re-defined by another contemporaneous ISA extension
{
ICLASS : NOP
UNAME : NOP0F1C_REG
CPL : 3
CATEGORY : WIDENOP
EXTENSION : BASE
ATTRIBUTES: NOP
ISA_SET : PPRO

# reg form
PATTERN : 0x0F 0x1C MOD[0b11] MOD=3 REG[rrr] RM[nnn]
OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r
IFORM : NOP_GPRv_GPRv_0F1C
}

{
ICLASS : NOP
UNAME : NOP0F1C_MEM
CPL : 3
CATEGORY : WIDENOP
EXTENSION : BASE
ATTRIBUTES: NOP
ISA_SET : PPRO

PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() no_refining_prefix CLDEMOTE=0
OPERANDS : MEM0:r:v REG0=GPRv_R():r
IFORM : NOP_MEMv_GPRv_0F1C
}

18 changes: 18 additions & 0 deletions datafiles/cldemote/cpuid.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
XED_ISA_SET_CLDEMOTE: cldemote.7.0.ecx.25
26 changes: 26 additions & 0 deletions datafiles/cldemote/files.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL

dec-instructions: cldemote-nop-mod.xed.txt
enc-instructions: cldemote-nop-mod.xed.txt
dec-instructions: cldemote-isa.xed.txt
enc-instructions: cldemote-isa.xed.txt
fields: cldemote-fields.txt
cpuid: cpuid.xed.txt


35 changes: 35 additions & 0 deletions datafiles/movdir/asize-reg-table.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL

xed_reg_enum_t A_GPR_R()::
REXR=0 REG=0x0 | OUTREG=ArAX()
REXR=0 REG=0x1 | OUTREG=ArCX()
REXR=0 REG=0x2 | OUTREG=ArDX()
REXR=0 REG=0x3 | OUTREG=ArBX()
REXR=0 REG=0x4 | OUTREG=ArSP()
REXR=0 REG=0x5 | OUTREG=ArBP()
REXR=0 REG=0x6 | OUTREG=ArSI()
REXR=0 REG=0x7 | OUTREG=ArDI()
REXR=1 REG=0x0 | OUTREG=Ar8()
REXR=1 REG=0x1 | OUTREG=Ar9()
REXR=1 REG=0x2 | OUTREG=Ar10()
REXR=1 REG=0x3 | OUTREG=Ar11()
REXR=1 REG=0x4 | OUTREG=Ar12()
REXR=1 REG=0x5 | OUTREG=Ar13()
REXR=1 REG=0x6 | OUTREG=Ar14()
REXR=1 REG=0x7 | OUTREG=Ar15()
19 changes: 19 additions & 0 deletions datafiles/movdir/cpuid.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
XED_ISA_SET_MOVDIR: movdiri.7.0.ecx.27 movdir64b.7.0.ecx.28

24 changes: 24 additions & 0 deletions datafiles/movdir/files.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
cpuid: cpuid.xed.txt

dec-instructions: movdir-isa.xed.txt
enc-instructions: movdir-isa.xed.txt

dec-patterns:asize-reg-table.xed.txt
enc-dec-patterns:asize-reg-table.xed.txt
74 changes: 74 additions & 0 deletions datafiles/movdir/movdir-isa.xed.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL
#
#
#
# ***** GENERATED FILE -- DO NOT EDIT! *****
# ***** GENERATED FILE -- DO NOT EDIT! *****
# ***** GENERATED FILE -- DO NOT EDIT! *****
#
#
#
INSTRUCTIONS()::
# EMITTING MOVDIR64B (MOVDIR64B-N/A-1)
{
ICLASS: MOVDIR64B
CPL: 3
CATEGORY: MOVDIR
EXTENSION: MOVDIR
ISA_SET: MOVDIR
REAL_OPCODE: N
ATTRIBUTES: REQUIRES_ALIGNMENT
PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix not64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP SEG1=XED_REG_ES:r:SUPP
IFORM: MOVDIR64B_GPRa_MEM

PATTERN: 0x0F 0x38 0xF8 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() osz_refining_prefix mode64
OPERANDS: REG0=A_GPR_R():r MEM0:r:zd:u32 MEM1:w:zd:SUPP BASE1=A_GPR_R():r:SUPP
IFORM: MOVDIR64B_GPRa_MEM
}


# EMITTING MOVDIRI (MOVDIRI-N/A-1-32)
{
ICLASS: MOVDIRI
CPL: 3
CATEGORY: MOVDIR
EXTENSION: MOVDIR
ISA_SET: MOVDIR
REAL_OPCODE: N
PATTERN: 0x0F 0x38 0xF9 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() no_refining_prefix norexw_prefix
OPERANDS: MEM0:w:d:u32 REG0=GPR32_R():r:d:u32
IFORM: MOVDIRI_MEMu32_GPR32u32
}


# EMITTING MOVDIRI (MOVDIRI-N/A-1-64)
{
ICLASS: MOVDIRI
CPL: 3
CATEGORY: MOVDIR
EXTENSION: MOVDIR
ISA_SET: MOVDIR
REAL_OPCODE: N
PATTERN: 0x0F 0x38 0xF9 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() no_refining_prefix mode64 rexw_prefix
OPERANDS: MEM0:w:q:u64 REG0=GPR64_R():r:q:u64
IFORM: MOVDIRI_MEMu64_GPR64u64
}


21 changes: 21 additions & 0 deletions datafiles/tremont/files.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#BEGIN_LEGAL
#
#Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#END_LEGAL

chip-models: tremont-chips.txt


Loading

0 comments on commit 6fc8ec3

Please sign in to comment.