• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mattr=avx512dq | FileCheck %s
3
4define void @undef_cond() {
5; CHECK-LABEL: undef_cond:
6; CHECK:       # %bb.0:
7; CHECK-NEXT:    retl
8  %a_load22 = load <16 x i64>, <16 x i64>* null, align 1
9  %bitop = or <16 x i64> %a_load22, <i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736>
10  %v.i = load <16 x i64>, <16 x i64>* null
11  %v1.i41 = select <16 x i1> undef, <16 x i64> %bitop, <16 x i64> %v.i
12  store <16 x i64> %v1.i41, <16 x i64>* null
13  ret void
14}
15
16define void @f_f___un_3C_unf_3E_un_3C_unf_3E_(<16 x i1> %x) {
17; CHECK-LABEL: f_f___un_3C_unf_3E_un_3C_unf_3E_:
18; CHECK:       # %bb.0:
19; CHECK-NEXT:    vpmovsxbd %xmm0, %zmm0
20; CHECK-NEXT:    vpslld $31, %zmm0, %zmm0
21; CHECK-NEXT:    vpmovd2m %zmm0, %k1
22; CHECK-NEXT:    vmovapd 0, %zmm0
23; CHECK-NEXT:    vmovapd 64, %zmm1
24; CHECK-NEXT:    vbroadcastsd {{.*#+}} zmm2 = [68719476736,68719476736,68719476736,68719476736,68719476736,68719476736,68719476736,68719476736]
25; CHECK-NEXT:    kshiftrw $8, %k1, %k2
26; CHECK-NEXT:    vorpd %zmm2, %zmm1, %zmm1 {%k2}
27; CHECK-NEXT:    vorpd %zmm2, %zmm0, %zmm0 {%k1}
28; CHECK-NEXT:    vmovapd %zmm0, 0
29; CHECK-NEXT:    vmovapd %zmm1, 64
30; CHECK-NEXT:    vzeroupper
31; CHECK-NEXT:    retl
32  %a_load22 = load <16 x i64>, <16 x i64>* null, align 1
33  %bitop = or <16 x i64> %a_load22, <i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736, i64 68719476736>
34  %v.i = load <16 x i64>, <16 x i64>* null
35  %v1.i41 = select <16 x i1> %x, <16 x i64> %bitop, <16 x i64> %v.i
36  store <16 x i64> %v1.i41, <16 x i64>* null
37  ret void
38}
39