Skip to content

[X86,MC,test] Add enc/dec tests for ccmpbe #102883

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 13, 2024
Merged

Conversation

FreddyLeaf
Copy link
Contributor

This is also pre-commit test for #102284

@FreddyLeaf FreddyLeaf requested a review from KanRobert August 12, 2024 11:26
@llvmbot llvmbot added backend:X86 mc Machine (object) code labels Aug 12, 2024
@llvmbot
Copy link
Member

llvmbot commented Aug 12, 2024

@llvm/pr-subscribers-backend-x86

@llvm/pr-subscribers-mc

Author: Freddy Ye (FreddyLeaf)

Changes

This is also pre-commit test for #102284


Full diff: https://github.com/llvm/llvm-project/pull/102883.diff

3 Files Affected:

  • (modified) llvm/test/MC/Disassembler/X86/apx/ccmp.txt (+104)
  • (modified) llvm/test/MC/X86/apx/ccmp-att.s (+79-1)
  • (modified) llvm/test/MC/X86/apx/ccmp-intel.s (+78)
diff --git a/llvm/test/MC/Disassembler/X86/apx/ccmp.txt b/llvm/test/MC/Disassembler/X86/apx/ccmp.txt
index d2656d62972d43..766b3ecc25cf83 100644
--- a/llvm/test/MC/Disassembler/X86/apx/ccmp.txt
+++ b/llvm/test/MC/Disassembler/X86/apx/ccmp.txt
@@ -1181,6 +1181,110 @@
 # INTEL: ccmpne {dfv=of} r15, r9
 0x62,0x54,0xc4,0x05,0x3b,0xf9
 
+# ATT:   ccmpbeb {dfv=of} $123, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], 123
+0x62,0xd4,0x44,0x06,0x80,0x7c,0x80,0x7b,0x7b
+
+# ATT:   ccmpbew {dfv=of} $123, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 123
+0x62,0xd4,0x45,0x06,0x83,0x7c,0x80,0x7b,0x7b
+
+# ATT:   ccmpbew {dfv=of} $1234, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 1234
+0x62,0xd4,0x45,0x06,0x81,0x7c,0x80,0x7b,0xd2,0x04
+
+# ATT:   ccmpbel {dfv=of} $123, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123
+0x62,0xd4,0x44,0x06,0x83,0x7c,0x80,0x7b,0x7b
+
+# ATT:   ccmpbel {dfv=of} $123456, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123456
+0x62,0xd4,0x44,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00
+
+# ATT:   ccmpbeq {dfv=of} $123, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123
+0x62,0xd4,0xc4,0x06,0x83,0x7c,0x80,0x7b,0x7b
+
+# ATT:   ccmpbeq {dfv=of} $123456, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123456
+0x62,0xd4,0xc4,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00
+
+# ATT:   ccmpbeb {dfv=of} %bl, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], bl
+0x62,0xd4,0x44,0x06,0x38,0x5c,0x80,0x7b
+
+# ATT:   ccmpbew {dfv=of} %dx, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], dx
+0x62,0xd4,0x45,0x06,0x39,0x54,0x80,0x7b
+
+# ATT:   ccmpbel {dfv=of} %ecx, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], ecx
+0x62,0xd4,0x44,0x06,0x39,0x4c,0x80,0x7b
+
+# ATT:   ccmpbeq {dfv=of} %r9, 123(%r8,%rax,4)
+# INTEL: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], r9
+0x62,0x54,0xc4,0x06,0x39,0x4c,0x80,0x7b
+
+# ATT:   ccmpbeb {dfv=of} 123(%r8,%rax,4), %bl
+# INTEL: ccmpbe {dfv=of} bl, byte ptr [r8 + 4*rax + 123]
+0x62,0xd4,0x44,0x06,0x3a,0x5c,0x80,0x7b
+
+# ATT:   ccmpbew {dfv=of} 123(%r8,%rax,4), %dx
+# INTEL: ccmpbe {dfv=of} dx, word ptr [r8 + 4*rax + 123]
+0x62,0xd4,0x45,0x06,0x3b,0x54,0x80,0x7b
+
+# ATT:   ccmpbel {dfv=of} 123(%r8,%rax,4), %ecx
+# INTEL: ccmpbe {dfv=of} ecx, dword ptr [r8 + 4*rax + 123]
+0x62,0xd4,0x44,0x06,0x3b,0x4c,0x80,0x7b
+
+# ATT:   ccmpbeq {dfv=of} 123(%r8,%rax,4), %r9
+# INTEL: ccmpbe {dfv=of} r9, qword ptr [r8 + 4*rax + 123]
+0x62,0x54,0xc4,0x06,0x3b,0x4c,0x80,0x7b
+
+# ATT:   ccmpbeb {dfv=of} $123, %bl
+# INTEL: ccmpbe {dfv=of} bl, 123
+0x62,0xf4,0x44,0x06,0x80,0xfb,0x7b
+
+# ATT:   ccmpbew {dfv=of} $123, %dx
+# INTEL: ccmpbe {dfv=of} dx, 123
+0x62,0xf4,0x45,0x06,0x83,0xfa,0x7b
+
+# ATT:   ccmpbel {dfv=of} $123, %ecx
+# INTEL: ccmpbe {dfv=of} ecx, 123
+0x62,0xf4,0x44,0x06,0x83,0xf9,0x7b
+
+# ATT:   ccmpbeq {dfv=of} $123, %r9
+# INTEL: ccmpbe {dfv=of} r9, 123
+0x62,0xd4,0xc4,0x06,0x83,0xf9,0x7b
+
+# ATT:   ccmpbew {dfv=of} $1234, %dx
+# INTEL: ccmpbe {dfv=of} dx, 1234
+0x62,0xf4,0x45,0x06,0x81,0xfa,0xd2,0x04
+
+# ATT:   ccmpbel {dfv=of} $123456, %ecx
+# INTEL: ccmpbe {dfv=of} ecx, 123456
+0x62,0xf4,0x44,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00
+
+# ATT:   ccmpbeq {dfv=of} $123456, %r9
+# INTEL: ccmpbe {dfv=of} r9, 123456
+0x62,0xd4,0xc4,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00
+
+# ATT:   ccmpbeb {dfv=of} %bl, %dl
+# INTEL: ccmpbe {dfv=of} dl, bl
+0x62,0xf4,0x44,0x06,0x3a,0xd3
+
+# ATT:   ccmpbew {dfv=of} %dx, %ax
+# INTEL: ccmpbe {dfv=of} ax, dx
+0x62,0xf4,0x45,0x06,0x3b,0xc2
+
+# ATT:   ccmpbel {dfv=of} %ecx, %edx
+# INTEL: ccmpbe {dfv=of} edx, ecx
+0x62,0xf4,0x44,0x06,0x3b,0xd1
+
+# ATT:   ccmpbeq {dfv=of} %r9, %r15
+# INTEL: ccmpbe {dfv=of} r15, r9
+0x62,0x54,0xc4,0x06,0x3b,0xf9
+
 # ATT:   ccmpob {dfv=of} $123, 123(%r8,%rax,4)
 # INTEL: ccmpo {dfv=of} byte ptr [r8 + 4*rax + 123], 123
 0x62,0xd4,0x44,0x00,0x80,0x7c,0x80,0x7b,0x7b
diff --git a/llvm/test/MC/X86/apx/ccmp-att.s b/llvm/test/MC/X86/apx/ccmp-att.s
index 32e6f371600bcd..e7dd91d7da66cc 100644
--- a/llvm/test/MC/X86/apx/ccmp-att.s
+++ b/llvm/test/MC/X86/apx/ccmp-att.s
@@ -1,7 +1,7 @@
 # RUN: llvm-mc -triple x86_64 -show-encoding %s | FileCheck %s
 # RUN: not llvm-mc -triple i386 -show-encoding %s 2>&1 | FileCheck %s --check-prefix=ERROR
 
-# ERROR-COUNT-428: error:
+# ERROR-COUNT-454: error:
 # ERROR-NOT: error:
 ## Condition flags
 
@@ -899,6 +899,84 @@
 # CHECK: ccmpneq {dfv=of} %r9, %r15
 # CHECK: encoding: [0x62,0x54,0xc4,0x05,0x39,0xcf]
          ccmpneq {dfv=of} %r9, %r15
+# CHECK: ccmpbeb {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x80,0x7c,0x80,0x7b,0x7b]
+         ccmpbeb {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: ccmpbew {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbew {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: ccmpbew {dfv=of} $1234, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x81,0x7c,0x80,0x7b,0xd2,0x04]
+         ccmpbew {dfv=of} $1234, 123(%r8,%rax,4)
+# CHECK: ccmpbel {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbel {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: ccmpbel {dfv=of} $123456, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00]
+         ccmpbel {dfv=of} $123456, 123(%r8,%rax,4)
+# CHECK: ccmpbeq {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbeq {dfv=of} $123, 123(%r8,%rax,4)
+# CHECK: ccmpbeq {dfv=of} $123456, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00]
+         ccmpbeq {dfv=of} $123456, 123(%r8,%rax,4)
+# CHECK: ccmpbeb {dfv=of} %bl, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x38,0x5c,0x80,0x7b]
+         ccmpbeb {dfv=of} %bl, 123(%r8,%rax,4)
+# CHECK: ccmpbew {dfv=of} %dx, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x39,0x54,0x80,0x7b]
+         ccmpbew {dfv=of} %dx, 123(%r8,%rax,4)
+# CHECK: ccmpbel {dfv=of} %ecx, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x39,0x4c,0x80,0x7b]
+         ccmpbel {dfv=of} %ecx, 123(%r8,%rax,4)
+# CHECK: ccmpbeq {dfv=of} %r9, 123(%r8,%rax,4)
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x39,0x4c,0x80,0x7b]
+         ccmpbeq {dfv=of} %r9, 123(%r8,%rax,4)
+# CHECK: ccmpbeb {dfv=of} 123(%r8,%rax,4), %bl
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x3a,0x5c,0x80,0x7b]
+         ccmpbeb {dfv=of} 123(%r8,%rax,4), %bl
+# CHECK: ccmpbew {dfv=of} 123(%r8,%rax,4), %dx
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x3b,0x54,0x80,0x7b]
+         ccmpbew {dfv=of} 123(%r8,%rax,4), %dx
+# CHECK: ccmpbel {dfv=of} 123(%r8,%rax,4), %ecx
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x3b,0x4c,0x80,0x7b]
+         ccmpbel {dfv=of} 123(%r8,%rax,4), %ecx
+# CHECK: ccmpbeq {dfv=of} 123(%r8,%rax,4), %r9
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x3b,0x4c,0x80,0x7b]
+         ccmpbeq {dfv=of} 123(%r8,%rax,4), %r9
+# CHECK: ccmpbeb {dfv=of} $123, %bl
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x80,0xfb,0x7b]
+         ccmpbeb {dfv=of} $123, %bl
+# CHECK: ccmpbew {dfv=of} $123, %dx
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x83,0xfa,0x7b]
+         ccmpbew {dfv=of} $123, %dx
+# CHECK: ccmpbel {dfv=of} $123, %ecx
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x83,0xf9,0x7b]
+         ccmpbel {dfv=of} $123, %ecx
+# CHECK: ccmpbeq {dfv=of} $123, %r9
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x83,0xf9,0x7b]
+         ccmpbeq {dfv=of} $123, %r9
+# CHECK: ccmpbew {dfv=of} $1234, %dx
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x81,0xfa,0xd2,0x04]
+         ccmpbew {dfv=of} $1234, %dx
+# CHECK: ccmpbel {dfv=of} $123456, %ecx
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00]
+         ccmpbel {dfv=of} $123456, %ecx
+# CHECK: ccmpbeq {dfv=of} $123456, %r9
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00]
+         ccmpbeq {dfv=of} $123456, %r9
+# CHECK: ccmpbeb {dfv=of} %bl, %dl
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x38,0xda]
+         ccmpbeb {dfv=of} %bl, %dl
+# CHECK: ccmpbew {dfv=of} %dx, %ax
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x39,0xd0]
+         ccmpbew {dfv=of} %dx, %ax
+# CHECK: ccmpbel {dfv=of} %ecx, %edx
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x39,0xca]
+         ccmpbel {dfv=of} %ecx, %edx
+# CHECK: ccmpbeq {dfv=of} %r9, %r15
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x39,0xcf]
+         ccmpbeq {dfv=of} %r9, %r15
 # CHECK: ccmpob {dfv=of} $123, 123(%r8,%rax,4)
 # CHECK: encoding: [0x62,0xd4,0x44,0x00,0x80,0x7c,0x80,0x7b,0x7b]
          ccmpob {dfv=of} $123, 123(%r8,%rax,4)
diff --git a/llvm/test/MC/X86/apx/ccmp-intel.s b/llvm/test/MC/X86/apx/ccmp-intel.s
index 5e64b63228cb85..ec3f72b8a0a8d1 100644
--- a/llvm/test/MC/X86/apx/ccmp-intel.s
+++ b/llvm/test/MC/X86/apx/ccmp-intel.s
@@ -896,6 +896,84 @@
 # CHECK: ccmpne {dfv=of} r15, r9
 # CHECK: encoding: [0x62,0x54,0xc4,0x05,0x39,0xcf]
          ccmpne {dfv=of} r15, r9
+# CHECK: ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], 123
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x80,0x7c,0x80,0x7b,0x7b]
+         ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], 123
+# CHECK: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 123
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 123
+# CHECK: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 1234
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x81,0x7c,0x80,0x7b,0xd2,0x04]
+         ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], 1234
+# CHECK: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123
+# CHECK: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123456
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00]
+         ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], 123456
+# CHECK: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x83,0x7c,0x80,0x7b,0x7b]
+         ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123
+# CHECK: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123456
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x81,0x7c,0x80,0x7b,0x40,0xe2,0x01,0x00]
+         ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], 123456
+# CHECK: ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], bl
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x38,0x5c,0x80,0x7b]
+         ccmpbe {dfv=of} byte ptr [r8 + 4*rax + 123], bl
+# CHECK: ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], dx
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x39,0x54,0x80,0x7b]
+         ccmpbe {dfv=of} word ptr [r8 + 4*rax + 123], dx
+# CHECK: ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], ecx
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x39,0x4c,0x80,0x7b]
+         ccmpbe {dfv=of} dword ptr [r8 + 4*rax + 123], ecx
+# CHECK: ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], r9
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x39,0x4c,0x80,0x7b]
+         ccmpbe {dfv=of} qword ptr [r8 + 4*rax + 123], r9
+# CHECK: ccmpbe {dfv=of} bl, byte ptr [r8 + 4*rax + 123]
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x3a,0x5c,0x80,0x7b]
+         ccmpbe {dfv=of} bl, byte ptr [r8 + 4*rax + 123]
+# CHECK: ccmpbe {dfv=of} dx, word ptr [r8 + 4*rax + 123]
+# CHECK: encoding: [0x62,0xd4,0x45,0x06,0x3b,0x54,0x80,0x7b]
+         ccmpbe {dfv=of} dx, word ptr [r8 + 4*rax + 123]
+# CHECK: ccmpbe {dfv=of} ecx, dword ptr [r8 + 4*rax + 123]
+# CHECK: encoding: [0x62,0xd4,0x44,0x06,0x3b,0x4c,0x80,0x7b]
+         ccmpbe {dfv=of} ecx, dword ptr [r8 + 4*rax + 123]
+# CHECK: ccmpbe {dfv=of} r9, qword ptr [r8 + 4*rax + 123]
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x3b,0x4c,0x80,0x7b]
+         ccmpbe {dfv=of} r9, qword ptr [r8 + 4*rax + 123]
+# CHECK: ccmpbe {dfv=of} bl, 123
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x80,0xfb,0x7b]
+         ccmpbe {dfv=of} bl, 123
+# CHECK: ccmpbe {dfv=of} dx, 123
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x83,0xfa,0x7b]
+         ccmpbe {dfv=of} dx, 123
+# CHECK: ccmpbe {dfv=of} ecx, 123
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x83,0xf9,0x7b]
+         ccmpbe {dfv=of} ecx, 123
+# CHECK: ccmpbe {dfv=of} r9, 123
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x83,0xf9,0x7b]
+         ccmpbe {dfv=of} r9, 123
+# CHECK: ccmpbe {dfv=of} dx, 1234
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x81,0xfa,0xd2,0x04]
+         ccmpbe {dfv=of} dx, 1234
+# CHECK: ccmpbe {dfv=of} ecx, 123456
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00]
+         ccmpbe {dfv=of} ecx, 123456
+# CHECK: ccmpbe {dfv=of} r9, 123456
+# CHECK: encoding: [0x62,0xd4,0xc4,0x06,0x81,0xf9,0x40,0xe2,0x01,0x00]
+         ccmpbe {dfv=of} r9, 123456
+# CHECK: ccmpbe {dfv=of} dl, bl
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x38,0xda]
+         ccmpbe {dfv=of} dl, bl
+# CHECK: ccmpbe {dfv=of} ax, dx
+# CHECK: encoding: [0x62,0xf4,0x45,0x06,0x39,0xd0]
+         ccmpbe {dfv=of} ax, dx
+# CHECK: ccmpbe {dfv=of} edx, ecx
+# CHECK: encoding: [0x62,0xf4,0x44,0x06,0x39,0xca]
+         ccmpbe {dfv=of} edx, ecx
+# CHECK: ccmpbe {dfv=of} r15, r9
+# CHECK: encoding: [0x62,0x54,0xc4,0x06,0x39,0xcf]
+         ccmpbe {dfv=of} r15, r9
 # CHECK: ccmpo {dfv=of} byte ptr [r8 + 4*rax + 123], 123
 # CHECK: encoding: [0x62,0xd4,0x44,0x00,0x80,0x7c,0x80,0x7b,0x7b]
          ccmpo {dfv=of} byte ptr [r8 + 4*rax + 123], 123

Copy link
Contributor

@KanRobert KanRobert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KanRobert KanRobert changed the title [NFC][X86][MC] Add missing mc tests for ccmpbe [X86,MC,test] Add encoding tests for ccmpbe Aug 12, 2024
@KanRobert
Copy link
Contributor

@FreddyLeaf Is the decoding test missing too?

@FreddyLeaf
Copy link
Contributor Author

@FreddyLeaf Is the decoding test missing too?

yes, added in llvm/test/MC/Disassembler/X86/apx/ccmp.txt

@KanRobert KanRobert changed the title [X86,MC,test] Add encoding tests for ccmpbe [X86,MC,test] Add enc/dec tests for ccmpbe Aug 12, 2024
@FreddyLeaf FreddyLeaf merged commit bfbd4cc into llvm:main Aug 13, 2024
9 of 11 checks passed
@FreddyLeaf FreddyLeaf deleted the ccmpbe_mc branch August 13, 2024 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:X86 mc Machine (object) code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants