|
1 | 1 | ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
2 |
| -; RUN: llc < %s -mtriple=i686-unknown-linux-gnu -mattr=+avx2 | FileCheck %s --check-prefix=X32 |
| 2 | +; RUN: llc < %s -mtriple=i686-unknown-linux-gnu -mattr=+avx2 | FileCheck %s --check-prefix=X86 |
3 | 3 | ; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -mattr=+avx2 | FileCheck %s --check-prefix=X64
|
4 | 4 |
|
5 | 5 | define i32 @f(<8 x float> %A, ptr %B, <4 x double> %C, <4 x i64> %E, <8 x i32> %F, <16 x i16> %G, <32 x i8> %H, ptr %loadptr) nounwind {
|
6 |
| -; X32-LABEL: f: |
7 |
| -; X32: # %bb.0: |
8 |
| -; X32-NEXT: pushl %ebp |
9 |
| -; X32-NEXT: movl %esp, %ebp |
10 |
| -; X32-NEXT: andl $-32, %esp |
11 |
| -; X32-NEXT: subl $32, %esp |
12 |
| -; X32-NEXT: vmovdqa 104(%ebp), %ymm3 |
13 |
| -; X32-NEXT: vmovdqa 72(%ebp), %ymm4 |
14 |
| -; X32-NEXT: vmovdqa 40(%ebp), %ymm5 |
15 |
| -; X32-NEXT: movl 8(%ebp), %ecx |
16 |
| -; X32-NEXT: movl 136(%ebp), %edx |
17 |
| -; X32-NEXT: movl (%edx), %eax |
18 |
| -; X32-NEXT: vaddps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0 |
19 |
| -; X32-NEXT: vmovntps %ymm0, (%ecx) |
20 |
| -; X32-NEXT: vpaddq {{\.?LCPI[0-9]+_[0-9]+}}, %ymm2, %ymm0 |
21 |
| -; X32-NEXT: addl (%edx), %eax |
22 |
| -; X32-NEXT: vmovntdq %ymm0, (%ecx) |
23 |
| -; X32-NEXT: vaddpd {{\.?LCPI[0-9]+_[0-9]+}}, %ymm1, %ymm0 |
24 |
| -; X32-NEXT: addl (%edx), %eax |
25 |
| -; X32-NEXT: vmovntpd %ymm0, (%ecx) |
26 |
| -; X32-NEXT: vpaddd {{\.?LCPI[0-9]+_[0-9]+}}, %ymm5, %ymm0 |
27 |
| -; X32-NEXT: addl (%edx), %eax |
28 |
| -; X32-NEXT: vmovntdq %ymm0, (%ecx) |
29 |
| -; X32-NEXT: vpaddw {{\.?LCPI[0-9]+_[0-9]+}}, %ymm4, %ymm0 |
30 |
| -; X32-NEXT: addl (%edx), %eax |
31 |
| -; X32-NEXT: vmovntdq %ymm0, (%ecx) |
32 |
| -; X32-NEXT: vpaddb {{\.?LCPI[0-9]+_[0-9]+}}, %ymm3, %ymm0 |
33 |
| -; X32-NEXT: addl (%edx), %eax |
34 |
| -; X32-NEXT: vmovntdq %ymm0, (%ecx) |
35 |
| -; X32-NEXT: movl %ebp, %esp |
36 |
| -; X32-NEXT: popl %ebp |
37 |
| -; X32-NEXT: vzeroupper |
38 |
| -; X32-NEXT: retl |
| 6 | +; X86-LABEL: f: |
| 7 | +; X86: # %bb.0: |
| 8 | +; X86-NEXT: pushl %ebp |
| 9 | +; X86-NEXT: movl %esp, %ebp |
| 10 | +; X86-NEXT: andl $-32, %esp |
| 11 | +; X86-NEXT: subl $32, %esp |
| 12 | +; X86-NEXT: vmovdqa 104(%ebp), %ymm3 |
| 13 | +; X86-NEXT: vmovdqa 72(%ebp), %ymm4 |
| 14 | +; X86-NEXT: vmovdqa 40(%ebp), %ymm5 |
| 15 | +; X86-NEXT: movl 8(%ebp), %ecx |
| 16 | +; X86-NEXT: movl 136(%ebp), %edx |
| 17 | +; X86-NEXT: movl (%edx), %eax |
| 18 | +; X86-NEXT: vaddps {{\.?LCPI[0-9]+_[0-9]+}}, %ymm0, %ymm0 |
| 19 | +; X86-NEXT: vmovntps %ymm0, (%ecx) |
| 20 | +; X86-NEXT: vpaddq {{\.?LCPI[0-9]+_[0-9]+}}, %ymm2, %ymm0 |
| 21 | +; X86-NEXT: addl (%edx), %eax |
| 22 | +; X86-NEXT: vmovntdq %ymm0, (%ecx) |
| 23 | +; X86-NEXT: vaddpd {{\.?LCPI[0-9]+_[0-9]+}}, %ymm1, %ymm0 |
| 24 | +; X86-NEXT: addl (%edx), %eax |
| 25 | +; X86-NEXT: vmovntpd %ymm0, (%ecx) |
| 26 | +; X86-NEXT: vpaddd {{\.?LCPI[0-9]+_[0-9]+}}, %ymm5, %ymm0 |
| 27 | +; X86-NEXT: addl (%edx), %eax |
| 28 | +; X86-NEXT: vmovntdq %ymm0, (%ecx) |
| 29 | +; X86-NEXT: vpaddw {{\.?LCPI[0-9]+_[0-9]+}}, %ymm4, %ymm0 |
| 30 | +; X86-NEXT: addl (%edx), %eax |
| 31 | +; X86-NEXT: vmovntdq %ymm0, (%ecx) |
| 32 | +; X86-NEXT: vpaddb {{\.?LCPI[0-9]+_[0-9]+}}, %ymm3, %ymm0 |
| 33 | +; X86-NEXT: addl (%edx), %eax |
| 34 | +; X86-NEXT: vmovntdq %ymm0, (%ecx) |
| 35 | +; X86-NEXT: movl %ebp, %esp |
| 36 | +; X86-NEXT: popl %ebp |
| 37 | +; X86-NEXT: vzeroupper |
| 38 | +; X86-NEXT: retl |
39 | 39 | ;
|
40 | 40 | ; X64-LABEL: f:
|
41 | 41 | ; X64: # %bb.0:
|
|
0 commit comments