File: kmov-intel.s

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,998,520 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (80 lines) | stat: -rw-r--r-- 3,073 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# RUN: llvm-mc -triple x86_64 -show-encoding -x86-asm-syntax=intel -output-asm-variant=1 %s | FileCheck %s

# CHECK: {evex}	kmovb	k2, k1
# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0xd1]
         {evex}	kmovb	k2, k1
# CHECK: {evex}	kmovw	k2, k1
# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0xd1]
         {evex}	kmovw	k2, k1
# CHECK: {evex}	kmovd	k2, k1
# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0xd1]
         {evex}	kmovd	k2, k1
# CHECK: {evex}	kmovq	k2, k1
# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0xd1]
         {evex}	kmovq	k2, k1
# CHECK: {evex} kmovb   k0, byte ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0x7d,0x08,0x90,0x40,0xf0]
         {evex} kmovb   k0, byte ptr [rax - 0x10]
# CHECK: {evex} kmovw   k0, word ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0x7c,0x08,0x90,0x40,0xf0]
         {evex} kmovw   k0, word ptr [rax - 0x10]
# CHECK: {evex} kmovd   k0, dword ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0xfd,0x08,0x90,0x40,0xf0]
         {evex} kmovd   k0, dword ptr [rax - 0x10]
# CHECK: {evex} kmovq   k0, qword ptr [rax - 16]
# CHECK: encoding: [0x62,0xf1,0xfc,0x08,0x90,0x40,0xf0]
         {evex} kmovq   k0, qword ptr [rax - 0x10]

# CHECK-NOT: {evex}

# CHECK: kmovb	k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7d,0x08,0x92,0xc8]
         kmovb	k1, r16d
# CHECK: kmovw	k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7c,0x08,0x92,0xc8]
         kmovw	k1, r16d
# CHECK: kmovd	k1, r16d
# CHECK: encoding: [0x62,0xf9,0x7f,0x08,0x92,0xc8]
         kmovd	k1, r16d
# CHECK: kmovq	k1, r16
# CHECK: encoding: [0x62,0xf9,0xff,0x08,0x92,0xc8]
         kmovq	k1, r16

# CHECK: kmovb	r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7d,0x08,0x93,0xc1]
         kmovb	r16d, k1
# CHECK: kmovw	r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7c,0x08,0x93,0xc1]
         kmovw	r16d, k1
# CHECK: kmovd	r16d, k1
# CHECK: encoding: [0x62,0xe1,0x7f,0x08,0x93,0xc1]
         kmovd	r16d, k1
# CHECK: kmovq	r16, k1
# CHECK: encoding: [0x62,0xe1,0xff,0x08,0x93,0xc1]
         kmovq	r16, k1

# CHECK: kmovb	k1, byte ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x90,0x0c,0x08]
         kmovb	k1, byte ptr [r16 + r17]
# CHECK: kmovw	k1, word ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x90,0x0c,0x08]
         kmovw	k1, word ptr [r16 + r17]
# CHECK: kmovd	k1, dword ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x90,0x0c,0x08]
         kmovd	k1, dword ptr [r16 + r17]
# CHECK: kmovq	k1, qword ptr [r16 + r17]
# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x90,0x0c,0x08]
         kmovq	k1, qword ptr [r16 + r17]

# CHECK: kmovb	byte ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0x79,0x08,0x91,0x0c,0x08]
         kmovb	byte ptr [r16 + r17], k1
# CHECK: kmovw	word ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0x78,0x08,0x91,0x0c,0x08]
         kmovw	word ptr [r16 + r17], k1
# CHECK: kmovd	dword ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0xf9,0x08,0x91,0x0c,0x08]
         kmovd	dword ptr [r16 + r17], k1
# CHECK: kmovq	qword ptr [r16 + r17], k1
# CHECK: encoding: [0x62,0xf9,0xf8,0x08,0x91,0x0c,0x08]
         kmovq	qword ptr [r16 + r17], k1