| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| //===---- X86InstrRAOINT.td -------------------------------*- tablegen -*--===// | ||
| // | ||
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | ||
| // See https://llvm.org/LICENSE.txt for license information. | ||
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
| // | ||
| // This file describes the instructions that make up the Intel RAO-INT | ||
| // instruction set. | ||
| // | ||
| //===----------------------------------------------------------------------===// | ||
|
|
||
| //===----------------------------------------------------------------------===// | ||
| // RAO-INT instructions | ||
|
|
||
| def SDTRAOBinaryArith : SDTypeProfile<0, 2, [SDTCisPtrTy<0>, SDTCisInt<1>]>; | ||
|
|
||
| def X86rao_add : SDNode<"X86ISD::AADD", SDTRAOBinaryArith, | ||
| [SDNPHasChain, SDNPMayStore, SDNPMemOperand]>; | ||
| def X86rao_or : SDNode<"X86ISD::AOR", SDTRAOBinaryArith, | ||
| [SDNPHasChain, SDNPMayStore, SDNPMemOperand]>; | ||
| def X86rao_xor : SDNode<"X86ISD::AXOR", SDTRAOBinaryArith, | ||
| [SDNPHasChain, SDNPMayStore, SDNPMemOperand]>; | ||
| def X86rao_and : SDNode<"X86ISD::AAND", SDTRAOBinaryArith, | ||
| [SDNPHasChain, SDNPMayStore, SDNPMemOperand]>; | ||
|
|
||
| multiclass RAOINT_BASE<string OpcodeStr> { | ||
| let Predicates = [HasRAOINT] in | ||
| def 32mr : I<0xfc, MRMDestMem, (outs), (ins i32mem:$dst, GR32:$src), | ||
| !strconcat("a", OpcodeStr, "{l}\t{$src, $dst|$dst, $src}"), | ||
| [(!cast<SDNode>("X86rao_" # OpcodeStr) addr:$dst, GR32:$src)]>, | ||
| Sched<[WriteALURMW]>; | ||
|
|
||
| let Predicates = [HasRAOINT, In64BitMode] in | ||
| def 64mr : I<0xfc, MRMDestMem, (outs), (ins i64mem:$dst, GR64:$src), | ||
| !strconcat("a", OpcodeStr, "{q}\t{$src, $dst|$dst, $src}"), | ||
| [(!cast<SDNode>("X86rao_" # OpcodeStr) addr:$dst, GR64:$src)]>, | ||
| Sched<[WriteALURMW]>, REX_W; | ||
| } | ||
|
|
||
| defm AADD : RAOINT_BASE<"add">, T8PS; | ||
| defm AAND : RAOINT_BASE<"and">, T8PD; | ||
| defm AOR : RAOINT_BASE<"or" >, T8XD; | ||
| defm AXOR : RAOINT_BASE<"xor">, T8XS; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,71 @@ | ||
| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ||
| ; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+raoint | FileCheck %s --check-prefixes=X64 | ||
| ; RUN: llc < %s -verify-machineinstrs -mtriple=i686-unknown-unknown --show-mc-encoding -mattr=+raoint | FileCheck %s --check-prefixes=X86 | ||
|
|
||
| define void @test_int_x86_aadd32(i8* %A, i32 %B) { | ||
| ; X64-LABEL: test_int_x86_aadd32: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aaddl %esi, (%rdi) # encoding: [0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| ; | ||
| ; X86-LABEL: test_int_x86_aadd32: | ||
| ; X86: # %bb.0: | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08] | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04] | ||
| ; X86-NEXT: aaddl %eax, (%ecx) # encoding: [0x0f,0x38,0xfc,0x01] | ||
| ; X86-NEXT: retl # encoding: [0xc3] | ||
| call void @llvm.x86.aadd32(i8* %A, i32 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aadd32(i8* %A, i32 %B) | ||
|
|
||
| define void @test_int_x86_aand32(i8* %A, i32 %B) { | ||
| ; X64-LABEL: test_int_x86_aand32: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aandl %esi, (%rdi) # encoding: [0x66,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| ; | ||
| ; X86-LABEL: test_int_x86_aand32: | ||
| ; X86: # %bb.0: | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08] | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04] | ||
| ; X86-NEXT: aandl %eax, (%ecx) # encoding: [0x66,0x0f,0x38,0xfc,0x01] | ||
| ; X86-NEXT: retl # encoding: [0xc3] | ||
| call void @llvm.x86.aand32(i8* %A, i32 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aand32(i8* %A, i32 %B) | ||
|
|
||
| define void @test_int_x86_aor32(i8* %A, i32 %B) { | ||
| ; X64-LABEL: test_int_x86_aor32: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aorl %esi, (%rdi) # encoding: [0xf2,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| ; | ||
| ; X86-LABEL: test_int_x86_aor32: | ||
| ; X86: # %bb.0: | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08] | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04] | ||
| ; X86-NEXT: aorl %eax, (%ecx) # encoding: [0xf2,0x0f,0x38,0xfc,0x01] | ||
| ; X86-NEXT: retl # encoding: [0xc3] | ||
| call void @llvm.x86.aor32(i8* %A, i32 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aor32(i8* %A, i32 %B) | ||
|
|
||
| define void @test_int_x86_axor32(i8* %A, i32 %B) { | ||
| ; X64-LABEL: test_int_x86_axor32: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: axorl %esi, (%rdi) # encoding: [0xf3,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| ; | ||
| ; X86-LABEL: test_int_x86_axor32: | ||
| ; X86: # %bb.0: | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %eax # encoding: [0x8b,0x44,0x24,0x08] | ||
| ; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx # encoding: [0x8b,0x4c,0x24,0x04] | ||
| ; X86-NEXT: axorl %eax, (%ecx) # encoding: [0xf3,0x0f,0x38,0xfc,0x01] | ||
| ; X86-NEXT: retl # encoding: [0xc3] | ||
| call void @llvm.x86.axor32(i8* %A, i32 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.axor32(i8* %A, i32 %B) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py | ||
| ; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+raoint | FileCheck %s --check-prefixes=X64 | ||
|
|
||
| define void @test_int_x86_aadd64(i8* %A, i64 %B) { | ||
| ; X64-LABEL: test_int_x86_aadd64: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aaddq %rsi, (%rdi) # encoding: [0x48,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| call void @llvm.x86.aadd64(i8* %A, i64 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aadd64(i8* %A, i64 %B) | ||
|
|
||
| define void @test_int_x86_aand64(i8* %A, i64 %B) { | ||
| ; X64-LABEL: test_int_x86_aand64: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aandq %rsi, (%rdi) # encoding: [0x66,0x48,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| call void @llvm.x86.aand64(i8* %A, i64 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aand64(i8* %A, i64 %B) | ||
|
|
||
| define void @test_int_x86_aor64(i8* %A, i64 %B) { | ||
| ; X64-LABEL: test_int_x86_aor64: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: aorq %rsi, (%rdi) # encoding: [0xf2,0x48,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| call void @llvm.x86.aor64(i8* %A, i64 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.aor64(i8* %A, i64 %B) | ||
|
|
||
| define void @test_int_x86_axor64(i8* %A, i64 %B) { | ||
| ; X64-LABEL: test_int_x86_axor64: | ||
| ; X64: # %bb.0: | ||
| ; X64-NEXT: axorq %rsi, (%rdi) # encoding: [0xf3,0x48,0x0f,0x38,0xfc,0x37] | ||
| ; X64-NEXT: retq # encoding: [0xc3] | ||
| call void @llvm.x86.axor64(i8* %A, i64 %B) | ||
| ret void | ||
| } | ||
| declare void @llvm.x86.axor64(i8* %A, i64 %B) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,98 @@ | ||
| # RUN: llvm-mc --disassemble %s -triple=i686 | FileCheck %s --check-prefixes=ATT | ||
| # RUN: llvm-mc --disassemble %s -triple=i686 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL | ||
|
|
||
| # ATT: aaddl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aaddl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aadd dword ptr [edi + 4*eax + 291], ebx | ||
| 0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aaddl %ebx, (%eax) | ||
| # INTEL: aadd dword ptr [eax], ebx | ||
| 0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aaddl %ebx, -512(,%ebp,2) | ||
| # INTEL: aadd dword ptr [2*ebp - 512], ebx | ||
| 0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aaddl %ebx, 2032(%ecx) | ||
| # INTEL: aadd dword ptr [ecx + 2032], ebx | ||
| 0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aaddl %ebx, -2048(%edx) | ||
| # INTEL: aadd dword ptr [edx - 2048], ebx | ||
| 0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aandl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aand dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aandl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aand dword ptr [edi + 4*eax + 291], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aandl %ebx, (%eax) | ||
| # INTEL: aand dword ptr [eax], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aandl %ebx, -512(,%ebp,2) | ||
| # INTEL: aand dword ptr [2*ebp - 512], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aandl %ebx, 2032(%ecx) | ||
| # INTEL: aand dword ptr [ecx + 2032], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aandl %ebx, -2048(%edx) | ||
| # INTEL: aand dword ptr [edx - 2048], ebx | ||
| 0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aorl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aor dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aorl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aor dword ptr [edi + 4*eax + 291], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aorl %ebx, (%eax) | ||
| # INTEL: aor dword ptr [eax], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aorl %ebx, -512(,%ebp,2) | ||
| # INTEL: aor dword ptr [2*ebp - 512], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aorl %ebx, 2032(%ecx) | ||
| # INTEL: aor dword ptr [ecx + 2032], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aorl %ebx, -2048(%edx) | ||
| # INTEL: aor dword ptr [edx - 2048], ebx | ||
| 0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: axorl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: axor dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: axorl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: axor dword ptr [edi + 4*eax + 291], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: axorl %ebx, (%eax) | ||
| # INTEL: axor dword ptr [eax], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: axorl %ebx, -512(,%ebp,2) | ||
| # INTEL: axor dword ptr [2*ebp - 512], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: axorl %ebx, 2032(%ecx) | ||
| # INTEL: axor dword ptr [ecx + 2032], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: axorl %ebx, -2048(%edx) | ||
| # INTEL: axor dword ptr [edx - 2048], ebx | ||
| 0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,194 @@ | ||
| # RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT | ||
| # RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL | ||
|
|
||
| # ATT: aaddq %r9, 268435456(%rbp,%r14,8) | ||
| # INTEL: aadd qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| 0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aaddq %r9, 291(%r8,%rax,4) | ||
| # INTEL: aadd qword ptr [r8 + 4*rax + 291], r9 | ||
| 0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aaddq %r9, (%rip) | ||
| # INTEL: aadd qword ptr [rip], r9 | ||
| 0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00 | ||
|
|
||
| # ATT: aaddq %r9, -512(,%rbp,2) | ||
| # INTEL: aadd qword ptr [2*rbp - 512], r9 | ||
| 0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aaddq %r9, 2032(%rcx) | ||
| # INTEL: aadd qword ptr [rcx + 2032], r9 | ||
| 0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aaddq %r9, -2048(%rdx) | ||
| # INTEL: aadd qword ptr [rdx - 2048], r9 | ||
| 0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aaddl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aaddl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aadd dword ptr [edi + 4*eax + 291], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aaddl %ebx, (%eax) | ||
| # INTEL: aadd dword ptr [eax], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aaddl %ebx, -512(,%ebp,2) | ||
| # INTEL: aadd dword ptr [2*ebp - 512], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aaddl %ebx, 2032(%ecx) | ||
| # INTEL: aadd dword ptr [ecx + 2032], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aaddl %ebx, -2048(%edx) | ||
| # INTEL: aadd dword ptr [edx - 2048], ebx | ||
| 0x67,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aandq %r9, 268435456(%rbp,%r14,8) | ||
| # INTEL: aand qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| 0x66,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aandq %r9, 291(%r8,%rax,4) | ||
| # INTEL: aand qword ptr [r8 + 4*rax + 291], r9 | ||
| 0x66,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aandq %r9, (%rip) | ||
| # INTEL: aand qword ptr [rip], r9 | ||
| 0x66,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00 | ||
|
|
||
| # ATT: aandq %r9, -512(,%rbp,2) | ||
| # INTEL: aand qword ptr [2*rbp - 512], r9 | ||
| 0x66,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aandq %r9, 2032(%rcx) | ||
| # INTEL: aand qword ptr [rcx + 2032], r9 | ||
| 0x66,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aandq %r9, -2048(%rdx) | ||
| # INTEL: aand qword ptr [rdx - 2048], r9 | ||
| 0x66,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aandl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aand dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aandl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aand dword ptr [edi + 4*eax + 291], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aandl %ebx, (%eax) | ||
| # INTEL: aand dword ptr [eax], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aandl %ebx, -512(,%ebp,2) | ||
| # INTEL: aand dword ptr [2*ebp - 512], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aandl %ebx, 2032(%ecx) | ||
| # INTEL: aand dword ptr [ecx + 2032], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aandl %ebx, -2048(%edx) | ||
| # INTEL: aand dword ptr [edx - 2048], ebx | ||
| 0x67,0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aorq %r9, 268435456(%rbp,%r14,8) | ||
| # INTEL: aor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| 0xf2,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aorq %r9, 291(%r8,%rax,4) | ||
| # INTEL: aor qword ptr [r8 + 4*rax + 291], r9 | ||
| 0xf2,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aorq %r9, (%rip) | ||
| # INTEL: aor qword ptr [rip], r9 | ||
| 0xf2,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00 | ||
|
|
||
| # ATT: aorq %r9, -512(,%rbp,2) | ||
| # INTEL: aor qword ptr [2*rbp - 512], r9 | ||
| 0xf2,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aorq %r9, 2032(%rcx) | ||
| # INTEL: aor qword ptr [rcx + 2032], r9 | ||
| 0xf2,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aorq %r9, -2048(%rdx) | ||
| # INTEL: aor qword ptr [rdx - 2048], r9 | ||
| 0xf2,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: aorl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: aor dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: aorl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: aor dword ptr [edi + 4*eax + 291], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: aorl %ebx, (%eax) | ||
| # INTEL: aor dword ptr [eax], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: aorl %ebx, -512(,%ebp,2) | ||
| # INTEL: aor dword ptr [2*ebp - 512], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: aorl %ebx, 2032(%ecx) | ||
| # INTEL: aor dword ptr [ecx + 2032], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: aorl %ebx, -2048(%edx) | ||
| # INTEL: aor dword ptr [edx - 2048], ebx | ||
| 0x67,0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: axorq %r9, 268435456(%rbp,%r14,8) | ||
| # INTEL: axor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| 0xf3,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: axorq %r9, 291(%r8,%rax,4) | ||
| # INTEL: axor qword ptr [r8 + 4*rax + 291], r9 | ||
| 0xf3,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: axorq %r9, (%rip) | ||
| # INTEL: axor qword ptr [rip], r9 | ||
| 0xf3,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00 | ||
|
|
||
| # ATT: axorq %r9, -512(,%rbp,2) | ||
| # INTEL: axor qword ptr [2*rbp - 512], r9 | ||
| 0xf3,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: axorq %r9, 2032(%rcx) | ||
| # INTEL: axor qword ptr [rcx + 2032], r9 | ||
| 0xf3,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: axorq %r9, -2048(%rdx) | ||
| # INTEL: axor qword ptr [rdx - 2048], r9 | ||
| 0xf3,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff | ||
|
|
||
| # ATT: axorl %ebx, 268435456(%esp,%esi,8) | ||
| # INTEL: axor dword ptr [esp + 8*esi + 268435456], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10 | ||
|
|
||
| # ATT: axorl %ebx, 291(%edi,%eax,4) | ||
| # INTEL: axor dword ptr [edi + 4*eax + 291], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00 | ||
|
|
||
| # ATT: axorl %ebx, (%eax) | ||
| # INTEL: axor dword ptr [eax], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x18 | ||
|
|
||
| # ATT: axorl %ebx, -512(,%ebp,2) | ||
| # INTEL: axor dword ptr [2*ebp - 512], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff | ||
|
|
||
| # ATT: axorl %ebx, 2032(%ecx) | ||
| # INTEL: axor dword ptr [ecx + 2032], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00 | ||
|
|
||
| # ATT: axorl %ebx, -2048(%edx) | ||
| # INTEL: axor dword ptr [edx - 2048], ebx | ||
| 0x67,0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| // RUN: llvm-mc -triple i686-unknown-unknown --show-encoding %s | FileCheck %s | ||
|
|
||
| // CHECK: aaddl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aaddl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aaddl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aaddl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aaddl %ebx, (%eax) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x18] | ||
| aaddl %ebx, (%eax) | ||
|
|
||
| // CHECK: aaddl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aaddl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aaddl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aaddl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aaddl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aaddl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: aandl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aandl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aandl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aandl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aandl %ebx, (%eax) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x18] | ||
| aandl %ebx, (%eax) | ||
|
|
||
| // CHECK: aandl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aandl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aandl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aandl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aandl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aandl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: aorl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aorl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aorl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aorl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aorl %ebx, (%eax) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x18] | ||
| aorl %ebx, (%eax) | ||
|
|
||
| // CHECK: aorl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aorl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aorl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aorl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aorl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aorl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: axorl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| axorl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: axorl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| axorl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: axorl %ebx, (%eax) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x18] | ||
| axorl %ebx, (%eax) | ||
|
|
||
| // CHECK: axorl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axorl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: axorl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| axorl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: axorl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| axorl %ebx, -2048(%edx) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| // RUN: llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s | ||
|
|
||
| // CHECK: aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aadd dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x18] | ||
| aadd dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aadd dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aadd dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aadd dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: aand dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aand dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aand dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aand dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aand dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x18] | ||
| aand dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aand dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aand dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aand dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aand dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aand dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aand dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: aor dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aor dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aor dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aor dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aor dword ptr [eax], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x18] | ||
| aor dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aor dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aor dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aor dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aor dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aor dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aor dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: axor dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| axor dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: axor dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| axor dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: axor dword ptr [eax], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x18] | ||
| axor dword ptr [eax], ebx | ||
|
|
||
| // CHECK: axor dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axor dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: axor dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| axor dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: axor dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| axor dword ptr [edx - 2048], ebx |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,193 @@ | ||
| // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s | ||
|
|
||
| // CHECK: aaddq %r9, 268435456(%rbp,%r14,8) | ||
| // CHECK: encoding: [0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aaddq %r9, 268435456(%rbp,%r14,8) | ||
|
|
||
| // CHECK: aaddq %r9, 291(%r8,%rax,4) | ||
| // CHECK: encoding: [0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aaddq %r9, 291(%r8,%rax,4) | ||
|
|
||
| // CHECK: aaddq %r9, (%rip) | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aaddq %r9, (%rip) | ||
|
|
||
| // CHECK: aaddq %r9, -512(,%rbp,2) | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aaddq %r9, -512(,%rbp,2) | ||
|
|
||
| // CHECK: aaddq %r9, 2032(%rcx) | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aaddq %r9, 2032(%rcx) | ||
|
|
||
| // CHECK: aaddq %r9, -2048(%rdx) | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aaddq %r9, -2048(%rdx) | ||
|
|
||
| // CHECK: aaddl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aaddl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aaddl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aaddl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aaddl %ebx, (%eax) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x18] | ||
| aaddl %ebx, (%eax) | ||
|
|
||
| // CHECK: aaddl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aaddl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aaddl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aaddl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aaddl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aaddl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: aandq %r9, 268435456(%rbp,%r14,8) | ||
| // CHECK: encoding: [0x66,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aandq %r9, 268435456(%rbp,%r14,8) | ||
|
|
||
| // CHECK: aandq %r9, 291(%r8,%rax,4) | ||
| // CHECK: encoding: [0x66,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aandq %r9, 291(%r8,%rax,4) | ||
|
|
||
| // CHECK: aandq %r9, (%rip) | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aandq %r9, (%rip) | ||
|
|
||
| // CHECK: aandq %r9, -512(,%rbp,2) | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aandq %r9, -512(,%rbp,2) | ||
|
|
||
| // CHECK: aandq %r9, 2032(%rcx) | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aandq %r9, 2032(%rcx) | ||
|
|
||
| // CHECK: aandq %r9, -2048(%rdx) | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aandq %r9, -2048(%rdx) | ||
|
|
||
| // CHECK: aandl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aandl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aandl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aandl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aandl %ebx, (%eax) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x18] | ||
| aandl %ebx, (%eax) | ||
|
|
||
| // CHECK: aandl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aandl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aandl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aandl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aandl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aandl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: aorq %r9, 268435456(%rbp,%r14,8) | ||
| // CHECK: encoding: [0xf2,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aorq %r9, 268435456(%rbp,%r14,8) | ||
|
|
||
| // CHECK: aorq %r9, 291(%r8,%rax,4) | ||
| // CHECK: encoding: [0xf2,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aorq %r9, 291(%r8,%rax,4) | ||
|
|
||
| // CHECK: aorq %r9, (%rip) | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aorq %r9, (%rip) | ||
|
|
||
| // CHECK: aorq %r9, -512(,%rbp,2) | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aorq %r9, -512(,%rbp,2) | ||
|
|
||
| // CHECK: aorq %r9, 2032(%rcx) | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aorq %r9, 2032(%rcx) | ||
|
|
||
| // CHECK: aorq %r9, -2048(%rdx) | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aorq %r9, -2048(%rdx) | ||
|
|
||
| // CHECK: aorl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aorl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: aorl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aorl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: aorl %ebx, (%eax) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x18] | ||
| aorl %ebx, (%eax) | ||
|
|
||
| // CHECK: aorl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aorl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: aorl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aorl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: aorl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aorl %ebx, -2048(%edx) | ||
|
|
||
| // CHECK: axorq %r9, 268435456(%rbp,%r14,8) | ||
| // CHECK: encoding: [0xf3,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| axorq %r9, 268435456(%rbp,%r14,8) | ||
|
|
||
| // CHECK: axorq %r9, 291(%r8,%rax,4) | ||
| // CHECK: encoding: [0xf3,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| axorq %r9, 291(%r8,%rax,4) | ||
|
|
||
| // CHECK: axorq %r9, (%rip) | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| axorq %r9, (%rip) | ||
|
|
||
| // CHECK: axorq %r9, -512(,%rbp,2) | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axorq %r9, -512(,%rbp,2) | ||
|
|
||
| // CHECK: axorq %r9, 2032(%rcx) | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| axorq %r9, 2032(%rcx) | ||
|
|
||
| // CHECK: axorq %r9, -2048(%rdx) | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| axorq %r9, -2048(%rdx) | ||
|
|
||
| // CHECK: axorl %ebx, 268435456(%esp,%esi,8) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| axorl %ebx, 268435456(%esp,%esi,8) | ||
|
|
||
| // CHECK: axorl %ebx, 291(%edi,%eax,4) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| axorl %ebx, 291(%edi,%eax,4) | ||
|
|
||
| // CHECK: axorl %ebx, (%eax) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x18] | ||
| axorl %ebx, (%eax) | ||
|
|
||
| // CHECK: axorl %ebx, -512(,%ebp,2) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axorl %ebx, -512(,%ebp,2) | ||
|
|
||
| // CHECK: axorl %ebx, 2032(%ecx) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| axorl %ebx, 2032(%ecx) | ||
|
|
||
| // CHECK: axorl %ebx, -2048(%edx) | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| axorl %ebx, -2048(%edx) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,193 @@ | ||
| // RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s | ||
|
|
||
| // CHECK: aadd qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| // CHECK: encoding: [0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aadd qword ptr [rbp + 8*r14 + 268435456], r9 | ||
|
|
||
| // CHECK: aadd qword ptr [r8 + 4*rax + 291], r9 | ||
| // CHECK: encoding: [0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aadd qword ptr [r8 + 4*rax + 291], r9 | ||
|
|
||
| // CHECK: aadd qword ptr [rip], r9 | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aadd qword ptr [rip], r9 | ||
|
|
||
| // CHECK: aadd qword ptr [2*rbp - 512], r9 | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aadd qword ptr [2*rbp - 512], r9 | ||
|
|
||
| // CHECK: aadd qword ptr [rcx + 2032], r9 | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aadd qword ptr [rcx + 2032], r9 | ||
|
|
||
| // CHECK: aadd qword ptr [rdx - 2048], r9 | ||
| // CHECK: encoding: [0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aadd qword ptr [rdx - 2048], r9 | ||
|
|
||
| // CHECK: aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aadd dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aadd dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x18] | ||
| aadd dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aadd dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aadd dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aadd dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x67,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aadd dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: aand qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| // CHECK: encoding: [0x66,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aand qword ptr [rbp + 8*r14 + 268435456], r9 | ||
|
|
||
| // CHECK: aand qword ptr [r8 + 4*rax + 291], r9 | ||
| // CHECK: encoding: [0x66,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aand qword ptr [r8 + 4*rax + 291], r9 | ||
|
|
||
| // CHECK: aand qword ptr [rip], r9 | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aand qword ptr [rip], r9 | ||
|
|
||
| // CHECK: aand qword ptr [2*rbp - 512], r9 | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aand qword ptr [2*rbp - 512], r9 | ||
|
|
||
| // CHECK: aand qword ptr [rcx + 2032], r9 | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aand qword ptr [rcx + 2032], r9 | ||
|
|
||
| // CHECK: aand qword ptr [rdx - 2048], r9 | ||
| // CHECK: encoding: [0x66,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aand qword ptr [rdx - 2048], r9 | ||
|
|
||
| // CHECK: aand dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aand dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aand dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aand dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aand dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x18] | ||
| aand dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aand dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aand dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aand dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aand dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aand dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x67,0x66,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aand dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: aor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| // CHECK: encoding: [0xf2,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| aor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
|
|
||
| // CHECK: aor qword ptr [r8 + 4*rax + 291], r9 | ||
| // CHECK: encoding: [0xf2,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| aor qword ptr [r8 + 4*rax + 291], r9 | ||
|
|
||
| // CHECK: aor qword ptr [rip], r9 | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| aor qword ptr [rip], r9 | ||
|
|
||
| // CHECK: aor qword ptr [2*rbp - 512], r9 | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aor qword ptr [2*rbp - 512], r9 | ||
|
|
||
| // CHECK: aor qword ptr [rcx + 2032], r9 | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| aor qword ptr [rcx + 2032], r9 | ||
|
|
||
| // CHECK: aor qword ptr [rdx - 2048], r9 | ||
| // CHECK: encoding: [0xf2,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| aor qword ptr [rdx - 2048], r9 | ||
|
|
||
| // CHECK: aor dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| aor dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: aor dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| aor dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: aor dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x18] | ||
| aor dword ptr [eax], ebx | ||
|
|
||
| // CHECK: aor dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| aor dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: aor dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| aor dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: aor dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x67,0xf2,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| aor dword ptr [edx - 2048], ebx | ||
|
|
||
| // CHECK: axor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
| // CHECK: encoding: [0xf3,0x4e,0x0f,0x38,0xfc,0x8c,0xf5,0x00,0x00,0x00,0x10] | ||
| axor qword ptr [rbp + 8*r14 + 268435456], r9 | ||
|
|
||
| // CHECK: axor qword ptr [r8 + 4*rax + 291], r9 | ||
| // CHECK: encoding: [0xf3,0x4d,0x0f,0x38,0xfc,0x8c,0x80,0x23,0x01,0x00,0x00] | ||
| axor qword ptr [r8 + 4*rax + 291], r9 | ||
|
|
||
| // CHECK: axor qword ptr [rip], r9 | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x0d,0x00,0x00,0x00,0x00] | ||
| axor qword ptr [rip], r9 | ||
|
|
||
| // CHECK: axor qword ptr [2*rbp - 512], r9 | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x0c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axor qword ptr [2*rbp - 512], r9 | ||
|
|
||
| // CHECK: axor qword ptr [rcx + 2032], r9 | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x89,0xf0,0x07,0x00,0x00] | ||
| axor qword ptr [rcx + 2032], r9 | ||
|
|
||
| // CHECK: axor qword ptr [rdx - 2048], r9 | ||
| // CHECK: encoding: [0xf3,0x4c,0x0f,0x38,0xfc,0x8a,0x00,0xf8,0xff,0xff] | ||
| axor qword ptr [rdx - 2048], r9 | ||
|
|
||
| // CHECK: axor dword ptr [esp + 8*esi + 268435456], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9c,0xf4,0x00,0x00,0x00,0x10] | ||
| axor dword ptr [esp + 8*esi + 268435456], ebx | ||
|
|
||
| // CHECK: axor dword ptr [edi + 4*eax + 291], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9c,0x87,0x23,0x01,0x00,0x00] | ||
| axor dword ptr [edi + 4*eax + 291], ebx | ||
|
|
||
| // CHECK: axor dword ptr [eax], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x18] | ||
| axor dword ptr [eax], ebx | ||
|
|
||
| // CHECK: axor dword ptr [2*ebp - 512], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x1c,0x6d,0x00,0xfe,0xff,0xff] | ||
| axor dword ptr [2*ebp - 512], ebx | ||
|
|
||
| // CHECK: axor dword ptr [ecx + 2032], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x99,0xf0,0x07,0x00,0x00] | ||
| axor dword ptr [ecx + 2032], ebx | ||
|
|
||
| // CHECK: axor dword ptr [edx - 2048], ebx | ||
| // CHECK: encoding: [0x67,0xf3,0x0f,0x38,0xfc,0x9a,0x00,0xf8,0xff,0xff] | ||
| axor dword ptr [edx - 2048], ebx |