• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=knl | FileCheck %s
2# RUN: llvm-mc --disassemble %s -triple=x86_64-apple-darwin9 -mcpu=skx | FileCheck --check-prefix=CHECK-SKX %s
3
4# CHECK: vpbroadcastd    %xmm18, %zmm28 {%k7} {z}
50x62 0x22 0x7d 0xcf 0x58 0xe2
6
7# CHECK: vbroadcastss    (%rsp), %zmm28
80x62 0x62 0x7d 0x48 0x18 0x24 0x24
9
10# CHECK: vblendmpd       (%rsi), %zmm2, %zmm8 {%k7}
110x62 0x72 0xed 0x4f 0x65 0x06
12
13# CHECK: vpermpd (%rsi,%r10,4), %zmm2, %zmm8
140x62 0x32 0xed 0x48 0x16 0x04 0x96
15
16# CHECK: vpbroadcastmw2d %k2, %zmm8
170x62 0x72 0x7e 0x48 0x3a 0xc2
18
19# CHECK-SKX: vpbroadcastmw2d %k2, %xmm8
200x62 0x72 0x7e 0x08 0x3a 0xc2
21
22# CHECK-SKX: vpbroadcastmw2d %k2, %ymm8
230x62 0x72 0x7e 0x28 0x3a 0xc2
24
25# CHECK: vpbroadcastq    (%r9,%rax), %zmm28
260x62 0x42 0xfd 0x48 0x59 0x24 0x01
27
28# CHECK: vbroadcastss    %xmm0, %zmm1
290x62 0xf2 0x7d 0x48 0x18 0xc8
30
31# CHECK: vextracti32x4   $4, %zmm0, (%r10)
320x62 0xd3 0x7d 0x48 0x39 0x02 0x04
33
34# CHECK: vextracti32x4   $4, %zmm0, %xmm1
350x62 0xf3 0x7d 0x48 0x39 0xc1 0x04
36
37# CHECK: vinserti32x4    $1, %xmm21, %zmm5, %zmm17
380x62 0xa3 0x55 0x48 0x38 0xcd 0x01
39
40# CHECK: vmovaps %zmm21, %zmm5 {%k3}
410x62 0xb1 0x7c 0x4b 0x28 0xed
42
43# CHECK: vgatherdps      (%rsi,%zmm0,4), %zmm1 {%k2}
440x62 0xf2 0x7d 0x4a 0x92 0x0c 0x86
45
46# CHECK: vgatherdpd      (%rsi,%ymm0,4), %zmm1 {%k2}
470x62 0xf2 0xfd 0x4a 0x92 0x0c 0x86
48
49# CHECK: vpslld $16, %zmm21, %zmm22
500x62 0xb1 0x4d 0x40 0x72 0xf5 0x10
51
52# CHECK: vpord %zmm22, %zmm21, %zmm23
530x62 0xa1 0x55 0x40 0xeb 0xfe
54
55#####################################################
56#                MASK INSTRUCTIONS                  #
57#####################################################
58
59# CHECK: kshiftlw        $3, %k1, %k2
600xc4 0xe3 0xf9 0x32 0xd1 0x03
61
62# CHECK: kmovw   (%rdi), %k1
630xc5 0xf8 0x90 0x0f
64
65# CHECK: kmovw   %k1, %eax
660xc5 0xf8 0x93 0xc1
67
68# CHECK: kandw   %k1, %k2, %k3
690xc5 0xec 0x41 0xd9
70
71# CHECK: kmovw   %k5, %k1
720xc5 0xf8 0x90 0xcd
73
74#####################################################
75#             COMPRESSED DISPLACEMENT               #
76#####################################################
77
78# TupleType = FVM
79# CHECK: vmovdqu32 %zmm0, -448(%rcx)
800x62 0xf1 0x7e 0x48 0x7f 0x41 0xf9
81
82# TupleType = T1S, 64-bit eltsize
83# CHECK: vaddsd 256(%rdx), %xmm0, %xmm16
840x62 0xe1 0xff 0x08 0x58 0x42 0x20
85
86# TupleType = T1S, 32-bit eltsize
87# CHECK: vaddss 256(%rdx), %xmm0, %xmm16
880x62 0xe1 0x7e 0x08 0x58 0x42 0x40
89
90# TupleType = FV
91# CHECK: vaddpd 256(%rdx), %zmm0, %zmm16
920x62 0xe1 0xfd 0x48 0x58 0x42 0x04
93
94# TupleType = FV, broadcast, 64-bit eltsize
95# CHECK: vaddpd 256(%rdx){1to8}, %zmm0, %zmm16
960x62 0xe1 0xfd 0x58 0x58 0x42 0x20
97
98# TupleType = FV, broadcast, 32-bit eltsize
99# CHECK: vaddps 256(%rdx){1to16}, %zmm0, %zmm16
1000x62 0xe1 0x7c 0x58 0x58 0x42 0x40
101
102# TupleType = T4
103# CHECK: vbroadcasti32x4 256(%rdx), %zmm16
1040x62 0xe2 0x7d 0x48 0x5a 0x42 0x10
105
106# Cases where we can't use cdisp8
107# CHECK: vaddss 255(%rdx), %xmm0, %xmm16
1080x62 0xe1 0x7e 0x08 0x58 0x82 0xff 0x00 0x00 0x00
109
110# CHECK: vaddss 1024(%rdx), %xmm0, %xmm16
1110x62 0xe1 0x7e 0x08 0x58 0x82 0x00 0x04 0x00 0x00
112
113# CHECK: vpcmpeqd %zmm10, %zmm25, %k5
1140x62 0xd3 0x35 0x40 0x1f 0xea 0x0
115
116# CHECK: vpcmpltd %zmm10, %zmm25, %k5
1170x62 0xd3 0x35 0x40 0x1f 0xea 0x1
118
119# CHECK: vpcmpled %zmm10, %zmm25, %k5
1200x62 0xd3 0x35 0x40 0x1f 0xea 0x2
121
122# CHECK: vpcmpd $3, %zmm10, %zmm25, %k5
1230x62 0xd3 0x35 0x40 0x1f 0xea 0x3
124
125# CHECK: vpcmpneqd %zmm10, %zmm25, %k5
1260x62 0xd3 0x35 0x40 0x1f 0xea 0x4
127
128# CHECK: vpcmpnltd %zmm10, %zmm25, %k5
1290x62 0xd3 0x35 0x40 0x1f 0xea 0x5
130
131# CHECK: vpcmpnled %zmm10, %zmm25, %k5
1320x62 0xd3 0x35 0x40 0x1f 0xea 0x6
133
134# CHECK: vpcmpd $7, %zmm10, %zmm25, %k5
1350x62 0xd3 0x35 0x40 0x1f 0xea 0x7
136
137# CHECK: vpcmpd $8, %zmm10, %zmm25, %k5
1380x62 0xd3 0x35 0x40 0x1f 0xea 0x8
139
140# CHECK: vcmppd	$127,{sae}, %zmm27, %zmm11, %k4
1410x62 0x91 0xa5 0x58 0xc2 0xe3 0x7f
142