Merge remote-tracking branch 'origin/master'
[unleashed/lotheac.git] / usr / src / test / util-tests / tests / dis / i386 / 32.sse-4.1.s
blob4e9a1d07511892da287c63fbc62d2f736a548073
1 /*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
13 * Copyright 2016 Joyent, Inc.
17 * Test SSE 4.2 related instructions
20 .text
21 .align 16
22 .globl libdis_test
23 .type libdis_test, @function
24 libdis_test:
25 blendpd $0x42, %xmm0, %xmm1
26 blendpd $0x42, (%ebx), %xmm1
27 blendps $0x42, %xmm0, %xmm1
28 blendps $0x42, (%ebx), %xmm1
29 blendvpd %xmm1, %xmm2
30 blendvpd (%ebx), %xmm2
31 blendvpd 0x42(%ebx), %xmm2
32 blendvps %xmm1, %xmm2
33 blendvps (%ebx), %xmm2
34 blendvps 0x42(%ebx), %xmm2
35 dppd $0x42, %xmm0, %xmm1
36 dppd $0x42, (%ebx), %xmm1
37 dpps $0x42, %xmm0, %xmm1
38 dpps $0x42, (%ebx), %xmm1
39 extractps $0x23, %xmm6, %ebx
40 extractps $0x23, %xmm6, (%ebx)
41 insertps $0x23, %xmm1, %xmm2
42 insertps $0x23, (%ebx), %xmm2
43 insertps $0x23, 0x42(%ebx), %xmm2
44 movntdqa (%ebx), %xmm0
45 mpsadbw $0x23, %xmm1, %xmm2
46 mpsadbw $0x23, (%ebx), %xmm2
47 mpsadbw $0x23, 0x42(%ebx), %xmm2
48 packusdw %xmm1, %xmm2
49 packusdw (%ebx), %xmm2
50 packusdw 0x42(%ebx), %xmm2
51 pblendvb %xmm1, %xmm2
52 pblendvb (%ebx), %xmm2
53 pblendvb 0x42(%ebx), %xmm2
54 pblendw $0x23, %xmm1, %xmm2
55 pblendw $0x23, (%ebx), %xmm2
56 pblendw $0x23, 0x42(%ebx), %xmm2
57 pcmpeqq %xmm1, %xmm2
58 pcmpeqq (%ebx), %xmm2
59 pcmpeqq 0x42(%ebx), %xmm2
60 pextrb $0x23, %xmm4, %edx
61 pextrb $0x23, %xmm4, (%edx)
62 pextrd $0x23, %xmm4, %edx
63 pextrd $0x23, %xmm4, (%edx)
64 pextrw $0x23, %xmm4, %edx
65 pextrw $0x23, %xmm4, (%edx)
66 phminposuw %xmm1, %xmm2
67 phminposuw (%ebx), %xmm2
68 phminposuw 0x42(%ebx), %xmm2
69 pinsrb $0x23, %ebx, %xmm2
70 pinsrb $0x23, (%ebx), %xmm2
71 pinsrb $0x23, 0x42(%ebx), %xmm2
72 pinsrd $0x23, %ebx, %xmm2
73 pinsrd $0x23, (%ebx), %xmm2
74 pinsrd $0x23, 0x42(%ebx), %xmm2
75 pmaxsb %xmm1, %xmm2
76 pmaxsb (%ebx), %xmm2
77 pmaxsb 0x42(%ebx), %xmm2
78 pmaxsd %xmm1, %xmm2
79 pmaxsd (%ebx), %xmm2
80 pmaxsd 0x42(%ebx), %xmm2
81 pmaxud %xmm1, %xmm2
82 pmaxud (%ebx), %xmm2
83 pmaxud 0x42(%ebx), %xmm2
84 pmaxuw %xmm1, %xmm2
85 pmaxuw (%ebx), %xmm2
86 pmaxuw 0x42(%ebx), %xmm2
87 pminsb %xmm1, %xmm2
88 pminsb (%ebx), %xmm2
89 pminsb 0x42(%ebx), %xmm2
90 pminsd %xmm1, %xmm2
91 pminsd (%ebx), %xmm2
92 pminsd 0x42(%ebx), %xmm2
93 pminud %xmm1, %xmm2
94 pminud (%ebx), %xmm2
95 pminud 0x42(%ebx), %xmm2
96 pminuw %xmm1, %xmm2
97 pminuw (%ebx), %xmm2
98 pminuw 0x42(%ebx), %xmm2
99 pmovsxbd %xmm1, %xmm2
100 pmovsxbd (%ebx), %xmm2
101 pmovsxbd 0x42(%ebx), %xmm2
102 pmovsxbq %xmm1, %xmm2
103 pmovsxbq (%ebx), %xmm2
104 pmovsxbq 0x42(%ebx), %xmm2
105 pmovsxbw %xmm1, %xmm2
106 pmovsxbw (%ebx), %xmm2
107 pmovsxbw 0x42(%ebx), %xmm2
108 pmovsxdq %xmm1, %xmm2
109 pmovsxdq (%ebx), %xmm2
110 pmovsxdq 0x42(%ebx), %xmm2
111 pmovsxwd %xmm1, %xmm2
112 pmovsxwd (%ebx), %xmm2
113 pmovsxwd 0x42(%ebx), %xmm2
114 pmovsxwq %xmm1, %xmm2
115 pmovsxwq (%ebx), %xmm2
116 pmovsxwq 0x42(%ebx), %xmm2
117 pmovzxbd %xmm1, %xmm2
118 pmovzxbd (%ebx), %xmm2
119 pmovzxbd 0x42(%ebx), %xmm2
120 pmovzxbq %xmm1, %xmm2
121 pmovzxbq (%ebx), %xmm2
122 pmovzxbq 0x42(%ebx), %xmm2
123 pmovzxbw %xmm1, %xmm2
124 pmovzxbw (%ebx), %xmm2
125 pmovzxbw 0x42(%ebx), %xmm2
126 pmovzxdq %xmm1, %xmm2
127 pmovzxdq (%ebx), %xmm2
128 pmovzxdq 0x42(%ebx), %xmm2
129 pmovzxwd %xmm1, %xmm2
130 pmovzxwd (%ebx), %xmm2
131 pmovzxwd 0x42(%ebx), %xmm2
132 pmovzxwq %xmm1, %xmm2
133 pmovzxwq (%ebx), %xmm2
134 pmovzxwq 0x42(%ebx), %xmm2
135 pmuldq %xmm1, %xmm2
136 pmuldq (%ebx), %xmm2
137 pmuldq 0x42(%ebx), %xmm2
138 pmulld %xmm1, %xmm2
139 pmulld (%ebx), %xmm2
140 pmulld 0x42(%ebx), %xmm2
141 ptest %xmm1, %xmm2
142 ptest (%ebx), %xmm2
143 ptest 0x42(%ebx), %xmm2
144 roundpd $0x23, %xmm1, %xmm2
145 roundpd $0x23, (%ebx), %xmm2
146 roundpd $0x23, 0x42(%ebx), %xmm2
147 roundps $0x23, %xmm1, %xmm2
148 roundps $0x23, (%ebx), %xmm2
149 roundps $0x23, 0x42(%ebx), %xmm2
150 roundsd $0x23, %xmm1, %xmm2
151 roundsd $0x23, (%ebx), %xmm2
152 roundsd $0x23, 0x42(%ebx), %xmm2
153 roundss $0x23, %xmm1, %xmm2
154 roundss $0x23, (%ebx), %xmm2
155 roundss $0x23, 0x42(%ebx), %xmm2
156 .size libdis_test, [.-libdis_test]