xref: /llvm-project/llvm/test/CodeGen/X86/pr95274.ll (revision d2528c08bb6e58540672d19ac28293251b53386a)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2; RUN: llc < %s -mtriple=x86_64-- -mcpu=skylake-avx512 | FileCheck %s
3
4define void @PR95274(ptr %p0) nounwind {
5; CHECK-LABEL: PR95274:
6; CHECK:       # %bb.0:
7; CHECK-NEXT:    vcvtps2ph $4, %zmm0, %ymm0
8; CHECK-NEXT:    vinsertf64x4 $1, %ymm0, %zmm0, %zmm0
9; CHECK-NEXT:    vmovups %zmm0, 1984(%rdi)
10; CHECK-NEXT:    vmovups %zmm0, 1920(%rdi)
11; CHECK-NEXT:    vmovups %zmm0, 1856(%rdi)
12; CHECK-NEXT:    vmovups %zmm0, 1792(%rdi)
13; CHECK-NEXT:    vmovups %zmm0, 1728(%rdi)
14; CHECK-NEXT:    vmovups %zmm0, 1664(%rdi)
15; CHECK-NEXT:    vmovups %zmm0, 1600(%rdi)
16; CHECK-NEXT:    vmovups %zmm0, 1536(%rdi)
17; CHECK-NEXT:    vmovups %zmm0, 1472(%rdi)
18; CHECK-NEXT:    vmovups %zmm0, 1408(%rdi)
19; CHECK-NEXT:    vmovups %zmm0, 1344(%rdi)
20; CHECK-NEXT:    vmovups %zmm0, 1280(%rdi)
21; CHECK-NEXT:    vmovups %zmm0, 1216(%rdi)
22; CHECK-NEXT:    vmovups %zmm0, 1152(%rdi)
23; CHECK-NEXT:    vmovups %zmm0, 1088(%rdi)
24; CHECK-NEXT:    vmovups %zmm0, 1024(%rdi)
25; CHECK-NEXT:    vmovups %zmm0, 960(%rdi)
26; CHECK-NEXT:    vmovups %zmm0, 896(%rdi)
27; CHECK-NEXT:    vmovups %zmm0, 832(%rdi)
28; CHECK-NEXT:    vmovups %zmm0, 768(%rdi)
29; CHECK-NEXT:    vmovups %zmm0, 704(%rdi)
30; CHECK-NEXT:    vmovups %zmm0, 640(%rdi)
31; CHECK-NEXT:    vmovups %zmm0, 576(%rdi)
32; CHECK-NEXT:    vmovups %zmm0, 512(%rdi)
33; CHECK-NEXT:    vmovups %zmm0, 448(%rdi)
34; CHECK-NEXT:    vmovups %zmm0, 384(%rdi)
35; CHECK-NEXT:    vmovups %zmm0, 320(%rdi)
36; CHECK-NEXT:    vmovups %zmm0, 256(%rdi)
37; CHECK-NEXT:    vmovups %zmm0, 192(%rdi)
38; CHECK-NEXT:    vmovups %zmm0, 128(%rdi)
39; CHECK-NEXT:    vmovups %zmm0, 64(%rdi)
40; CHECK-NEXT:    vmovups %zmm0, (%rdi)
41; CHECK-NEXT:    vzeroupper
42; CHECK-NEXT:    retq
43  %load = load <1024 x float>, ptr %p0, align 2
44  %trunc = fptrunc <1024 x float> poison to <1024 x half>
45  store <1024 x half> %trunc, ptr %p0, align 2
46  ret void
47}
48