File: sse2avx-att.s

package info (click to toggle)
llvm-toolchain-21 1%3A21.1.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,245,028 kB
  • sloc: cpp: 7,619,726; ansic: 1,434,018; asm: 1,058,748; python: 252,740; f90: 94,671; objc: 70,685; lisp: 42,813; pascal: 18,401; sh: 8,601; ml: 5,111; perl: 4,720; makefile: 3,675; awk: 3,523; javascript: 2,409; xml: 892; fortran: 770
file content (89 lines) | stat: -rw-r--r-- 4,039 bytes parent folder | download | duplicates (9)
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
81
82
83
84
85
86
87
88
89
# RUN: llvm-mc -triple x86_64 -x86-sse2avx %s | FileCheck %s
# RUN: llvm-mc -triple=x86_64 -output-asm-variant=1 %s | llvm-mc -triple=x86_64 -x86-asm-syntax=intel -x86-sse2avx
	.text
# CHECK: vmovsd  -352(%rbp), %xmm0
	movsd	-352(%rbp), %xmm0               # xmm0 = mem[0],zero
# CHECK-NEXT: vunpcklpd       %xmm1, %xmm0, %xmm0     # xmm0 = xmm0[0],xmm1[0]
	unpcklpd	%xmm1, %xmm0                    # xmm0 = xmm0[0],xmm1[0]
# CHECK-NEXT: vmovapd %xmm0, -368(%rbp)
	movapd	%xmm0, -368(%rbp)
# CHECK-NEXT: vmovapd -368(%rbp), %xmm0
	movapd	-368(%rbp), %xmm0
# CHECK-NEXT: vmovsd  -376(%rbp), %xmm1
	movsd	-376(%rbp), %xmm1               # xmm1 = mem[0],zero
# CHECK-NEXT: vmovsd  -384(%rbp), %xmm0
	movsd	-384(%rbp), %xmm0               # xmm0 = mem[0],zero
# CHECK-NEXT: vunpcklpd       %xmm1, %xmm0, %xmm0     # xmm0 = xmm0[0],xmm1[0]
	unpcklpd	%xmm1, %xmm0                    # xmm0 = xmm0[0],xmm1[0]
# CHECK-NEXT: vaddpd  %xmm1, %xmm0, %xmm0
	addpd	%xmm1, %xmm0
# CHECK-NEXT: vmovapd %xmm0, -464(%rbp)
	movapd	%xmm0, -464(%rbp)
# CHECK-NEXT: vmovaps -304(%rbp), %xmm1
	movaps	-304(%rbp), %xmm1
# CHECK-NEXT: vpandn  %xmm1, %xmm0, %xmm0
	pandn	%xmm1, %xmm0
# CHECK-NEXT: vmovaps %xmm0, -480(%rbp)
	movaps	%xmm0, -480(%rbp)
# CHECK-NEXT: vmovss  -220(%rbp), %xmm1
	movss	-220(%rbp), %xmm1               # xmm1 = mem[0],zero,zero,zero
# CHECK-NEXT: vinsertps       $16, %xmm1, %xmm0, %xmm0 # xmm0 = xmm0[0],xmm1[0],xmm0[2,3]
	insertps	$16, %xmm1, %xmm0               # xmm0 = xmm0[0],xmm1[0],xmm0[2,3]
# CHECK-NEXT: vmovaps %xmm0, -496(%rbp)
	movaps	%xmm0, -496(%rbp)
# CHECK-NEXT: vmovss  -256(%rbp), %xmm0
	movss	-256(%rbp), %xmm0               # xmm0 = mem[0],zero,zero,zero
# CHECK-NEXT: vmovaps -192(%rbp), %xmm0
	movaps	-192(%rbp), %xmm0
# CHECK-NEXT: vdivss  %xmm1, %xmm0, %xmm0
	divss	%xmm1, %xmm0
# CHECK-NEXT: vmovaps %xmm0, -192(%rbp)
	movaps	%xmm0, -192(%rbp)
# CHECK-NEXT: vmovd   -128(%rbp), %xmm0
	movd	-128(%rbp), %xmm0               # xmm0 = mem[0],zero,zero,zero
# CHECK-NEXT: vpinsrd $1, %edx, %xmm0, %xmm0
	pinsrd	$1, %edx, %xmm0
# CHECK-NEXT: vmovaps %xmm0, -144(%rbp)
	movaps	%xmm0, -144(%rbp)
# CHECK-NEXT: vmovd   -160(%rbp), %xmm0
	movd	-160(%rbp), %xmm0               # xmm0 = mem[0],zero,zero,zero
# CHECK-NEXT: vpblendw        $170, %xmm1, %xmm0, %xmm0       # xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
	pblendw	$170, %xmm1, %xmm0              # xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
# CHECK-NEXT: vmovdqa %xmm0, -576(%rbp)
	movdqa	%xmm0, -576(%rbp)
# CHECK-NEXT: vphsubw %xmm1, %xmm0, %xmm0
	phsubw	%xmm1, %xmm0
# CHECK-NEXT: vmovdqa %xmm0, -592(%rbp)
	movdqa	%xmm0, -592(%rbp)
# CHECK-NEXT: vmovaps -496(%rbp), %xmm0
	movaps	-496(%rbp), %xmm0
# CHECK-NEXT: vroundps        $8, %xmm0, %xmm0
	roundps	$8, %xmm0, %xmm0
# CHECK-NEXT: vmovaps %xmm0, -608(%rbp)
	movaps	%xmm0, -608(%rbp)
# CHECK-NEXT: vmovapd -432(%rbp), %xmm0
	movapd	-432(%rbp), %xmm0
# CHECK-NEXT: vpxor   %xmm1, %xmm0, %xmm0
	pxor	%xmm1, %xmm0
# CHECK-NEXT: vmovaps %xmm0, -640(%rbp)
	movaps	%xmm0, -640(%rbp)
# CHECK-NEXT: vmovapd -32(%rbp), %xmm0
	movapd	-32(%rbp), %xmm0
# CHECK-NEXT: vmovupd %xmm0, (%rax)
	movupd	%xmm0, (%rax)
# CHECK-NEXT: vmovsd  -656(%rbp), %xmm0
	movsd	-656(%rbp), %xmm0               # xmm0 = mem[0],zero
# CHECK-NEXT: extrq   $16, $8, %xmm0                  # xmm0 = xmm0[2],zero,zero,zero,zero,zero,zero,zero,xmm0[u,u,u,u,u,u,u,u]
        extrq   $16, $8, %xmm0
# CHECK-NEXT: insertq $16, $8, %xmm1, %xmm0           # xmm0 = xmm0[0,1],xmm1[0],xmm0[3,4,5,6,7,u,u,u,u,u,u,u,u]
	insertq $16, $8, %xmm1, %xmm0
# CHECK-NEXT: pshufw  $1, %mm0, %mm2                  # mm2 = mm0[1,0,0,0]
	pshufw  $1, %mm0, %mm2
# CHECK-NEXT: vpblendvb       %xmm2, %xmm2, %xmm1, %xmm1
	pblendvb   %xmm0, %xmm2, %xmm1
# CHECK-NEXT: vblendvps       %xmm0, %xmm0, %xmm2, %xmm2
	blendvps   %xmm0, %xmm0, %xmm2
# CHECK-NEXT: vblendvpd       %xmm0, %xmm0, %xmm2, %xmm2
	blendvpd   %xmm0, %xmm0, %xmm2
# CHECK-NEXT: vblendvpd       %xmm0, %xmm0, %xmm2, %xmm2
	blendvpd   %xmm0, %xmm2