Advertisement
Guest User

Untitled

a guest
Dec 26th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 6.82 KB | None | 0 0
  1. ; Function Attrs: nounwind readonly
  2. define float @det([4 x [4 x float]]* nocapture readonly %var.3) local_unnamed_addr #1 !dbg !6 {
  3. label0:
  4.   call void @llvm.dbg.value(metadata [4 x [4 x float]]* %var.3, metadata !9, metadata !DIExpression()), !dbg !27
  5.   %var.37.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 0, i64 0, !dbg !29
  6.   %var.31.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 1, i64 1, !dbg !30
  7.   %var.50.i = load float, float* %var.37.i, align 4
  8.   call void @llvm.dbg.value(metadata float undef, metadata !31, metadata !DIExpression()), !dbg !32
  9.   %0 = bitcast float* %var.31.i to <2 x float>*
  10.   %1 = load <2 x float>, <2 x float>* %0, align 4
  11.   %2 = extractelement <2 x float> %1, i32 1
  12.   %var.60.i = fmul float %var.50.i, %2
  13.   call void @llvm.dbg.value(metadata float %var.60.i, metadata !33, metadata !DIExpression()), !dbg !34
  14.   %var.35.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 1, i64 3, !dbg !35
  15.   %var.67.i = load float, float* %var.35.i, align 4
  16.   %3 = insertelement <2 x float> undef, float %var.50.i, i32 0
  17.   %4 = shufflevector <2 x float> %3, <2 x float> undef, <2 x i32> zeroinitializer
  18.   %5 = insertelement <2 x float> undef, float %var.67.i, i32 0
  19.   %6 = shufflevector <2 x float> %5, <2 x float> %1, <2 x i32> <i32 0, i32 2>
  20.   %7 = fmul <2 x float> %4, %6
  21.   call void @llvm.dbg.value(metadata float undef, metadata !36, metadata !DIExpression()), !dbg !37
  22.   %var.39.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 0, i64 1, !dbg !38
  23.   %var.29.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 1, i64 0, !dbg !39
  24.   %var.75.i = load float, float* %var.29.i, align 4
  25.   call void @llvm.dbg.value(metadata float undef, metadata !40, metadata !DIExpression()), !dbg !41
  26.   call void @llvm.dbg.value(metadata float undef, metadata !42, metadata !DIExpression()), !dbg !43
  27.   call void @llvm.dbg.value(metadata float undef, metadata !44, metadata !DIExpression()), !dbg !45
  28.   %8 = bitcast float* %var.39.i to <2 x float>*
  29.   %9 = load <2 x float>, <2 x float>* %8, align 4
  30.   %10 = extractelement <2 x float> %9, i32 1
  31.   %var.100.i = fmul float %var.75.i, %10
  32.   call void @llvm.dbg.value(metadata float %var.100.i, metadata !46, metadata !DIExpression()), !dbg !47
  33.   %11 = fmul <2 x float> %6, %9
  34.   call void @llvm.dbg.value(metadata float undef, metadata !48, metadata !DIExpression()), !dbg !49
  35.   %var.116.i = fmul float %var.67.i, %10
  36.   call void @llvm.dbg.value(metadata float %var.116.i, metadata !50, metadata !DIExpression()), !dbg !51
  37.   %var.43.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 0, i64 3, !dbg !52
  38.   %var.122.i = load float, float* %var.43.i, align 4
  39.   %12 = insertelement <2 x float> undef, float %var.75.i, i32 0
  40.   %13 = shufflevector <2 x float> %12, <2 x float> undef, <2 x i32> zeroinitializer
  41.   %14 = insertelement <2 x float> undef, float %var.122.i, i32 0
  42.   %15 = shufflevector <2 x float> %14, <2 x float> %9, <2 x i32> <i32 0, i32 2>
  43.   %16 = fmul <2 x float> %13, %15
  44.   call void @llvm.dbg.value(metadata float undef, metadata !53, metadata !DIExpression()), !dbg !54
  45.   %17 = fmul <2 x float> %1, %15
  46.   call void @llvm.dbg.value(metadata float undef, metadata !55, metadata !DIExpression()), !dbg !56
  47.   %var.140.i = fmul float %2, %var.122.i
  48.   call void @llvm.dbg.value(metadata float %var.140.i, metadata !57, metadata !DIExpression()), !dbg !58
  49.   %var.144.i = fsub float %var.140.i, %var.116.i
  50.   %var.23.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 2, i64 1, !dbg !59
  51.   %18 = bitcast float* %var.23.i to <2 x float>*
  52.   %19 = load <2 x float>, <2 x float>* %18, align 4
  53.   %20 = extractelement <2 x float> %19, i32 0
  54.   %var.150.i = fmul float %20, %var.144.i
  55.   %21 = extractelement <2 x float> %17, i32 0
  56.   %22 = extractelement <2 x float> %11, i32 0
  57.   %var.154.i = fsub float %22, %21
  58.   %23 = extractelement <2 x float> %19, i32 1
  59.   %var.160.i = fmul float %var.154.i, %23
  60.   %var.164.i = fadd float %var.150.i, %var.160.i
  61.   %24 = extractelement <2 x float> %17, i32 1
  62.   %25 = extractelement <2 x float> %11, i32 1
  63.   %var.168.i = fsub float %25, %24
  64.   %var.27.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 2, i64 3, !dbg !60
  65.   %var.173.i = load float, float* %var.27.i, align 4
  66.   %var.174.i = fmul float %var.168.i, %var.173.i
  67.   %var.178.i = fadd float %var.164.i, %var.174.i
  68.   %var.13.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 3, i64 0, !dbg !61
  69.   %var.183.i = load float, float* %var.13.i, align 4
  70.   %var.184.i = fmul float %var.183.i, %var.178.i
  71.   %26 = extractelement <2 x float> %7, i32 0
  72.   %27 = extractelement <2 x float> %16, i32 0
  73.   %var.188.i = fsub float %27, %26
  74.   %var.194.i = fmul float %var.188.i, %23
  75.   %var.198.i = fsub float %var.60.i, %var.100.i
  76.   %var.204.i = fmul float %var.198.i, %var.173.i
  77.   %var.208.i = fadd float %var.194.i, %var.204.i
  78.   %var.212.i = fsub float %var.116.i, %var.140.i
  79.   %var.21.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 2, i64 0, !dbg !62
  80.   %var.217.i = load float, float* %var.21.i, align 4
  81.   %var.218.i = fmul float %var.212.i, %var.217.i
  82.   %var.222.i = fadd float %var.208.i, %var.218.i
  83.   %var.15.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 3, i64 1, !dbg !63
  84.   %var.227.i = load float, float* %var.15.i, align 4
  85.   %var.228.i = fmul float %var.227.i, %var.222.i
  86.   %var.232.i = fadd float %var.184.i, %var.228.i
  87.   %var.17.i = getelementptr [4 x [4 x float]], [4 x [4 x float]]* %var.3, i64 0, i64 3, i64 2, !dbg !64
  88.   %28 = fsub <2 x float> %17, %11
  89.   %29 = insertelement <2 x float> undef, float %var.217.i, i32 0
  90.   %30 = shufflevector <2 x float> %29, <2 x float> undef, <2 x i32> zeroinitializer
  91.   %31 = fmul <2 x float> %28, %30
  92.   %32 = extractelement <2 x float> %16, i32 1
  93.   %33 = insertelement <2 x float> undef, float %32, i32 0
  94.   %34 = insertelement <2 x float> %33, float %var.100.i, i32 1
  95.   %35 = extractelement <2 x float> %7, i32 1
  96.   %36 = insertelement <2 x float> undef, float %35, i32 0
  97.   %37 = insertelement <2 x float> %36, float %var.60.i, i32 1
  98.   %38 = fsub <2 x float> %34, %37
  99.   %39 = insertelement <2 x float> undef, float %var.173.i, i32 0
  100.   %40 = shufflevector <2 x float> %39, <2 x float> %19, <2 x i32> <i32 0, i32 2>
  101.   %41 = fmul <2 x float> %38, %40
  102.   %42 = fadd <2 x float> %41, %31
  103.   %43 = fsub <2 x float> %7, %16
  104.   %44 = fmul <2 x float> %19, %43
  105.   %45 = fadd <2 x float> %44, %42
  106.   %46 = bitcast float* %var.17.i to <2 x float>*
  107.   %47 = load <2 x float>, <2 x float>* %46, align 4
  108.   %48 = fmul <2 x float> %47, %45
  109.   %49 = extractelement <2 x float> %48, i32 0
  110.   %var.280.i = fadd float %var.232.i, %49
  111.   %50 = extractelement <2 x float> %48, i32 1
  112.   %var.328.i = fadd float %50, %var.280.i
  113.   ret float %var.328.i, !dbg !65
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement