x86: Optimize EVEX vector load/store instructions
[deliverable/binutils-gdb.git] / gas / testsuite / gas / i386 / x86-64-optimize-3.s
CommitLineData
b6f8c7c4
L
1# Check 64bit instructions with optimized encoding
2
3 .allow_index_reg
4 .text
5_start:
6 testq $0x7f, %rax
7 testl $0x7f, %eax
8 testw $0x7f, %ax
9 testb $0x7f, %al
10 test $0x7f, %rbx
11 test $0x7f, %ebx
12 test $0x7f, %bx
13 test $0x7f, %bl
14 test $0x7f, %rdi
15 test $0x7f, %edi
16 test $0x7f, %di
17 test $0x7f, %dil
18 test $0x7f, %r9
19 test $0x7f, %r9d
20 test $0x7f, %r9w
21 test $0x7f, %r9b
41fd2579
L
22
23 vandnpd %zmm1, %zmm1, %zmm5
97ed31ae
L
24
25 vmovdqa32 %xmm1, %xmm2
26 vmovdqa64 %xmm1, %xmm2
27 vmovdqu8 %xmm1, %xmm2
28 vmovdqu16 %xmm1, %xmm2
29 vmovdqu32 %xmm1, %xmm2
30 vmovdqu64 %xmm1, %xmm2
31
32 vmovdqa32 %xmm11, %xmm12
33 vmovdqa64 %xmm11, %xmm12
34 vmovdqu8 %xmm11, %xmm12
35 vmovdqu16 %xmm11, %xmm12
36 vmovdqu32 %xmm11, %xmm12
37 vmovdqu64 %xmm11, %xmm12
38
39 vmovdqa32 127(%rax), %xmm2
40 vmovdqa64 127(%rax), %xmm2
41 vmovdqu8 127(%rax), %xmm2
42 vmovdqu16 127(%rax), %xmm2
43 vmovdqu32 127(%rax), %xmm2
44 vmovdqu64 127(%rax), %xmm2
45
46 vmovdqa32 %xmm1, 128(%rax)
47 vmovdqa64 %xmm1, 128(%rax)
48 vmovdqu8 %xmm1, 128(%rax)
49 vmovdqu16 %xmm1, 128(%rax)
50 vmovdqu32 %xmm1, 128(%rax)
51 vmovdqu64 %xmm1, 128(%rax)
52
53 vmovdqa32 %ymm1, %ymm2
54 vmovdqa64 %ymm1, %ymm2
55 vmovdqu8 %ymm1, %ymm2
56 vmovdqu16 %ymm1, %ymm2
57 vmovdqu32 %ymm1, %ymm2
58 vmovdqu64 %ymm1, %ymm2
59
60 vmovdqa32 %ymm11, %ymm12
61 vmovdqa64 %ymm11, %ymm12
62 vmovdqu8 %ymm11, %ymm12
63 vmovdqu16 %ymm11, %ymm12
64 vmovdqu32 %ymm11, %ymm12
65 vmovdqu64 %ymm11, %ymm12
66
67 vmovdqa32 127(%rax), %ymm2
68 vmovdqa64 127(%rax), %ymm2
69 vmovdqu8 127(%rax), %ymm2
70 vmovdqu16 127(%rax), %ymm2
71 vmovdqu32 127(%rax), %ymm2
72 vmovdqu64 127(%rax), %ymm2
73
74 vmovdqa32 %ymm1, 128(%rax)
75 vmovdqa64 %ymm1, 128(%rax)
76 vmovdqu8 %ymm1, 128(%rax)
77 vmovdqu16 %ymm1, 128(%rax)
78 vmovdqu32 %ymm1, 128(%rax)
79 vmovdqu64 %ymm1, 128(%rax)
80
81 vmovdqa32 %xmm21, %xmm2
82 vmovdqa64 %xmm21, %xmm2
83 vmovdqu8 %xmm21, %xmm2
84 vmovdqu16 %xmm21, %xmm2
85 vmovdqu32 %xmm21, %xmm2
86 vmovdqu64 %xmm21, %xmm2
87
88 vmovdqa32 %zmm1, %zmm2
89 vmovdqa64 %zmm1, %zmm2
90 vmovdqu8 %zmm1, %zmm2
91 vmovdqu16 %zmm1, %zmm2
92 vmovdqu32 %zmm1, %zmm2
93 vmovdqu64 %zmm1, %zmm2
94
95 {evex} vmovdqa32 %ymm1, %ymm2
96 {evex} vmovdqa64 %ymm1, %ymm2
97 {evex} vmovdqu8 %xmm1, %xmm2
98 {evex} vmovdqu16 %xmm1, %xmm2
99 {evex} vmovdqu32 %xmm1, %xmm2
100 {evex} vmovdqu64 %xmm1, %xmm2
101
102 vmovdqa32 %ymm1, %ymm2{%k1}
103 vmovdqa64 %ymm1, %ymm2{%k1}
104 vmovdqu8 %xmm1, %xmm2{%k1}
105 vmovdqu16 %xmm1, %xmm2{%k1}
106 vmovdqu32 %xmm1, %xmm2{%k1}
107 vmovdqu64 %xmm1, %xmm2{%k1}
108
109 vmovdqa32 (%rax), %ymm2{%k1}
110 vmovdqa64 (%rax), %ymm2{%k1}
111 vmovdqu8 (%rax), %xmm2{%k1}
112 vmovdqu16 (%rax), %xmm2{%k1}
113 vmovdqu32 (%rax), %xmm2{%k1}
114 vmovdqu64 (%rax), %xmm2{%k1}
115
116 vmovdqa32 %ymm1, (%rax){%k1}
117 vmovdqa64 %ymm1, (%rax){%k1}
118 vmovdqu8 %xmm1, (%rax){%k1}
119 vmovdqu16 %xmm1, (%rax){%k1}
120 vmovdqu32 %xmm1, (%rax){%k1}
121 vmovdqu64 %xmm1, (%rax){%k1}
122
123 vmovdqa32 %xmm1, %xmm2{%k1}{z}
124 vmovdqa64 %xmm1, %xmm2{%k1}{z}
125 vmovdqu8 %xmm1, %xmm2{%k1}{z}
126 vmovdqu16 %xmm1, %xmm2{%k1}{z}
127 vmovdqu32 %xmm1, %xmm2{%k1}{z}
128 vmovdqu64 %xmm1, %xmm2{%k1}{z}
This page took 0.11605 seconds and 4 git commands to generate.