xref: /illumos-gate/usr/src/test/util-tests/tests/dis/i386/32.sse-3.s (revision 03270635d68df6a0392fb8f4b7c04acad764648b)
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.
6 *
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.
10 */
11
12/*
13 * Copyright 2016 Joyent, Inc.
14 */
15
16/*
17 * Test SSE 3 related instructions
18 */
19
20.text
21.align 16
22.globl libdis_test
23.type libdis_test, @function
24libdis_test:
25	addsubpd	%xmm0, %xmm1
26	addsubpd	(%edx), %xmm2
27	addsubpd	0x23(%esp), %xmm2
28	addsubps	%xmm0, %xmm1
29	addsubps	(%edx), %xmm2
30	addsubps	0x23(%esp), %xmm2
31	haddpd		%xmm0, %xmm1
32	haddpd		(%edx), %xmm2
33	haddpd		0x23(%esp), %xmm2
34	haddps		%xmm0, %xmm1
35	haddps		(%edx), %xmm2
36	haddps		0x23(%esp), %xmm2
37	hsubpd		%xmm0, %xmm1
38	hsubpd		(%edx), %xmm2
39	hsubpd		0x23(%esp), %xmm2
40	hsubps		%xmm0, %xmm1
41	hsubps		(%edx), %xmm2
42	hsubps		0x23(%esp), %xmm2
43	lddqu		(%eax), %xmm3
44	movddup		%xmm4, %xmm5
45	movddup		(%eax), %xmm6
46	movddup		0x42(%ebx), %xmm7
47	movshdup	%xmm4, %xmm5
48	movshdup	(%eax), %xmm6
49	movshdup	0x42(%ebx), %xmm7
50	movsldup	%xmm4, %xmm5
51	movsldup	(%eax), %xmm6
52	movsldup	0x42(%ebx), %xmm7
53	fisttp		0x1234(%eax)
54	fisttpl		0x1234(%eax)
55	fisttpll	0x1234(%eax)
56.size libdis_test, [.-libdis_test]
57