File: pr30284.ll

package info (click to toggle)
llvm-toolchain-15 1%3A15.0.6-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,554,644 kB
  • sloc: cpp: 5,922,452; ansic: 1,012,136; asm: 674,362; python: 191,568; objc: 73,855; f90: 42,327; lisp: 31,913; pascal: 11,973; javascript: 10,144; sh: 9,421; perl: 7,447; ml: 5,527; awk: 3,523; makefile: 2,520; xml: 885; cs: 573; fortran: 567
file content (38 lines) | stat: -rw-r--r-- 2,008 bytes parent folder | download | duplicates (3)
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
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=i386-unknown-linux-gnu -mattr=avx512dq | FileCheck %s

define void @undef_cond() {
; CHECK-LABEL: undef_cond:
; CHECK:       # %bb.0:
; CHECK-NEXT:    retl
  %a_load22 = load <16 x i64>, ptr null, align 1
  %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>
  %v.i = load <16 x i64>, ptr null
  %v1.i41 = select <16 x i1> undef, <16 x i64> %bitop, <16 x i64> %v.i
  store <16 x i64> %v1.i41, ptr null
  ret void
}

define void @f_f___un_3C_unf_3E_un_3C_unf_3E_(<16 x i1> %x) {
; CHECK-LABEL: f_f___un_3C_unf_3E_un_3C_unf_3E_:
; CHECK:       # %bb.0:
; CHECK-NEXT:    vpmovsxbd %xmm0, %zmm0
; CHECK-NEXT:    vpslld $31, %zmm0, %zmm0
; CHECK-NEXT:    vpmovd2m %zmm0, %k1
; CHECK-NEXT:    vmovapd 0, %zmm0
; CHECK-NEXT:    vmovapd 64, %zmm1
; CHECK-NEXT:    vbroadcastsd {{.*#+}} zmm2 = [68719476736,68719476736,68719476736,68719476736,68719476736,68719476736,68719476736,68719476736]
; CHECK-NEXT:    kshiftrw $8, %k1, %k2
; CHECK-NEXT:    vorpd %zmm2, %zmm1, %zmm1 {%k2}
; CHECK-NEXT:    vorpd %zmm2, %zmm0, %zmm0 {%k1}
; CHECK-NEXT:    vmovapd %zmm0, 0
; CHECK-NEXT:    vmovapd %zmm1, 64
; CHECK-NEXT:    vzeroupper
; CHECK-NEXT:    retl
  %a_load22 = load <16 x i64>, ptr null, align 1
  %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>
  %v.i = load <16 x i64>, ptr null
  %v1.i41 = select <16 x i1> %x, <16 x i64> %bitop, <16 x i64> %v.i
  store <16 x i64> %v1.i41, ptr null
  ret void
}