Skip to content

Instantly share code, notes, and snippets.

@gnzlbg
Last active July 17, 2018 15:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gnzlbg/742e75c72b0b30c54269dca51e617653 to your computer and use it in GitHub Desktop.
Save gnzlbg/742e75c72b0b30c54269dca51e617653 to your computer and use it in GitHub Desktop.
source_filename = "example0-8787f43e282added376259c1adb08b80.rs"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define internal void @_ZN7example12_mm_blend_pd17h671a9f0d97e329d8E(<2 x double>* noalias nocapture sret dereferenceable(16), <2 x double>* noalias nocapture dereferenceable(16) %a, <2 x double>* noalias nocapture dereferenceable(16) %b, i32 %imm2) unnamed_addr #0 {
start:
%_4 = alloca i32, align 4
%1 = and i32 %imm2, 3
store i32 %1, i32* %_4, align 4
%2 = load i32, i32* %_4, align 4
switch i32 %2, label %bb4 [
i32 0, label %bb1
i32 1, label %bb2
i32 2, label %bb3
]
bb1: ; preds = %start
%3 = load <2 x double>, <2 x double>* %a, align 16
%4 = load <2 x double>, <2 x double>* %b, align 16
%5 = shufflevector <2 x double> %3, <2 x double> %4, <2 x i32> <i32 0, i32 1>
store <2 x double> %5, <2 x double>* %0, align 16
br label %bb6
bb2: ; preds = %start
%6 = load <2 x double>, <2 x double>* %a, align 16
%7 = load <2 x double>, <2 x double>* %b, align 16
%8 = shufflevector <2 x double> %6, <2 x double> %7, <2 x i32> <i32 2, i32 1>
store <2 x double> %8, <2 x double>* %0, align 16
br label %bb7
bb3: ; preds = %start
%9 = load <2 x double>, <2 x double>* %a, align 16
%10 = load <2 x double>, <2 x double>* %b, align 16
%11 = shufflevector <2 x double> %9, <2 x double> %10, <2 x i32> <i32 0, i32 3>
store <2 x double> %11, <2 x double>* %0, align 16
br label %bb8
bb4: ; preds = %start
%12 = load <2 x double>, <2 x double>* %a, align 16
%13 = load <2 x double>, <2 x double>* %b, align 16
%14 = shufflevector <2 x double> %12, <2 x double> %13, <2 x i32> <i32 2, i32 3>
store <2 x double> %14, <2 x double>* %0, align 16
br label %bb9
bb5: ; preds = %bb6, %bb7, %bb8, %bb9
ret void
bb6: ; preds = %bb1
br label %bb5
bb7: ; preds = %bb2
br label %bb5
bb8: ; preds = %bb3
br label %bb5
bb9: ; preds = %bb4
br label %bb5
}
define void @_ZN7example3foo17h9215301c4478de17E(<2 x double>* noalias nocapture sret dereferenceable(16), <2 x double>* noalias nocapture dereferenceable(16) %a, <2 x double>* noalias nocapture dereferenceable(16) %b) unnamed_addr #1 {
start:
%arg1 = alloca <2 x double>, align 16
%arg = alloca <2 x double>, align 16
%1 = load <2 x double>, <2 x double>* %a, align 16
%2 = load <2 x double>, <2 x double>* %b, align 16
store <2 x double> %1, <2 x double>* %arg, align 16
store <2 x double> %2, <2 x double>* %arg1, align 16
call void @_ZN7example12_mm_blend_pd17h671a9f0d97e329d8E(<2 x double>* noalias nocapture sret dereferenceable(16) %0, <2 x double>* noalias nocapture dereferenceable(16) %arg, <2 x double>* noalias nocapture dereferenceable(16) %arg1, i32 0)
br label %bb1
bb1: ; preds = %start
ret void
}
attributes #0 = { inlinehint nounwind "probe-stack"="__rust_probestack" "target-features"="+sse4.1" }
attributes #1 = { nounwind "probe-stack"="__rust_probestack" "target-features"="+sse4.1" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment