~pali/+junk/llvm-toolchain-3.7

« back to all changes in this revision

Viewing changes to test/CodeGen/X86/avx512-bugfix-23634.ll

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2015-07-15 17:51:08 UTC
  • Revision ID: package-import@ubuntu.com-20150715175108-l8mynwovkx4zx697
Tags: upstream-3.7~+rc2
ImportĀ upstreamĀ versionĀ 3.7~+rc2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-apple-darwin -mcpu=knl | FileCheck %s
 
2
 
 
3
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 
4
target triple = "x86_64-unknown-linux-gnu"
 
5
 
 
6
; CHECK-LABEL: f_fu
 
7
; CHECK-NOT: vpblend
 
8
; CHECK: vmovdqa32 {{.*}} {%k1}
 
9
 
 
10
define void @f_fu(float* %ret, float*  %aa, float %b) {
 
11
allocas:
 
12
  %ptr_cast_for_load = bitcast float* %aa to <16 x float>*
 
13
  %ptr_masked_load.39 = load <16 x float>, <16 x float>* %ptr_cast_for_load, align 4
 
14
  %b_load_to_int32 = fptosi float %b to i32
 
15
  %b_load_to_int32_broadcast_init = insertelement <16 x i32> undef, i32 %b_load_to_int32, i32 0
 
16
  %b_load_to_int32_broadcast = shufflevector <16 x i32> %b_load_to_int32_broadcast_init, <16 x i32> undef, <16 x i32> zeroinitializer
 
17
  %b_to_int32 = fptosi float %b to i32
 
18
  %b_to_int32_broadcast_init = insertelement <16 x i32> undef, i32 %b_to_int32, i32 0
 
19
  %b_to_int32_broadcast = shufflevector <16 x i32> %b_to_int32_broadcast_init, <16 x i32> undef, <16 x i32> zeroinitializer
 
20
 
 
21
  %a_load_to_int32 = fptosi <16 x float> %ptr_masked_load.39 to <16 x i32>
 
22
  %div_v019_load_ = sdiv <16 x i32> %b_to_int32_broadcast, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
 
23
 
 
24
  %v1.i = select <16 x i1> <i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true>, <16 x i32> <i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17>, <16 x i32> %a_load_to_int32
 
25
 
 
26
  %foo_test = add <16 x i32> %div_v019_load_, %b_load_to_int32_broadcast 
 
27
 
 
28
 
 
29
  %add_struct_offset_y_struct_offset33_x = add <16 x i32> %foo_test, %v1.i 
 
30
 
 
31
  %val = sitofp <16 x i32> %add_struct_offset_y_struct_offset33_x to <16 x float>
 
32
  %ptrcast = bitcast float* %ret to <16 x float>*
 
33
  store <16 x float> %val, <16 x float>* %ptrcast, align 4
 
34
  ret void
 
35
}
 
 
b'\\ No newline at end of file'