mirror of
https://github.com/vosen/ZLUDA.git
synced 2025-09-12 04:22:40 +00:00
Update broken tests (#489)
It seems like #484 broke the LLVM IR tests; this PR updates the .ll files to match what's now being produced.
This commit is contained in:
parent
4752fcdcf2
commit
08f7e874e3
132 changed files with 4283 additions and 4283 deletions
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @abs(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @abs(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr
|
%"48" = inttoptr i64 %"43" to ptr
|
||||||
%"39" = load i32, ptr %"45", align 4
|
%"42" = load i32, ptr %"48", align 4
|
||||||
store i32 %"39", ptr addrspace(5) %"35", align 4
|
store i32 %"42", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i32, ptr addrspace(5) %"35", align 4
|
%"45" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%2 = call i32 @llvm.abs.i32(i32 %"42", i1 false)
|
%2 = call i32 @llvm.abs.i32(i32 %"45", i1 false)
|
||||||
store i32 %2, ptr addrspace(5) %"36", align 4
|
store i32 %2, ptr addrspace(5) %"39", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"46" = inttoptr i64 %"43" to ptr
|
%"49" = inttoptr i64 %"46" to ptr
|
||||||
store i32 %"44", ptr %"46", align 4
|
store i32 %"47", ptr %"49", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,22 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_activemask() #0
|
declare hidden i32 @__zluda_ptx_impl_activemask() #0
|
||||||
|
|
||||||
define amdgpu_kernel void @activemask(ptr addrspace(4) byref(i64) %"29", ptr addrspace(4) byref(i64) %"30") #1 {
|
define amdgpu_kernel void @activemask(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #1 {
|
||||||
%"31" = alloca i64, align 8, addrspace(5)
|
%"34" = alloca i64, align 8, addrspace(5)
|
||||||
%"32" = alloca i32, align 4, addrspace(5)
|
%"35" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"28"
|
br label %"31"
|
||||||
|
|
||||||
"28": ; preds = %1
|
"31": ; preds = %1
|
||||||
%"33" = load i64, ptr addrspace(4) %"30", align 8
|
%"36" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"33", ptr addrspace(5) %"31", align 8
|
store i64 %"36", ptr addrspace(5) %"34", align 8
|
||||||
%"34" = call i32 @__zluda_ptx_impl_activemask()
|
%"37" = call i32 @__zluda_ptx_impl_activemask()
|
||||||
store i32 %"34", ptr addrspace(5) %"32", align 4
|
store i32 %"37", ptr addrspace(5) %"35", align 4
|
||||||
%"35" = load i64, ptr addrspace(5) %"31", align 8
|
%"38" = load i64, ptr addrspace(5) %"34", align 8
|
||||||
%"36" = load i32, ptr addrspace(5) %"32", align 4
|
%"39" = load i32, ptr addrspace(5) %"35", align 4
|
||||||
%"37" = inttoptr i64 %"35" to ptr
|
%"40" = inttoptr i64 %"38" to ptr
|
||||||
store i32 %"36", ptr %"37", align 4
|
store i32 %"39", ptr %"40", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @add(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @add(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr
|
%"49" = inttoptr i64 %"44" to ptr
|
||||||
%"40" = load i64, ptr %"46", align 8
|
%"43" = load i64, ptr %"49", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"42" = add i64 %"43", 1
|
%"45" = add i64 %"46", 1
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i64 %"45", ptr %"47", align 8
|
store i64 %"48", ptr %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @add_non_coherent(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @add_non_coherent(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr addrspace(1)
|
%"49" = inttoptr i64 %"44" to ptr addrspace(1)
|
||||||
%"40" = load i64, ptr addrspace(1) %"46", align 8
|
%"43" = load i64, ptr addrspace(1) %"49", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"42" = add i64 %"43", 1
|
%"45" = add i64 %"46", 1
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = inttoptr i64 %"44" to ptr addrspace(1)
|
%"50" = inttoptr i64 %"47" to ptr addrspace(1)
|
||||||
store i64 %"45", ptr addrspace(1) %"47", align 8
|
store i64 %"48", ptr addrspace(1) %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,46 +1,46 @@
|
||||||
define amdgpu_kernel void @add_s32_sat(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
define amdgpu_kernel void @add_s32_sat(ptr addrspace(4) byref(i64) %"40", ptr addrspace(4) byref(i64) %"41") #0 {
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"44" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"47" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"36"
|
br label %"39"
|
||||||
|
|
||||||
"36": ; preds = %1
|
"39": ; preds = %1
|
||||||
%"45" = load i64, ptr addrspace(4) %"37", align 8
|
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"39", align 8
|
store i64 %"48", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(4) %"38", align 8
|
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"40", align 8
|
store i64 %"49", ptr addrspace(5) %"43", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
%"51" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"61" = inttoptr i64 %"48" to ptr
|
%"64" = inttoptr i64 %"51" to ptr
|
||||||
%"47" = load i32, ptr %"61", align 4
|
%"50" = load i32, ptr %"64", align 4
|
||||||
store i32 %"47", ptr addrspace(5) %"41", align 4
|
store i32 %"50", ptr addrspace(5) %"44", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"39", align 8
|
%"52" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"62" = inttoptr i64 %"49" to ptr
|
%"65" = inttoptr i64 %"52" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"62", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"65", i64 4
|
||||||
%"50" = load i32, ptr %"33", align 4
|
%"53" = load i32, ptr %"36", align 4
|
||||||
store i32 %"50", ptr addrspace(5) %"42", align 4
|
store i32 %"53", ptr addrspace(5) %"45", align 4
|
||||||
%"52" = load i32, ptr addrspace(5) %"41", align 4
|
%"55" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"53" = load i32, ptr addrspace(5) %"42", align 4
|
%"56" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"51" = call i32 @llvm.sadd.sat.i32(i32 %"52", i32 %"53")
|
%"54" = call i32 @llvm.sadd.sat.i32(i32 %"55", i32 %"56")
|
||||||
store i32 %"51", ptr addrspace(5) %"43", align 4
|
store i32 %"54", ptr addrspace(5) %"46", align 4
|
||||||
%"55" = load i32, ptr addrspace(5) %"41", align 4
|
%"58" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"56" = load i32, ptr addrspace(5) %"42", align 4
|
%"59" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"54" = add i32 %"55", %"56"
|
%"57" = add i32 %"58", %"59"
|
||||||
store i32 %"54", ptr addrspace(5) %"44", align 4
|
store i32 %"57", ptr addrspace(5) %"47", align 4
|
||||||
%"57" = load i64, ptr addrspace(5) %"40", align 8
|
%"60" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"58" = load i32, ptr addrspace(5) %"43", align 4
|
%"61" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
%"63" = inttoptr i64 %"57" to ptr
|
%"66" = inttoptr i64 %"60" to ptr
|
||||||
store i32 %"58", ptr %"63", align 4
|
store i32 %"61", ptr %"66", align 4
|
||||||
%"59" = load i64, ptr addrspace(5) %"40", align 8
|
%"62" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"64" = inttoptr i64 %"59" to ptr
|
%"67" = inttoptr i64 %"62" to ptr
|
||||||
%"35" = getelementptr inbounds i8, ptr %"64", i64 4
|
%"38" = getelementptr inbounds i8, ptr %"67", i64 4
|
||||||
%"60" = load i32, ptr addrspace(5) %"44", align 4
|
%"63" = load i32, ptr addrspace(5) %"47", align 4
|
||||||
store i32 %"60", ptr %"35", align 4
|
store i32 %"63", ptr %"38", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @add_tuning(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @add_tuning(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr
|
%"49" = inttoptr i64 %"44" to ptr
|
||||||
%"40" = load i64, ptr %"46", align 8
|
%"43" = load i64, ptr %"49", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"42" = add i64 %"43", 1
|
%"45" = add i64 %"46", 1
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i64 %"45", ptr %"47", align 8
|
store i64 %"48", ptr %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @and(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @and(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"37", align 4
|
store i32 %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load i32, ptr %"31", align 4
|
%"47" = load i32, ptr %"34", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"38", align 4
|
store i32 %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"52" = and i32 %"46", %"47"
|
%"55" = and i32 %"49", %"50"
|
||||||
store i32 %"52", ptr addrspace(5) %"37", align 4
|
store i32 %"55", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"37", align 4
|
%"52" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"55" = inttoptr i64 %"48" to ptr
|
%"58" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"55", align 4
|
store i32 %"52", ptr %"58", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,62 +1,62 @@
|
||||||
declare hidden void @__zluda_ptx_impl___assertfail(i64, i64, i32, i64, i64) #0
|
declare hidden void @__zluda_ptx_impl___assertfail(i64, i64, i32, i64, i64) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @assertfail(ptr addrspace(4) byref(i64) %"86", ptr addrspace(4) byref(i64) %"87") #1 {
|
define amdgpu_kernel void @assertfail(ptr addrspace(4) byref(i64) %"89", ptr addrspace(4) byref(i64) %"90") #1 {
|
||||||
%"88" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"89" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"90" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"91" = alloca i64, align 8, addrspace(5)
|
%"91" = alloca i64, align 8, addrspace(5)
|
||||||
%"94" = alloca i32, align 4, addrspace(5)
|
%"92" = alloca i64, align 8, addrspace(5)
|
||||||
%"96" = alloca i64, align 8, addrspace(5)
|
%"93" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"94" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"97" = alloca i32, align 4, addrspace(5)
|
||||||
%"99" = alloca i64, align 8, addrspace(5)
|
%"99" = alloca i64, align 8, addrspace(5)
|
||||||
%"102" = alloca i32, align 4, addrspace(5)
|
%"102" = alloca i64, align 8, addrspace(5)
|
||||||
%"105" = alloca i64, align 8, addrspace(5)
|
%"105" = alloca i32, align 4, addrspace(5)
|
||||||
%"108" = alloca i64, align 8, addrspace(5)
|
%"108" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"111" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"84"
|
br label %"87"
|
||||||
|
|
||||||
"84": ; preds = %1
|
"87": ; preds = %1
|
||||||
%"92" = load i64, ptr addrspace(4) %"86", align 8
|
%"95" = load i64, ptr addrspace(4) %"89", align 8
|
||||||
store i64 %"92", ptr addrspace(5) %"88", align 8
|
store i64 %"95", ptr addrspace(5) %"91", align 8
|
||||||
%"93" = load i64, ptr addrspace(4) %"87", align 8
|
%"96" = load i64, ptr addrspace(4) %"90", align 8
|
||||||
store i64 %"93", ptr addrspace(5) %"89", align 8
|
store i64 %"96", ptr addrspace(5) %"92", align 8
|
||||||
store i32 0, ptr addrspace(5) %"94", align 4
|
store i32 0, ptr addrspace(5) %"97", align 4
|
||||||
%"97" = getelementptr inbounds i8, ptr addrspace(5) %"96", i64 0
|
|
||||||
%"98" = load i64, ptr addrspace(5) %"88", align 8
|
|
||||||
store i64 %"98", ptr addrspace(5) %"97", align 8
|
|
||||||
%"100" = getelementptr inbounds i8, ptr addrspace(5) %"99", i64 0
|
%"100" = getelementptr inbounds i8, ptr addrspace(5) %"99", i64 0
|
||||||
%"101" = load i64, ptr addrspace(5) %"88", align 8
|
%"101" = load i64, ptr addrspace(5) %"91", align 8
|
||||||
store i64 %"101", ptr addrspace(5) %"100", align 8
|
store i64 %"101", ptr addrspace(5) %"100", align 8
|
||||||
%"103" = getelementptr inbounds i8, ptr addrspace(5) %"102", i64 0
|
%"103" = getelementptr inbounds i8, ptr addrspace(5) %"102", i64 0
|
||||||
%"104" = load i32, ptr addrspace(5) %"94", align 4
|
%"104" = load i64, ptr addrspace(5) %"91", align 8
|
||||||
store i32 %"104", ptr addrspace(5) %"103", align 4
|
store i64 %"104", ptr addrspace(5) %"103", align 8
|
||||||
%"106" = getelementptr inbounds i8, ptr addrspace(5) %"105", i64 0
|
%"106" = getelementptr inbounds i8, ptr addrspace(5) %"105", i64 0
|
||||||
%"107" = load i64, ptr addrspace(5) %"88", align 8
|
%"107" = load i32, ptr addrspace(5) %"97", align 4
|
||||||
store i64 %"107", ptr addrspace(5) %"106", align 8
|
store i32 %"107", ptr addrspace(5) %"106", align 4
|
||||||
%"109" = getelementptr inbounds i8, ptr addrspace(5) %"108", i64 0
|
%"109" = getelementptr inbounds i8, ptr addrspace(5) %"108", i64 0
|
||||||
%"110" = load i64, ptr addrspace(5) %"88", align 8
|
%"110" = load i64, ptr addrspace(5) %"91", align 8
|
||||||
store i64 %"110", ptr addrspace(5) %"109", align 8
|
store i64 %"110", ptr addrspace(5) %"109", align 8
|
||||||
%"74" = load i64, ptr addrspace(5) %"96", align 8
|
%"112" = getelementptr inbounds i8, ptr addrspace(5) %"111", i64 0
|
||||||
%"75" = load i64, ptr addrspace(5) %"99", align 8
|
%"113" = load i64, ptr addrspace(5) %"91", align 8
|
||||||
%"76" = load i32, ptr addrspace(5) %"102", align 4
|
store i64 %"113", ptr addrspace(5) %"112", align 8
|
||||||
%"77" = load i64, ptr addrspace(5) %"105", align 8
|
%"77" = load i64, ptr addrspace(5) %"99", align 8
|
||||||
%"78" = load i64, ptr addrspace(5) %"108", align 8
|
%"78" = load i64, ptr addrspace(5) %"102", align 8
|
||||||
call void @__zluda_ptx_impl___assertfail(i64 %"74", i64 %"75", i32 %"76", i64 %"77", i64 %"78")
|
%"79" = load i32, ptr addrspace(5) %"105", align 4
|
||||||
br label %"85"
|
%"80" = load i64, ptr addrspace(5) %"108", align 8
|
||||||
|
%"81" = load i64, ptr addrspace(5) %"111", align 8
|
||||||
|
call void @__zluda_ptx_impl___assertfail(i64 %"77", i64 %"78", i32 %"79", i64 %"80", i64 %"81")
|
||||||
|
br label %"88"
|
||||||
|
|
||||||
"85": ; preds = %"84"
|
"88": ; preds = %"87"
|
||||||
%"112" = load i64, ptr addrspace(5) %"88", align 8
|
%"115" = load i64, ptr addrspace(5) %"91", align 8
|
||||||
%"122" = inttoptr i64 %"112" to ptr
|
%"125" = inttoptr i64 %"115" to ptr
|
||||||
%"111" = load i64, ptr %"122", align 8
|
%"114" = load i64, ptr %"125", align 8
|
||||||
store i64 %"111", ptr addrspace(5) %"90", align 8
|
store i64 %"114", ptr addrspace(5) %"93", align 8
|
||||||
%"114" = load i64, ptr addrspace(5) %"90", align 8
|
%"117" = load i64, ptr addrspace(5) %"93", align 8
|
||||||
%"113" = add i64 %"114", 1
|
%"116" = add i64 %"117", 1
|
||||||
store i64 %"113", ptr addrspace(5) %"91", align 8
|
store i64 %"116", ptr addrspace(5) %"94", align 8
|
||||||
%"115" = load i64, ptr addrspace(5) %"89", align 8
|
%"118" = load i64, ptr addrspace(5) %"92", align 8
|
||||||
%"116" = load i64, ptr addrspace(5) %"91", align 8
|
%"119" = load i64, ptr addrspace(5) %"94", align 8
|
||||||
%"123" = inttoptr i64 %"115" to ptr
|
%"126" = inttoptr i64 %"118" to ptr
|
||||||
store i64 %"116", ptr %"123", align 8
|
store i64 %"119", ptr %"126", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,45 +1,45 @@
|
||||||
@shared_mem = external addrspace(3) global [1024 x i8], align 4
|
@shared_mem = external addrspace(3) global [1024 x i8], align 4
|
||||||
|
|
||||||
define amdgpu_kernel void @atom_add(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
define amdgpu_kernel void @atom_add(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"35"
|
br label %"38"
|
||||||
|
|
||||||
"35": ; preds = %1
|
"38": ; preds = %1
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
%"46" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"39", align 8
|
store i64 %"46", ptr addrspace(5) %"42", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
%"48" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"56" = inttoptr i64 %"45" to ptr
|
%"59" = inttoptr i64 %"48" to ptr
|
||||||
%"44" = load i32, ptr %"56", align 4
|
%"47" = load i32, ptr %"59", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"40", align 4
|
store i32 %"47", ptr addrspace(5) %"43", align 4
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"57" = inttoptr i64 %"46" to ptr
|
%"60" = inttoptr i64 %"49" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"57", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"60", i64 4
|
||||||
%"47" = load i32, ptr %"32", align 4
|
%"50" = load i32, ptr %"35", align 4
|
||||||
store i32 %"47", ptr addrspace(5) %"41", align 4
|
store i32 %"50", ptr addrspace(5) %"44", align 4
|
||||||
%"48" = load i32, ptr addrspace(5) %"40", align 4
|
%"51" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
store i32 %"48", ptr addrspace(3) @shared_mem, align 4
|
store i32 %"51", ptr addrspace(3) @shared_mem, align 4
|
||||||
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
%"53" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%2 = atomicrmw add ptr addrspace(3) @shared_mem, i32 %"50" syncscope("agent-one-as") monotonic, align 4
|
%2 = atomicrmw add ptr addrspace(3) @shared_mem, i32 %"53" syncscope("agent-one-as") monotonic, align 4
|
||||||
store i32 %2, ptr addrspace(5) %"40", align 4
|
store i32 %2, ptr addrspace(5) %"43", align 4
|
||||||
%"51" = load i32, ptr addrspace(3) @shared_mem, align 4
|
%"54" = load i32, ptr addrspace(3) @shared_mem, align 4
|
||||||
store i32 %"51", ptr addrspace(5) %"41", align 4
|
store i32 %"54", ptr addrspace(5) %"44", align 4
|
||||||
%"52" = load i64, ptr addrspace(5) %"39", align 8
|
%"55" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"53" = load i32, ptr addrspace(5) %"40", align 4
|
%"56" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"61" = inttoptr i64 %"52" to ptr
|
%"64" = inttoptr i64 %"55" to ptr
|
||||||
store i32 %"53", ptr %"61", align 4
|
store i32 %"56", ptr %"64", align 4
|
||||||
%"54" = load i64, ptr addrspace(5) %"39", align 8
|
%"57" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"62" = inttoptr i64 %"54" to ptr
|
%"65" = inttoptr i64 %"57" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"62", i64 4
|
%"37" = getelementptr inbounds i8, ptr %"65", i64 4
|
||||||
%"55" = load i32, ptr addrspace(5) %"41", align 4
|
%"58" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
store i32 %"55", ptr %"34", align 4
|
store i32 %"58", ptr %"37", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,45 +1,45 @@
|
||||||
@shared_mem = external addrspace(3) global [1024 x i8], align 4
|
@shared_mem = external addrspace(3) global [1024 x i8], align 4
|
||||||
|
|
||||||
define amdgpu_kernel void @atom_add_float(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
define amdgpu_kernel void @atom_add_float(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca float, align 4, addrspace(5)
|
%"43" = alloca float, align 4, addrspace(5)
|
||||||
%"41" = alloca float, align 4, addrspace(5)
|
%"44" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"35"
|
br label %"38"
|
||||||
|
|
||||||
"35": ; preds = %1
|
"38": ; preds = %1
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
%"46" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"39", align 8
|
store i64 %"46", ptr addrspace(5) %"42", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
%"48" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"56" = inttoptr i64 %"45" to ptr
|
%"59" = inttoptr i64 %"48" to ptr
|
||||||
%"44" = load float, ptr %"56", align 4
|
%"47" = load float, ptr %"59", align 4
|
||||||
store float %"44", ptr addrspace(5) %"40", align 4
|
store float %"47", ptr addrspace(5) %"43", align 4
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"57" = inttoptr i64 %"46" to ptr
|
%"60" = inttoptr i64 %"49" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"57", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"60", i64 4
|
||||||
%"47" = load float, ptr %"32", align 4
|
%"50" = load float, ptr %"35", align 4
|
||||||
store float %"47", ptr addrspace(5) %"41", align 4
|
store float %"50", ptr addrspace(5) %"44", align 4
|
||||||
%"48" = load float, ptr addrspace(5) %"40", align 4
|
%"51" = load float, ptr addrspace(5) %"43", align 4
|
||||||
store float %"48", ptr addrspace(3) @shared_mem, align 4
|
store float %"51", ptr addrspace(3) @shared_mem, align 4
|
||||||
%"50" = load float, ptr addrspace(5) %"41", align 4
|
%"53" = load float, ptr addrspace(5) %"44", align 4
|
||||||
%2 = atomicrmw fadd ptr addrspace(3) @shared_mem, float %"50" syncscope("agent-one-as") monotonic, align 4
|
%2 = atomicrmw fadd ptr addrspace(3) @shared_mem, float %"53" syncscope("agent-one-as") monotonic, align 4
|
||||||
store float %2, ptr addrspace(5) %"40", align 4
|
store float %2, ptr addrspace(5) %"43", align 4
|
||||||
%"51" = load float, ptr addrspace(3) @shared_mem, align 4
|
%"54" = load float, ptr addrspace(3) @shared_mem, align 4
|
||||||
store float %"51", ptr addrspace(5) %"41", align 4
|
store float %"54", ptr addrspace(5) %"44", align 4
|
||||||
%"52" = load i64, ptr addrspace(5) %"39", align 8
|
%"55" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"53" = load float, ptr addrspace(5) %"40", align 4
|
%"56" = load float, ptr addrspace(5) %"43", align 4
|
||||||
%"61" = inttoptr i64 %"52" to ptr
|
%"64" = inttoptr i64 %"55" to ptr
|
||||||
store float %"53", ptr %"61", align 4
|
store float %"56", ptr %"64", align 4
|
||||||
%"54" = load i64, ptr addrspace(5) %"39", align 8
|
%"57" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"62" = inttoptr i64 %"54" to ptr
|
%"65" = inttoptr i64 %"57" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"62", i64 4
|
%"37" = getelementptr inbounds i8, ptr %"65", i64 4
|
||||||
%"55" = load float, ptr addrspace(5) %"41", align 4
|
%"58" = load float, ptr addrspace(5) %"44", align 4
|
||||||
store float %"55", ptr %"34", align 4
|
store float %"58", ptr %"37", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
define amdgpu_kernel void @atom_cas(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
define amdgpu_kernel void @atom_cas(ptr addrspace(4) byref(i64) %"41", ptr addrspace(4) byref(i64) %"42") #0 {
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"37"
|
br label %"40"
|
||||||
|
|
||||||
"37": ; preds = %1
|
"40": ; preds = %1
|
||||||
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
%"47" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"40", align 8
|
store i64 %"47", ptr addrspace(5) %"43", align 8
|
||||||
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
%"48" = load i64, ptr addrspace(4) %"42", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"41", align 8
|
store i64 %"48", ptr addrspace(5) %"44", align 8
|
||||||
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
%"50" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"57" = inttoptr i64 %"47" to ptr
|
%"60" = inttoptr i64 %"50" to ptr
|
||||||
%"46" = load i32, ptr %"57", align 4
|
%"49" = load i32, ptr %"60", align 4
|
||||||
store i32 %"46", ptr addrspace(5) %"42", align 4
|
store i32 %"49", ptr addrspace(5) %"45", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
%"51" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"58" = inttoptr i64 %"48" to ptr
|
|
||||||
%"31" = getelementptr inbounds i8, ptr %"58", i64 4
|
|
||||||
%"50" = load i32, ptr addrspace(5) %"42", align 4
|
|
||||||
%2 = cmpxchg ptr %"31", i32 %"50", i32 100 syncscope("agent-one-as") monotonic monotonic, align 4
|
|
||||||
%"59" = extractvalue { i32, i1 } %2, 0
|
|
||||||
store i32 %"59", ptr addrspace(5) %"42", align 4
|
|
||||||
%"51" = load i64, ptr addrspace(5) %"40", align 8
|
|
||||||
%"61" = inttoptr i64 %"51" to ptr
|
%"61" = inttoptr i64 %"51" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"61", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"61", i64 4
|
||||||
%"52" = load i32, ptr %"34", align 4
|
%"53" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
store i32 %"52", ptr addrspace(5) %"43", align 4
|
%2 = cmpxchg ptr %"34", i32 %"53", i32 100 syncscope("agent-one-as") monotonic monotonic, align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"41", align 8
|
%"62" = extractvalue { i32, i1 } %2, 0
|
||||||
%"54" = load i32, ptr addrspace(5) %"42", align 4
|
store i32 %"62", ptr addrspace(5) %"45", align 4
|
||||||
%"62" = inttoptr i64 %"53" to ptr
|
%"54" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
store i32 %"54", ptr %"62", align 4
|
%"64" = inttoptr i64 %"54" to ptr
|
||||||
%"55" = load i64, ptr addrspace(5) %"41", align 8
|
%"37" = getelementptr inbounds i8, ptr %"64", i64 4
|
||||||
%"63" = inttoptr i64 %"55" to ptr
|
%"55" = load i32, ptr %"37", align 4
|
||||||
%"36" = getelementptr inbounds i8, ptr %"63", i64 4
|
store i32 %"55", ptr addrspace(5) %"46", align 4
|
||||||
%"56" = load i32, ptr addrspace(5) %"43", align 4
|
%"56" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
store i32 %"56", ptr %"36", align 4
|
%"57" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
|
%"65" = inttoptr i64 %"56" to ptr
|
||||||
|
store i32 %"57", ptr %"65", align 4
|
||||||
|
%"58" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
|
%"66" = inttoptr i64 %"58" to ptr
|
||||||
|
%"39" = getelementptr inbounds i8, ptr %"66", i64 4
|
||||||
|
%"59" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
|
store i32 %"59", ptr %"39", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,45 +1,45 @@
|
||||||
define amdgpu_kernel void @atom_inc(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
define amdgpu_kernel void @atom_inc(ptr addrspace(4) byref(i64) %"41", ptr addrspace(4) byref(i64) %"42") #0 {
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
%"44" = alloca i32, align 4, addrspace(5)
|
%"47" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"37"
|
br label %"40"
|
||||||
|
|
||||||
"37": ; preds = %1
|
"40": ; preds = %1
|
||||||
%"45" = load i64, ptr addrspace(4) %"38", align 8
|
%"48" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"40", align 8
|
store i64 %"48", ptr addrspace(5) %"43", align 8
|
||||||
%"46" = load i64, ptr addrspace(4) %"39", align 8
|
%"49" = load i64, ptr addrspace(4) %"42", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"41", align 8
|
store i64 %"49", ptr addrspace(5) %"44", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
%"51" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"59" = inttoptr i64 %"48" to ptr
|
%"62" = inttoptr i64 %"51" to ptr
|
||||||
%2 = atomicrmw uinc_wrap ptr %"59", i32 101 syncscope("agent-one-as") monotonic, align 4
|
%2 = atomicrmw uinc_wrap ptr %"62", i32 101 syncscope("agent-one-as") monotonic, align 4
|
||||||
store i32 %2, ptr addrspace(5) %"42", align 4
|
store i32 %2, ptr addrspace(5) %"45", align 4
|
||||||
%"50" = load i64, ptr addrspace(5) %"40", align 8
|
%"53" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"60" = inttoptr i64 %"50" to ptr addrspace(1)
|
%"63" = inttoptr i64 %"53" to ptr addrspace(1)
|
||||||
%3 = atomicrmw uinc_wrap ptr addrspace(1) %"60", i32 101 syncscope("agent-one-as") monotonic, align 4
|
%3 = atomicrmw uinc_wrap ptr addrspace(1) %"63", i32 101 syncscope("agent-one-as") monotonic, align 4
|
||||||
store i32 %3, ptr addrspace(5) %"43", align 4
|
store i32 %3, ptr addrspace(5) %"46", align 4
|
||||||
%"52" = load i64, ptr addrspace(5) %"40", align 8
|
%"55" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"61" = inttoptr i64 %"52" to ptr
|
%"64" = inttoptr i64 %"55" to ptr
|
||||||
%"51" = load i32, ptr %"61", align 4
|
%"54" = load i32, ptr %"64", align 4
|
||||||
store i32 %"51", ptr addrspace(5) %"44", align 4
|
store i32 %"54", ptr addrspace(5) %"47", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"41", align 8
|
%"56" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"54" = load i32, ptr addrspace(5) %"42", align 4
|
%"57" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"62" = inttoptr i64 %"53" to ptr
|
%"65" = inttoptr i64 %"56" to ptr
|
||||||
store i32 %"54", ptr %"62", align 4
|
store i32 %"57", ptr %"65", align 4
|
||||||
%"55" = load i64, ptr addrspace(5) %"41", align 8
|
%"58" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"63" = inttoptr i64 %"55" to ptr
|
%"66" = inttoptr i64 %"58" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"63", i64 4
|
%"37" = getelementptr inbounds i8, ptr %"66", i64 4
|
||||||
%"56" = load i32, ptr addrspace(5) %"43", align 4
|
%"59" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
store i32 %"56", ptr %"34", align 4
|
store i32 %"59", ptr %"37", align 4
|
||||||
%"57" = load i64, ptr addrspace(5) %"41", align 8
|
%"60" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"64" = inttoptr i64 %"57" to ptr
|
%"67" = inttoptr i64 %"60" to ptr
|
||||||
%"36" = getelementptr inbounds i8, ptr %"64", i64 8
|
%"39" = getelementptr inbounds i8, ptr %"67", i64 8
|
||||||
%"58" = load i32, ptr addrspace(5) %"44", align 4
|
%"61" = load i32, ptr addrspace(5) %"47", align 4
|
||||||
store i32 %"58", ptr %"36", align 4
|
store i32 %"61", ptr %"39", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @b64tof64(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @b64tof64(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca double, align 8, addrspace(5)
|
%"36" = alloca double, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load double, ptr addrspace(4) %"31", align 8
|
%"40" = load double, ptr addrspace(4) %"34", align 8
|
||||||
store double %"37", ptr addrspace(5) %"33", align 8
|
store double %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"35", align 8
|
store i64 %"41", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load double, ptr addrspace(5) %"33", align 8
|
%"43" = load double, ptr addrspace(5) %"36", align 8
|
||||||
%"46" = bitcast double %"40" to i64
|
%"49" = bitcast double %"43" to i64
|
||||||
store i64 %"46", ptr addrspace(5) %"34", align 8
|
store i64 %"49", ptr addrspace(5) %"37", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"47" = inttoptr i64 %"42" to ptr
|
%"50" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i64, ptr %"47", align 8
|
%"44" = load i64, ptr %"50", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
store i64 %"44", ptr %"48", align 8
|
store i64 %"47", ptr %"51", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,116 +4,116 @@ declare hidden i1 @__zluda_ptx_impl_bar_red_or_pred(i32, i1, i1) #0
|
||||||
|
|
||||||
declare hidden i32 @__zluda_ptx_impl_sreg_tid(i8) #0
|
declare hidden i32 @__zluda_ptx_impl_sreg_tid(i8) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @bar_red_and_pred(ptr addrspace(4) byref(i64) %"73", ptr addrspace(4) byref(i64) %"74") #1 {
|
define amdgpu_kernel void @bar_red_and_pred(ptr addrspace(4) byref(i64) %"76", ptr addrspace(4) byref(i64) %"77") #1 {
|
||||||
%"75" = alloca i64, align 8, addrspace(5)
|
%"78" = alloca i64, align 8, addrspace(5)
|
||||||
%"76" = alloca i64, align 8, addrspace(5)
|
%"79" = alloca i64, align 8, addrspace(5)
|
||||||
%"77" = alloca i32, align 4, addrspace(5)
|
%"80" = alloca i32, align 4, addrspace(5)
|
||||||
%"78" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"79" = alloca i1, align 1, addrspace(5)
|
|
||||||
%"80" = alloca i1, align 1, addrspace(5)
|
|
||||||
%"81" = alloca i32, align 4, addrspace(5)
|
%"81" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"82" = alloca i1, align 1, addrspace(5)
|
||||||
|
%"83" = alloca i1, align 1, addrspace(5)
|
||||||
|
%"84" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"70"
|
br label %"73"
|
||||||
|
|
||||||
"70": ; preds = %1
|
"73": ; preds = %1
|
||||||
%"82" = load i64, ptr addrspace(4) %"74", align 8
|
%"85" = load i64, ptr addrspace(4) %"77", align 8
|
||||||
store i64 %"82", ptr addrspace(5) %"75", align 8
|
store i64 %"85", ptr addrspace(5) %"78", align 8
|
||||||
%"44" = call i32 @__zluda_ptx_impl_sreg_tid(i8 0)
|
%"47" = call i32 @__zluda_ptx_impl_sreg_tid(i8 0)
|
||||||
br label %"71"
|
br label %"74"
|
||||||
|
|
||||||
"71": ; preds = %"70"
|
"74": ; preds = %"73"
|
||||||
store i32 %"44", ptr addrspace(5) %"77", align 4
|
store i32 %"47", ptr addrspace(5) %"80", align 4
|
||||||
%"85" = load i32, ptr addrspace(5) %"77", align 4
|
%"88" = load i32, ptr addrspace(5) %"80", align 4
|
||||||
%"84" = urem i32 %"85", 2
|
%"87" = urem i32 %"88", 2
|
||||||
store i32 %"84", ptr addrspace(5) %"78", align 4
|
store i32 %"87", ptr addrspace(5) %"81", align 4
|
||||||
%"87" = load i32, ptr addrspace(5) %"78", align 4
|
%"90" = load i32, ptr addrspace(5) %"81", align 4
|
||||||
%2 = icmp eq i32 %"87", 0
|
%2 = icmp eq i32 %"90", 0
|
||||||
store i1 %2, ptr addrspace(5) %"80", align 1
|
store i1 %2, ptr addrspace(5) %"83", align 1
|
||||||
store i32 0, ptr addrspace(5) %"81", align 4
|
store i32 0, ptr addrspace(5) %"84", align 4
|
||||||
%"90" = load i1, ptr addrspace(5) %"80", align 1
|
%"93" = load i1, ptr addrspace(5) %"83", align 1
|
||||||
%"89" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"90", i1 false)
|
%"92" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"93", i1 false)
|
||||||
store i1 %"89", ptr addrspace(5) %"79", align 1
|
store i1 %"92", ptr addrspace(5) %"82", align 1
|
||||||
%"91" = load i1, ptr addrspace(5) %"79", align 1
|
%"94" = load i1, ptr addrspace(5) %"82", align 1
|
||||||
br i1 %"91", label %"17", label %"18"
|
br i1 %"94", label %"18", label %"19"
|
||||||
|
|
||||||
"17": ; preds = %"71"
|
"18": ; preds = %"74"
|
||||||
%"93" = load i32, ptr addrspace(5) %"81", align 4
|
%"96" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"92" = add i32 %"93", 1
|
%"95" = add i32 %"96", 1
|
||||||
store i32 %"92", ptr addrspace(5) %"81", align 4
|
store i32 %"95", ptr addrspace(5) %"84", align 4
|
||||||
br label %"18"
|
br label %"19"
|
||||||
|
|
||||||
"18": ; preds = %"17", %"71"
|
"19": ; preds = %"18", %"74"
|
||||||
%"95" = load i1, ptr addrspace(5) %"80", align 1
|
%"98" = load i1, ptr addrspace(5) %"83", align 1
|
||||||
%"94" = call i1 @__zluda_ptx_impl_bar_red_or_pred(i32 1, i1 %"95", i1 false)
|
%"97" = call i1 @__zluda_ptx_impl_bar_red_or_pred(i32 1, i1 %"98", i1 false)
|
||||||
store i1 %"94", ptr addrspace(5) %"79", align 1
|
store i1 %"97", ptr addrspace(5) %"82", align 1
|
||||||
%"96" = load i1, ptr addrspace(5) %"79", align 1
|
%"99" = load i1, ptr addrspace(5) %"82", align 1
|
||||||
br i1 %"96", label %"19", label %"20"
|
br i1 %"99", label %"20", label %"21"
|
||||||
|
|
||||||
"19": ; preds = %"18"
|
"20": ; preds = %"19"
|
||||||
%"98" = load i32, ptr addrspace(5) %"81", align 4
|
%"101" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"97" = add i32 %"98", 1
|
%"100" = add i32 %"101", 1
|
||||||
store i32 %"97", ptr addrspace(5) %"81", align 4
|
store i32 %"100", ptr addrspace(5) %"84", align 4
|
||||||
br label %"20"
|
br label %"21"
|
||||||
|
|
||||||
"20": ; preds = %"19", %"18"
|
"21": ; preds = %"20", %"19"
|
||||||
store i1 true, ptr addrspace(5) %"80", align 1
|
store i1 true, ptr addrspace(5) %"83", align 1
|
||||||
%"101" = load i1, ptr addrspace(5) %"80", align 1
|
%"104" = load i1, ptr addrspace(5) %"83", align 1
|
||||||
%"100" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"101", i1 false)
|
%"103" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"104", i1 false)
|
||||||
store i1 %"100", ptr addrspace(5) %"79", align 1
|
store i1 %"103", ptr addrspace(5) %"82", align 1
|
||||||
%"102" = load i1, ptr addrspace(5) %"79", align 1
|
%"105" = load i1, ptr addrspace(5) %"82", align 1
|
||||||
br i1 %"102", label %"21", label %"22"
|
br i1 %"105", label %"22", label %"23"
|
||||||
|
|
||||||
"21": ; preds = %"20"
|
"22": ; preds = %"21"
|
||||||
%"104" = load i32, ptr addrspace(5) %"81", align 4
|
%"107" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"103" = add i32 %"104", 1
|
%"106" = add i32 %"107", 1
|
||||||
store i32 %"103", ptr addrspace(5) %"81", align 4
|
store i32 %"106", ptr addrspace(5) %"84", align 4
|
||||||
br label %"22"
|
br label %"23"
|
||||||
|
|
||||||
"22": ; preds = %"21", %"20"
|
"23": ; preds = %"22", %"21"
|
||||||
store i1 false, ptr addrspace(5) %"80", align 1
|
store i1 false, ptr addrspace(5) %"83", align 1
|
||||||
%"107" = load i1, ptr addrspace(5) %"80", align 1
|
%"110" = load i1, ptr addrspace(5) %"83", align 1
|
||||||
%"106" = call i1 @__zluda_ptx_impl_bar_red_or_pred(i32 1, i1 %"107", i1 false)
|
%"109" = call i1 @__zluda_ptx_impl_bar_red_or_pred(i32 1, i1 %"110", i1 false)
|
||||||
store i1 %"106", ptr addrspace(5) %"79", align 1
|
store i1 %"109", ptr addrspace(5) %"82", align 1
|
||||||
%"108" = load i1, ptr addrspace(5) %"79", align 1
|
%"111" = load i1, ptr addrspace(5) %"82", align 1
|
||||||
br i1 %"108", label %"23", label %"24"
|
br i1 %"111", label %"24", label %"25"
|
||||||
|
|
||||||
"23": ; preds = %"22"
|
"24": ; preds = %"23"
|
||||||
%"110" = load i32, ptr addrspace(5) %"81", align 4
|
%"113" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"109" = add i32 %"110", 1
|
%"112" = add i32 %"113", 1
|
||||||
store i32 %"109", ptr addrspace(5) %"81", align 4
|
store i32 %"112", ptr addrspace(5) %"84", align 4
|
||||||
br label %"24"
|
br label %"25"
|
||||||
|
|
||||||
"24": ; preds = %"23", %"22"
|
"25": ; preds = %"24", %"23"
|
||||||
store i1 true, ptr addrspace(5) %"80", align 1
|
store i1 true, ptr addrspace(5) %"83", align 1
|
||||||
%"113" = load i1, ptr addrspace(5) %"80", align 1
|
%"116" = load i1, ptr addrspace(5) %"83", align 1
|
||||||
%"112" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"113", i1 true)
|
%"115" = call i1 @__zluda_ptx_impl_bar_red_and_pred(i32 1, i1 %"116", i1 true)
|
||||||
store i1 %"112", ptr addrspace(5) %"79", align 1
|
store i1 %"115", ptr addrspace(5) %"82", align 1
|
||||||
%"114" = load i1, ptr addrspace(5) %"79", align 1
|
%"117" = load i1, ptr addrspace(5) %"82", align 1
|
||||||
br i1 %"114", label %"25", label %"26"
|
br i1 %"117", label %"26", label %"27"
|
||||||
|
|
||||||
"25": ; preds = %"24"
|
"26": ; preds = %"25"
|
||||||
%"116" = load i32, ptr addrspace(5) %"81", align 4
|
%"119" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"115" = add i32 %"116", 1
|
%"118" = add i32 %"119", 1
|
||||||
store i32 %"115", ptr addrspace(5) %"81", align 4
|
store i32 %"118", ptr addrspace(5) %"84", align 4
|
||||||
br label %"26"
|
br label %"27"
|
||||||
|
|
||||||
"26": ; preds = %"25", %"24"
|
"27": ; preds = %"26", %"25"
|
||||||
%"118" = load i32, ptr addrspace(5) %"77", align 4
|
%"121" = load i32, ptr addrspace(5) %"80", align 4
|
||||||
%"117" = zext i32 %"118" to i64
|
%"120" = zext i32 %"121" to i64
|
||||||
store i64 %"117", ptr addrspace(5) %"76", align 8
|
store i64 %"120", ptr addrspace(5) %"79", align 8
|
||||||
%"120" = load i64, ptr addrspace(5) %"76", align 8
|
%"123" = load i64, ptr addrspace(5) %"79", align 8
|
||||||
%"119" = mul i64 %"120", 4
|
%"122" = mul i64 %"123", 4
|
||||||
store i64 %"119", ptr addrspace(5) %"76", align 8
|
store i64 %"122", ptr addrspace(5) %"79", align 8
|
||||||
%"122" = load i64, ptr addrspace(5) %"75", align 8
|
%"125" = load i64, ptr addrspace(5) %"78", align 8
|
||||||
%"123" = load i64, ptr addrspace(5) %"76", align 8
|
%"126" = load i64, ptr addrspace(5) %"79", align 8
|
||||||
%"121" = add i64 %"122", %"123"
|
%"124" = add i64 %"125", %"126"
|
||||||
store i64 %"121", ptr addrspace(5) %"75", align 8
|
store i64 %"124", ptr addrspace(5) %"78", align 8
|
||||||
%"124" = load i64, ptr addrspace(5) %"75", align 8
|
%"127" = load i64, ptr addrspace(5) %"78", align 8
|
||||||
%"125" = load i32, ptr addrspace(5) %"81", align 4
|
%"128" = load i32, ptr addrspace(5) %"84", align 4
|
||||||
%"126" = inttoptr i64 %"124" to ptr
|
%"129" = inttoptr i64 %"127" to ptr
|
||||||
store i32 %"125", ptr %"126", align 4
|
store i32 %"128", ptr %"129", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,44 +1,44 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_bfe_u32(i32, i32, i32) #0
|
declare hidden i32 @__zluda_ptx_impl_bfe_u32(i32, i32, i32) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @bfe(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #1 {
|
define amdgpu_kernel void @bfe(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #1 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"35"
|
br label %"38"
|
||||||
|
|
||||||
"35": ; preds = %1
|
"38": ; preds = %1
|
||||||
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
%"46" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"38", align 8
|
store i64 %"46", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
%"47" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"39", align 8
|
store i64 %"47", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"57" = inttoptr i64 %"46" to ptr
|
%"60" = inttoptr i64 %"49" to ptr
|
||||||
%"45" = load i32, ptr %"57", align 4
|
%"48" = load i32, ptr %"60", align 4
|
||||||
store i32 %"45", ptr addrspace(5) %"40", align 4
|
store i32 %"48", ptr addrspace(5) %"43", align 4
|
||||||
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"58" = inttoptr i64 %"47" to ptr
|
%"61" = inttoptr i64 %"50" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"58", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"61", i64 4
|
||||||
%"48" = load i32, ptr %"32", align 4
|
%"51" = load i32, ptr %"35", align 4
|
||||||
store i32 %"48", ptr addrspace(5) %"41", align 4
|
store i32 %"51", ptr addrspace(5) %"44", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"38", align 8
|
%"52" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"59" = inttoptr i64 %"49" to ptr
|
%"62" = inttoptr i64 %"52" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"59", i64 8
|
%"37" = getelementptr inbounds i8, ptr %"62", i64 8
|
||||||
%"50" = load i32, ptr %"34", align 4
|
%"53" = load i32, ptr %"37", align 4
|
||||||
store i32 %"50", ptr addrspace(5) %"42", align 4
|
store i32 %"53", ptr addrspace(5) %"45", align 4
|
||||||
%"52" = load i32, ptr addrspace(5) %"40", align 4
|
%"55" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"53" = load i32, ptr addrspace(5) %"41", align 4
|
%"56" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"54" = load i32, ptr addrspace(5) %"42", align 4
|
%"57" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"51" = call i32 @__zluda_ptx_impl_bfe_u32(i32 %"52", i32 %"53", i32 %"54")
|
%"54" = call i32 @__zluda_ptx_impl_bfe_u32(i32 %"55", i32 %"56", i32 %"57")
|
||||||
store i32 %"51", ptr addrspace(5) %"40", align 4
|
store i32 %"54", ptr addrspace(5) %"43", align 4
|
||||||
%"55" = load i64, ptr addrspace(5) %"39", align 8
|
%"58" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"56" = load i32, ptr addrspace(5) %"40", align 4
|
%"59" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"60" = inttoptr i64 %"55" to ptr
|
%"63" = inttoptr i64 %"58" to ptr
|
||||||
store i32 %"56", ptr %"60", align 4
|
store i32 %"59", ptr %"63", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,51 +1,51 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_bfi_b32(i32, i32, i32, i32) #0
|
declare hidden i32 @__zluda_ptx_impl_bfi_b32(i32, i32, i32, i32) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @bfi(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #1 {
|
define amdgpu_kernel void @bfi(ptr addrspace(4) byref(i64) %"42", ptr addrspace(4) byref(i64) %"43") #1 {
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
%"42" = alloca i64, align 8, addrspace(5)
|
%"45" = alloca i64, align 8, addrspace(5)
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"44" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"45" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"46" = alloca i32, align 4, addrspace(5)
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"47" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"48" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"49" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"38"
|
br label %"41"
|
||||||
|
|
||||||
"38": ; preds = %1
|
"41": ; preds = %1
|
||||||
%"47" = load i64, ptr addrspace(4) %"39", align 8
|
%"50" = load i64, ptr addrspace(4) %"42", align 8
|
||||||
store i64 %"47", ptr addrspace(5) %"41", align 8
|
store i64 %"50", ptr addrspace(5) %"44", align 8
|
||||||
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
%"51" = load i64, ptr addrspace(4) %"43", align 8
|
||||||
store i64 %"48", ptr addrspace(5) %"42", align 8
|
store i64 %"51", ptr addrspace(5) %"45", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
%"53" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"64" = inttoptr i64 %"50" to ptr
|
%"67" = inttoptr i64 %"53" to ptr
|
||||||
%"49" = load i32, ptr %"64", align 4
|
%"52" = load i32, ptr %"67", align 4
|
||||||
store i32 %"49", ptr addrspace(5) %"43", align 4
|
store i32 %"52", ptr addrspace(5) %"46", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"41", align 8
|
%"54" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"65" = inttoptr i64 %"51" to ptr
|
%"68" = inttoptr i64 %"54" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"65", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"68", i64 4
|
||||||
%"52" = load i32, ptr %"33", align 4
|
%"55" = load i32, ptr %"36", align 4
|
||||||
store i32 %"52", ptr addrspace(5) %"44", align 4
|
store i32 %"55", ptr addrspace(5) %"47", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"41", align 8
|
%"56" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"66" = inttoptr i64 %"53" to ptr
|
%"69" = inttoptr i64 %"56" to ptr
|
||||||
%"35" = getelementptr inbounds i8, ptr %"66", i64 8
|
%"38" = getelementptr inbounds i8, ptr %"69", i64 8
|
||||||
%"54" = load i32, ptr %"35", align 4
|
%"57" = load i32, ptr %"38", align 4
|
||||||
store i32 %"54", ptr addrspace(5) %"45", align 4
|
store i32 %"57", ptr addrspace(5) %"48", align 4
|
||||||
%"55" = load i64, ptr addrspace(5) %"41", align 8
|
%"58" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"67" = inttoptr i64 %"55" to ptr
|
%"70" = inttoptr i64 %"58" to ptr
|
||||||
%"37" = getelementptr inbounds i8, ptr %"67", i64 12
|
%"40" = getelementptr inbounds i8, ptr %"70", i64 12
|
||||||
%"56" = load i32, ptr %"37", align 4
|
%"59" = load i32, ptr %"40", align 4
|
||||||
store i32 %"56", ptr addrspace(5) %"46", align 4
|
store i32 %"59", ptr addrspace(5) %"49", align 4
|
||||||
%"58" = load i32, ptr addrspace(5) %"43", align 4
|
|
||||||
%"59" = load i32, ptr addrspace(5) %"44", align 4
|
|
||||||
%"60" = load i32, ptr addrspace(5) %"45", align 4
|
|
||||||
%"61" = load i32, ptr addrspace(5) %"46", align 4
|
%"61" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
%"68" = call i32 @__zluda_ptx_impl_bfi_b32(i32 %"58", i32 %"59", i32 %"60", i32 %"61")
|
%"62" = load i32, ptr addrspace(5) %"47", align 4
|
||||||
store i32 %"68", ptr addrspace(5) %"43", align 4
|
%"63" = load i32, ptr addrspace(5) %"48", align 4
|
||||||
%"62" = load i64, ptr addrspace(5) %"42", align 8
|
%"64" = load i32, ptr addrspace(5) %"49", align 4
|
||||||
%"63" = load i32, ptr addrspace(5) %"43", align 4
|
%"71" = call i32 @__zluda_ptx_impl_bfi_b32(i32 %"61", i32 %"62", i32 %"63", i32 %"64")
|
||||||
%"71" = inttoptr i64 %"62" to ptr
|
store i32 %"71", ptr addrspace(5) %"46", align 4
|
||||||
store i32 %"63", ptr %"71", align 4
|
%"65" = load i64, ptr addrspace(5) %"45", align 8
|
||||||
|
%"66" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
|
%"74" = inttoptr i64 %"65" to ptr
|
||||||
|
store i32 %"66", ptr %"74", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
define amdgpu_kernel void @block(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @block(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"46" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"49" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"42" = load i64, ptr %"51", align 8
|
%"45" = load i64, ptr %"54", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
%"48" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"44" = add i64 %"45", 1
|
|
||||||
store i64 %"44", ptr addrspace(5) %"39", align 8
|
|
||||||
%"48" = load i64, ptr addrspace(5) %"46", align 8
|
|
||||||
%"47" = add i64 %"48", 1
|
%"47" = add i64 %"48", 1
|
||||||
store i64 %"47", ptr addrspace(5) %"46", align 8
|
store i64 %"47", ptr addrspace(5) %"42", align 8
|
||||||
%"49" = load i64, ptr addrspace(5) %"37", align 8
|
%"51" = load i64, ptr addrspace(5) %"49", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"39", align 8
|
%"50" = add i64 %"51", 1
|
||||||
%"52" = inttoptr i64 %"49" to ptr
|
store i64 %"50", ptr addrspace(5) %"49", align 8
|
||||||
store i64 %"50", ptr %"52", align 8
|
%"52" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
|
%"53" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
|
%"55" = inttoptr i64 %"52" to ptr
|
||||||
|
store i64 %"53", ptr %"55", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @bra(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
define amdgpu_kernel void @bra(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"35"
|
br label %"38"
|
||||||
|
|
||||||
"35": ; preds = %1
|
"38": ; preds = %1
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
%"46" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"39", align 8
|
store i64 %"46", ptr addrspace(5) %"42", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
%"48" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"50" = inttoptr i64 %"45" to ptr
|
%"53" = inttoptr i64 %"48" to ptr
|
||||||
%"44" = load i64, ptr %"50", align 8
|
%"47" = load i64, ptr %"53", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"40", align 8
|
store i64 %"47", ptr addrspace(5) %"43", align 8
|
||||||
br label %"10"
|
br label %"11"
|
||||||
|
|
||||||
"10": ; preds = %"35"
|
"11": ; preds = %"38"
|
||||||
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
%"50" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"46" = add i64 %"47", 1
|
%"49" = add i64 %"50", 1
|
||||||
store i64 %"46", ptr addrspace(5) %"41", align 8
|
store i64 %"49", ptr addrspace(5) %"44", align 8
|
||||||
br label %"12"
|
br label %"13"
|
||||||
|
|
||||||
"12": ; preds = %"10"
|
"13": ; preds = %"11"
|
||||||
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
%"51" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
%"52" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"51" = inttoptr i64 %"48" to ptr
|
%"54" = inttoptr i64 %"51" to ptr
|
||||||
store i64 %"49", ptr %"51", align 8
|
store i64 %"52", ptr %"54", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @brev(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @brev(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i32, align 4, addrspace(5)
|
%"37" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load i32, ptr %"43", align 4
|
%"40" = load i32, ptr %"46", align 4
|
||||||
store i32 %"37", ptr addrspace(5) %"34", align 4
|
store i32 %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load i32, ptr addrspace(5) %"34", align 4
|
%"43" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = call i32 @llvm.bitreverse.i32(i32 %"40")
|
%"42" = call i32 @llvm.bitreverse.i32(i32 %"43")
|
||||||
store i32 %"39", ptr addrspace(5) %"34", align 4
|
store i32 %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load i32, ptr addrspace(5) %"34", align 4
|
%"45" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store i32 %"42", ptr %"44", align 4
|
store i32 %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,62 +1,62 @@
|
||||||
define hidden i64 @incr(i64 %"43") #0 {
|
define hidden i64 @incr(i64 %"46") #0 {
|
||||||
%"63" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"64" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"65" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"66" = alloca i64, align 8, addrspace(5)
|
%"66" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"67" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"68" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"69" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"46"
|
br label %"49"
|
||||||
|
|
||||||
"46": ; preds = %1
|
"49": ; preds = %1
|
||||||
store i64 %"43", ptr addrspace(5) %"65", align 8
|
store i64 %"46", ptr addrspace(5) %"68", align 8
|
||||||
%"67" = load i64, ptr addrspace(5) %"65", align 8
|
%"70" = load i64, ptr addrspace(5) %"68", align 8
|
||||||
store i64 %"67", ptr addrspace(5) %"66", align 8
|
store i64 %"70", ptr addrspace(5) %"69", align 8
|
||||||
%"69" = load i64, ptr addrspace(5) %"66", align 8
|
%"72" = load i64, ptr addrspace(5) %"69", align 8
|
||||||
%"68" = add i64 %"69", 1
|
%"71" = add i64 %"72", 1
|
||||||
store i64 %"68", ptr addrspace(5) %"66", align 8
|
store i64 %"71", ptr addrspace(5) %"69", align 8
|
||||||
%"70" = load i64, ptr addrspace(5) %"66", align 8
|
%"73" = load i64, ptr addrspace(5) %"69", align 8
|
||||||
store i64 %"70", ptr addrspace(5) %"64", align 8
|
store i64 %"73", ptr addrspace(5) %"67", align 8
|
||||||
%"71" = load i64, ptr addrspace(5) %"64", align 8
|
%"74" = load i64, ptr addrspace(5) %"67", align 8
|
||||||
store i64 %"71", ptr addrspace(5) %"63", align 8
|
store i64 %"74", ptr addrspace(5) %"66", align 8
|
||||||
%2 = load i64, ptr addrspace(5) %"63", align 8
|
%2 = load i64, ptr addrspace(5) %"66", align 8
|
||||||
ret i64 %2
|
ret i64 %2
|
||||||
}
|
}
|
||||||
|
|
||||||
define amdgpu_kernel void @call(ptr addrspace(4) byref(i64) %"48", ptr addrspace(4) byref(i64) %"49") #1 {
|
define amdgpu_kernel void @call(ptr addrspace(4) byref(i64) %"51", ptr addrspace(4) byref(i64) %"52") #1 {
|
||||||
%"50" = alloca i64, align 8, addrspace(5)
|
%"53" = alloca i64, align 8, addrspace(5)
|
||||||
%"51" = alloca i64, align 8, addrspace(5)
|
%"54" = alloca i64, align 8, addrspace(5)
|
||||||
%"52" = alloca i64, align 8, addrspace(5)
|
%"55" = alloca i64, align 8, addrspace(5)
|
||||||
%"57" = alloca i64, align 8, addrspace(5)
|
%"60" = alloca i64, align 8, addrspace(5)
|
||||||
%"58" = alloca i64, align 8, addrspace(5)
|
%"61" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"44"
|
br label %"47"
|
||||||
|
|
||||||
"44": ; preds = %1
|
"47": ; preds = %1
|
||||||
%"53" = load i64, ptr addrspace(4) %"48", align 8
|
%"56" = load i64, ptr addrspace(4) %"51", align 8
|
||||||
store i64 %"53", ptr addrspace(5) %"50", align 8
|
store i64 %"56", ptr addrspace(5) %"53", align 8
|
||||||
%"54" = load i64, ptr addrspace(4) %"49", align 8
|
%"57" = load i64, ptr addrspace(4) %"52", align 8
|
||||||
store i64 %"54", ptr addrspace(5) %"51", align 8
|
store i64 %"57", ptr addrspace(5) %"54", align 8
|
||||||
%"56" = load i64, ptr addrspace(5) %"50", align 8
|
%"59" = load i64, ptr addrspace(5) %"53", align 8
|
||||||
%"72" = inttoptr i64 %"56" to ptr addrspace(1)
|
%"75" = inttoptr i64 %"59" to ptr addrspace(1)
|
||||||
%"55" = load i64, ptr addrspace(1) %"72", align 8
|
%"58" = load i64, ptr addrspace(1) %"75", align 8
|
||||||
store i64 %"55", ptr addrspace(5) %"52", align 8
|
store i64 %"58", ptr addrspace(5) %"55", align 8
|
||||||
%"59" = load i64, ptr addrspace(5) %"52", align 8
|
%"62" = load i64, ptr addrspace(5) %"55", align 8
|
||||||
store i64 %"59", ptr addrspace(5) %"57", align 8
|
store i64 %"62", ptr addrspace(5) %"60", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"57", align 8
|
%"43" = load i64, ptr addrspace(5) %"60", align 8
|
||||||
%"41" = call i64 @incr(i64 %"40")
|
%"44" = call i64 @incr(i64 %"43")
|
||||||
br label %"45"
|
br label %"48"
|
||||||
|
|
||||||
"45": ; preds = %"44"
|
"48": ; preds = %"47"
|
||||||
store i64 %"41", ptr addrspace(5) %"58", align 8
|
store i64 %"44", ptr addrspace(5) %"61", align 8
|
||||||
%"60" = load i64, ptr addrspace(5) %"58", align 8
|
%"63" = load i64, ptr addrspace(5) %"61", align 8
|
||||||
store i64 %"60", ptr addrspace(5) %"52", align 8
|
store i64 %"63", ptr addrspace(5) %"55", align 8
|
||||||
%"61" = load i64, ptr addrspace(5) %"51", align 8
|
%"64" = load i64, ptr addrspace(5) %"54", align 8
|
||||||
%"62" = load i64, ptr addrspace(5) %"52", align 8
|
%"65" = load i64, ptr addrspace(5) %"55", align 8
|
||||||
%"75" = inttoptr i64 %"61" to ptr addrspace(1)
|
%"78" = inttoptr i64 %"64" to ptr addrspace(1)
|
||||||
store i64 %"62", ptr addrspace(1) %"75", align 8
|
store i64 %"65", ptr addrspace(1) %"78", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,75 +1,72 @@
|
||||||
define hidden float @add_rm(float %"79", float %"80") #0 {
|
define hidden float @add_rm(float %"82", float %"83") #0 {
|
||||||
%"128" = alloca float, align 4, addrspace(5)
|
|
||||||
%"129" = alloca float, align 4, addrspace(5)
|
|
||||||
%"130" = alloca float, align 4, addrspace(5)
|
|
||||||
%"131" = alloca float, align 4, addrspace(5)
|
%"131" = alloca float, align 4, addrspace(5)
|
||||||
%"132" = alloca float, align 4, addrspace(5)
|
%"132" = alloca float, align 4, addrspace(5)
|
||||||
%"133" = alloca float, align 4, addrspace(5)
|
%"133" = alloca float, align 4, addrspace(5)
|
||||||
|
%"134" = alloca float, align 4, addrspace(5)
|
||||||
|
%"135" = alloca float, align 4, addrspace(5)
|
||||||
|
%"136" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"89"
|
br label %"92"
|
||||||
|
|
||||||
"89": ; preds = %1
|
"92": ; preds = %1
|
||||||
call void @llvm.amdgcn.s.setreg(i32 6145, i32 2)
|
call void @llvm.amdgcn.s.setreg(i32 6145, i32 2)
|
||||||
br label %"87"
|
br label %"90"
|
||||||
|
|
||||||
"87": ; preds = %"89"
|
"90": ; preds = %"92"
|
||||||
store float %"79", ptr addrspace(5) %"130", align 4
|
store float %"82", ptr addrspace(5) %"133", align 4
|
||||||
store float %"80", ptr addrspace(5) %"131", align 4
|
store float %"83", ptr addrspace(5) %"134", align 4
|
||||||
%"134" = load float, ptr addrspace(5) %"130", align 4
|
%"137" = load float, ptr addrspace(5) %"133", align 4
|
||||||
store float %"134", ptr addrspace(5) %"132", align 4
|
store float %"137", ptr addrspace(5) %"135", align 4
|
||||||
%"135" = load float, ptr addrspace(5) %"131", align 4
|
%"138" = load float, ptr addrspace(5) %"134", align 4
|
||||||
store float %"135", ptr addrspace(5) %"133", align 4
|
store float %"138", ptr addrspace(5) %"136", align 4
|
||||||
%"137" = load float, ptr addrspace(5) %"132", align 4
|
%"140" = load float, ptr addrspace(5) %"135", align 4
|
||||||
%"138" = load float, ptr addrspace(5) %"133", align 4
|
%"141" = load float, ptr addrspace(5) %"136", align 4
|
||||||
%"136" = fadd float %"137", %"138"
|
%"139" = fadd float %"140", %"141"
|
||||||
store float %"136", ptr addrspace(5) %"132", align 4
|
store float %"139", ptr addrspace(5) %"135", align 4
|
||||||
%"139" = load float, ptr addrspace(5) %"132", align 4
|
%"142" = load float, ptr addrspace(5) %"135", align 4
|
||||||
store float %"139", ptr addrspace(5) %"129", align 4
|
store float %"142", ptr addrspace(5) %"132", align 4
|
||||||
%"140" = load float, ptr addrspace(5) %"129", align 4
|
%"143" = load float, ptr addrspace(5) %"132", align 4
|
||||||
store float %"140", ptr addrspace(5) %"128", align 4
|
store float %"143", ptr addrspace(5) %"131", align 4
|
||||||
%2 = load float, ptr addrspace(5) %"128", align 4
|
%2 = load float, ptr addrspace(5) %"131", align 4
|
||||||
ret float %2
|
ret float %2
|
||||||
}
|
}
|
||||||
|
|
||||||
define hidden float @add_rp(float %"82", float %"83") #0 {
|
define hidden float @add_rp(float %"85", float %"86") #0 {
|
||||||
%"141" = alloca float, align 4, addrspace(5)
|
|
||||||
%"142" = alloca float, align 4, addrspace(5)
|
|
||||||
%"143" = alloca float, align 4, addrspace(5)
|
|
||||||
%"144" = alloca float, align 4, addrspace(5)
|
%"144" = alloca float, align 4, addrspace(5)
|
||||||
%"145" = alloca float, align 4, addrspace(5)
|
%"145" = alloca float, align 4, addrspace(5)
|
||||||
%"146" = alloca float, align 4, addrspace(5)
|
%"146" = alloca float, align 4, addrspace(5)
|
||||||
|
%"147" = alloca float, align 4, addrspace(5)
|
||||||
|
%"148" = alloca float, align 4, addrspace(5)
|
||||||
|
%"149" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"88"
|
br label %"91"
|
||||||
|
|
||||||
"88": ; preds = %1
|
"91": ; preds = %1
|
||||||
store float %"82", ptr addrspace(5) %"143", align 4
|
store float %"85", ptr addrspace(5) %"146", align 4
|
||||||
store float %"83", ptr addrspace(5) %"144", align 4
|
store float %"86", ptr addrspace(5) %"147", align 4
|
||||||
%"147" = load float, ptr addrspace(5) %"143", align 4
|
%"150" = load float, ptr addrspace(5) %"146", align 4
|
||||||
store float %"147", ptr addrspace(5) %"145", align 4
|
store float %"150", ptr addrspace(5) %"148", align 4
|
||||||
%"148" = load float, ptr addrspace(5) %"144", align 4
|
%"151" = load float, ptr addrspace(5) %"147", align 4
|
||||||
store float %"148", ptr addrspace(5) %"146", align 4
|
store float %"151", ptr addrspace(5) %"149", align 4
|
||||||
%"150" = load float, ptr addrspace(5) %"145", align 4
|
%"153" = load float, ptr addrspace(5) %"148", align 4
|
||||||
%"151" = load float, ptr addrspace(5) %"146", align 4
|
%"154" = load float, ptr addrspace(5) %"149", align 4
|
||||||
%"149" = fadd float %"150", %"151"
|
%"152" = fadd float %"153", %"154"
|
||||||
store float %"149", ptr addrspace(5) %"145", align 4
|
store float %"152", ptr addrspace(5) %"148", align 4
|
||||||
%"152" = load float, ptr addrspace(5) %"145", align 4
|
%"155" = load float, ptr addrspace(5) %"148", align 4
|
||||||
store float %"152", ptr addrspace(5) %"142", align 4
|
store float %"155", ptr addrspace(5) %"145", align 4
|
||||||
%"153" = load float, ptr addrspace(5) %"142", align 4
|
%"156" = load float, ptr addrspace(5) %"145", align 4
|
||||||
store float %"153", ptr addrspace(5) %"141", align 4
|
store float %"156", ptr addrspace(5) %"144", align 4
|
||||||
%2 = load float, ptr addrspace(5) %"141", align 4
|
%2 = load float, ptr addrspace(5) %"144", align 4
|
||||||
ret float %2
|
ret float %2
|
||||||
}
|
}
|
||||||
|
|
||||||
define amdgpu_kernel void @call_rnd(ptr addrspace(4) byref(i64) %"92", ptr addrspace(4) byref(i64) %"93") #1 {
|
define amdgpu_kernel void @call_rnd(ptr addrspace(4) byref(i64) %"95", ptr addrspace(4) byref(i64) %"96") #1 {
|
||||||
%"94" = alloca i64, align 8, addrspace(5)
|
%"97" = alloca i64, align 8, addrspace(5)
|
||||||
%"95" = alloca i64, align 8, addrspace(5)
|
%"98" = alloca i64, align 8, addrspace(5)
|
||||||
%"96" = alloca float, align 4, addrspace(5)
|
|
||||||
%"97" = alloca float, align 4, addrspace(5)
|
|
||||||
%"98" = alloca float, align 4, addrspace(5)
|
|
||||||
%"99" = alloca float, align 4, addrspace(5)
|
%"99" = alloca float, align 4, addrspace(5)
|
||||||
%"100" = alloca float, align 4, addrspace(5)
|
%"100" = alloca float, align 4, addrspace(5)
|
||||||
%"101" = alloca float, align 4, addrspace(5)
|
%"101" = alloca float, align 4, addrspace(5)
|
||||||
|
@ -79,71 +76,74 @@ define amdgpu_kernel void @call_rnd(ptr addrspace(4) byref(i64) %"92", ptr addrs
|
||||||
%"105" = alloca float, align 4, addrspace(5)
|
%"105" = alloca float, align 4, addrspace(5)
|
||||||
%"106" = alloca float, align 4, addrspace(5)
|
%"106" = alloca float, align 4, addrspace(5)
|
||||||
%"107" = alloca float, align 4, addrspace(5)
|
%"107" = alloca float, align 4, addrspace(5)
|
||||||
|
%"108" = alloca float, align 4, addrspace(5)
|
||||||
|
%"109" = alloca float, align 4, addrspace(5)
|
||||||
|
%"110" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"84"
|
br label %"87"
|
||||||
|
|
||||||
"84": ; preds = %1
|
"87": ; preds = %1
|
||||||
call void @llvm.amdgcn.s.setreg(i32 6145, i32 1)
|
call void @llvm.amdgcn.s.setreg(i32 6145, i32 1)
|
||||||
%"108" = load i64, ptr addrspace(4) %"92", align 8
|
%"111" = load i64, ptr addrspace(4) %"95", align 8
|
||||||
store i64 %"108", ptr addrspace(5) %"94", align 8
|
store i64 %"111", ptr addrspace(5) %"97", align 8
|
||||||
%"109" = load i64, ptr addrspace(4) %"93", align 8
|
%"112" = load i64, ptr addrspace(4) %"96", align 8
|
||||||
store i64 %"109", ptr addrspace(5) %"95", align 8
|
store i64 %"112", ptr addrspace(5) %"98", align 8
|
||||||
%"111" = load i64, ptr addrspace(5) %"94", align 8
|
%"114" = load i64, ptr addrspace(5) %"97", align 8
|
||||||
%"154" = inttoptr i64 %"111" to ptr
|
%"157" = inttoptr i64 %"114" to ptr
|
||||||
%"110" = load float, ptr %"154", align 4
|
%"113" = load float, ptr %"157", align 4
|
||||||
store float %"110", ptr addrspace(5) %"96", align 4
|
store float %"113", ptr addrspace(5) %"99", align 4
|
||||||
%"112" = load i64, ptr addrspace(5) %"94", align 8
|
%"115" = load i64, ptr addrspace(5) %"97", align 8
|
||||||
%"155" = inttoptr i64 %"112" to ptr
|
%"158" = inttoptr i64 %"115" to ptr
|
||||||
%"59" = getelementptr inbounds i8, ptr %"155", i64 4
|
%"62" = getelementptr inbounds i8, ptr %"158", i64 4
|
||||||
%"113" = load float, ptr %"59", align 4
|
%"116" = load float, ptr %"62", align 4
|
||||||
store float %"113", ptr addrspace(5) %"97", align 4
|
store float %"116", ptr addrspace(5) %"100", align 4
|
||||||
%"114" = load i64, ptr addrspace(5) %"94", align 8
|
%"117" = load i64, ptr addrspace(5) %"97", align 8
|
||||||
%"156" = inttoptr i64 %"114" to ptr
|
%"159" = inttoptr i64 %"117" to ptr
|
||||||
%"61" = getelementptr inbounds i8, ptr %"156", i64 8
|
%"64" = getelementptr inbounds i8, ptr %"159", i64 8
|
||||||
%"115" = load float, ptr %"61", align 4
|
%"118" = load float, ptr %"64", align 4
|
||||||
store float %"115", ptr addrspace(5) %"98", align 4
|
store float %"118", ptr addrspace(5) %"101", align 4
|
||||||
%"116" = load i64, ptr addrspace(5) %"94", align 8
|
%"119" = load i64, ptr addrspace(5) %"97", align 8
|
||||||
%"157" = inttoptr i64 %"116" to ptr
|
%"160" = inttoptr i64 %"119" to ptr
|
||||||
%"63" = getelementptr inbounds i8, ptr %"157", i64 12
|
%"66" = getelementptr inbounds i8, ptr %"160", i64 12
|
||||||
%"117" = load float, ptr %"63", align 4
|
%"120" = load float, ptr %"66", align 4
|
||||||
store float %"117", ptr addrspace(5) %"99", align 4
|
store float %"120", ptr addrspace(5) %"102", align 4
|
||||||
%"118" = load float, ptr addrspace(5) %"96", align 4
|
%"121" = load float, ptr addrspace(5) %"99", align 4
|
||||||
store float %"118", ptr addrspace(5) %"102", align 4
|
store float %"121", ptr addrspace(5) %"105", align 4
|
||||||
%"119" = load float, ptr addrspace(5) %"97", align 4
|
|
||||||
store float %"119", ptr addrspace(5) %"103", align 4
|
|
||||||
%"72" = load float, ptr addrspace(5) %"102", align 4
|
|
||||||
%"73" = load float, ptr addrspace(5) %"103", align 4
|
|
||||||
%"74" = call float @add_rp(float %"72", float %"73")
|
|
||||||
br label %"85"
|
|
||||||
|
|
||||||
"85": ; preds = %"84"
|
|
||||||
store float %"74", ptr addrspace(5) %"104", align 4
|
|
||||||
%"120" = load float, ptr addrspace(5) %"104", align 4
|
|
||||||
store float %"120", ptr addrspace(5) %"100", align 4
|
|
||||||
%"121" = load i64, ptr addrspace(5) %"95", align 8
|
|
||||||
%"122" = load float, ptr addrspace(5) %"100", align 4
|
%"122" = load float, ptr addrspace(5) %"100", align 4
|
||||||
%"158" = inttoptr i64 %"121" to ptr
|
store float %"122", ptr addrspace(5) %"106", align 4
|
||||||
store float %"122", ptr %"158", align 4
|
|
||||||
%"123" = load float, ptr addrspace(5) %"98", align 4
|
|
||||||
store float %"123", ptr addrspace(5) %"105", align 4
|
|
||||||
%"124" = load float, ptr addrspace(5) %"99", align 4
|
|
||||||
store float %"124", ptr addrspace(5) %"106", align 4
|
|
||||||
%"75" = load float, ptr addrspace(5) %"105", align 4
|
%"75" = load float, ptr addrspace(5) %"105", align 4
|
||||||
%"76" = load float, ptr addrspace(5) %"106", align 4
|
%"76" = load float, ptr addrspace(5) %"106", align 4
|
||||||
%"77" = call float @add_rm(float %"75", float %"76")
|
%"77" = call float @add_rp(float %"75", float %"76")
|
||||||
br label %"86"
|
br label %"88"
|
||||||
|
|
||||||
"86": ; preds = %"85"
|
"88": ; preds = %"87"
|
||||||
store float %"77", ptr addrspace(5) %"107", align 4
|
store float %"77", ptr addrspace(5) %"107", align 4
|
||||||
%"125" = load float, ptr addrspace(5) %"107", align 4
|
%"123" = load float, ptr addrspace(5) %"107", align 4
|
||||||
store float %"125", ptr addrspace(5) %"101", align 4
|
store float %"123", ptr addrspace(5) %"103", align 4
|
||||||
%"126" = load i64, ptr addrspace(5) %"95", align 8
|
%"124" = load i64, ptr addrspace(5) %"98", align 8
|
||||||
%"159" = inttoptr i64 %"126" to ptr
|
%"125" = load float, ptr addrspace(5) %"103", align 4
|
||||||
%"65" = getelementptr inbounds i8, ptr %"159", i64 4
|
%"161" = inttoptr i64 %"124" to ptr
|
||||||
%"127" = load float, ptr addrspace(5) %"101", align 4
|
store float %"125", ptr %"161", align 4
|
||||||
store float %"127", ptr %"65", align 4
|
%"126" = load float, ptr addrspace(5) %"101", align 4
|
||||||
|
store float %"126", ptr addrspace(5) %"108", align 4
|
||||||
|
%"127" = load float, ptr addrspace(5) %"102", align 4
|
||||||
|
store float %"127", ptr addrspace(5) %"109", align 4
|
||||||
|
%"78" = load float, ptr addrspace(5) %"108", align 4
|
||||||
|
%"79" = load float, ptr addrspace(5) %"109", align 4
|
||||||
|
%"80" = call float @add_rm(float %"78", float %"79")
|
||||||
|
br label %"89"
|
||||||
|
|
||||||
|
"89": ; preds = %"88"
|
||||||
|
store float %"80", ptr addrspace(5) %"110", align 4
|
||||||
|
%"128" = load float, ptr addrspace(5) %"110", align 4
|
||||||
|
store float %"128", ptr addrspace(5) %"104", align 4
|
||||||
|
%"129" = load i64, ptr addrspace(5) %"98", align 8
|
||||||
|
%"162" = inttoptr i64 %"129" to ptr
|
||||||
|
%"68" = getelementptr inbounds i8, ptr %"162", i64 4
|
||||||
|
%"130" = load float, ptr addrspace(5) %"104", align 4
|
||||||
|
store float %"130", ptr %"68", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @clz(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @clz(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i32, align 4, addrspace(5)
|
%"37" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load i32, ptr %"43", align 4
|
%"40" = load i32, ptr %"46", align 4
|
||||||
store i32 %"37", ptr addrspace(5) %"34", align 4
|
store i32 %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load i32, ptr addrspace(5) %"34", align 4
|
%"43" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = call i32 @llvm.ctlz.i32(i32 %"40", i1 false)
|
%"47" = call i32 @llvm.ctlz.i32(i32 %"43", i1 false)
|
||||||
store i32 %"44", ptr addrspace(5) %"34", align 4
|
store i32 %"47", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load i32, ptr addrspace(5) %"34", align 4
|
%"45" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"45" = inttoptr i64 %"41" to ptr
|
%"48" = inttoptr i64 %"44" to ptr
|
||||||
store i32 %"42", ptr %"45", align 4
|
store i32 %"45", ptr %"48", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,49 +1,49 @@
|
||||||
@constparams = addrspace(4) global [4 x i16] [i16 10, i16 20, i16 30, i16 40], align 8
|
@constparams = addrspace(4) global [4 x i16] [i16 10, i16 20, i16 30, i16 40], align 8
|
||||||
|
|
||||||
define amdgpu_kernel void @const(ptr addrspace(4) byref(i64) %"46", ptr addrspace(4) byref(i64) %"47") #0 {
|
define amdgpu_kernel void @const(ptr addrspace(4) byref(i64) %"49", ptr addrspace(4) byref(i64) %"50") #0 {
|
||||||
%"48" = alloca i64, align 8, addrspace(5)
|
%"51" = alloca i64, align 8, addrspace(5)
|
||||||
%"49" = alloca i64, align 8, addrspace(5)
|
%"52" = alloca i64, align 8, addrspace(5)
|
||||||
%"50" = alloca i16, align 2, addrspace(5)
|
|
||||||
%"51" = alloca i16, align 2, addrspace(5)
|
|
||||||
%"52" = alloca i16, align 2, addrspace(5)
|
|
||||||
%"53" = alloca i16, align 2, addrspace(5)
|
%"53" = alloca i16, align 2, addrspace(5)
|
||||||
|
%"54" = alloca i16, align 2, addrspace(5)
|
||||||
|
%"55" = alloca i16, align 2, addrspace(5)
|
||||||
|
%"56" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"45"
|
br label %"48"
|
||||||
|
|
||||||
"45": ; preds = %1
|
"48": ; preds = %1
|
||||||
%"54" = load i64, ptr addrspace(4) %"46", align 8
|
%"57" = load i64, ptr addrspace(4) %"49", align 8
|
||||||
store i64 %"54", ptr addrspace(5) %"48", align 8
|
store i64 %"57", ptr addrspace(5) %"51", align 8
|
||||||
%"55" = load i64, ptr addrspace(4) %"47", align 8
|
%"58" = load i64, ptr addrspace(4) %"50", align 8
|
||||||
store i64 %"55", ptr addrspace(5) %"49", align 8
|
store i64 %"58", ptr addrspace(5) %"52", align 8
|
||||||
%"56" = load i16, ptr addrspace(4) @constparams, align 2
|
%"59" = load i16, ptr addrspace(4) @constparams, align 2
|
||||||
store i16 %"56", ptr addrspace(5) %"50", align 2
|
|
||||||
%"57" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 2), align 2
|
|
||||||
store i16 %"57", ptr addrspace(5) %"51", align 2
|
|
||||||
%"58" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 4), align 2
|
|
||||||
store i16 %"58", ptr addrspace(5) %"52", align 2
|
|
||||||
%"59" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 6), align 2
|
|
||||||
store i16 %"59", ptr addrspace(5) %"53", align 2
|
store i16 %"59", ptr addrspace(5) %"53", align 2
|
||||||
%"60" = load i64, ptr addrspace(5) %"49", align 8
|
%"60" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 2), align 2
|
||||||
%"61" = load i16, ptr addrspace(5) %"50", align 2
|
store i16 %"60", ptr addrspace(5) %"54", align 2
|
||||||
%"72" = inttoptr i64 %"60" to ptr
|
%"61" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 4), align 2
|
||||||
store i16 %"61", ptr %"72", align 2
|
store i16 %"61", ptr addrspace(5) %"55", align 2
|
||||||
%"62" = load i64, ptr addrspace(5) %"49", align 8
|
%"62" = load i16, ptr addrspace(4) getelementptr inbounds (i8, ptr addrspace(4) @constparams, i64 6), align 2
|
||||||
%"74" = inttoptr i64 %"62" to ptr
|
store i16 %"62", ptr addrspace(5) %"56", align 2
|
||||||
%"40" = getelementptr inbounds i8, ptr %"74", i64 2
|
%"63" = load i64, ptr addrspace(5) %"52", align 8
|
||||||
%"63" = load i16, ptr addrspace(5) %"51", align 2
|
%"64" = load i16, ptr addrspace(5) %"53", align 2
|
||||||
store i16 %"63", ptr %"40", align 2
|
%"75" = inttoptr i64 %"63" to ptr
|
||||||
%"64" = load i64, ptr addrspace(5) %"49", align 8
|
store i16 %"64", ptr %"75", align 2
|
||||||
%"76" = inttoptr i64 %"64" to ptr
|
%"65" = load i64, ptr addrspace(5) %"52", align 8
|
||||||
%"42" = getelementptr inbounds i8, ptr %"76", i64 4
|
%"77" = inttoptr i64 %"65" to ptr
|
||||||
%"65" = load i16, ptr addrspace(5) %"52", align 2
|
%"43" = getelementptr inbounds i8, ptr %"77", i64 2
|
||||||
store i16 %"65", ptr %"42", align 2
|
%"66" = load i16, ptr addrspace(5) %"54", align 2
|
||||||
%"66" = load i64, ptr addrspace(5) %"49", align 8
|
store i16 %"66", ptr %"43", align 2
|
||||||
%"78" = inttoptr i64 %"66" to ptr
|
%"67" = load i64, ptr addrspace(5) %"52", align 8
|
||||||
%"44" = getelementptr inbounds i8, ptr %"78", i64 6
|
%"79" = inttoptr i64 %"67" to ptr
|
||||||
%"67" = load i16, ptr addrspace(5) %"53", align 2
|
%"45" = getelementptr inbounds i8, ptr %"79", i64 4
|
||||||
store i16 %"67", ptr %"44", align 2
|
%"68" = load i16, ptr addrspace(5) %"55", align 2
|
||||||
|
store i16 %"68", ptr %"45", align 2
|
||||||
|
%"69" = load i64, ptr addrspace(5) %"52", align 8
|
||||||
|
%"81" = inttoptr i64 %"69" to ptr
|
||||||
|
%"47" = getelementptr inbounds i8, ptr %"81", i64 6
|
||||||
|
%"70" = load i16, ptr addrspace(5) %"56", align 2
|
||||||
|
store i16 %"70", ptr %"47", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @constant_f32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @constant_f32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca float, align 4, addrspace(5)
|
%"38" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"44" = inttoptr i64 %"39" to ptr
|
%"47" = inttoptr i64 %"42" to ptr
|
||||||
%"38" = load float, ptr %"44", align 4
|
%"41" = load float, ptr %"47", align 4
|
||||||
store float %"38", ptr addrspace(5) %"35", align 4
|
store float %"41", ptr addrspace(5) %"38", align 4
|
||||||
%"41" = load float, ptr addrspace(5) %"35", align 4
|
%"44" = load float, ptr addrspace(5) %"38", align 4
|
||||||
%"40" = fmul float %"41", 5.000000e-01
|
%"43" = fmul float %"44", 5.000000e-01
|
||||||
store float %"40", ptr addrspace(5) %"35", align 4
|
store float %"43", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"43" = load float, ptr addrspace(5) %"35", align 4
|
%"46" = load float, ptr addrspace(5) %"38", align 4
|
||||||
%"45" = inttoptr i64 %"42" to ptr
|
%"48" = inttoptr i64 %"45" to ptr
|
||||||
store float %"43", ptr %"45", align 4
|
store float %"46", ptr %"48", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @constant_negative(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @constant_negative(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"44" = inttoptr i64 %"39" to ptr
|
%"47" = inttoptr i64 %"42" to ptr
|
||||||
%"38" = load i32, ptr %"44", align 4
|
%"41" = load i32, ptr %"47", align 4
|
||||||
store i32 %"38", ptr addrspace(5) %"35", align 4
|
store i32 %"41", ptr addrspace(5) %"38", align 4
|
||||||
%"41" = load i32, ptr addrspace(5) %"35", align 4
|
%"44" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"40" = mul i32 %"41", -1
|
%"43" = mul i32 %"44", -1
|
||||||
store i32 %"40", ptr addrspace(5) %"35", align 4
|
store i32 %"43", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"43" = load i32, ptr addrspace(5) %"35", align 4
|
%"46" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"45" = inttoptr i64 %"42" to ptr
|
%"48" = inttoptr i64 %"45" to ptr
|
||||||
store i32 %"43", ptr %"45", align 4
|
store i32 %"46", ptr %"48", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @cos(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @cos(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca float, align 4, addrspace(5)
|
%"37" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load float, ptr %"43", align 4
|
%"40" = load float, ptr %"46", align 4
|
||||||
store float %"37", ptr addrspace(5) %"34", align 4
|
store float %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load float, ptr addrspace(5) %"34", align 4
|
%"43" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = call afn float @llvm.cos.f32(float %"40")
|
%"42" = call afn float @llvm.cos.f32(float %"43")
|
||||||
store float %"39", ptr addrspace(5) %"34", align 4
|
store float %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load float, ptr addrspace(5) %"34", align 4
|
%"45" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store float %"42", ptr %"44", align 4
|
store float %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,53 +1,53 @@
|
||||||
@from = addrspace(1) global [4 x i32] [i32 1, i32 2, i32 3, i32 4]
|
@from = addrspace(1) global [4 x i32] [i32 1, i32 2, i32 3, i32 4]
|
||||||
@to = external addrspace(3) global [4 x i32]
|
@to = external addrspace(3) global [4 x i32]
|
||||||
|
|
||||||
define amdgpu_kernel void @cp_async(ptr addrspace(4) byref(i64) %"48", ptr addrspace(4) byref(i64) %"49") #0 {
|
define amdgpu_kernel void @cp_async(ptr addrspace(4) byref(i64) %"51", ptr addrspace(4) byref(i64) %"52") #0 {
|
||||||
%"50" = alloca i64, align 8, addrspace(5)
|
%"53" = alloca i64, align 8, addrspace(5)
|
||||||
%"51" = alloca i64, align 8, addrspace(5)
|
%"54" = alloca i64, align 8, addrspace(5)
|
||||||
%"52" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"53" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"54" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"55" = alloca i32, align 4, addrspace(5)
|
%"55" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"56" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"57" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"58" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"47"
|
br label %"50"
|
||||||
|
|
||||||
"47": ; preds = %1
|
"50": ; preds = %1
|
||||||
%"56" = load i64, ptr addrspace(4) %"48", align 8
|
%"59" = load i64, ptr addrspace(4) %"51", align 8
|
||||||
store i64 %"56", ptr addrspace(5) %"50", align 8
|
store i64 %"59", ptr addrspace(5) %"53", align 8
|
||||||
%"57" = load i64, ptr addrspace(4) %"49", align 8
|
%"60" = load i64, ptr addrspace(4) %"52", align 8
|
||||||
store i64 %"57", ptr addrspace(5) %"51", align 8
|
store i64 %"60", ptr addrspace(5) %"54", align 8
|
||||||
%2 = load i96, ptr addrspace(1) @from, align 128
|
%2 = load i96, ptr addrspace(1) @from, align 128
|
||||||
%3 = zext i96 %2 to i128
|
%3 = zext i96 %2 to i128
|
||||||
store i128 %3, ptr addrspace(3) @to, align 4
|
store i128 %3, ptr addrspace(3) @to, align 4
|
||||||
%"58" = load i32, ptr addrspacecast (ptr addrspace(3) @to to ptr), align 4
|
%"61" = load i32, ptr addrspacecast (ptr addrspace(3) @to to ptr), align 4
|
||||||
store i32 %"58", ptr addrspace(5) %"52", align 4
|
|
||||||
%"59" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 4), align 4
|
|
||||||
store i32 %"59", ptr addrspace(5) %"53", align 4
|
|
||||||
%"60" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 8), align 4
|
|
||||||
store i32 %"60", ptr addrspace(5) %"54", align 4
|
|
||||||
%"61" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 12), align 4
|
|
||||||
store i32 %"61", ptr addrspace(5) %"55", align 4
|
store i32 %"61", ptr addrspace(5) %"55", align 4
|
||||||
%"62" = load i64, ptr addrspace(5) %"51", align 8
|
%"62" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 4), align 4
|
||||||
%"63" = load i32, ptr addrspace(5) %"52", align 4
|
store i32 %"62", ptr addrspace(5) %"56", align 4
|
||||||
%"76" = inttoptr i64 %"62" to ptr
|
%"63" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 8), align 4
|
||||||
store i32 %"63", ptr %"76", align 4
|
store i32 %"63", ptr addrspace(5) %"57", align 4
|
||||||
%"64" = load i64, ptr addrspace(5) %"51", align 8
|
%"64" = load i32, ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(3) @to to ptr), i64 12), align 4
|
||||||
%"77" = inttoptr i64 %"64" to ptr
|
store i32 %"64", ptr addrspace(5) %"58", align 4
|
||||||
%"42" = getelementptr inbounds i8, ptr %"77", i64 4
|
%"65" = load i64, ptr addrspace(5) %"54", align 8
|
||||||
%"65" = load i32, ptr addrspace(5) %"53", align 4
|
%"66" = load i32, ptr addrspace(5) %"55", align 4
|
||||||
store i32 %"65", ptr %"42", align 4
|
%"79" = inttoptr i64 %"65" to ptr
|
||||||
%"66" = load i64, ptr addrspace(5) %"51", align 8
|
store i32 %"66", ptr %"79", align 4
|
||||||
%"78" = inttoptr i64 %"66" to ptr
|
%"67" = load i64, ptr addrspace(5) %"54", align 8
|
||||||
%"44" = getelementptr inbounds i8, ptr %"78", i64 8
|
%"80" = inttoptr i64 %"67" to ptr
|
||||||
%"67" = load i32, ptr addrspace(5) %"54", align 4
|
%"45" = getelementptr inbounds i8, ptr %"80", i64 4
|
||||||
store i32 %"67", ptr %"44", align 4
|
%"68" = load i32, ptr addrspace(5) %"56", align 4
|
||||||
%"68" = load i64, ptr addrspace(5) %"51", align 8
|
store i32 %"68", ptr %"45", align 4
|
||||||
%"79" = inttoptr i64 %"68" to ptr
|
%"69" = load i64, ptr addrspace(5) %"54", align 8
|
||||||
%"46" = getelementptr inbounds i8, ptr %"79", i64 12
|
%"81" = inttoptr i64 %"69" to ptr
|
||||||
%"69" = load i32, ptr addrspace(5) %"55", align 4
|
%"47" = getelementptr inbounds i8, ptr %"81", i64 8
|
||||||
store i32 %"69", ptr %"46", align 4
|
%"70" = load i32, ptr addrspace(5) %"57", align 4
|
||||||
|
store i32 %"70", ptr %"47", align 4
|
||||||
|
%"71" = load i64, ptr addrspace(5) %"54", align 8
|
||||||
|
%"82" = inttoptr i64 %"71" to ptr
|
||||||
|
%"49" = getelementptr inbounds i8, ptr %"82", i64 12
|
||||||
|
%"72" = load i32, ptr addrspace(5) %"58", align 4
|
||||||
|
store i32 %"72", ptr %"49", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @cvt_f64_f32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @cvt_f64_f32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca float, align 4, addrspace(5)
|
%"38" = alloca float, align 4, addrspace(5)
|
||||||
%"36" = alloca double, align 8, addrspace(5)
|
%"39" = alloca double, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr addrspace(1)
|
%"48" = inttoptr i64 %"43" to ptr addrspace(1)
|
||||||
%"39" = load float, ptr addrspace(1) %"45", align 4
|
%"42" = load float, ptr addrspace(1) %"48", align 4
|
||||||
store float %"39", ptr addrspace(5) %"35", align 4
|
store float %"42", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load float, ptr addrspace(5) %"35", align 4
|
%"45" = load float, ptr addrspace(5) %"38", align 4
|
||||||
%"41" = fpext float %"42" to double
|
%"44" = fpext float %"45" to double
|
||||||
store double %"41", ptr addrspace(5) %"36", align 8
|
store double %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load double, ptr addrspace(5) %"36", align 8
|
%"47" = load double, ptr addrspace(5) %"39", align 8
|
||||||
%"46" = inttoptr i64 %"43" to ptr
|
%"49" = inttoptr i64 %"46" to ptr
|
||||||
store double %"44", ptr %"46", align 8
|
store double %"47", ptr %"49", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_cvt_rn_f16x2_e4m3x2(i16) #0
|
declare hidden i32 @__zluda_ptx_impl_cvt_rn_f16x2_e4m3x2(i16) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @cvt_rn_f16x2_e4m3x2(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #1 {
|
define amdgpu_kernel void @cvt_rn_f16x2_e4m3x2(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #1 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i16, align 2, addrspace(5)
|
%"38" = alloca i16, align 2, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr
|
|
||||||
%"39" = load i16, ptr %"45", align 2
|
|
||||||
store i16 %"39", ptr addrspace(5) %"35", align 2
|
|
||||||
%"42" = load i16, ptr addrspace(5) %"35", align 2
|
|
||||||
%"49" = call i32 @__zluda_ptx_impl_cvt_rn_f16x2_e4m3x2(i16 %"42")
|
|
||||||
%"46" = bitcast i32 %"49" to <2 x half>
|
|
||||||
%"41" = bitcast <2 x half> %"46" to i32
|
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"48" = inttoptr i64 %"43" to ptr
|
||||||
store i32 %"44", ptr %"48", align 4
|
%"42" = load i16, ptr %"48", align 2
|
||||||
|
store i16 %"42", ptr addrspace(5) %"38", align 2
|
||||||
|
%"45" = load i16, ptr addrspace(5) %"38", align 2
|
||||||
|
%"52" = call i32 @__zluda_ptx_impl_cvt_rn_f16x2_e4m3x2(i16 %"45")
|
||||||
|
%"49" = bitcast i32 %"52" to <2 x half>
|
||||||
|
%"44" = bitcast <2 x half> %"49" to i32
|
||||||
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
|
store i32 %"47", ptr %"51", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_cvt_rn_f16x2_e5m2x2(i16) #0
|
declare hidden i32 @__zluda_ptx_impl_cvt_rn_f16x2_e5m2x2(i16) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @cvt_rn_f16x2_e5m2x2(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #1 {
|
define amdgpu_kernel void @cvt_rn_f16x2_e5m2x2(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #1 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i16, align 2, addrspace(5)
|
%"38" = alloca i16, align 2, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr
|
|
||||||
%"39" = load i16, ptr %"45", align 2
|
|
||||||
store i16 %"39", ptr addrspace(5) %"35", align 2
|
|
||||||
%"42" = load i16, ptr addrspace(5) %"35", align 2
|
|
||||||
%"49" = call i32 @__zluda_ptx_impl_cvt_rn_f16x2_e5m2x2(i16 %"42")
|
|
||||||
%"46" = bitcast i32 %"49" to <2 x half>
|
|
||||||
%"41" = bitcast <2 x half> %"46" to i32
|
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"48" = inttoptr i64 %"43" to ptr
|
||||||
store i32 %"44", ptr %"48", align 4
|
%"42" = load i16, ptr %"48", align 2
|
||||||
|
store i16 %"42", ptr addrspace(5) %"38", align 2
|
||||||
|
%"45" = load i16, ptr addrspace(5) %"38", align 2
|
||||||
|
%"52" = call i32 @__zluda_ptx_impl_cvt_rn_f16x2_e5m2x2(i16 %"45")
|
||||||
|
%"49" = bitcast i32 %"52" to <2 x half>
|
||||||
|
%"44" = bitcast <2 x half> %"49" to i32
|
||||||
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
|
store i32 %"47", ptr %"51", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
declare hidden i16 @__zluda_ptx_impl_cvt_rn_satfinite_e4m3x2_f32(float, float) #0
|
declare hidden i16 @__zluda_ptx_impl_cvt_rn_satfinite_e4m3x2_f32(float, float) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @cvt_rn_satfinite_e4m3x2_f32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #1 {
|
define amdgpu_kernel void @cvt_rn_satfinite_e4m3x2_f32(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #1 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca float, align 4, addrspace(5)
|
%"41" = alloca float, align 4, addrspace(5)
|
||||||
%"39" = alloca float, align 4, addrspace(5)
|
%"42" = alloca float, align 4, addrspace(5)
|
||||||
%"40" = alloca i16, align 2, addrspace(5)
|
%"43" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"34", align 8
|
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
%"45" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"52" = inttoptr i64 %"44" to ptr
|
%"55" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load float, ptr %"52", align 4
|
%"46" = load float, ptr %"55", align 4
|
||||||
store float %"43", ptr addrspace(5) %"38", align 4
|
store float %"46", ptr addrspace(5) %"41", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"36", align 8
|
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"53" = inttoptr i64 %"45" to ptr
|
%"56" = inttoptr i64 %"48" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"53", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"56", i64 4
|
||||||
%"46" = load float, ptr %"32", align 4
|
%"49" = load float, ptr %"35", align 4
|
||||||
store float %"46", ptr addrspace(5) %"39", align 4
|
store float %"49", ptr addrspace(5) %"42", align 4
|
||||||
%"48" = load float, ptr addrspace(5) %"38", align 4
|
%"51" = load float, ptr addrspace(5) %"41", align 4
|
||||||
%"49" = load float, ptr addrspace(5) %"39", align 4
|
%"52" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%"54" = call i16 @__zluda_ptx_impl_cvt_rn_satfinite_e4m3x2_f32(float %"48", float %"49")
|
%"57" = call i16 @__zluda_ptx_impl_cvt_rn_satfinite_e4m3x2_f32(float %"51", float %"52")
|
||||||
store i16 %"54", ptr addrspace(5) %"40", align 2
|
store i16 %"57", ptr addrspace(5) %"43", align 2
|
||||||
%"50" = load i64, ptr addrspace(5) %"37", align 8
|
%"53" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = load i16, ptr addrspace(5) %"40", align 2
|
%"54" = load i16, ptr addrspace(5) %"43", align 2
|
||||||
%"55" = inttoptr i64 %"50" to ptr
|
%"58" = inttoptr i64 %"53" to ptr
|
||||||
store i16 %"51", ptr %"55", align 2
|
store i16 %"54", ptr %"58", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
declare hidden i16 @__zluda_ptx_impl_cvt_rn_satfinite_e5m2x2_f32(float, float) #0
|
declare hidden i16 @__zluda_ptx_impl_cvt_rn_satfinite_e5m2x2_f32(float, float) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @cvt_rn_satfinite_e5m2x2_f32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #1 {
|
define amdgpu_kernel void @cvt_rn_satfinite_e5m2x2_f32(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #1 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca float, align 4, addrspace(5)
|
%"41" = alloca float, align 4, addrspace(5)
|
||||||
%"39" = alloca float, align 4, addrspace(5)
|
%"42" = alloca float, align 4, addrspace(5)
|
||||||
%"40" = alloca i16, align 2, addrspace(5)
|
%"43" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"34", align 8
|
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
%"45" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"52" = inttoptr i64 %"44" to ptr
|
%"55" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load float, ptr %"52", align 4
|
%"46" = load float, ptr %"55", align 4
|
||||||
store float %"43", ptr addrspace(5) %"38", align 4
|
store float %"46", ptr addrspace(5) %"41", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"36", align 8
|
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"53" = inttoptr i64 %"45" to ptr
|
%"56" = inttoptr i64 %"48" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"53", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"56", i64 4
|
||||||
%"46" = load float, ptr %"32", align 4
|
%"49" = load float, ptr %"35", align 4
|
||||||
store float %"46", ptr addrspace(5) %"39", align 4
|
store float %"49", ptr addrspace(5) %"42", align 4
|
||||||
%"48" = load float, ptr addrspace(5) %"38", align 4
|
%"51" = load float, ptr addrspace(5) %"41", align 4
|
||||||
%"49" = load float, ptr addrspace(5) %"39", align 4
|
%"52" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%"54" = call i16 @__zluda_ptx_impl_cvt_rn_satfinite_e5m2x2_f32(float %"48", float %"49")
|
%"57" = call i16 @__zluda_ptx_impl_cvt_rn_satfinite_e5m2x2_f32(float %"51", float %"52")
|
||||||
store i16 %"54", ptr addrspace(5) %"40", align 2
|
store i16 %"57", ptr addrspace(5) %"43", align 2
|
||||||
%"50" = load i64, ptr addrspace(5) %"37", align 8
|
%"53" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = load i16, ptr addrspace(5) %"40", align 2
|
%"54" = load i16, ptr addrspace(5) %"43", align 2
|
||||||
%"55" = inttoptr i64 %"50" to ptr
|
%"58" = inttoptr i64 %"53" to ptr
|
||||||
store i16 %"51", ptr %"55", align 2
|
store i16 %"54", ptr %"58", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,42 @@
|
||||||
define amdgpu_kernel void @cvt_rni(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @cvt_rni(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca float, align 4, addrspace(5)
|
%"42" = alloca float, align 4, addrspace(5)
|
||||||
%"40" = alloca float, align 4, addrspace(5)
|
%"43" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"55" = inttoptr i64 %"44" to ptr
|
%"58" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load float, ptr %"55", align 4
|
%"46" = load float, ptr %"58", align 4
|
||||||
store float %"43", ptr addrspace(5) %"39", align 4
|
store float %"46", ptr addrspace(5) %"42", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"56" = inttoptr i64 %"45" to ptr
|
%"59" = inttoptr i64 %"48" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"56", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"59", i64 4
|
||||||
%"46" = load float, ptr %"31", align 4
|
%"49" = load float, ptr %"34", align 4
|
||||||
store float %"46", ptr addrspace(5) %"40", align 4
|
store float %"49", ptr addrspace(5) %"43", align 4
|
||||||
%"48" = load float, ptr addrspace(5) %"39", align 4
|
%"51" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%2 = call float @llvm.roundeven.f32(float %"48")
|
%2 = call float @llvm.roundeven.f32(float %"51")
|
||||||
store float %2, ptr addrspace(5) %"39", align 4
|
store float %2, ptr addrspace(5) %"42", align 4
|
||||||
%"50" = load float, ptr addrspace(5) %"40", align 4
|
%"53" = load float, ptr addrspace(5) %"43", align 4
|
||||||
%3 = call float @llvm.roundeven.f32(float %"50")
|
%3 = call float @llvm.roundeven.f32(float %"53")
|
||||||
store float %3, ptr addrspace(5) %"40", align 4
|
store float %3, ptr addrspace(5) %"43", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
%"54" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"52" = load float, ptr addrspace(5) %"39", align 4
|
%"55" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%"57" = inttoptr i64 %"51" to ptr
|
%"60" = inttoptr i64 %"54" to ptr
|
||||||
store float %"52", ptr %"57", align 4
|
store float %"55", ptr %"60", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"38", align 8
|
%"56" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"58" = inttoptr i64 %"53" to ptr
|
%"61" = inttoptr i64 %"56" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"58", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"61", i64 4
|
||||||
%"54" = load float, ptr addrspace(5) %"40", align 4
|
%"57" = load float, ptr addrspace(5) %"43", align 4
|
||||||
store float %"54", ptr %"33", align 4
|
store float %"57", ptr %"36", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
define amdgpu_kernel void @cvt_rni_u16_f32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @cvt_rni_u16_f32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca float, align 4, addrspace(5)
|
%"38" = alloca float, align 4, addrspace(5)
|
||||||
%"36" = alloca i16, align 2, addrspace(5)
|
%"39" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr addrspace(1)
|
%"48" = inttoptr i64 %"43" to ptr addrspace(1)
|
||||||
%"39" = load float, ptr addrspace(1) %"45", align 4
|
%"42" = load float, ptr addrspace(1) %"48", align 4
|
||||||
store float %"39", ptr addrspace(5) %"35", align 4
|
store float %"42", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load float, ptr addrspace(5) %"35", align 4
|
%"45" = load float, ptr addrspace(5) %"38", align 4
|
||||||
%2 = call float @llvm.roundeven.f32(float %"42")
|
%2 = call float @llvm.roundeven.f32(float %"45")
|
||||||
%"41" = call i16 @llvm.fptoui.sat.i16.f32(float %2)
|
%"44" = call i16 @llvm.fptoui.sat.i16.f32(float %2)
|
||||||
store i16 %"41", ptr addrspace(5) %"36", align 2
|
store i16 %"44", ptr addrspace(5) %"39", align 2
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load i16, ptr addrspace(5) %"36", align 2
|
%"47" = load i16, ptr addrspace(5) %"39", align 2
|
||||||
%"46" = inttoptr i64 %"43" to ptr
|
%"49" = inttoptr i64 %"46" to ptr
|
||||||
store i16 %"44", ptr %"46", align 2
|
store i16 %"47", ptr %"49", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,42 @@
|
||||||
define amdgpu_kernel void @cvt_rzi(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @cvt_rzi(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca float, align 4, addrspace(5)
|
%"42" = alloca float, align 4, addrspace(5)
|
||||||
%"40" = alloca float, align 4, addrspace(5)
|
%"43" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"55" = inttoptr i64 %"44" to ptr
|
%"58" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load float, ptr %"55", align 4
|
%"46" = load float, ptr %"58", align 4
|
||||||
store float %"43", ptr addrspace(5) %"39", align 4
|
store float %"46", ptr addrspace(5) %"42", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"56" = inttoptr i64 %"45" to ptr
|
%"59" = inttoptr i64 %"48" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"56", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"59", i64 4
|
||||||
%"46" = load float, ptr %"31", align 4
|
%"49" = load float, ptr %"34", align 4
|
||||||
store float %"46", ptr addrspace(5) %"40", align 4
|
store float %"49", ptr addrspace(5) %"43", align 4
|
||||||
%"48" = load float, ptr addrspace(5) %"39", align 4
|
%"51" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%2 = call float @llvm.trunc.f32(float %"48")
|
%2 = call float @llvm.trunc.f32(float %"51")
|
||||||
store float %2, ptr addrspace(5) %"39", align 4
|
store float %2, ptr addrspace(5) %"42", align 4
|
||||||
%"50" = load float, ptr addrspace(5) %"40", align 4
|
%"53" = load float, ptr addrspace(5) %"43", align 4
|
||||||
%3 = call float @llvm.trunc.f32(float %"50")
|
%3 = call float @llvm.trunc.f32(float %"53")
|
||||||
store float %3, ptr addrspace(5) %"40", align 4
|
store float %3, ptr addrspace(5) %"43", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
%"54" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"52" = load float, ptr addrspace(5) %"39", align 4
|
%"55" = load float, ptr addrspace(5) %"42", align 4
|
||||||
%"57" = inttoptr i64 %"51" to ptr
|
%"60" = inttoptr i64 %"54" to ptr
|
||||||
store float %"52", ptr %"57", align 4
|
store float %"55", ptr %"60", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"38", align 8
|
%"56" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"58" = inttoptr i64 %"53" to ptr
|
%"61" = inttoptr i64 %"56" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"58", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"61", i64 4
|
||||||
%"54" = load float, ptr addrspace(5) %"40", align 4
|
%"57" = load float, ptr addrspace(5) %"43", align 4
|
||||||
store float %"54", ptr %"33", align 4
|
store float %"57", ptr %"36", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,31 @@
|
||||||
define amdgpu_kernel void @cvt_s16_s8(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @cvt_s16_s8(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr addrspace(1)
|
%"48" = inttoptr i64 %"43" to ptr addrspace(1)
|
||||||
%"39" = load i32, ptr addrspace(1) %"45", align 4
|
%"42" = load i32, ptr addrspace(1) %"48", align 4
|
||||||
store i32 %"39", ptr addrspace(5) %"36", align 4
|
store i32 %"42", ptr addrspace(5) %"39", align 4
|
||||||
%"42" = load i32, ptr addrspace(5) %"36", align 4
|
%"45" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%2 = trunc i32 %"42" to i8
|
%2 = trunc i32 %"45" to i8
|
||||||
%"46" = sext i8 %2 to i16
|
%"49" = sext i8 %2 to i16
|
||||||
%"41" = sext i16 %"46" to i32
|
%"44" = sext i16 %"49" to i32
|
||||||
store i32 %"41", ptr addrspace(5) %"35", align 4
|
store i32 %"44", ptr addrspace(5) %"38", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load i32, ptr addrspace(5) %"35", align 4
|
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
store i32 %"44", ptr %"48", align 4
|
store i32 %"47", ptr %"51", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,50 +1,50 @@
|
||||||
define amdgpu_kernel void @cvt_s32_f32(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @cvt_s32_f32(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"56" = inttoptr i64 %"44" to ptr
|
%"59" = inttoptr i64 %"47" to ptr
|
||||||
%"55" = load float, ptr %"56", align 4
|
%"58" = load float, ptr %"59", align 4
|
||||||
%"43" = bitcast float %"55" to i32
|
|
||||||
store i32 %"43", ptr addrspace(5) %"39", align 4
|
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
|
||||||
%"57" = inttoptr i64 %"45" to ptr
|
|
||||||
%"31" = getelementptr inbounds i8, ptr %"57", i64 4
|
|
||||||
%"58" = load float, ptr %"31", align 4
|
|
||||||
%"46" = bitcast float %"58" to i32
|
%"46" = bitcast float %"58" to i32
|
||||||
store i32 %"46", ptr addrspace(5) %"40", align 4
|
store i32 %"46", ptr addrspace(5) %"42", align 4
|
||||||
%"48" = load i32, ptr addrspace(5) %"39", align 4
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"60" = bitcast i32 %"48" to float
|
%"60" = inttoptr i64 %"48" to ptr
|
||||||
%2 = call float @llvm.ceil.f32(float %"60")
|
%"34" = getelementptr inbounds i8, ptr %"60", i64 4
|
||||||
|
%"61" = load float, ptr %"34", align 4
|
||||||
|
%"49" = bitcast float %"61" to i32
|
||||||
|
store i32 %"49", ptr addrspace(5) %"43", align 4
|
||||||
|
%"51" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
|
%"63" = bitcast i32 %"51" to float
|
||||||
|
%2 = call float @llvm.ceil.f32(float %"63")
|
||||||
%3 = fptosi float %2 to i32
|
%3 = fptosi float %2 to i32
|
||||||
%"59" = freeze i32 %3
|
%"62" = freeze i32 %3
|
||||||
store i32 %"59", ptr addrspace(5) %"39", align 4
|
store i32 %"62", ptr addrspace(5) %"42", align 4
|
||||||
%"50" = load i32, ptr addrspace(5) %"40", align 4
|
%"53" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"62" = bitcast i32 %"50" to float
|
%"65" = bitcast i32 %"53" to float
|
||||||
%4 = call float @llvm.ceil.f32(float %"62")
|
%4 = call float @llvm.ceil.f32(float %"65")
|
||||||
%5 = fptosi float %4 to i32
|
%5 = fptosi float %4 to i32
|
||||||
%"61" = freeze i32 %5
|
%"64" = freeze i32 %5
|
||||||
store i32 %"61", ptr addrspace(5) %"40", align 4
|
store i32 %"64", ptr addrspace(5) %"43", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
%"54" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"52" = load i32, ptr addrspace(5) %"39", align 4
|
%"55" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
%"63" = inttoptr i64 %"51" to ptr addrspace(1)
|
%"66" = inttoptr i64 %"54" to ptr addrspace(1)
|
||||||
store i32 %"52", ptr addrspace(1) %"63", align 4
|
store i32 %"55", ptr addrspace(1) %"66", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"38", align 8
|
%"56" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"65" = inttoptr i64 %"53" to ptr addrspace(1)
|
%"68" = inttoptr i64 %"56" to ptr addrspace(1)
|
||||||
%"33" = getelementptr inbounds i8, ptr addrspace(1) %"65", i64 4
|
%"36" = getelementptr inbounds i8, ptr addrspace(1) %"68", i64 4
|
||||||
%"54" = load i32, ptr addrspace(5) %"40", align 4
|
%"57" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
store i32 %"54", ptr addrspace(1) %"33", align 4
|
store i32 %"57", ptr addrspace(1) %"36", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @cvt_s64_s32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @cvt_s64_s32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"46" = inttoptr i64 %"40" to ptr
|
%"49" = inttoptr i64 %"43" to ptr
|
||||||
%"45" = load i32, ptr %"46", align 4
|
%"48" = load i32, ptr %"49", align 4
|
||||||
store i32 %"45", ptr addrspace(5) %"35", align 4
|
store i32 %"48", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i32, ptr addrspace(5) %"35", align 4
|
%"45" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"41" = sext i32 %"42" to i64
|
%"44" = sext i32 %"45" to i64
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"47" = inttoptr i64 %"43" to ptr
|
%"50" = inttoptr i64 %"46" to ptr
|
||||||
store i64 %"44", ptr %"47", align 8
|
store i64 %"47", ptr %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
define amdgpu_kernel void @cvt_sat_s_u(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @cvt_sat_s_u(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"32", align 8
|
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"34", align 8
|
store i64 %"42", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"33", align 8
|
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"35", align 8
|
store i64 %"43", ptr addrspace(5) %"38", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"49" = inttoptr i64 %"42" to ptr
|
%"52" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"49", align 4
|
%"44" = load i32, ptr %"52", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%2 = call i32 @llvm.smax.i32(i32 %"44", i32 0)
|
%2 = call i32 @llvm.smax.i32(i32 %"47", i32 0)
|
||||||
%3 = call i32 @llvm.smin.i32(i32 %2, i32 2147483647)
|
%3 = call i32 @llvm.smin.i32(i32 %2, i32 2147483647)
|
||||||
store i32 %3, ptr addrspace(5) %"37", align 4
|
store i32 %3, ptr addrspace(5) %"40", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
store i32 %"46", ptr addrspace(5) %"38", align 4
|
store i32 %"49", ptr addrspace(5) %"41", align 4
|
||||||
%"47" = load i64, ptr addrspace(5) %"35", align 8
|
%"50" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"48" = load i32, ptr addrspace(5) %"38", align 4
|
%"51" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"50" = inttoptr i64 %"47" to ptr
|
%"53" = inttoptr i64 %"50" to ptr
|
||||||
store i32 %"48", ptr %"50", align 4
|
store i32 %"51", ptr %"53", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,33 +1,33 @@
|
||||||
define amdgpu_kernel void @cvta(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @cvta(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca float, align 4, addrspace(5)
|
%"37" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%2 = inttoptr i64 %"38" to ptr
|
%2 = inttoptr i64 %"41" to ptr
|
||||||
%"45" = addrspacecast ptr %2 to ptr addrspace(1)
|
%"48" = addrspacecast ptr %2 to ptr addrspace(1)
|
||||||
store ptr addrspace(1) %"45", ptr addrspace(5) %"32", align 8
|
store ptr addrspace(1) %"48", ptr addrspace(5) %"35", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%3 = inttoptr i64 %"40" to ptr
|
%3 = inttoptr i64 %"43" to ptr
|
||||||
%"47" = addrspacecast ptr %3 to ptr addrspace(1)
|
%"50" = addrspacecast ptr %3 to ptr addrspace(1)
|
||||||
store ptr addrspace(1) %"47", ptr addrspace(5) %"33", align 8
|
store ptr addrspace(1) %"50", ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"32", align 8
|
%"45" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"49" = inttoptr i64 %"42" to ptr addrspace(1)
|
%"52" = inttoptr i64 %"45" to ptr addrspace(1)
|
||||||
%"41" = load float, ptr addrspace(1) %"49", align 4
|
%"44" = load float, ptr addrspace(1) %"52", align 4
|
||||||
store float %"41", ptr addrspace(5) %"34", align 4
|
store float %"44", ptr addrspace(5) %"37", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"33", align 8
|
%"46" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"44" = load float, ptr addrspace(5) %"34", align 4
|
%"47" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"50" = inttoptr i64 %"43" to ptr addrspace(1)
|
%"53" = inttoptr i64 %"46" to ptr addrspace(1)
|
||||||
store float %"44", ptr addrspace(1) %"50", align 4
|
store float %"47", ptr addrspace(1) %"53", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @div_approx(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @div_approx(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca float, align 4, addrspace(5)
|
%"40" = alloca float, align 4, addrspace(5)
|
||||||
%"38" = alloca float, align 4, addrspace(5)
|
%"41" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load float, ptr %"50", align 4
|
%"44" = load float, ptr %"53", align 4
|
||||||
store float %"41", ptr addrspace(5) %"37", align 4
|
store float %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load float, ptr %"31", align 4
|
%"47" = load float, ptr %"34", align 4
|
||||||
store float %"44", ptr addrspace(5) %"38", align 4
|
store float %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load float, ptr addrspace(5) %"37", align 4
|
%"49" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load float, ptr addrspace(5) %"38", align 4
|
%"50" = load float, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = fdiv arcp afn float %"46", %"47"
|
%"48" = fdiv arcp afn float %"49", %"50"
|
||||||
store float %"45", ptr addrspace(5) %"37", align 4
|
store float %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load float, ptr addrspace(5) %"37", align 4
|
%"52" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store float %"49", ptr %"52", align 4
|
store float %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,65 +4,65 @@ declare hidden %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float, flo
|
||||||
|
|
||||||
declare hidden float @__zluda_ptx_impl_div_f32_part2(float, float, float, float, float, i8) #0
|
declare hidden float @__zluda_ptx_impl_div_f32_part2(float, float, float, float, float, i8) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @div_ftz(ptr addrspace(4) byref(i64) %"63", ptr addrspace(4) byref(i64) %"64") #1 {
|
define amdgpu_kernel void @div_ftz(ptr addrspace(4) byref(i64) %"66", ptr addrspace(4) byref(i64) %"67") #1 {
|
||||||
%"65" = alloca i64, align 8, addrspace(5)
|
%"68" = alloca i64, align 8, addrspace(5)
|
||||||
%"66" = alloca i64, align 8, addrspace(5)
|
%"69" = alloca i64, align 8, addrspace(5)
|
||||||
%"67" = alloca float, align 4, addrspace(5)
|
%"70" = alloca float, align 4, addrspace(5)
|
||||||
%"68" = alloca float, align 4, addrspace(5)
|
%"71" = alloca float, align 4, addrspace(5)
|
||||||
%"69" = alloca float, align 4, addrspace(5)
|
%"72" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"54"
|
|
||||||
|
|
||||||
"54": ; preds = %1
|
|
||||||
%"70" = load i64, ptr addrspace(4) %"63", align 8
|
|
||||||
store i64 %"70", ptr addrspace(5) %"65", align 8
|
|
||||||
%"71" = load i64, ptr addrspace(4) %"64", align 8
|
|
||||||
store i64 %"71", ptr addrspace(5) %"66", align 8
|
|
||||||
%"73" = load i64, ptr addrspace(5) %"65", align 8
|
|
||||||
%"88" = inttoptr i64 %"73" to ptr
|
|
||||||
%"72" = load float, ptr %"88", align 4
|
|
||||||
store float %"72", ptr addrspace(5) %"67", align 4
|
|
||||||
%"74" = load i64, ptr addrspace(5) %"65", align 8
|
|
||||||
%"89" = inttoptr i64 %"74" to ptr
|
|
||||||
%"32" = getelementptr inbounds i8, ptr %"89", i64 4
|
|
||||||
%"75" = load float, ptr %"32", align 4
|
|
||||||
store float %"75", ptr addrspace(5) %"68", align 4
|
|
||||||
%"77" = load float, ptr addrspace(5) %"67", align 4
|
|
||||||
%"78" = load float, ptr addrspace(5) %"68", align 4
|
|
||||||
%"76" = fmul float %"77", %"78"
|
|
||||||
store float %"76", ptr addrspace(5) %"69", align 4
|
|
||||||
%"79" = load float, ptr addrspace(5) %"67", align 4
|
|
||||||
%"80" = load float, ptr addrspace(5) %"68", align 4
|
|
||||||
%2 = call %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float %"79", float %"80")
|
|
||||||
%"37" = extractvalue %struct.f32.f32.f32.i8 %2, 0
|
|
||||||
%"38" = extractvalue %struct.f32.f32.f32.i8 %2, 1
|
|
||||||
%"39" = extractvalue %struct.f32.f32.f32.i8 %2, 2
|
|
||||||
%"40" = extractvalue %struct.f32.f32.f32.i8 %2, 3
|
|
||||||
br label %"57"
|
br label %"57"
|
||||||
|
|
||||||
"57": ; preds = %"54"
|
"57": ; preds = %1
|
||||||
|
%"73" = load i64, ptr addrspace(4) %"66", align 8
|
||||||
|
store i64 %"73", ptr addrspace(5) %"68", align 8
|
||||||
|
%"74" = load i64, ptr addrspace(4) %"67", align 8
|
||||||
|
store i64 %"74", ptr addrspace(5) %"69", align 8
|
||||||
|
%"76" = load i64, ptr addrspace(5) %"68", align 8
|
||||||
|
%"91" = inttoptr i64 %"76" to ptr
|
||||||
|
%"75" = load float, ptr %"91", align 4
|
||||||
|
store float %"75", ptr addrspace(5) %"70", align 4
|
||||||
|
%"77" = load i64, ptr addrspace(5) %"68", align 8
|
||||||
|
%"92" = inttoptr i64 %"77" to ptr
|
||||||
|
%"35" = getelementptr inbounds i8, ptr %"92", i64 4
|
||||||
|
%"78" = load float, ptr %"35", align 4
|
||||||
|
store float %"78", ptr addrspace(5) %"71", align 4
|
||||||
|
%"80" = load float, ptr addrspace(5) %"70", align 4
|
||||||
|
%"81" = load float, ptr addrspace(5) %"71", align 4
|
||||||
|
%"79" = fmul float %"80", %"81"
|
||||||
|
store float %"79", ptr addrspace(5) %"72", align 4
|
||||||
|
%"82" = load float, ptr addrspace(5) %"70", align 4
|
||||||
|
%"83" = load float, ptr addrspace(5) %"71", align 4
|
||||||
|
%2 = call %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float %"82", float %"83")
|
||||||
|
%"40" = extractvalue %struct.f32.f32.f32.i8 %2, 0
|
||||||
|
%"41" = extractvalue %struct.f32.f32.f32.i8 %2, 1
|
||||||
|
%"42" = extractvalue %struct.f32.f32.f32.i8 %2, 2
|
||||||
|
%"43" = extractvalue %struct.f32.f32.f32.i8 %2, 3
|
||||||
|
br label %"60"
|
||||||
|
|
||||||
|
"60": ; preds = %"57"
|
||||||
call void @llvm.amdgcn.s.setreg(i32 6401, i32 0)
|
call void @llvm.amdgcn.s.setreg(i32 6401, i32 0)
|
||||||
br label %"55"
|
br label %"58"
|
||||||
|
|
||||||
"55": ; preds = %"57"
|
"58": ; preds = %"60"
|
||||||
%"82" = load float, ptr addrspace(5) %"67", align 4
|
%"85" = load float, ptr addrspace(5) %"70", align 4
|
||||||
%"83" = load float, ptr addrspace(5) %"68", align 4
|
%"86" = load float, ptr addrspace(5) %"71", align 4
|
||||||
%"81" = call float @__zluda_ptx_impl_div_f32_part2(float %"82", float %"83", float %"37", float %"38", float %"39", i8 %"40")
|
%"84" = call float @__zluda_ptx_impl_div_f32_part2(float %"85", float %"86", float %"40", float %"41", float %"42", i8 %"43")
|
||||||
store float %"81", ptr addrspace(5) %"67", align 4
|
store float %"84", ptr addrspace(5) %"70", align 4
|
||||||
br label %"56"
|
br label %"59"
|
||||||
|
|
||||||
"56": ; preds = %"55"
|
"59": ; preds = %"58"
|
||||||
%"84" = load i64, ptr addrspace(5) %"66", align 8
|
%"87" = load i64, ptr addrspace(5) %"69", align 8
|
||||||
%"85" = load float, ptr addrspace(5) %"67", align 4
|
%"88" = load float, ptr addrspace(5) %"70", align 4
|
||||||
%"90" = inttoptr i64 %"84" to ptr
|
%"93" = inttoptr i64 %"87" to ptr
|
||||||
store float %"85", ptr %"90", align 4
|
store float %"88", ptr %"93", align 4
|
||||||
%"86" = load i64, ptr addrspace(5) %"66", align 8
|
%"89" = load i64, ptr addrspace(5) %"69", align 8
|
||||||
%"91" = inttoptr i64 %"86" to ptr
|
%"94" = inttoptr i64 %"89" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"91", i64 4
|
%"37" = getelementptr inbounds i8, ptr %"94", i64 4
|
||||||
%"87" = load float, ptr addrspace(5) %"69", align 4
|
%"90" = load float, ptr addrspace(5) %"72", align 4
|
||||||
store float %"87", ptr %"34", align 4
|
store float %"90", ptr %"37", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,62 +4,62 @@ declare hidden %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float, flo
|
||||||
|
|
||||||
declare hidden float @__zluda_ptx_impl_div_f32_part2(float, float, float, float, float, i8) #0
|
declare hidden float @__zluda_ptx_impl_div_f32_part2(float, float, float, float, float, i8) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @div_noftz(ptr addrspace(4) byref(i64) %"62", ptr addrspace(4) byref(i64) %"63") #1 {
|
define amdgpu_kernel void @div_noftz(ptr addrspace(4) byref(i64) %"65", ptr addrspace(4) byref(i64) %"66") #1 {
|
||||||
%"64" = alloca i64, align 8, addrspace(5)
|
%"67" = alloca i64, align 8, addrspace(5)
|
||||||
%"65" = alloca i64, align 8, addrspace(5)
|
%"68" = alloca i64, align 8, addrspace(5)
|
||||||
%"66" = alloca float, align 4, addrspace(5)
|
%"69" = alloca float, align 4, addrspace(5)
|
||||||
%"67" = alloca float, align 4, addrspace(5)
|
%"70" = alloca float, align 4, addrspace(5)
|
||||||
%"68" = alloca float, align 4, addrspace(5)
|
%"71" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"54"
|
br label %"57"
|
||||||
|
|
||||||
"54": ; preds = %1
|
"57": ; preds = %1
|
||||||
%"69" = load i64, ptr addrspace(4) %"62", align 8
|
%"72" = load i64, ptr addrspace(4) %"65", align 8
|
||||||
store i64 %"69", ptr addrspace(5) %"64", align 8
|
store i64 %"72", ptr addrspace(5) %"67", align 8
|
||||||
%"70" = load i64, ptr addrspace(4) %"63", align 8
|
%"73" = load i64, ptr addrspace(4) %"66", align 8
|
||||||
store i64 %"70", ptr addrspace(5) %"65", align 8
|
store i64 %"73", ptr addrspace(5) %"68", align 8
|
||||||
%"72" = load i64, ptr addrspace(5) %"64", align 8
|
%"75" = load i64, ptr addrspace(5) %"67", align 8
|
||||||
%"87" = inttoptr i64 %"72" to ptr
|
%"90" = inttoptr i64 %"75" to ptr
|
||||||
%"71" = load float, ptr %"87", align 4
|
%"74" = load float, ptr %"90", align 4
|
||||||
store float %"71", ptr addrspace(5) %"66", align 4
|
store float %"74", ptr addrspace(5) %"69", align 4
|
||||||
%"73" = load i64, ptr addrspace(5) %"64", align 8
|
%"76" = load i64, ptr addrspace(5) %"67", align 8
|
||||||
%"88" = inttoptr i64 %"73" to ptr
|
%"91" = inttoptr i64 %"76" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"88", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"91", i64 4
|
||||||
%"74" = load float, ptr %"32", align 4
|
%"77" = load float, ptr %"35", align 4
|
||||||
store float %"74", ptr addrspace(5) %"67", align 4
|
store float %"77", ptr addrspace(5) %"70", align 4
|
||||||
%"76" = load float, ptr addrspace(5) %"66", align 4
|
%"79" = load float, ptr addrspace(5) %"69", align 4
|
||||||
%"77" = load float, ptr addrspace(5) %"67", align 4
|
%"80" = load float, ptr addrspace(5) %"70", align 4
|
||||||
%"75" = fmul float %"76", %"77"
|
%"78" = fmul float %"79", %"80"
|
||||||
store float %"75", ptr addrspace(5) %"68", align 4
|
store float %"78", ptr addrspace(5) %"71", align 4
|
||||||
call void @llvm.amdgcn.s.setreg(i32 6401, i32 3)
|
call void @llvm.amdgcn.s.setreg(i32 6401, i32 3)
|
||||||
%"78" = load float, ptr addrspace(5) %"66", align 4
|
%"81" = load float, ptr addrspace(5) %"69", align 4
|
||||||
%"79" = load float, ptr addrspace(5) %"67", align 4
|
%"82" = load float, ptr addrspace(5) %"70", align 4
|
||||||
%2 = call %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float %"78", float %"79")
|
%2 = call %struct.f32.f32.f32.i8 @__zluda_ptx_impl_div_f32_part1(float %"81", float %"82")
|
||||||
%"37" = extractvalue %struct.f32.f32.f32.i8 %2, 0
|
%"40" = extractvalue %struct.f32.f32.f32.i8 %2, 0
|
||||||
%"38" = extractvalue %struct.f32.f32.f32.i8 %2, 1
|
%"41" = extractvalue %struct.f32.f32.f32.i8 %2, 1
|
||||||
%"39" = extractvalue %struct.f32.f32.f32.i8 %2, 2
|
%"42" = extractvalue %struct.f32.f32.f32.i8 %2, 2
|
||||||
%"40" = extractvalue %struct.f32.f32.f32.i8 %2, 3
|
%"43" = extractvalue %struct.f32.f32.f32.i8 %2, 3
|
||||||
br label %"55"
|
br label %"58"
|
||||||
|
|
||||||
"55": ; preds = %"54"
|
"58": ; preds = %"57"
|
||||||
%"81" = load float, ptr addrspace(5) %"66", align 4
|
%"84" = load float, ptr addrspace(5) %"69", align 4
|
||||||
%"82" = load float, ptr addrspace(5) %"67", align 4
|
%"85" = load float, ptr addrspace(5) %"70", align 4
|
||||||
%"80" = call float @__zluda_ptx_impl_div_f32_part2(float %"81", float %"82", float %"37", float %"38", float %"39", i8 %"40")
|
%"83" = call float @__zluda_ptx_impl_div_f32_part2(float %"84", float %"85", float %"40", float %"41", float %"42", i8 %"43")
|
||||||
store float %"80", ptr addrspace(5) %"66", align 4
|
store float %"83", ptr addrspace(5) %"69", align 4
|
||||||
br label %"56"
|
br label %"59"
|
||||||
|
|
||||||
"56": ; preds = %"55"
|
"59": ; preds = %"58"
|
||||||
%"83" = load i64, ptr addrspace(5) %"65", align 8
|
%"86" = load i64, ptr addrspace(5) %"68", align 8
|
||||||
%"84" = load float, ptr addrspace(5) %"66", align 4
|
%"87" = load float, ptr addrspace(5) %"69", align 4
|
||||||
%"89" = inttoptr i64 %"83" to ptr
|
%"92" = inttoptr i64 %"86" to ptr
|
||||||
store float %"84", ptr %"89", align 4
|
store float %"87", ptr %"92", align 4
|
||||||
%"85" = load i64, ptr addrspace(5) %"65", align 8
|
%"88" = load i64, ptr addrspace(5) %"68", align 8
|
||||||
%"90" = inttoptr i64 %"85" to ptr
|
%"93" = inttoptr i64 %"88" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"90", i64 4
|
%"37" = getelementptr inbounds i8, ptr %"93", i64 4
|
||||||
%"86" = load float, ptr addrspace(5) %"68", align 4
|
%"89" = load float, ptr addrspace(5) %"71", align 4
|
||||||
store float %"86", ptr %"34", align 4
|
store float %"89", ptr %"37", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,43 +1,43 @@
|
||||||
define amdgpu_kernel void @dp4a(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
define amdgpu_kernel void @dp4a(ptr addrspace(4) byref(i64) %"40", ptr addrspace(4) byref(i64) %"41") #0 {
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"44" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"47" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"36"
|
br label %"39"
|
||||||
|
|
||||||
"36": ; preds = %1
|
"39": ; preds = %1
|
||||||
%"45" = load i64, ptr addrspace(4) %"37", align 8
|
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"39", align 8
|
store i64 %"48", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(4) %"38", align 8
|
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"40", align 8
|
store i64 %"49", ptr addrspace(5) %"43", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
%"51" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"59" = inttoptr i64 %"48" to ptr
|
%"62" = inttoptr i64 %"51" to ptr
|
||||||
%"47" = load i32, ptr %"59", align 4
|
%"50" = load i32, ptr %"62", align 4
|
||||||
store i32 %"47", ptr addrspace(5) %"41", align 4
|
store i32 %"50", ptr addrspace(5) %"44", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"39", align 8
|
%"52" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"60" = inttoptr i64 %"49" to ptr
|
%"63" = inttoptr i64 %"52" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"60", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"63", i64 4
|
||||||
%"50" = load i32, ptr %"33", align 4
|
%"53" = load i32, ptr %"36", align 4
|
||||||
store i32 %"50", ptr addrspace(5) %"42", align 4
|
store i32 %"53", ptr addrspace(5) %"45", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
%"54" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"61" = inttoptr i64 %"51" to ptr
|
%"64" = inttoptr i64 %"54" to ptr
|
||||||
%"35" = getelementptr inbounds i8, ptr %"61", i64 8
|
%"38" = getelementptr inbounds i8, ptr %"64", i64 8
|
||||||
%"52" = load i32, ptr %"35", align 4
|
%"55" = load i32, ptr %"38", align 4
|
||||||
store i32 %"52", ptr addrspace(5) %"43", align 4
|
store i32 %"55", ptr addrspace(5) %"46", align 4
|
||||||
%"54" = load i32, ptr addrspace(5) %"41", align 4
|
%"57" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"55" = load i32, ptr addrspace(5) %"42", align 4
|
%"58" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"56" = load i32, ptr addrspace(5) %"43", align 4
|
%"59" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
%"53" = call i32 @llvm.amdgcn.sdot4(i32 %"54", i32 %"55", i32 %"56", i1 false)
|
%"56" = call i32 @llvm.amdgcn.sdot4(i32 %"57", i32 %"58", i32 %"59", i1 false)
|
||||||
store i32 %"53", ptr addrspace(5) %"44", align 4
|
store i32 %"56", ptr addrspace(5) %"47", align 4
|
||||||
%"57" = load i64, ptr addrspace(5) %"40", align 8
|
%"60" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"58" = load i32, ptr addrspace(5) %"44", align 4
|
%"61" = load i32, ptr addrspace(5) %"47", align 4
|
||||||
%"65" = inttoptr i64 %"57" to ptr
|
%"68" = inttoptr i64 %"60" to ptr
|
||||||
store i32 %"58", ptr %"65", align 4
|
store i32 %"61", ptr %"68", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
declare hidden float @__zluda_ptx_impl_ex2_approx_f32(float) #0
|
declare hidden float @__zluda_ptx_impl_ex2_approx_f32(float) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @ex2(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #1 {
|
define amdgpu_kernel void @ex2(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #1 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca float, align 4, addrspace(5)
|
%"37" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load float, ptr %"43", align 4
|
%"40" = load float, ptr %"46", align 4
|
||||||
store float %"37", ptr addrspace(5) %"34", align 4
|
store float %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load float, ptr addrspace(5) %"34", align 4
|
%"43" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = call float @__zluda_ptx_impl_ex2_approx_f32(float %"40")
|
%"42" = call float @__zluda_ptx_impl_ex2_approx_f32(float %"43")
|
||||||
store float %"39", ptr addrspace(5) %"34", align 4
|
store float %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load float, ptr addrspace(5) %"34", align 4
|
%"45" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store float %"42", ptr %"44", align 4
|
store float %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
declare hidden [16 x i8] @foobar(i64) #0
|
declare hidden [16 x i8] @foobar(i64) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @extern_func(ptr addrspace(4) byref(i64) %"44", ptr addrspace(4) byref(i64) %"45") #1 {
|
define amdgpu_kernel void @extern_func(ptr addrspace(4) byref(i64) %"47", ptr addrspace(4) byref(i64) %"48") #1 {
|
||||||
%"46" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"47" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"48" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"49" = alloca i64, align 8, addrspace(5)
|
%"49" = alloca i64, align 8, addrspace(5)
|
||||||
%"54" = alloca i64, align 8, addrspace(5)
|
%"50" = alloca i64, align 8, addrspace(5)
|
||||||
%"57" = alloca [16 x i8], align 16, addrspace(5)
|
%"51" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"52" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"57" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"60" = alloca [16 x i8], align 16, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"41"
|
br label %"44"
|
||||||
|
|
||||||
"41": ; preds = %1
|
"44": ; preds = %1
|
||||||
%"50" = load i64, ptr addrspace(4) %"44", align 8
|
%"53" = load i64, ptr addrspace(4) %"47", align 8
|
||||||
store i64 %"50", ptr addrspace(5) %"46", align 8
|
store i64 %"53", ptr addrspace(5) %"49", align 8
|
||||||
%"51" = load i64, ptr addrspace(4) %"45", align 8
|
%"54" = load i64, ptr addrspace(4) %"48", align 8
|
||||||
store i64 %"51", ptr addrspace(5) %"47", align 8
|
store i64 %"54", ptr addrspace(5) %"50", align 8
|
||||||
%"53" = load i64, ptr addrspace(5) %"46", align 8
|
%"56" = load i64, ptr addrspace(5) %"49", align 8
|
||||||
%"61" = inttoptr i64 %"53" to ptr addrspace(1)
|
%"64" = inttoptr i64 %"56" to ptr addrspace(1)
|
||||||
%"52" = load i64, ptr addrspace(1) %"61", align 8
|
%"55" = load i64, ptr addrspace(1) %"64", align 8
|
||||||
store i64 %"52", ptr addrspace(5) %"48", align 8
|
store i64 %"55", ptr addrspace(5) %"51", align 8
|
||||||
%"55" = getelementptr inbounds i8, ptr addrspace(5) %"54", i64 0
|
%"58" = getelementptr inbounds i8, ptr addrspace(5) %"57", i64 0
|
||||||
%"56" = load i64, ptr addrspace(5) %"48", align 8
|
%"59" = load i64, ptr addrspace(5) %"51", align 8
|
||||||
store i64 %"56", ptr addrspace(5) %"55", align 8
|
store i64 %"59", ptr addrspace(5) %"58", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"54", align 8
|
%"42" = load i64, ptr addrspace(5) %"57", align 8
|
||||||
%"40" = call [16 x i8] @foobar(i64 %"39")
|
%"43" = call [16 x i8] @foobar(i64 %"42")
|
||||||
br label %"42"
|
br label %"45"
|
||||||
|
|
||||||
"42": ; preds = %"41"
|
"45": ; preds = %"44"
|
||||||
store [16 x i8] %"40", ptr addrspace(5) %"57", align 1
|
store [16 x i8] %"43", ptr addrspace(5) %"60", align 1
|
||||||
%"58" = load i64, ptr addrspace(5) %"57", align 8
|
%"61" = load i64, ptr addrspace(5) %"60", align 8
|
||||||
store i64 %"58", ptr addrspace(5) %"49", align 8
|
store i64 %"61", ptr addrspace(5) %"52", align 8
|
||||||
%"59" = load i64, ptr addrspace(5) %"47", align 8
|
%"62" = load i64, ptr addrspace(5) %"50", align 8
|
||||||
%"60" = load i64, ptr addrspace(5) %"49", align 8
|
%"63" = load i64, ptr addrspace(5) %"52", align 8
|
||||||
%"64" = inttoptr i64 %"59" to ptr
|
%"67" = inttoptr i64 %"62" to ptr
|
||||||
store i64 %"60", ptr %"64", align 8
|
store i64 %"63", ptr %"67", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,31 @@
|
||||||
@shared_mem = external addrspace(3) global [0 x i32]
|
@shared_mem = external addrspace(3) global [0 x i32]
|
||||||
|
|
||||||
define amdgpu_kernel void @extern_shared(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @extern_shared(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"44" = inttoptr i64 %"39" to ptr addrspace(1)
|
|
||||||
%"38" = load i64, ptr addrspace(1) %"44", align 8
|
|
||||||
store i64 %"38", ptr addrspace(5) %"35", align 8
|
|
||||||
%"40" = load i64, ptr addrspace(5) %"35", align 8
|
|
||||||
store i64 %"40", ptr addrspace(3) @shared_mem, align 8
|
|
||||||
%"41" = load i64, ptr addrspace(3) @shared_mem, align 8
|
|
||||||
store i64 %"41", ptr addrspace(5) %"35", align 8
|
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
|
||||||
%"47" = inttoptr i64 %"42" to ptr addrspace(1)
|
%"47" = inttoptr i64 %"42" to ptr addrspace(1)
|
||||||
store i64 %"43", ptr addrspace(1) %"47", align 8
|
%"41" = load i64, ptr addrspace(1) %"47", align 8
|
||||||
|
store i64 %"41", ptr addrspace(5) %"38", align 8
|
||||||
|
%"43" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
|
store i64 %"43", ptr addrspace(3) @shared_mem, align 8
|
||||||
|
%"44" = load i64, ptr addrspace(3) @shared_mem, align 8
|
||||||
|
store i64 %"44", ptr addrspace(5) %"38", align 8
|
||||||
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
|
%"50" = inttoptr i64 %"45" to ptr addrspace(1)
|
||||||
|
store i64 %"46", ptr addrspace(1) %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,53 +1,53 @@
|
||||||
@shared_mem = external addrspace(3) global [0 x i32], align 4
|
@shared_mem = external addrspace(3) global [0 x i32], align 4
|
||||||
|
|
||||||
define hidden void @incr_shared_2_global() #0 {
|
define hidden void @incr_shared_2_global() #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(3) @shared_mem, align 8
|
%"40" = load i64, ptr addrspace(3) @shared_mem, align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"36", align 8
|
store i64 %"40", ptr addrspace(5) %"39", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"36", align 8
|
%"42" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"38" = add i64 %"39", 2
|
%"41" = add i64 %"42", 2
|
||||||
store i64 %"38", ptr addrspace(5) %"36", align 8
|
store i64 %"41", ptr addrspace(5) %"39", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"36", align 8
|
%"43" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
store i64 %"40", ptr addrspace(3) @shared_mem, align 8
|
store i64 %"43", ptr addrspace(3) @shared_mem, align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
define amdgpu_kernel void @extern_shared_call(ptr addrspace(4) byref(i64) %"41", ptr addrspace(4) byref(i64) %"42") #1 {
|
define amdgpu_kernel void @extern_shared_call(ptr addrspace(4) byref(i64) %"44", ptr addrspace(4) byref(i64) %"45") #1 {
|
||||||
%"43" = alloca i64, align 8, addrspace(5)
|
%"46" = alloca i64, align 8, addrspace(5)
|
||||||
%"44" = alloca i64, align 8, addrspace(5)
|
%"47" = alloca i64, align 8, addrspace(5)
|
||||||
%"45" = alloca i64, align 8, addrspace(5)
|
%"48" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"46" = load i64, ptr addrspace(4) %"41", align 8
|
%"49" = load i64, ptr addrspace(4) %"44", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"43", align 8
|
store i64 %"49", ptr addrspace(5) %"46", align 8
|
||||||
%"47" = load i64, ptr addrspace(4) %"42", align 8
|
%"50" = load i64, ptr addrspace(4) %"45", align 8
|
||||||
store i64 %"47", ptr addrspace(5) %"44", align 8
|
store i64 %"50", ptr addrspace(5) %"47", align 8
|
||||||
%"49" = load i64, ptr addrspace(5) %"43", align 8
|
%"52" = load i64, ptr addrspace(5) %"46", align 8
|
||||||
%"56" = inttoptr i64 %"49" to ptr addrspace(1)
|
|
||||||
%"48" = load i64, ptr addrspace(1) %"56", align 8
|
|
||||||
store i64 %"48", ptr addrspace(5) %"45", align 8
|
|
||||||
%"50" = load i64, ptr addrspace(5) %"45", align 8
|
|
||||||
store i64 %"50", ptr addrspace(3) @shared_mem, align 8
|
|
||||||
call void @incr_shared_2_global()
|
|
||||||
br label %"35"
|
|
||||||
|
|
||||||
"35": ; preds = %"34"
|
|
||||||
%"51" = load i64, ptr addrspace(3) @shared_mem, align 8
|
|
||||||
store i64 %"51", ptr addrspace(5) %"45", align 8
|
|
||||||
%"52" = load i64, ptr addrspace(5) %"44", align 8
|
|
||||||
%"53" = load i64, ptr addrspace(5) %"45", align 8
|
|
||||||
%"59" = inttoptr i64 %"52" to ptr addrspace(1)
|
%"59" = inttoptr i64 %"52" to ptr addrspace(1)
|
||||||
store i64 %"53", ptr addrspace(1) %"59", align 8
|
%"51" = load i64, ptr addrspace(1) %"59", align 8
|
||||||
|
store i64 %"51", ptr addrspace(5) %"48", align 8
|
||||||
|
%"53" = load i64, ptr addrspace(5) %"48", align 8
|
||||||
|
store i64 %"53", ptr addrspace(3) @shared_mem, align 8
|
||||||
|
call void @incr_shared_2_global()
|
||||||
|
br label %"38"
|
||||||
|
|
||||||
|
"38": ; preds = %"37"
|
||||||
|
%"54" = load i64, ptr addrspace(3) @shared_mem, align 8
|
||||||
|
store i64 %"54", ptr addrspace(5) %"48", align 8
|
||||||
|
%"55" = load i64, ptr addrspace(5) %"47", align 8
|
||||||
|
%"56" = load i64, ptr addrspace(5) %"48", align 8
|
||||||
|
%"62" = inttoptr i64 %"55" to ptr addrspace(1)
|
||||||
|
store i64 %"56", ptr addrspace(1) %"62", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,42 @@
|
||||||
define amdgpu_kernel void @fma(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
define amdgpu_kernel void @fma(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca float, align 4, addrspace(5)
|
%"43" = alloca float, align 4, addrspace(5)
|
||||||
%"41" = alloca float, align 4, addrspace(5)
|
%"44" = alloca float, align 4, addrspace(5)
|
||||||
%"42" = alloca float, align 4, addrspace(5)
|
%"45" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"35"
|
br label %"38"
|
||||||
|
|
||||||
"35": ; preds = %1
|
"38": ; preds = %1
|
||||||
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
%"46" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"38", align 8
|
store i64 %"46", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
%"47" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"39", align 8
|
store i64 %"47", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"57" = inttoptr i64 %"46" to ptr
|
%"60" = inttoptr i64 %"49" to ptr
|
||||||
%"45" = load float, ptr %"57", align 4
|
%"48" = load float, ptr %"60", align 4
|
||||||
store float %"45", ptr addrspace(5) %"40", align 4
|
store float %"48", ptr addrspace(5) %"43", align 4
|
||||||
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"58" = inttoptr i64 %"47" to ptr
|
%"61" = inttoptr i64 %"50" to ptr
|
||||||
%"32" = getelementptr inbounds i8, ptr %"58", i64 4
|
%"35" = getelementptr inbounds i8, ptr %"61", i64 4
|
||||||
%"48" = load float, ptr %"32", align 4
|
%"51" = load float, ptr %"35", align 4
|
||||||
store float %"48", ptr addrspace(5) %"41", align 4
|
store float %"51", ptr addrspace(5) %"44", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"38", align 8
|
%"52" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"59" = inttoptr i64 %"49" to ptr
|
%"62" = inttoptr i64 %"52" to ptr
|
||||||
%"34" = getelementptr inbounds i8, ptr %"59", i64 8
|
%"37" = getelementptr inbounds i8, ptr %"62", i64 8
|
||||||
%"50" = load float, ptr %"34", align 4
|
%"53" = load float, ptr %"37", align 4
|
||||||
store float %"50", ptr addrspace(5) %"42", align 4
|
store float %"53", ptr addrspace(5) %"45", align 4
|
||||||
%"52" = load float, ptr addrspace(5) %"40", align 4
|
%"55" = load float, ptr addrspace(5) %"43", align 4
|
||||||
%"53" = load float, ptr addrspace(5) %"41", align 4
|
%"56" = load float, ptr addrspace(5) %"44", align 4
|
||||||
%"54" = load float, ptr addrspace(5) %"42", align 4
|
%"57" = load float, ptr addrspace(5) %"45", align 4
|
||||||
%"51" = call float @llvm.fma.f32(float %"52", float %"53", float %"54")
|
%"54" = call float @llvm.fma.f32(float %"55", float %"56", float %"57")
|
||||||
store float %"51", ptr addrspace(5) %"40", align 4
|
store float %"54", ptr addrspace(5) %"43", align 4
|
||||||
%"55" = load i64, ptr addrspace(5) %"39", align 8
|
%"58" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"56" = load float, ptr addrspace(5) %"40", align 4
|
%"59" = load float, ptr addrspace(5) %"43", align 4
|
||||||
%"60" = inttoptr i64 %"55" to ptr
|
%"63" = inttoptr i64 %"58" to ptr
|
||||||
store float %"56", ptr %"60", align 4
|
store float %"59", ptr %"63", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,40 +1,40 @@
|
||||||
define amdgpu_kernel void @fmax(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @fmax(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca half, align 2, addrspace(5)
|
|
||||||
%"40" = alloca half, align 2, addrspace(5)
|
|
||||||
%"41" = alloca half, align 2, addrspace(5)
|
|
||||||
%"42" = alloca half, align 2, addrspace(5)
|
%"42" = alloca half, align 2, addrspace(5)
|
||||||
|
%"43" = alloca half, align 2, addrspace(5)
|
||||||
|
%"44" = alloca half, align 2, addrspace(5)
|
||||||
|
%"45" = alloca half, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"43" = load i64, ptr addrspace(4) %"35", align 8
|
%"46" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"37", align 8
|
store i64 %"46", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(4) %"36", align 8
|
%"47" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"38", align 8
|
store i64 %"47", ptr addrspace(5) %"41", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
%"49" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"55" = inttoptr i64 %"46" to ptr
|
%"58" = inttoptr i64 %"49" to ptr
|
||||||
%"54" = load i16, ptr %"55", align 2
|
%"57" = load i16, ptr %"58", align 2
|
||||||
%"45" = bitcast i16 %"54" to half
|
|
||||||
store half %"45", ptr addrspace(5) %"39", align 2
|
|
||||||
%"47" = load i64, ptr addrspace(5) %"37", align 8
|
|
||||||
%"56" = inttoptr i64 %"47" to ptr
|
|
||||||
%"33" = getelementptr inbounds i8, ptr %"56", i64 2
|
|
||||||
%"57" = load i16, ptr %"33", align 2
|
|
||||||
%"48" = bitcast i16 %"57" to half
|
%"48" = bitcast i16 %"57" to half
|
||||||
store half %"48", ptr addrspace(5) %"40", align 2
|
store half %"48", ptr addrspace(5) %"42", align 2
|
||||||
%"50" = load half, ptr addrspace(5) %"40", align 2
|
%"50" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = load half, ptr addrspace(5) %"39", align 2
|
%"59" = inttoptr i64 %"50" to ptr
|
||||||
%"49" = call half @llvm.maxnum.f16(half %"50", half %"51")
|
%"36" = getelementptr inbounds i8, ptr %"59", i64 2
|
||||||
store half %"49", ptr addrspace(5) %"41", align 2
|
%"60" = load i16, ptr %"36", align 2
|
||||||
%"52" = load i64, ptr addrspace(5) %"38", align 8
|
%"51" = bitcast i16 %"60" to half
|
||||||
%"53" = load half, ptr addrspace(5) %"41", align 2
|
store half %"51", ptr addrspace(5) %"43", align 2
|
||||||
%"58" = inttoptr i64 %"52" to ptr
|
%"53" = load half, ptr addrspace(5) %"43", align 2
|
||||||
%"59" = bitcast half %"53" to i16
|
%"54" = load half, ptr addrspace(5) %"42", align 2
|
||||||
store i16 %"59", ptr %"58", align 2
|
%"52" = call half @llvm.maxnum.f16(half %"53", half %"54")
|
||||||
|
store half %"52", ptr addrspace(5) %"44", align 2
|
||||||
|
%"55" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
|
%"56" = load half, ptr addrspace(5) %"44", align 2
|
||||||
|
%"61" = inttoptr i64 %"55" to ptr
|
||||||
|
%"62" = bitcast half %"56" to i16
|
||||||
|
store i16 %"62", ptr %"61", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
@foobar = addrspace(1) global [4 x i32] [i32 1, i32 0, i32 0, i32 0]
|
@foobar = addrspace(1) global [4 x i32] [i32 1, i32 0, i32 0, i32 0]
|
||||||
|
|
||||||
define amdgpu_kernel void @global_array(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @global_array(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
store i64 ptrtoint (ptr addrspace(1) @foobar to i64), ptr addrspace(5) %"33", align 8
|
store i64 ptrtoint (ptr addrspace(1) @foobar to i64), ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"43" = inttoptr i64 %"39" to ptr addrspace(1)
|
%"46" = inttoptr i64 %"42" to ptr addrspace(1)
|
||||||
%"38" = load i32, ptr addrspace(1) %"43", align 4
|
%"41" = load i32, ptr addrspace(1) %"46", align 4
|
||||||
store i32 %"38", ptr addrspace(5) %"35", align 4
|
store i32 %"41", ptr addrspace(5) %"38", align 4
|
||||||
%"40" = load i64, ptr addrspace(5) %"34", align 8
|
%"43" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"41" = load i32, ptr addrspace(5) %"35", align 4
|
%"44" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"44" = inttoptr i64 %"40" to ptr addrspace(1)
|
%"47" = inttoptr i64 %"43" to ptr addrspace(1)
|
||||||
store i32 %"41", ptr addrspace(1) %"44", align 4
|
store i32 %"44", ptr addrspace(1) %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,41 +1,41 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_sreg_lanemask_lt() #0
|
declare hidden i32 @__zluda_ptx_impl_sreg_lanemask_lt() #0
|
||||||
|
|
||||||
define amdgpu_kernel void @lanemask_lt(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #1 {
|
define amdgpu_kernel void @lanemask_lt(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #1 {
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
%"46" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"38", align 8
|
store i64 %"46", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
%"47" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"39", align 8
|
store i64 %"47", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"56" = inttoptr i64 %"46" to ptr
|
%"59" = inttoptr i64 %"49" to ptr
|
||||||
%"55" = load i32, ptr %"56", align 4
|
%"58" = load i32, ptr %"59", align 4
|
||||||
store i32 %"55", ptr addrspace(5) %"40", align 4
|
store i32 %"58", ptr addrspace(5) %"43", align 4
|
||||||
%"48" = load i32, ptr addrspace(5) %"40", align 4
|
%"51" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"57" = add i32 %"48", 1
|
%"60" = add i32 %"51", 1
|
||||||
store i32 %"57", ptr addrspace(5) %"41", align 4
|
store i32 %"60", ptr addrspace(5) %"44", align 4
|
||||||
%"31" = call i32 @__zluda_ptx_impl_sreg_lanemask_lt()
|
%"34" = call i32 @__zluda_ptx_impl_sreg_lanemask_lt()
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %"33"
|
"37": ; preds = %"36"
|
||||||
store i32 %"31", ptr addrspace(5) %"42", align 4
|
store i32 %"34", ptr addrspace(5) %"45", align 4
|
||||||
%"51" = load i32, ptr addrspace(5) %"41", align 4
|
%"54" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"52" = load i32, ptr addrspace(5) %"42", align 4
|
%"55" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"60" = add i32 %"51", %"52"
|
%"63" = add i32 %"54", %"55"
|
||||||
store i32 %"60", ptr addrspace(5) %"41", align 4
|
store i32 %"63", ptr addrspace(5) %"44", align 4
|
||||||
%"53" = load i64, ptr addrspace(5) %"39", align 8
|
%"56" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"54" = load i32, ptr addrspace(5) %"41", align 4
|
%"57" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"63" = inttoptr i64 %"53" to ptr
|
%"66" = inttoptr i64 %"56" to ptr
|
||||||
store i32 %"54", ptr %"63", align 4
|
store i32 %"57", ptr %"66", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,25 +1,25 @@
|
||||||
define amdgpu_kernel void @ld_st(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @ld_st(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"41" = inttoptr i64 %"38" to ptr
|
%"44" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load i64, ptr %"41", align 8
|
%"40" = load i64, ptr %"44", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"34", align 8
|
%"43" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"42" = inttoptr i64 %"39" to ptr
|
%"45" = inttoptr i64 %"42" to ptr
|
||||||
store i64 %"40", ptr %"42", align 8
|
store i64 %"43", ptr %"45", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
define amdgpu_kernel void @ld_st_implicit(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @ld_st_implicit(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
store i64 81985529216486895, ptr addrspace(5) %"35", align 8
|
store i64 81985529216486895, ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"44" = inttoptr i64 %"40" to ptr addrspace(1)
|
%"47" = inttoptr i64 %"43" to ptr addrspace(1)
|
||||||
%"43" = load float, ptr addrspace(1) %"44", align 4
|
%"46" = load float, ptr addrspace(1) %"47", align 4
|
||||||
%2 = bitcast float %"43" to i32
|
%2 = bitcast float %"46" to i32
|
||||||
%"39" = zext i32 %2 to i64
|
%"42" = zext i32 %2 to i64
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = inttoptr i64 %"41" to ptr addrspace(1)
|
%"48" = inttoptr i64 %"44" to ptr addrspace(1)
|
||||||
%3 = trunc i64 %"42" to i32
|
%3 = trunc i64 %"45" to i32
|
||||||
%"46" = bitcast i32 %3 to float
|
%"49" = bitcast i32 %3 to float
|
||||||
store float %"46", ptr addrspace(1) %"45", align 4
|
store float %"49", ptr addrspace(1) %"48", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
define amdgpu_kernel void @ld_st_offset(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @ld_st_offset(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = inttoptr i64 %"44" to ptr
|
%"54" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load i32, ptr %"51", align 4
|
%"46" = load i32, ptr %"54", align 4
|
||||||
store i32 %"43", ptr addrspace(5) %"39", align 4
|
store i32 %"46", ptr addrspace(5) %"42", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"52" = inttoptr i64 %"45" to ptr
|
%"55" = inttoptr i64 %"48" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"52", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"55", i64 4
|
||||||
%"46" = load i32, ptr %"31", align 4
|
%"49" = load i32, ptr %"34", align 4
|
||||||
store i32 %"46", ptr addrspace(5) %"40", align 4
|
store i32 %"49", ptr addrspace(5) %"43", align 4
|
||||||
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"48" = load i32, ptr addrspace(5) %"40", align 4
|
%"51" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"53" = inttoptr i64 %"47" to ptr
|
%"56" = inttoptr i64 %"50" to ptr
|
||||||
store i32 %"48", ptr %"53", align 4
|
store i32 %"51", ptr %"56", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"38", align 8
|
%"52" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"54" = inttoptr i64 %"49" to ptr
|
%"57" = inttoptr i64 %"52" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"54", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"57", i64 4
|
||||||
%"50" = load i32, ptr addrspace(5) %"39", align 4
|
%"53" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
store i32 %"50", ptr %"33", align 4
|
store i32 %"53", ptr %"36", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
declare hidden float @__zluda_ptx_impl_lg2_approx_f32(float) #0
|
declare hidden float @__zluda_ptx_impl_lg2_approx_f32(float) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @lg2(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #1 {
|
define amdgpu_kernel void @lg2(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #1 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca float, align 4, addrspace(5)
|
%"37" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load float, ptr %"43", align 4
|
%"40" = load float, ptr %"46", align 4
|
||||||
store float %"37", ptr addrspace(5) %"34", align 4
|
store float %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load float, ptr addrspace(5) %"34", align 4
|
%"43" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = call float @__zluda_ptx_impl_lg2_approx_f32(float %"40")
|
%"42" = call float @__zluda_ptx_impl_lg2_approx_f32(float %"43")
|
||||||
store float %"39", ptr addrspace(5) %"34", align 4
|
store float %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load float, ptr addrspace(5) %"34", align 4
|
%"45" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store float %"42", ptr %"44", align 4
|
store float %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
define amdgpu_kernel void @local_align(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @local_align(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"10" = alloca [8 x i8], align 8, addrspace(5)
|
%"11" = alloca [8 x i8], align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"37" = load i64, ptr addrspace(4) %"32", align 8
|
%"40" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"34", align 8
|
store i64 %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = inttoptr i64 %"39" to ptr
|
%"45" = inttoptr i64 %"42" to ptr
|
||||||
%"38" = load i64, ptr %"42", align 8
|
%"41" = load i64, ptr %"45", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"35", align 8
|
store i64 %"41", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"34", align 8
|
%"43" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
%"44" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"43" = inttoptr i64 %"40" to ptr
|
%"46" = inttoptr i64 %"43" to ptr
|
||||||
store i64 %"41", ptr %"43", align 8
|
store i64 %"44", ptr %"46", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,44 +1,44 @@
|
||||||
define amdgpu_kernel void @mad_s32(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
define amdgpu_kernel void @mad_s32(ptr addrspace(4) byref(i64) %"40", ptr addrspace(4) byref(i64) %"41") #0 {
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"44" = alloca i32, align 4, addrspace(5)
|
%"44" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"47" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"36"
|
br label %"39"
|
||||||
|
|
||||||
"36": ; preds = %1
|
"39": ; preds = %1
|
||||||
%"45" = load i64, ptr addrspace(4) %"37", align 8
|
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"39", align 8
|
store i64 %"48", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(4) %"38", align 8
|
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"40", align 8
|
store i64 %"49", ptr addrspace(5) %"43", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
%"51" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"59" = inttoptr i64 %"48" to ptr
|
%"62" = inttoptr i64 %"51" to ptr
|
||||||
%"47" = load i32, ptr %"59", align 4
|
%"50" = load i32, ptr %"62", align 4
|
||||||
store i32 %"47", ptr addrspace(5) %"42", align 4
|
store i32 %"50", ptr addrspace(5) %"45", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"39", align 8
|
%"52" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"60" = inttoptr i64 %"49" to ptr
|
%"63" = inttoptr i64 %"52" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"60", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"63", i64 4
|
||||||
%"50" = load i32, ptr %"33", align 4
|
%"53" = load i32, ptr %"36", align 4
|
||||||
store i32 %"50", ptr addrspace(5) %"43", align 4
|
store i32 %"53", ptr addrspace(5) %"46", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
%"54" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"61" = inttoptr i64 %"51" to ptr
|
%"64" = inttoptr i64 %"54" to ptr
|
||||||
%"35" = getelementptr inbounds i8, ptr %"61", i64 8
|
%"38" = getelementptr inbounds i8, ptr %"64", i64 8
|
||||||
%"52" = load i32, ptr %"35", align 4
|
%"55" = load i32, ptr %"38", align 4
|
||||||
store i32 %"52", ptr addrspace(5) %"44", align 4
|
store i32 %"55", ptr addrspace(5) %"47", align 4
|
||||||
%"54" = load i32, ptr addrspace(5) %"42", align 4
|
%"57" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"55" = load i32, ptr addrspace(5) %"43", align 4
|
%"58" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
%"56" = load i32, ptr addrspace(5) %"44", align 4
|
%"59" = load i32, ptr addrspace(5) %"47", align 4
|
||||||
%2 = mul i32 %"54", %"55"
|
%2 = mul i32 %"57", %"58"
|
||||||
%"53" = add i32 %2, %"56"
|
%"56" = add i32 %2, %"59"
|
||||||
store i32 %"53", ptr addrspace(5) %"41", align 4
|
store i32 %"56", ptr addrspace(5) %"44", align 4
|
||||||
%"57" = load i64, ptr addrspace(5) %"40", align 8
|
%"60" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"58" = load i32, ptr addrspace(5) %"41", align 4
|
%"61" = load i32, ptr addrspace(5) %"44", align 4
|
||||||
%"62" = inttoptr i64 %"57" to ptr
|
%"65" = inttoptr i64 %"60" to ptr
|
||||||
store i32 %"58", ptr %"62", align 4
|
store i32 %"61", ptr %"65", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,46 +1,46 @@
|
||||||
define amdgpu_kernel void @mad_wide(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
define amdgpu_kernel void @mad_wide(ptr addrspace(4) byref(i64) %"40", ptr addrspace(4) byref(i64) %"41") #0 {
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"42" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"43" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"44" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"45" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"46" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"47" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"36"
|
br label %"39"
|
||||||
|
|
||||||
"36": ; preds = %1
|
"39": ; preds = %1
|
||||||
%"45" = load i64, ptr addrspace(4) %"37", align 8
|
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"45", ptr addrspace(5) %"39", align 8
|
store i64 %"48", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(4) %"38", align 8
|
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"46", ptr addrspace(5) %"40", align 8
|
store i64 %"49", ptr addrspace(5) %"43", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
%"51" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"59" = inttoptr i64 %"48" to ptr
|
%"62" = inttoptr i64 %"51" to ptr
|
||||||
%"47" = load i32, ptr %"59", align 4
|
%"50" = load i32, ptr %"62", align 4
|
||||||
store i32 %"47", ptr addrspace(5) %"42", align 4
|
store i32 %"50", ptr addrspace(5) %"45", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"39", align 8
|
%"52" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"60" = inttoptr i64 %"49" to ptr
|
%"63" = inttoptr i64 %"52" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"60", i64 4
|
%"36" = getelementptr inbounds i8, ptr %"63", i64 4
|
||||||
%"50" = load i32, ptr %"33", align 4
|
%"53" = load i32, ptr %"36", align 4
|
||||||
store i32 %"50", ptr addrspace(5) %"43", align 4
|
store i32 %"53", ptr addrspace(5) %"46", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
%"54" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"61" = inttoptr i64 %"51" to ptr
|
%"64" = inttoptr i64 %"54" to ptr
|
||||||
%"35" = getelementptr inbounds i8, ptr %"61", i64 8
|
%"38" = getelementptr inbounds i8, ptr %"64", i64 8
|
||||||
%"52" = load i64, ptr %"35", align 8
|
%"55" = load i64, ptr %"38", align 8
|
||||||
store i64 %"52", ptr addrspace(5) %"44", align 8
|
store i64 %"55", ptr addrspace(5) %"47", align 8
|
||||||
%"54" = load i32, ptr addrspace(5) %"42", align 4
|
%"57" = load i32, ptr addrspace(5) %"45", align 4
|
||||||
%"55" = load i32, ptr addrspace(5) %"43", align 4
|
%"58" = load i32, ptr addrspace(5) %"46", align 4
|
||||||
%"56" = load i64, ptr addrspace(5) %"44", align 8
|
%"59" = load i64, ptr addrspace(5) %"47", align 8
|
||||||
%2 = sext i32 %"54" to i64
|
%2 = sext i32 %"57" to i64
|
||||||
%3 = sext i32 %"55" to i64
|
%3 = sext i32 %"58" to i64
|
||||||
%4 = mul i64 %2, %3
|
%4 = mul i64 %2, %3
|
||||||
%"53" = add i64 %4, %"56"
|
%"56" = add i64 %4, %"59"
|
||||||
store i64 %"53", ptr addrspace(5) %"41", align 8
|
store i64 %"56", ptr addrspace(5) %"44", align 8
|
||||||
%"57" = load i64, ptr addrspace(5) %"40", align 8
|
%"60" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"58" = load i64, ptr addrspace(5) %"41", align 8
|
%"61" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"62" = inttoptr i64 %"57" to ptr
|
%"65" = inttoptr i64 %"60" to ptr
|
||||||
store i64 %"58", ptr %"62", align 8
|
store i64 %"61", ptr %"65", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
define amdgpu_kernel void @malformed_label(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @malformed_label(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
br label %"10"
|
br label %"11"
|
||||||
|
|
||||||
"10": ; preds = %"32"
|
"11": ; preds = %"35"
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
%"42" = load i64, ptr %"48", align 8
|
%"45" = load i64, ptr %"51", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
%"48" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"44" = add i64 %"45", 1
|
%"47" = add i64 %"48", 1
|
||||||
store i64 %"44", ptr addrspace(5) %"39", align 8
|
store i64 %"47", ptr addrspace(5) %"42", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
%"49" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
%"50" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"49" = inttoptr i64 %"46" to ptr
|
%"52" = inttoptr i64 %"49" to ptr
|
||||||
store i64 %"47", ptr %"49", align 8
|
store i64 %"50", ptr %"52", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @max(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @max(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"37", align 4
|
store i32 %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load i32, ptr %"31", align 4
|
%"47" = load i32, ptr %"34", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"38", align 4
|
store i32 %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = call i32 @llvm.smax.i32(i32 %"46", i32 %"47")
|
%"48" = call i32 @llvm.smax.i32(i32 %"49", i32 %"50")
|
||||||
store i32 %"45", ptr addrspace(5) %"37", align 4
|
store i32 %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"37", align 4
|
%"52" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"52", align 4
|
store i32 %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
define amdgpu_kernel void @membar(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @membar(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i32, align 4, addrspace(5)
|
%"37" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"42" = inttoptr i64 %"38" to ptr
|
%"45" = inttoptr i64 %"41" to ptr
|
||||||
%"41" = load i32, ptr %"42", align 4
|
%"44" = load i32, ptr %"45", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"34", align 4
|
store i32 %"44", ptr addrspace(5) %"37", align 4
|
||||||
fence seq_cst
|
fence seq_cst
|
||||||
%"39" = load i64, ptr addrspace(5) %"33", align 8
|
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"40" = load i32, ptr addrspace(5) %"34", align 4
|
%"43" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"43" = inttoptr i64 %"39" to ptr
|
%"46" = inttoptr i64 %"42" to ptr
|
||||||
store i32 %"40", ptr %"43", align 4
|
store i32 %"43", ptr %"46", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @min(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @min(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"37", align 4
|
store i32 %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load i32, ptr %"31", align 4
|
%"47" = load i32, ptr %"34", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"38", align 4
|
store i32 %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = call i32 @llvm.smin.i32(i32 %"46", i32 %"47")
|
%"48" = call i32 @llvm.smin.i32(i32 %"49", i32 %"50")
|
||||||
store i32 %"45", ptr addrspace(5) %"37", align 4
|
store i32 %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"37", align 4
|
%"52" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"52", align 4
|
store i32 %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @mov(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @mov(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr
|
%"48" = inttoptr i64 %"43" to ptr
|
||||||
%"39" = load i64, ptr %"45", align 8
|
%"42" = load i64, ptr %"48", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"36", align 8
|
store i64 %"45", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"46" = inttoptr i64 %"43" to ptr
|
%"49" = inttoptr i64 %"46" to ptr
|
||||||
store i64 %"44", ptr %"46", align 8
|
store i64 %"47", ptr %"49", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
define amdgpu_kernel void @mov_address(ptr addrspace(4) byref(i64) %"29", ptr addrspace(4) byref(i64) %"30") #0 {
|
define amdgpu_kernel void @mov_address(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
||||||
%"10" = alloca [8 x i8], align 1, addrspace(5)
|
%"11" = alloca [8 x i8], align 1, addrspace(5)
|
||||||
%"31" = alloca i64, align 8, addrspace(5)
|
%"34" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"28"
|
br label %"31"
|
||||||
|
|
||||||
"28": ; preds = %1
|
"31": ; preds = %1
|
||||||
%"33" = ptrtoint ptr addrspace(5) %"10" to i64
|
%"36" = ptrtoint ptr addrspace(5) %"11" to i64
|
||||||
store i64 %"33", ptr addrspace(5) %"31", align 8
|
store i64 %"36", ptr addrspace(5) %"34", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
define amdgpu_kernel void @mul24_hi_s32(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @mul24_hi_s32(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"32", align 8
|
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"34", align 8
|
store i64 %"42", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"33", align 8
|
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"35", align 8
|
store i64 %"43", ptr addrspace(5) %"38", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"43" = sub i32 0, %"44"
|
%"46" = sub i32 0, %"47"
|
||||||
store i32 %"43", ptr addrspace(5) %"37", align 4
|
store i32 %"46", ptr addrspace(5) %"40", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"36", align 4
|
%"50" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%2 = call i32 @llvm.amdgcn.mul.i24(i32 %"46", i32 %"47")
|
%2 = call i32 @llvm.amdgcn.mul.i24(i32 %"49", i32 %"50")
|
||||||
%3 = call i32 @llvm.amdgcn.mulhi.i24(i32 %"46", i32 %"47")
|
%3 = call i32 @llvm.amdgcn.mulhi.i24(i32 %"49", i32 %"50")
|
||||||
%4 = lshr i32 %2, 16
|
%4 = lshr i32 %2, 16
|
||||||
%5 = shl i32 %3, 16
|
%5 = shl i32 %3, 16
|
||||||
%"45" = or i32 %4, %5
|
%"48" = or i32 %4, %5
|
||||||
store i32 %"45", ptr addrspace(5) %"38", align 4
|
store i32 %"48", ptr addrspace(5) %"41", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"35", align 8
|
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"38", align 4
|
%"52" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"51" = inttoptr i64 %"48" to ptr
|
%"54" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"51", align 4
|
store i32 %"52", ptr %"54", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
define amdgpu_kernel void @mul24_hi_u32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @mul24_hi_u32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"46" = inttoptr i64 %"40" to ptr
|
%"49" = inttoptr i64 %"43" to ptr
|
||||||
%"39" = load i32, ptr %"46", align 4
|
%"42" = load i32, ptr %"49", align 4
|
||||||
store i32 %"39", ptr addrspace(5) %"35", align 4
|
store i32 %"42", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i32, ptr addrspace(5) %"35", align 4
|
%"45" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"43" = load i32, ptr addrspace(5) %"35", align 4
|
%"46" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%2 = call i32 @llvm.amdgcn.mul.u24(i32 %"42", i32 %"43")
|
%2 = call i32 @llvm.amdgcn.mul.u24(i32 %"45", i32 %"46")
|
||||||
%3 = call i32 @llvm.amdgcn.mulhi.u24(i32 %"42", i32 %"43")
|
%3 = call i32 @llvm.amdgcn.mulhi.u24(i32 %"45", i32 %"46")
|
||||||
%4 = lshr i32 %2, 16
|
%4 = lshr i32 %2, 16
|
||||||
%5 = shl i32 %3, 16
|
%5 = shl i32 %3, 16
|
||||||
%"41" = or i32 %4, %5
|
%"44" = or i32 %4, %5
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
%"44" = load i64, ptr addrspace(5) %"34", align 8
|
%"47" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"45" = load i32, ptr addrspace(5) %"36", align 4
|
%"48" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i32 %"45", ptr %"47", align 4
|
store i32 %"48", ptr %"50", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
define amdgpu_kernel void @mul24_lo_s32(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @mul24_lo_s32(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"32", align 8
|
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"34", align 8
|
store i64 %"42", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"33", align 8
|
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"35", align 8
|
store i64 %"43", ptr addrspace(5) %"38", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"34", align 8
|
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
%"44" = load i32, ptr addrspace(5) %"36", align 4
|
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"43" = sub i32 0, %"44"
|
%"46" = sub i32 0, %"47"
|
||||||
store i32 %"43", ptr addrspace(5) %"37", align 4
|
store i32 %"46", ptr addrspace(5) %"40", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"36", align 4
|
%"50" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"45" = call i32 @llvm.amdgcn.mul.i24(i32 %"46", i32 %"47")
|
%"48" = call i32 @llvm.amdgcn.mul.i24(i32 %"49", i32 %"50")
|
||||||
store i32 %"45", ptr addrspace(5) %"38", align 4
|
store i32 %"48", ptr addrspace(5) %"41", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"35", align 8
|
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"38", align 4
|
%"52" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"51" = inttoptr i64 %"48" to ptr
|
%"54" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"51", align 4
|
store i32 %"52", ptr %"54", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
define amdgpu_kernel void @mul24_lo_u32(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @mul24_lo_u32(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
%"35" = alloca i32, align 4, addrspace(5)
|
%"38" = alloca i32, align 4, addrspace(5)
|
||||||
%"36" = alloca i32, align 4, addrspace(5)
|
%"39" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"46" = inttoptr i64 %"40" to ptr
|
%"49" = inttoptr i64 %"43" to ptr
|
||||||
%"39" = load i32, ptr %"46", align 4
|
%"42" = load i32, ptr %"49", align 4
|
||||||
store i32 %"39", ptr addrspace(5) %"35", align 4
|
store i32 %"42", ptr addrspace(5) %"38", align 4
|
||||||
%"42" = load i32, ptr addrspace(5) %"35", align 4
|
%"45" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"43" = load i32, ptr addrspace(5) %"35", align 4
|
%"46" = load i32, ptr addrspace(5) %"38", align 4
|
||||||
%"41" = call i32 @llvm.amdgcn.mul.u24(i32 %"42", i32 %"43")
|
%"44" = call i32 @llvm.amdgcn.mul.u24(i32 %"45", i32 %"46")
|
||||||
store i32 %"41", ptr addrspace(5) %"36", align 4
|
store i32 %"44", ptr addrspace(5) %"39", align 4
|
||||||
%"44" = load i64, ptr addrspace(5) %"34", align 8
|
%"47" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"45" = load i32, ptr addrspace(5) %"36", align 4
|
%"48" = load i32, ptr addrspace(5) %"39", align 4
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i32 %"45", ptr %"47", align 4
|
store i32 %"48", ptr %"50", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @mul_ftz(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @mul_ftz(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca float, align 4, addrspace(5)
|
%"40" = alloca float, align 4, addrspace(5)
|
||||||
%"38" = alloca float, align 4, addrspace(5)
|
%"41" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load float, ptr %"50", align 4
|
%"44" = load float, ptr %"53", align 4
|
||||||
store float %"41", ptr addrspace(5) %"37", align 4
|
store float %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load float, ptr %"31", align 4
|
%"47" = load float, ptr %"34", align 4
|
||||||
store float %"44", ptr addrspace(5) %"38", align 4
|
store float %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load float, ptr addrspace(5) %"37", align 4
|
%"49" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load float, ptr addrspace(5) %"38", align 4
|
%"50" = load float, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = fmul float %"46", %"47"
|
%"48" = fmul float %"49", %"50"
|
||||||
store float %"45", ptr addrspace(5) %"37", align 4
|
store float %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load float, ptr addrspace(5) %"37", align 4
|
%"52" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store float %"49", ptr %"52", align 4
|
store float %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
define amdgpu_kernel void @mul_hi(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @mul_hi(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr
|
%"49" = inttoptr i64 %"44" to ptr
|
||||||
%"40" = load i64, ptr %"46", align 8
|
%"43" = load i64, ptr %"49", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%2 = zext i64 %"43" to i128
|
%2 = zext i64 %"46" to i128
|
||||||
%3 = mul i128 %2, 2
|
%3 = mul i128 %2, 2
|
||||||
%4 = lshr i128 %3, 64
|
%4 = lshr i128 %3, 64
|
||||||
%"42" = trunc i128 %4 to i64
|
%"45" = trunc i128 %4 to i64
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i64 %"45", ptr %"47", align 8
|
store i64 %"48", ptr %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @mul_lo(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @mul_lo(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr
|
%"49" = inttoptr i64 %"44" to ptr
|
||||||
%"40" = load i64, ptr %"46", align 8
|
%"43" = load i64, ptr %"49", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"42" = mul i64 %"43", 2
|
%"45" = mul i64 %"46", 2
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = inttoptr i64 %"44" to ptr
|
%"50" = inttoptr i64 %"47" to ptr
|
||||||
store i64 %"45", ptr %"47", align 8
|
store i64 %"48", ptr %"50", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @mul_non_ftz(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @mul_non_ftz(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca float, align 4, addrspace(5)
|
%"40" = alloca float, align 4, addrspace(5)
|
||||||
%"38" = alloca float, align 4, addrspace(5)
|
%"41" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load float, ptr %"50", align 4
|
%"44" = load float, ptr %"53", align 4
|
||||||
store float %"41", ptr addrspace(5) %"37", align 4
|
store float %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load float, ptr %"31", align 4
|
%"47" = load float, ptr %"34", align 4
|
||||||
store float %"44", ptr addrspace(5) %"38", align 4
|
store float %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load float, ptr addrspace(5) %"37", align 4
|
%"49" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load float, ptr addrspace(5) %"38", align 4
|
%"50" = load float, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = fmul float %"46", %"47"
|
%"48" = fmul float %"49", %"50"
|
||||||
store float %"45", ptr addrspace(5) %"37", align 4
|
store float %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load float, ptr addrspace(5) %"37", align 4
|
%"52" = load float, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store float %"49", ptr %"52", align 4
|
store float %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
define amdgpu_kernel void @mul_wide(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @mul_wide(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"34", align 8
|
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
%"45" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"52" = inttoptr i64 %"44" to ptr addrspace(1)
|
%"55" = inttoptr i64 %"47" to ptr addrspace(1)
|
||||||
%"43" = load i32, ptr addrspace(1) %"52", align 4
|
%"46" = load i32, ptr addrspace(1) %"55", align 4
|
||||||
store i32 %"43", ptr addrspace(5) %"38", align 4
|
store i32 %"46", ptr addrspace(5) %"41", align 4
|
||||||
%"45" = load i64, ptr addrspace(5) %"36", align 8
|
%"48" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"53" = inttoptr i64 %"45" to ptr addrspace(1)
|
%"56" = inttoptr i64 %"48" to ptr addrspace(1)
|
||||||
%"32" = getelementptr inbounds i8, ptr addrspace(1) %"53", i64 4
|
%"35" = getelementptr inbounds i8, ptr addrspace(1) %"56", i64 4
|
||||||
%"46" = load i32, ptr addrspace(1) %"32", align 4
|
%"49" = load i32, ptr addrspace(1) %"35", align 4
|
||||||
store i32 %"46", ptr addrspace(5) %"39", align 4
|
store i32 %"49", ptr addrspace(5) %"42", align 4
|
||||||
%"48" = load i32, ptr addrspace(5) %"38", align 4
|
%"51" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"49" = load i32, ptr addrspace(5) %"39", align 4
|
%"52" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
%2 = sext i32 %"48" to i64
|
%2 = sext i32 %"51" to i64
|
||||||
%3 = sext i32 %"49" to i64
|
%3 = sext i32 %"52" to i64
|
||||||
%"47" = mul i64 %2, %3
|
%"50" = mul i64 %2, %3
|
||||||
store i64 %"47", ptr addrspace(5) %"40", align 8
|
store i64 %"50", ptr addrspace(5) %"43", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"37", align 8
|
%"53" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = load i64, ptr addrspace(5) %"40", align 8
|
%"54" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"54" = inttoptr i64 %"50" to ptr
|
%"57" = inttoptr i64 %"53" to ptr
|
||||||
store i64 %"51", ptr %"54", align 8
|
store i64 %"54", ptr %"57", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,68 +1,68 @@
|
||||||
%struct.i32.i1 = type { i32, i1 }
|
%struct.i32.i1 = type { i32, i1 }
|
||||||
|
|
||||||
define hidden %struct.i32.i1 @do_something(i32 %"10") #0 {
|
define hidden %struct.i32.i1 @do_something(i32 %"11") #0 {
|
||||||
%"46" = alloca i32, align 4, addrspace(5)
|
%"49" = alloca i32, align 4, addrspace(5)
|
||||||
%"47" = alloca i1, align 1, addrspace(5)
|
%"50" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"43"
|
br label %"46"
|
||||||
|
|
||||||
"43": ; preds = %1
|
"46": ; preds = %1
|
||||||
%"48" = add i32 %"10", 1
|
%"51" = add i32 %"11", 1
|
||||||
store i32 %"48", ptr addrspace(5) %"46", align 4
|
store i32 %"51", ptr addrspace(5) %"49", align 4
|
||||||
store i1 true, ptr addrspace(5) %"47", align 1
|
store i1 true, ptr addrspace(5) %"50", align 1
|
||||||
%2 = load i32, ptr addrspace(5) %"46", align 4
|
%2 = load i32, ptr addrspace(5) %"49", align 4
|
||||||
%3 = load i1, ptr addrspace(5) %"47", align 1
|
%3 = load i1, ptr addrspace(5) %"50", align 1
|
||||||
%4 = insertvalue %struct.i32.i1 undef, i32 %2, 0
|
%4 = insertvalue %struct.i32.i1 undef, i32 %2, 0
|
||||||
%5 = insertvalue %struct.i32.i1 %4, i1 %3, 1
|
%5 = insertvalue %struct.i32.i1 %4, i1 %3, 1
|
||||||
ret %struct.i32.i1 %5
|
ret %struct.i32.i1 %5
|
||||||
}
|
}
|
||||||
|
|
||||||
define amdgpu_kernel void @multiple_return(ptr addrspace(4) byref(i64) %"50", ptr addrspace(4) byref(i64) %"51") #1 {
|
define amdgpu_kernel void @multiple_return(ptr addrspace(4) byref(i64) %"53", ptr addrspace(4) byref(i64) %"54") #1 {
|
||||||
%"52" = alloca i64, align 8, addrspace(5)
|
%"55" = alloca i64, align 8, addrspace(5)
|
||||||
%"53" = alloca i64, align 8, addrspace(5)
|
%"56" = alloca i64, align 8, addrspace(5)
|
||||||
%"54" = alloca i32, align 4, addrspace(5)
|
%"57" = alloca i32, align 4, addrspace(5)
|
||||||
%"55" = alloca i32, align 4, addrspace(5)
|
%"58" = alloca i32, align 4, addrspace(5)
|
||||||
%"56" = alloca i1, align 1, addrspace(5)
|
%"59" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"44"
|
br label %"47"
|
||||||
|
|
||||||
"44": ; preds = %1
|
"47": ; preds = %1
|
||||||
%"57" = load i64, ptr addrspace(4) %"50", align 8
|
%"60" = load i64, ptr addrspace(4) %"53", align 8
|
||||||
store i64 %"57", ptr addrspace(5) %"52", align 8
|
store i64 %"60", ptr addrspace(5) %"55", align 8
|
||||||
%"58" = load i64, ptr addrspace(4) %"51", align 8
|
%"61" = load i64, ptr addrspace(4) %"54", align 8
|
||||||
store i64 %"58", ptr addrspace(5) %"53", align 8
|
store i64 %"61", ptr addrspace(5) %"56", align 8
|
||||||
%"60" = load i64, ptr addrspace(5) %"52", align 8
|
%"63" = load i64, ptr addrspace(5) %"55", align 8
|
||||||
%"68" = inttoptr i64 %"60" to ptr
|
%"71" = inttoptr i64 %"63" to ptr
|
||||||
%"59" = load i32, ptr %"68", align 4
|
%"62" = load i32, ptr %"71", align 4
|
||||||
store i32 %"59", ptr addrspace(5) %"54", align 4
|
store i32 %"62", ptr addrspace(5) %"57", align 4
|
||||||
%"63" = load i32, ptr addrspace(5) %"54", align 4
|
%"66" = load i32, ptr addrspace(5) %"57", align 4
|
||||||
%2 = call %struct.i32.i1 @do_something(i32 %"63")
|
%2 = call %struct.i32.i1 @do_something(i32 %"66")
|
||||||
%"61" = extractvalue %struct.i32.i1 %2, 0
|
%"64" = extractvalue %struct.i32.i1 %2, 0
|
||||||
%"62" = extractvalue %struct.i32.i1 %2, 1
|
%"65" = extractvalue %struct.i32.i1 %2, 1
|
||||||
store i32 %"61", ptr addrspace(5) %"55", align 4
|
store i32 %"64", ptr addrspace(5) %"58", align 4
|
||||||
store i1 %"62", ptr addrspace(5) %"56", align 1
|
store i1 %"65", ptr addrspace(5) %"59", align 1
|
||||||
br label %"45"
|
br label %"48"
|
||||||
|
|
||||||
"45": ; preds = %"44"
|
"48": ; preds = %"47"
|
||||||
%"64" = load i64, ptr addrspace(5) %"53", align 8
|
%"67" = load i64, ptr addrspace(5) %"56", align 8
|
||||||
%"65" = load i32, ptr addrspace(5) %"55", align 4
|
%"68" = load i32, ptr addrspace(5) %"58", align 4
|
||||||
%"69" = inttoptr i64 %"64" to ptr
|
%"72" = inttoptr i64 %"67" to ptr
|
||||||
store i32 %"65", ptr %"69", align 4
|
store i32 %"68", ptr %"72", align 4
|
||||||
%"66" = load i1, ptr addrspace(5) %"56", align 1
|
%"69" = load i1, ptr addrspace(5) %"59", align 1
|
||||||
br i1 %"66", label %"19", label %"20"
|
br i1 %"69", label %"20", label %"21"
|
||||||
|
|
||||||
"19": ; preds = %"45"
|
"20": ; preds = %"48"
|
||||||
%"67" = load i64, ptr addrspace(5) %"53", align 8
|
%"70" = load i64, ptr addrspace(5) %"56", align 8
|
||||||
%"70" = inttoptr i64 %"67" to ptr
|
%"73" = inttoptr i64 %"70" to ptr
|
||||||
%"41" = getelementptr inbounds i8, ptr %"70", i64 4
|
%"44" = getelementptr inbounds i8, ptr %"73", i64 4
|
||||||
store i32 123, ptr %"41", align 4
|
store i32 123, ptr %"44", align 4
|
||||||
br label %"20"
|
br label %"21"
|
||||||
|
|
||||||
"20": ; preds = %"19", %"45"
|
"21": ; preds = %"20", %"48"
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
declare hidden void @__zluda_ptx_impl_nanosleep_u32(i32) #0
|
declare hidden void @__zluda_ptx_impl_nanosleep_u32(i32) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @nanosleep(ptr addrspace(4) byref(i64) %"28", ptr addrspace(4) byref(i64) %"29") #1 {
|
define amdgpu_kernel void @nanosleep(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #1 {
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"27"
|
br label %"30"
|
||||||
|
|
||||||
"27": ; preds = %1
|
"30": ; preds = %1
|
||||||
call void @__zluda_ptx_impl_nanosleep_u32(i32 1)
|
call void @__zluda_ptx_impl_nanosleep_u32(i32 1)
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @neg(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @neg(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i32, align 4, addrspace(5)
|
%"37" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load i32, ptr %"43", align 4
|
%"40" = load i32, ptr %"46", align 4
|
||||||
store i32 %"37", ptr addrspace(5) %"34", align 4
|
store i32 %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load i32, ptr addrspace(5) %"34", align 4
|
%"43" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = sub i32 0, %"40"
|
%"42" = sub i32 0, %"43"
|
||||||
store i32 %"39", ptr addrspace(5) %"34", align 4
|
store i32 %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load i32, ptr addrspace(5) %"34", align 4
|
%"45" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store i32 %"42", ptr %"44", align 4
|
store i32 %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
define amdgpu_kernel void @non_scalar_ptr_offset(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @non_scalar_ptr_offset(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
%"45" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr addrspace(1)
|
%"53" = inttoptr i64 %"45" to ptr addrspace(1)
|
||||||
%"32" = getelementptr inbounds i8, ptr addrspace(1) %"50", i64 8
|
%"35" = getelementptr inbounds i8, ptr addrspace(1) %"53", i64 8
|
||||||
%"30" = load <2 x i32>, ptr addrspace(1) %"32", align 8
|
%"33" = load <2 x i32>, ptr addrspace(1) %"35", align 8
|
||||||
%"43" = extractelement <2 x i32> %"30", i8 0
|
%"46" = extractelement <2 x i32> %"33", i8 0
|
||||||
%"44" = extractelement <2 x i32> %"30", i8 1
|
%"47" = extractelement <2 x i32> %"33", i8 1
|
||||||
store i32 %"43", ptr addrspace(5) %"38", align 4
|
store i32 %"46", ptr addrspace(5) %"41", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"39", align 4
|
store i32 %"47", ptr addrspace(5) %"42", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"38", align 4
|
%"49" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
%"50" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
%"45" = add i32 %"46", %"47"
|
%"48" = add i32 %"49", %"50"
|
||||||
store i32 %"45", ptr addrspace(5) %"38", align 4
|
store i32 %"48", ptr addrspace(5) %"41", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"37", align 8
|
%"51" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"38", align 4
|
%"52" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"51" = inttoptr i64 %"48" to ptr addrspace(1)
|
%"54" = inttoptr i64 %"51" to ptr addrspace(1)
|
||||||
store i32 %"49", ptr addrspace(1) %"51", align 4
|
store i32 %"52", ptr addrspace(1) %"54", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,29 +1,29 @@
|
||||||
define amdgpu_kernel void @not(ptr addrspace(4) byref(i64) %"31", ptr addrspace(4) byref(i64) %"32") #0 {
|
define amdgpu_kernel void @not(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"30"
|
br label %"33"
|
||||||
|
|
||||||
"30": ; preds = %1
|
"33": ; preds = %1
|
||||||
%"37" = load i64, ptr addrspace(4) %"31", align 8
|
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"37", ptr addrspace(5) %"33", align 8
|
store i64 %"40", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load i64, ptr addrspace(5) %"33", align 8
|
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"45" = inttoptr i64 %"40" to ptr
|
|
||||||
%"39" = load i64, ptr %"45", align 8
|
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
|
||||||
%"46" = xor i64 %"42", -1
|
|
||||||
store i64 %"46", ptr addrspace(5) %"36", align 8
|
|
||||||
%"43" = load i64, ptr addrspace(5) %"34", align 8
|
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
|
||||||
%"48" = inttoptr i64 %"43" to ptr
|
%"48" = inttoptr i64 %"43" to ptr
|
||||||
store i64 %"44", ptr %"48", align 8
|
%"42" = load i64, ptr %"48", align 8
|
||||||
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
|
%"49" = xor i64 %"45", -1
|
||||||
|
store i64 %"49", ptr addrspace(5) %"39", align 8
|
||||||
|
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
|
%"51" = inttoptr i64 %"46" to ptr
|
||||||
|
store i64 %"47", ptr %"51", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,37 +1,37 @@
|
||||||
declare hidden i32 @__zluda_ptx_impl_sreg_ntid(i8) #0
|
declare hidden i32 @__zluda_ptx_impl_sreg_ntid(i8) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @ntid(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #1 {
|
define amdgpu_kernel void @ntid(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #1 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
%"40" = alloca i32, align 4, addrspace(5)
|
%"43" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
%"45" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"38", align 8
|
store i64 %"45", ptr addrspace(5) %"41", align 8
|
||||||
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
%"47" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"51" = inttoptr i64 %"44" to ptr
|
%"54" = inttoptr i64 %"47" to ptr
|
||||||
%"43" = load i32, ptr %"51", align 4
|
%"46" = load i32, ptr %"54", align 4
|
||||||
store i32 %"43", ptr addrspace(5) %"39", align 4
|
store i32 %"46", ptr addrspace(5) %"42", align 4
|
||||||
%"31" = call i32 @__zluda_ptx_impl_sreg_ntid(i8 0)
|
%"34" = call i32 @__zluda_ptx_impl_sreg_ntid(i8 0)
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %"32"
|
"36": ; preds = %"35"
|
||||||
store i32 %"31", ptr addrspace(5) %"40", align 4
|
store i32 %"34", ptr addrspace(5) %"43", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
%"50" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
%"48" = load i32, ptr addrspace(5) %"40", align 4
|
%"51" = load i32, ptr addrspace(5) %"43", align 4
|
||||||
%"46" = add i32 %"47", %"48"
|
%"49" = add i32 %"50", %"51"
|
||||||
store i32 %"46", ptr addrspace(5) %"39", align 4
|
store i32 %"49", ptr addrspace(5) %"42", align 4
|
||||||
%"49" = load i64, ptr addrspace(5) %"38", align 8
|
%"52" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"50" = load i32, ptr addrspace(5) %"39", align 4
|
%"53" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
%"52" = inttoptr i64 %"49" to ptr
|
%"55" = inttoptr i64 %"52" to ptr
|
||||||
store i32 %"50", ptr %"52", align 4
|
store i32 %"53", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @or(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @or(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i64, ptr %"50", align 8
|
%"44" = load i64, ptr %"53", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 8
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 8
|
||||||
%"44" = load i64, ptr %"31", align 8
|
%"47" = load i64, ptr %"34", align 8
|
||||||
store i64 %"44", ptr addrspace(5) %"38", align 8
|
store i64 %"47", ptr addrspace(5) %"41", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
%"49" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"52" = or i64 %"46", %"47"
|
%"55" = or i64 %"49", %"50"
|
||||||
store i64 %"52", ptr addrspace(5) %"37", align 8
|
store i64 %"55", ptr addrspace(5) %"40", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i64, ptr addrspace(5) %"37", align 8
|
%"52" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"55" = inttoptr i64 %"48" to ptr
|
%"58" = inttoptr i64 %"51" to ptr
|
||||||
store i64 %"49", ptr %"55", align 8
|
store i64 %"52", ptr %"58", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @popc(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @popc(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca i32, align 4, addrspace(5)
|
%"37" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load i32, ptr %"43", align 4
|
%"40" = load i32, ptr %"46", align 4
|
||||||
store i32 %"37", ptr addrspace(5) %"34", align 4
|
store i32 %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load i32, ptr addrspace(5) %"34", align 4
|
%"43" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = call i32 @llvm.ctpop.i32(i32 %"40")
|
%"47" = call i32 @llvm.ctpop.i32(i32 %"43")
|
||||||
store i32 %"44", ptr addrspace(5) %"34", align 4
|
store i32 %"47", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load i32, ptr addrspace(5) %"34", align 4
|
%"45" = load i32, ptr addrspace(5) %"37", align 4
|
||||||
%"45" = inttoptr i64 %"41" to ptr
|
%"48" = inttoptr i64 %"44" to ptr
|
||||||
store i32 %"42", ptr %"45", align 4
|
store i32 %"45", ptr %"48", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,56 +1,56 @@
|
||||||
define amdgpu_kernel void @pred_not(ptr addrspace(4) byref(i64) %"41", ptr addrspace(4) byref(i64) %"42") #0 {
|
define amdgpu_kernel void @pred_not(ptr addrspace(4) byref(i64) %"44", ptr addrspace(4) byref(i64) %"45") #0 {
|
||||||
%"43" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"44" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"45" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"46" = alloca i64, align 8, addrspace(5)
|
%"46" = alloca i64, align 8, addrspace(5)
|
||||||
%"47" = alloca i64, align 8, addrspace(5)
|
%"47" = alloca i64, align 8, addrspace(5)
|
||||||
%"48" = alloca i1, align 1, addrspace(5)
|
%"48" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"49" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"50" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"51" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"40"
|
br label %"43"
|
||||||
|
|
||||||
"40": ; preds = %1
|
"43": ; preds = %1
|
||||||
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
%"52" = load i64, ptr addrspace(4) %"44", align 8
|
||||||
store i64 %"49", ptr addrspace(5) %"43", align 8
|
store i64 %"52", ptr addrspace(5) %"46", align 8
|
||||||
%"50" = load i64, ptr addrspace(4) %"42", align 8
|
%"53" = load i64, ptr addrspace(4) %"45", align 8
|
||||||
store i64 %"50", ptr addrspace(5) %"44", align 8
|
store i64 %"53", ptr addrspace(5) %"47", align 8
|
||||||
%"52" = load i64, ptr addrspace(5) %"43", align 8
|
%"55" = load i64, ptr addrspace(5) %"46", align 8
|
||||||
%"66" = inttoptr i64 %"52" to ptr
|
%"69" = inttoptr i64 %"55" to ptr
|
||||||
%"51" = load i64, ptr %"66", align 8
|
%"54" = load i64, ptr %"69", align 8
|
||||||
store i64 %"51", ptr addrspace(5) %"45", align 8
|
store i64 %"54", ptr addrspace(5) %"48", align 8
|
||||||
%"53" = load i64, ptr addrspace(5) %"43", align 8
|
%"56" = load i64, ptr addrspace(5) %"46", align 8
|
||||||
%"67" = inttoptr i64 %"53" to ptr
|
%"70" = inttoptr i64 %"56" to ptr
|
||||||
%"37" = getelementptr inbounds i8, ptr %"67", i64 8
|
%"40" = getelementptr inbounds i8, ptr %"70", i64 8
|
||||||
%"54" = load i64, ptr %"37", align 8
|
%"57" = load i64, ptr %"40", align 8
|
||||||
store i64 %"54", ptr addrspace(5) %"46", align 8
|
store i64 %"57", ptr addrspace(5) %"49", align 8
|
||||||
%"56" = load i64, ptr addrspace(5) %"45", align 8
|
%"59" = load i64, ptr addrspace(5) %"48", align 8
|
||||||
%"57" = load i64, ptr addrspace(5) %"46", align 8
|
%"60" = load i64, ptr addrspace(5) %"49", align 8
|
||||||
%2 = icmp ult i64 %"56", %"57"
|
%2 = icmp ult i64 %"59", %"60"
|
||||||
store i1 %2, ptr addrspace(5) %"48", align 1
|
store i1 %2, ptr addrspace(5) %"51", align 1
|
||||||
%"59" = load i1, ptr addrspace(5) %"48", align 1
|
%"62" = load i1, ptr addrspace(5) %"51", align 1
|
||||||
%"58" = xor i1 %"59", true
|
%"61" = xor i1 %"62", true
|
||||||
store i1 %"58", ptr addrspace(5) %"48", align 1
|
store i1 %"61", ptr addrspace(5) %"51", align 1
|
||||||
%"60" = load i1, ptr addrspace(5) %"48", align 1
|
%"63" = load i1, ptr addrspace(5) %"51", align 1
|
||||||
br i1 %"60", label %"16", label %"17"
|
br i1 %"63", label %"17", label %"18"
|
||||||
|
|
||||||
"16": ; preds = %"40"
|
"17": ; preds = %"43"
|
||||||
store i64 1, ptr addrspace(5) %"47", align 8
|
store i64 1, ptr addrspace(5) %"50", align 8
|
||||||
br label %"17"
|
br label %"18"
|
||||||
|
|
||||||
"17": ; preds = %"16", %"40"
|
"18": ; preds = %"17", %"43"
|
||||||
%"62" = load i1, ptr addrspace(5) %"48", align 1
|
%"65" = load i1, ptr addrspace(5) %"51", align 1
|
||||||
br i1 %"62", label %"19", label %"18"
|
br i1 %"65", label %"20", label %"19"
|
||||||
|
|
||||||
"18": ; preds = %"17"
|
"19": ; preds = %"18"
|
||||||
store i64 2, ptr addrspace(5) %"47", align 8
|
store i64 2, ptr addrspace(5) %"50", align 8
|
||||||
br label %"19"
|
br label %"20"
|
||||||
|
|
||||||
"19": ; preds = %"18", %"17"
|
"20": ; preds = %"19", %"18"
|
||||||
%"64" = load i64, ptr addrspace(5) %"44", align 8
|
%"67" = load i64, ptr addrspace(5) %"47", align 8
|
||||||
%"65" = load i64, ptr addrspace(5) %"47", align 8
|
%"68" = load i64, ptr addrspace(5) %"50", align 8
|
||||||
%"68" = inttoptr i64 %"64" to ptr
|
%"71" = inttoptr i64 %"67" to ptr
|
||||||
store i64 %"65", ptr %"68", align 8
|
store i64 %"68", ptr %"71", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,37 +1,37 @@
|
||||||
define amdgpu_kernel void @prmt(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @prmt(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"37", align 4
|
store i32 %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load i32, ptr %"31", align 4
|
%"47" = load i32, ptr %"34", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"38", align 4
|
store i32 %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%2 = bitcast i32 %"46" to <4 x i8>
|
%2 = bitcast i32 %"49" to <4 x i8>
|
||||||
%3 = bitcast i32 %"47" to <4 x i8>
|
%3 = bitcast i32 %"50" to <4 x i8>
|
||||||
%"52" = shufflevector <4 x i8> %2, <4 x i8> %3, <4 x i32> <i32 4, i32 0, i32 6, i32 7>
|
%"55" = shufflevector <4 x i8> %2, <4 x i8> %3, <4 x i32> <i32 4, i32 0, i32 6, i32 7>
|
||||||
store <4 x i8> %"52", ptr addrspace(5) %"38", align 4
|
store <4 x i8> %"55", ptr addrspace(5) %"41", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"38", align 4
|
%"52" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"55" = inttoptr i64 %"48" to ptr
|
%"58" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"55", align 4
|
store i32 %"52", ptr %"58", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,30 +1,30 @@
|
||||||
declare hidden float @__zluda_ptx_impl_rcp_approx_f32(float) #0
|
declare hidden float @__zluda_ptx_impl_rcp_approx_f32(float) #0
|
||||||
|
|
||||||
define amdgpu_kernel void @rcp(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #1 {
|
define amdgpu_kernel void @rcp(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #1 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca float, align 4, addrspace(5)
|
%"37" = alloca float, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load float, ptr %"43", align 4
|
%"40" = load float, ptr %"46", align 4
|
||||||
store float %"37", ptr addrspace(5) %"34", align 4
|
store float %"40", ptr addrspace(5) %"37", align 4
|
||||||
%"40" = load float, ptr addrspace(5) %"34", align 4
|
%"43" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"39" = call float @__zluda_ptx_impl_rcp_approx_f32(float %"40")
|
%"42" = call float @__zluda_ptx_impl_rcp_approx_f32(float %"43")
|
||||||
store float %"39", ptr addrspace(5) %"34", align 4
|
store float %"42", ptr addrspace(5) %"37", align 4
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load float, ptr addrspace(5) %"34", align 4
|
%"45" = load float, ptr addrspace(5) %"37", align 4
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store float %"42", ptr %"44", align 4
|
store float %"45", ptr %"47", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @reg_local(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
define amdgpu_kernel void @reg_local(ptr addrspace(4) byref(i64) %"40", ptr addrspace(4) byref(i64) %"41") #0 {
|
||||||
%"10" = alloca [8 x i8], align 8, addrspace(5)
|
%"11" = alloca [8 x i8], align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"36"
|
br label %"39"
|
||||||
|
|
||||||
"36": ; preds = %1
|
"39": ; preds = %1
|
||||||
%"42" = load i64, ptr addrspace(4) %"37", align 8
|
%"45" = load i64, ptr addrspace(4) %"40", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"39", align 8
|
store i64 %"45", ptr addrspace(5) %"42", align 8
|
||||||
%"43" = load i64, ptr addrspace(4) %"38", align 8
|
%"46" = load i64, ptr addrspace(4) %"41", align 8
|
||||||
store i64 %"43", ptr addrspace(5) %"40", align 8
|
store i64 %"46", ptr addrspace(5) %"43", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"39", align 8
|
%"48" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
%"51" = inttoptr i64 %"45" to ptr addrspace(1)
|
%"54" = inttoptr i64 %"48" to ptr addrspace(1)
|
||||||
%"50" = load i64, ptr addrspace(1) %"51", align 8
|
%"53" = load i64, ptr addrspace(1) %"54", align 8
|
||||||
store i64 %"50", ptr addrspace(5) %"41", align 8
|
store i64 %"53", ptr addrspace(5) %"44", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"41", align 8
|
%"49" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"31" = add i64 %"46", 1
|
%"34" = add i64 %"49", 1
|
||||||
%"52" = addrspacecast ptr addrspace(5) %"10" to ptr
|
%"55" = addrspacecast ptr addrspace(5) %"11" to ptr
|
||||||
store i64 %"31", ptr %"52", align 8
|
store i64 %"34", ptr %"55", align 8
|
||||||
%"54" = addrspacecast ptr addrspace(5) %"10" to ptr
|
%"57" = addrspacecast ptr addrspace(5) %"11" to ptr
|
||||||
%"33" = getelementptr inbounds i8, ptr %"54", i64 0
|
%"36" = getelementptr inbounds i8, ptr %"57", i64 0
|
||||||
%"55" = load i64, ptr %"33", align 8
|
%"58" = load i64, ptr %"36", align 8
|
||||||
store i64 %"55", ptr addrspace(5) %"41", align 8
|
store i64 %"58", ptr addrspace(5) %"44", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
%"51" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"56" = inttoptr i64 %"48" to ptr addrspace(1)
|
%"59" = inttoptr i64 %"51" to ptr addrspace(1)
|
||||||
%"35" = getelementptr inbounds i8, ptr addrspace(1) %"56", i64 0
|
%"38" = getelementptr inbounds i8, ptr addrspace(1) %"59", i64 0
|
||||||
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
%"52" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
store i64 %"49", ptr addrspace(1) %"35", align 8
|
store i64 %"52", ptr addrspace(1) %"38", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @rem(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @rem(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i32, align 4, addrspace(5)
|
%"40" = alloca i32, align 4, addrspace(5)
|
||||||
%"38" = alloca i32, align 4, addrspace(5)
|
%"41" = alloca i32, align 4, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"42" = load i64, ptr addrspace(5) %"35", align 8
|
%"45" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"50" = inttoptr i64 %"42" to ptr
|
%"53" = inttoptr i64 %"45" to ptr
|
||||||
%"41" = load i32, ptr %"50", align 4
|
%"44" = load i32, ptr %"53", align 4
|
||||||
store i32 %"41", ptr addrspace(5) %"37", align 4
|
store i32 %"44", ptr addrspace(5) %"40", align 4
|
||||||
%"43" = load i64, ptr addrspace(5) %"35", align 8
|
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"51", i64 4
|
%"34" = getelementptr inbounds i8, ptr %"54", i64 4
|
||||||
%"44" = load i32, ptr %"31", align 4
|
%"47" = load i32, ptr %"34", align 4
|
||||||
store i32 %"44", ptr addrspace(5) %"38", align 4
|
store i32 %"47", ptr addrspace(5) %"41", align 4
|
||||||
%"46" = load i32, ptr addrspace(5) %"37", align 4
|
%"49" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"47" = load i32, ptr addrspace(5) %"38", align 4
|
%"50" = load i32, ptr addrspace(5) %"41", align 4
|
||||||
%"45" = srem i32 %"46", %"47"
|
%"48" = srem i32 %"49", %"50"
|
||||||
store i32 %"45", ptr addrspace(5) %"37", align 4
|
store i32 %"48", ptr addrspace(5) %"40", align 4
|
||||||
%"48" = load i64, ptr addrspace(5) %"36", align 8
|
%"51" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"37", align 4
|
%"52" = load i32, ptr addrspace(5) %"40", align 4
|
||||||
%"52" = inttoptr i64 %"48" to ptr
|
%"55" = inttoptr i64 %"51" to ptr
|
||||||
store i32 %"49", ptr %"52", align 4
|
store i32 %"52", ptr %"55", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,28 +1,28 @@
|
||||||
define amdgpu_kernel void @rsqrt(ptr addrspace(4) byref(i64) %"30", ptr addrspace(4) byref(i64) %"31") #0 {
|
define amdgpu_kernel void @rsqrt(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
||||||
%"32" = alloca i64, align 8, addrspace(5)
|
%"35" = alloca i64, align 8, addrspace(5)
|
||||||
%"33" = alloca i64, align 8, addrspace(5)
|
%"36" = alloca i64, align 8, addrspace(5)
|
||||||
%"34" = alloca double, align 8, addrspace(5)
|
%"37" = alloca double, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"29"
|
br label %"32"
|
||||||
|
|
||||||
"29": ; preds = %1
|
"32": ; preds = %1
|
||||||
%"35" = load i64, ptr addrspace(4) %"30", align 8
|
%"38" = load i64, ptr addrspace(4) %"33", align 8
|
||||||
store i64 %"35", ptr addrspace(5) %"32", align 8
|
store i64 %"38", ptr addrspace(5) %"35", align 8
|
||||||
%"36" = load i64, ptr addrspace(4) %"31", align 8
|
%"39" = load i64, ptr addrspace(4) %"34", align 8
|
||||||
store i64 %"36", ptr addrspace(5) %"33", align 8
|
store i64 %"39", ptr addrspace(5) %"36", align 8
|
||||||
%"38" = load i64, ptr addrspace(5) %"32", align 8
|
%"41" = load i64, ptr addrspace(5) %"35", align 8
|
||||||
%"43" = inttoptr i64 %"38" to ptr
|
%"46" = inttoptr i64 %"41" to ptr
|
||||||
%"37" = load double, ptr %"43", align 8
|
%"40" = load double, ptr %"46", align 8
|
||||||
store double %"37", ptr addrspace(5) %"34", align 8
|
store double %"40", ptr addrspace(5) %"37", align 8
|
||||||
%"40" = load double, ptr addrspace(5) %"34", align 8
|
%"43" = load double, ptr addrspace(5) %"37", align 8
|
||||||
%"39" = call double @llvm.amdgcn.rsq.f64(double %"40")
|
%"42" = call double @llvm.amdgcn.rsq.f64(double %"43")
|
||||||
store double %"39", ptr addrspace(5) %"34", align 8
|
store double %"42", ptr addrspace(5) %"37", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"33", align 8
|
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
||||||
%"42" = load double, ptr addrspace(5) %"34", align 8
|
%"45" = load double, ptr addrspace(5) %"37", align 8
|
||||||
%"44" = inttoptr i64 %"41" to ptr
|
%"47" = inttoptr i64 %"44" to ptr
|
||||||
store double %"42", ptr %"44", align 8
|
store double %"45", ptr %"47", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @selp(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @selp(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i16, align 2, addrspace(5)
|
%"41" = alloca i16, align 2, addrspace(5)
|
||||||
%"39" = alloca i16, align 2, addrspace(5)
|
%"42" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"42" = load i16, ptr %"51", align 2
|
%"45" = load i16, ptr %"54", align 2
|
||||||
store i16 %"42", ptr addrspace(5) %"38", align 2
|
store i16 %"45", ptr addrspace(5) %"41", align 2
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"52" = inttoptr i64 %"44" to ptr
|
%"55" = inttoptr i64 %"47" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"52", i64 2
|
%"34" = getelementptr inbounds i8, ptr %"55", i64 2
|
||||||
%"45" = load i16, ptr %"31", align 2
|
%"48" = load i16, ptr %"34", align 2
|
||||||
store i16 %"45", ptr addrspace(5) %"39", align 2
|
store i16 %"48", ptr addrspace(5) %"42", align 2
|
||||||
%"47" = load i16, ptr addrspace(5) %"38", align 2
|
%"50" = load i16, ptr addrspace(5) %"41", align 2
|
||||||
%"48" = load i16, ptr addrspace(5) %"39", align 2
|
%"51" = load i16, ptr addrspace(5) %"42", align 2
|
||||||
%"46" = select i1 false, i16 %"47", i16 %"48"
|
%"49" = select i1 false, i16 %"50", i16 %"51"
|
||||||
store i16 %"46", ptr addrspace(5) %"38", align 2
|
store i16 %"49", ptr addrspace(5) %"41", align 2
|
||||||
%"49" = load i64, ptr addrspace(5) %"37", align 8
|
%"52" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"50" = load i16, ptr addrspace(5) %"38", align 2
|
%"53" = load i16, ptr addrspace(5) %"41", align 2
|
||||||
%"53" = inttoptr i64 %"49" to ptr
|
%"56" = inttoptr i64 %"52" to ptr
|
||||||
store i16 %"50", ptr %"53", align 2
|
store i16 %"53", ptr %"56", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,35 @@
|
||||||
define amdgpu_kernel void @selp_true(ptr addrspace(4) byref(i64) %"34", ptr addrspace(4) byref(i64) %"35") #0 {
|
define amdgpu_kernel void @selp_true(ptr addrspace(4) byref(i64) %"37", ptr addrspace(4) byref(i64) %"38") #0 {
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"38" = alloca i16, align 2, addrspace(5)
|
%"41" = alloca i16, align 2, addrspace(5)
|
||||||
%"39" = alloca i16, align 2, addrspace(5)
|
%"42" = alloca i16, align 2, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"33"
|
br label %"36"
|
||||||
|
|
||||||
"33": ; preds = %1
|
"36": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"34", align 8
|
%"43" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
%"44" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"41", ptr addrspace(5) %"37", align 8
|
store i64 %"44", ptr addrspace(5) %"40", align 8
|
||||||
%"43" = load i64, ptr addrspace(5) %"36", align 8
|
%"46" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"51" = inttoptr i64 %"43" to ptr
|
%"54" = inttoptr i64 %"46" to ptr
|
||||||
%"42" = load i16, ptr %"51", align 2
|
%"45" = load i16, ptr %"54", align 2
|
||||||
store i16 %"42", ptr addrspace(5) %"38", align 2
|
store i16 %"45", ptr addrspace(5) %"41", align 2
|
||||||
%"44" = load i64, ptr addrspace(5) %"36", align 8
|
%"47" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
%"52" = inttoptr i64 %"44" to ptr
|
%"55" = inttoptr i64 %"47" to ptr
|
||||||
%"31" = getelementptr inbounds i8, ptr %"52", i64 2
|
%"34" = getelementptr inbounds i8, ptr %"55", i64 2
|
||||||
%"45" = load i16, ptr %"31", align 2
|
%"48" = load i16, ptr %"34", align 2
|
||||||
store i16 %"45", ptr addrspace(5) %"39", align 2
|
store i16 %"48", ptr addrspace(5) %"42", align 2
|
||||||
%"47" = load i16, ptr addrspace(5) %"38", align 2
|
%"50" = load i16, ptr addrspace(5) %"41", align 2
|
||||||
%"48" = load i16, ptr addrspace(5) %"39", align 2
|
%"51" = load i16, ptr addrspace(5) %"42", align 2
|
||||||
%"46" = select i1 true, i16 %"47", i16 %"48"
|
%"49" = select i1 true, i16 %"50", i16 %"51"
|
||||||
store i16 %"46", ptr addrspace(5) %"38", align 2
|
store i16 %"49", ptr addrspace(5) %"41", align 2
|
||||||
%"49" = load i64, ptr addrspace(5) %"37", align 8
|
%"52" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"50" = load i16, ptr addrspace(5) %"38", align 2
|
%"53" = load i16, ptr addrspace(5) %"41", align 2
|
||||||
%"53" = inttoptr i64 %"49" to ptr
|
%"56" = inttoptr i64 %"52" to ptr
|
||||||
store i16 %"50", ptr %"53", align 2
|
store i16 %"53", ptr %"56", align 2
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,53 +1,53 @@
|
||||||
define amdgpu_kernel void @setp(ptr addrspace(4) byref(i64) %"41", ptr addrspace(4) byref(i64) %"42") #0 {
|
define amdgpu_kernel void @setp(ptr addrspace(4) byref(i64) %"44", ptr addrspace(4) byref(i64) %"45") #0 {
|
||||||
%"43" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"44" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"45" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"46" = alloca i64, align 8, addrspace(5)
|
%"46" = alloca i64, align 8, addrspace(5)
|
||||||
%"47" = alloca i64, align 8, addrspace(5)
|
%"47" = alloca i64, align 8, addrspace(5)
|
||||||
%"48" = alloca i1, align 1, addrspace(5)
|
%"48" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"49" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"50" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"51" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"40"
|
br label %"43"
|
||||||
|
|
||||||
"40": ; preds = %1
|
"43": ; preds = %1
|
||||||
%"49" = load i64, ptr addrspace(4) %"41", align 8
|
%"52" = load i64, ptr addrspace(4) %"44", align 8
|
||||||
store i64 %"49", ptr addrspace(5) %"43", align 8
|
store i64 %"52", ptr addrspace(5) %"46", align 8
|
||||||
%"50" = load i64, ptr addrspace(4) %"42", align 8
|
%"53" = load i64, ptr addrspace(4) %"45", align 8
|
||||||
store i64 %"50", ptr addrspace(5) %"44", align 8
|
store i64 %"53", ptr addrspace(5) %"47", align 8
|
||||||
%"52" = load i64, ptr addrspace(5) %"43", align 8
|
%"55" = load i64, ptr addrspace(5) %"46", align 8
|
||||||
%"64" = inttoptr i64 %"52" to ptr
|
%"67" = inttoptr i64 %"55" to ptr
|
||||||
%"51" = load i64, ptr %"64", align 8
|
%"54" = load i64, ptr %"67", align 8
|
||||||
store i64 %"51", ptr addrspace(5) %"45", align 8
|
store i64 %"54", ptr addrspace(5) %"48", align 8
|
||||||
%"53" = load i64, ptr addrspace(5) %"43", align 8
|
%"56" = load i64, ptr addrspace(5) %"46", align 8
|
||||||
%"65" = inttoptr i64 %"53" to ptr
|
%"68" = inttoptr i64 %"56" to ptr
|
||||||
%"37" = getelementptr inbounds i8, ptr %"65", i64 8
|
%"40" = getelementptr inbounds i8, ptr %"68", i64 8
|
||||||
%"54" = load i64, ptr %"37", align 8
|
%"57" = load i64, ptr %"40", align 8
|
||||||
store i64 %"54", ptr addrspace(5) %"46", align 8
|
store i64 %"57", ptr addrspace(5) %"49", align 8
|
||||||
%"56" = load i64, ptr addrspace(5) %"45", align 8
|
%"59" = load i64, ptr addrspace(5) %"48", align 8
|
||||||
%"57" = load i64, ptr addrspace(5) %"46", align 8
|
%"60" = load i64, ptr addrspace(5) %"49", align 8
|
||||||
%2 = icmp ult i64 %"56", %"57"
|
%2 = icmp ult i64 %"59", %"60"
|
||||||
store i1 %2, ptr addrspace(5) %"48", align 1
|
store i1 %2, ptr addrspace(5) %"51", align 1
|
||||||
%"58" = load i1, ptr addrspace(5) %"48", align 1
|
%"61" = load i1, ptr addrspace(5) %"51", align 1
|
||||||
br i1 %"58", label %"16", label %"17"
|
br i1 %"61", label %"17", label %"18"
|
||||||
|
|
||||||
"16": ; preds = %"40"
|
"17": ; preds = %"43"
|
||||||
store i64 1, ptr addrspace(5) %"47", align 8
|
store i64 1, ptr addrspace(5) %"50", align 8
|
||||||
br label %"17"
|
br label %"18"
|
||||||
|
|
||||||
"17": ; preds = %"16", %"40"
|
"18": ; preds = %"17", %"43"
|
||||||
%"60" = load i1, ptr addrspace(5) %"48", align 1
|
%"63" = load i1, ptr addrspace(5) %"51", align 1
|
||||||
br i1 %"60", label %"19", label %"18"
|
br i1 %"63", label %"20", label %"19"
|
||||||
|
|
||||||
"18": ; preds = %"17"
|
"19": ; preds = %"18"
|
||||||
store i64 2, ptr addrspace(5) %"47", align 8
|
store i64 2, ptr addrspace(5) %"50", align 8
|
||||||
br label %"19"
|
br label %"20"
|
||||||
|
|
||||||
"19": ; preds = %"18", %"17"
|
"20": ; preds = %"19", %"18"
|
||||||
%"62" = load i64, ptr addrspace(5) %"44", align 8
|
%"65" = load i64, ptr addrspace(5) %"47", align 8
|
||||||
%"63" = load i64, ptr addrspace(5) %"47", align 8
|
%"66" = load i64, ptr addrspace(5) %"50", align 8
|
||||||
%"66" = inttoptr i64 %"62" to ptr
|
%"69" = inttoptr i64 %"65" to ptr
|
||||||
store i64 %"63", ptr %"66", align 8
|
store i64 %"66", ptr %"69", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,55 +1,55 @@
|
||||||
define amdgpu_kernel void @setp_gt(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
define amdgpu_kernel void @setp_gt(ptr addrspace(4) byref(i64) %"42", ptr addrspace(4) byref(i64) %"43") #0 {
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
%"42" = alloca i64, align 8, addrspace(5)
|
%"45" = alloca i64, align 8, addrspace(5)
|
||||||
%"43" = alloca float, align 4, addrspace(5)
|
%"46" = alloca float, align 4, addrspace(5)
|
||||||
%"44" = alloca float, align 4, addrspace(5)
|
%"47" = alloca float, align 4, addrspace(5)
|
||||||
%"45" = alloca float, align 4, addrspace(5)
|
%"48" = alloca float, align 4, addrspace(5)
|
||||||
%"46" = alloca i1, align 1, addrspace(5)
|
%"49" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"38"
|
br label %"41"
|
||||||
|
|
||||||
"38": ; preds = %1
|
"41": ; preds = %1
|
||||||
%"47" = load i64, ptr addrspace(4) %"39", align 8
|
%"50" = load i64, ptr addrspace(4) %"42", align 8
|
||||||
store i64 %"47", ptr addrspace(5) %"41", align 8
|
store i64 %"50", ptr addrspace(5) %"44", align 8
|
||||||
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
%"51" = load i64, ptr addrspace(4) %"43", align 8
|
||||||
store i64 %"48", ptr addrspace(5) %"42", align 8
|
store i64 %"51", ptr addrspace(5) %"45", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
%"53" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"64" = inttoptr i64 %"50" to ptr
|
%"67" = inttoptr i64 %"53" to ptr
|
||||||
%"49" = load float, ptr %"64", align 4
|
%"52" = load float, ptr %"67", align 4
|
||||||
store float %"49", ptr addrspace(5) %"43", align 4
|
store float %"52", ptr addrspace(5) %"46", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"41", align 8
|
%"54" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"65" = inttoptr i64 %"51" to ptr
|
%"68" = inttoptr i64 %"54" to ptr
|
||||||
%"37" = getelementptr inbounds i8, ptr %"65", i64 4
|
%"40" = getelementptr inbounds i8, ptr %"68", i64 4
|
||||||
%"52" = load float, ptr %"37", align 4
|
%"55" = load float, ptr %"40", align 4
|
||||||
store float %"52", ptr addrspace(5) %"44", align 4
|
store float %"55", ptr addrspace(5) %"47", align 4
|
||||||
%"54" = load float, ptr addrspace(5) %"43", align 4
|
%"57" = load float, ptr addrspace(5) %"46", align 4
|
||||||
%"55" = load float, ptr addrspace(5) %"44", align 4
|
%"58" = load float, ptr addrspace(5) %"47", align 4
|
||||||
%2 = fcmp ogt float %"54", %"55"
|
%2 = fcmp ogt float %"57", %"58"
|
||||||
store i1 %2, ptr addrspace(5) %"46", align 1
|
store i1 %2, ptr addrspace(5) %"49", align 1
|
||||||
%"56" = load i1, ptr addrspace(5) %"46", align 1
|
%"59" = load i1, ptr addrspace(5) %"49", align 1
|
||||||
br i1 %"56", label %"16", label %"17"
|
br i1 %"59", label %"17", label %"18"
|
||||||
|
|
||||||
"16": ; preds = %"38"
|
"17": ; preds = %"41"
|
||||||
%"58" = load float, ptr addrspace(5) %"43", align 4
|
%"61" = load float, ptr addrspace(5) %"46", align 4
|
||||||
store float %"58", ptr addrspace(5) %"45", align 4
|
store float %"61", ptr addrspace(5) %"48", align 4
|
||||||
br label %"17"
|
br label %"18"
|
||||||
|
|
||||||
"17": ; preds = %"16", %"38"
|
"18": ; preds = %"17", %"41"
|
||||||
%"59" = load i1, ptr addrspace(5) %"46", align 1
|
%"62" = load i1, ptr addrspace(5) %"49", align 1
|
||||||
br i1 %"59", label %"19", label %"18"
|
br i1 %"62", label %"20", label %"19"
|
||||||
|
|
||||||
"18": ; preds = %"17"
|
"19": ; preds = %"18"
|
||||||
%"61" = load float, ptr addrspace(5) %"44", align 4
|
%"64" = load float, ptr addrspace(5) %"47", align 4
|
||||||
store float %"61", ptr addrspace(5) %"45", align 4
|
store float %"64", ptr addrspace(5) %"48", align 4
|
||||||
br label %"19"
|
br label %"20"
|
||||||
|
|
||||||
"19": ; preds = %"18", %"17"
|
"20": ; preds = %"19", %"18"
|
||||||
%"62" = load i64, ptr addrspace(5) %"42", align 8
|
%"65" = load i64, ptr addrspace(5) %"45", align 8
|
||||||
%"63" = load float, ptr addrspace(5) %"45", align 4
|
%"66" = load float, ptr addrspace(5) %"48", align 4
|
||||||
%"66" = inttoptr i64 %"62" to ptr
|
%"69" = inttoptr i64 %"65" to ptr
|
||||||
store float %"63", ptr %"66", align 4
|
store float %"66", ptr %"69", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,55 +1,55 @@
|
||||||
define amdgpu_kernel void @setp_leu(ptr addrspace(4) byref(i64) %"39", ptr addrspace(4) byref(i64) %"40") #0 {
|
define amdgpu_kernel void @setp_leu(ptr addrspace(4) byref(i64) %"42", ptr addrspace(4) byref(i64) %"43") #0 {
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
%"42" = alloca i64, align 8, addrspace(5)
|
%"45" = alloca i64, align 8, addrspace(5)
|
||||||
%"43" = alloca float, align 4, addrspace(5)
|
%"46" = alloca float, align 4, addrspace(5)
|
||||||
%"44" = alloca float, align 4, addrspace(5)
|
%"47" = alloca float, align 4, addrspace(5)
|
||||||
%"45" = alloca float, align 4, addrspace(5)
|
%"48" = alloca float, align 4, addrspace(5)
|
||||||
%"46" = alloca i1, align 1, addrspace(5)
|
%"49" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"38"
|
br label %"41"
|
||||||
|
|
||||||
"38": ; preds = %1
|
"41": ; preds = %1
|
||||||
%"47" = load i64, ptr addrspace(4) %"39", align 8
|
%"50" = load i64, ptr addrspace(4) %"42", align 8
|
||||||
store i64 %"47", ptr addrspace(5) %"41", align 8
|
store i64 %"50", ptr addrspace(5) %"44", align 8
|
||||||
%"48" = load i64, ptr addrspace(4) %"40", align 8
|
%"51" = load i64, ptr addrspace(4) %"43", align 8
|
||||||
store i64 %"48", ptr addrspace(5) %"42", align 8
|
store i64 %"51", ptr addrspace(5) %"45", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"41", align 8
|
%"53" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"64" = inttoptr i64 %"50" to ptr
|
%"67" = inttoptr i64 %"53" to ptr
|
||||||
%"49" = load float, ptr %"64", align 4
|
%"52" = load float, ptr %"67", align 4
|
||||||
store float %"49", ptr addrspace(5) %"43", align 4
|
store float %"52", ptr addrspace(5) %"46", align 4
|
||||||
%"51" = load i64, ptr addrspace(5) %"41", align 8
|
%"54" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
%"65" = inttoptr i64 %"51" to ptr
|
%"68" = inttoptr i64 %"54" to ptr
|
||||||
%"37" = getelementptr inbounds i8, ptr %"65", i64 4
|
%"40" = getelementptr inbounds i8, ptr %"68", i64 4
|
||||||
%"52" = load float, ptr %"37", align 4
|
%"55" = load float, ptr %"40", align 4
|
||||||
store float %"52", ptr addrspace(5) %"44", align 4
|
store float %"55", ptr addrspace(5) %"47", align 4
|
||||||
%"54" = load float, ptr addrspace(5) %"43", align 4
|
%"57" = load float, ptr addrspace(5) %"46", align 4
|
||||||
%"55" = load float, ptr addrspace(5) %"44", align 4
|
%"58" = load float, ptr addrspace(5) %"47", align 4
|
||||||
%2 = fcmp ule float %"54", %"55"
|
%2 = fcmp ule float %"57", %"58"
|
||||||
store i1 %2, ptr addrspace(5) %"46", align 1
|
store i1 %2, ptr addrspace(5) %"49", align 1
|
||||||
%"56" = load i1, ptr addrspace(5) %"46", align 1
|
%"59" = load i1, ptr addrspace(5) %"49", align 1
|
||||||
br i1 %"56", label %"16", label %"17"
|
br i1 %"59", label %"17", label %"18"
|
||||||
|
|
||||||
"16": ; preds = %"38"
|
"17": ; preds = %"41"
|
||||||
%"58" = load float, ptr addrspace(5) %"43", align 4
|
%"61" = load float, ptr addrspace(5) %"46", align 4
|
||||||
store float %"58", ptr addrspace(5) %"45", align 4
|
store float %"61", ptr addrspace(5) %"48", align 4
|
||||||
br label %"17"
|
br label %"18"
|
||||||
|
|
||||||
"17": ; preds = %"16", %"38"
|
"18": ; preds = %"17", %"41"
|
||||||
%"59" = load i1, ptr addrspace(5) %"46", align 1
|
%"62" = load i1, ptr addrspace(5) %"49", align 1
|
||||||
br i1 %"59", label %"19", label %"18"
|
br i1 %"62", label %"20", label %"19"
|
||||||
|
|
||||||
"18": ; preds = %"17"
|
"19": ; preds = %"18"
|
||||||
%"61" = load float, ptr addrspace(5) %"44", align 4
|
%"64" = load float, ptr addrspace(5) %"47", align 4
|
||||||
store float %"61", ptr addrspace(5) %"45", align 4
|
store float %"64", ptr addrspace(5) %"48", align 4
|
||||||
br label %"19"
|
br label %"20"
|
||||||
|
|
||||||
"19": ; preds = %"18", %"17"
|
"20": ; preds = %"19", %"18"
|
||||||
%"62" = load i64, ptr addrspace(5) %"42", align 8
|
%"65" = load i64, ptr addrspace(5) %"45", align 8
|
||||||
%"63" = load float, ptr addrspace(5) %"45", align 4
|
%"66" = load float, ptr addrspace(5) %"48", align 4
|
||||||
%"66" = inttoptr i64 %"62" to ptr
|
%"69" = inttoptr i64 %"65" to ptr
|
||||||
store float %"63", ptr %"66", align 4
|
store float %"66", ptr %"69", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,164 +1,164 @@
|
||||||
define amdgpu_kernel void @setp_nan(ptr addrspace(4) byref(i64) %"83", ptr addrspace(4) byref(i64) %"84") #0 {
|
define amdgpu_kernel void @setp_nan(ptr addrspace(4) byref(i64) %"86", ptr addrspace(4) byref(i64) %"87") #0 {
|
||||||
%"85" = alloca i64, align 8, addrspace(5)
|
%"88" = alloca i64, align 8, addrspace(5)
|
||||||
%"86" = alloca i64, align 8, addrspace(5)
|
%"89" = alloca i64, align 8, addrspace(5)
|
||||||
%"87" = alloca float, align 4, addrspace(5)
|
|
||||||
%"88" = alloca float, align 4, addrspace(5)
|
|
||||||
%"89" = alloca float, align 4, addrspace(5)
|
|
||||||
%"90" = alloca float, align 4, addrspace(5)
|
%"90" = alloca float, align 4, addrspace(5)
|
||||||
%"91" = alloca float, align 4, addrspace(5)
|
%"91" = alloca float, align 4, addrspace(5)
|
||||||
%"92" = alloca float, align 4, addrspace(5)
|
%"92" = alloca float, align 4, addrspace(5)
|
||||||
%"93" = alloca float, align 4, addrspace(5)
|
%"93" = alloca float, align 4, addrspace(5)
|
||||||
%"94" = alloca float, align 4, addrspace(5)
|
%"94" = alloca float, align 4, addrspace(5)
|
||||||
%"95" = alloca i32, align 4, addrspace(5)
|
%"95" = alloca float, align 4, addrspace(5)
|
||||||
%"96" = alloca i1, align 1, addrspace(5)
|
%"96" = alloca float, align 4, addrspace(5)
|
||||||
|
%"97" = alloca float, align 4, addrspace(5)
|
||||||
|
%"98" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"99" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"82"
|
br label %"85"
|
||||||
|
|
||||||
"82": ; preds = %1
|
"85": ; preds = %1
|
||||||
%"97" = load i64, ptr addrspace(4) %"83", align 8
|
%"100" = load i64, ptr addrspace(4) %"86", align 8
|
||||||
store i64 %"97", ptr addrspace(5) %"85", align 8
|
store i64 %"100", ptr addrspace(5) %"88", align 8
|
||||||
%"98" = load i64, ptr addrspace(4) %"84", align 8
|
%"101" = load i64, ptr addrspace(4) %"87", align 8
|
||||||
store i64 %"98", ptr addrspace(5) %"86", align 8
|
store i64 %"101", ptr addrspace(5) %"89", align 8
|
||||||
%"100" = load i64, ptr addrspace(5) %"85", align 8
|
%"103" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"151" = inttoptr i64 %"100" to ptr
|
%"154" = inttoptr i64 %"103" to ptr
|
||||||
%"99" = load float, ptr %"151", align 4
|
%"102" = load float, ptr %"154", align 4
|
||||||
store float %"99", ptr addrspace(5) %"87", align 4
|
store float %"102", ptr addrspace(5) %"90", align 4
|
||||||
%"101" = load i64, ptr addrspace(5) %"85", align 8
|
%"104" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"152" = inttoptr i64 %"101" to ptr
|
%"155" = inttoptr i64 %"104" to ptr
|
||||||
%"55" = getelementptr inbounds i8, ptr %"152", i64 4
|
%"58" = getelementptr inbounds i8, ptr %"155", i64 4
|
||||||
%"102" = load float, ptr %"55", align 4
|
%"105" = load float, ptr %"58", align 4
|
||||||
store float %"102", ptr addrspace(5) %"88", align 4
|
store float %"105", ptr addrspace(5) %"91", align 4
|
||||||
%"103" = load i64, ptr addrspace(5) %"85", align 8
|
%"106" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"153" = inttoptr i64 %"103" to ptr
|
%"156" = inttoptr i64 %"106" to ptr
|
||||||
%"57" = getelementptr inbounds i8, ptr %"153", i64 8
|
%"60" = getelementptr inbounds i8, ptr %"156", i64 8
|
||||||
%"104" = load float, ptr %"57", align 4
|
%"107" = load float, ptr %"60", align 4
|
||||||
store float %"104", ptr addrspace(5) %"89", align 4
|
store float %"107", ptr addrspace(5) %"92", align 4
|
||||||
%"105" = load i64, ptr addrspace(5) %"85", align 8
|
%"108" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"154" = inttoptr i64 %"105" to ptr
|
%"157" = inttoptr i64 %"108" to ptr
|
||||||
%"59" = getelementptr inbounds i8, ptr %"154", i64 12
|
%"62" = getelementptr inbounds i8, ptr %"157", i64 12
|
||||||
%"106" = load float, ptr %"59", align 4
|
%"109" = load float, ptr %"62", align 4
|
||||||
store float %"106", ptr addrspace(5) %"90", align 4
|
store float %"109", ptr addrspace(5) %"93", align 4
|
||||||
%"107" = load i64, ptr addrspace(5) %"85", align 8
|
%"110" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"155" = inttoptr i64 %"107" to ptr
|
%"158" = inttoptr i64 %"110" to ptr
|
||||||
%"61" = getelementptr inbounds i8, ptr %"155", i64 16
|
%"64" = getelementptr inbounds i8, ptr %"158", i64 16
|
||||||
%"108" = load float, ptr %"61", align 4
|
%"111" = load float, ptr %"64", align 4
|
||||||
store float %"108", ptr addrspace(5) %"91", align 4
|
store float %"111", ptr addrspace(5) %"94", align 4
|
||||||
%"109" = load i64, ptr addrspace(5) %"85", align 8
|
%"112" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"156" = inttoptr i64 %"109" to ptr
|
%"159" = inttoptr i64 %"112" to ptr
|
||||||
%"63" = getelementptr inbounds i8, ptr %"156", i64 20
|
%"66" = getelementptr inbounds i8, ptr %"159", i64 20
|
||||||
%"110" = load float, ptr %"63", align 4
|
%"113" = load float, ptr %"66", align 4
|
||||||
store float %"110", ptr addrspace(5) %"92", align 4
|
store float %"113", ptr addrspace(5) %"95", align 4
|
||||||
%"111" = load i64, ptr addrspace(5) %"85", align 8
|
%"114" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"157" = inttoptr i64 %"111" to ptr
|
%"160" = inttoptr i64 %"114" to ptr
|
||||||
%"65" = getelementptr inbounds i8, ptr %"157", i64 24
|
%"68" = getelementptr inbounds i8, ptr %"160", i64 24
|
||||||
%"112" = load float, ptr %"65", align 4
|
%"115" = load float, ptr %"68", align 4
|
||||||
store float %"112", ptr addrspace(5) %"93", align 4
|
store float %"115", ptr addrspace(5) %"96", align 4
|
||||||
%"113" = load i64, ptr addrspace(5) %"85", align 8
|
%"116" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"158" = inttoptr i64 %"113" to ptr
|
%"161" = inttoptr i64 %"116" to ptr
|
||||||
%"67" = getelementptr inbounds i8, ptr %"158", i64 28
|
%"70" = getelementptr inbounds i8, ptr %"161", i64 28
|
||||||
%"114" = load float, ptr %"67", align 4
|
%"117" = load float, ptr %"70", align 4
|
||||||
store float %"114", ptr addrspace(5) %"94", align 4
|
store float %"117", ptr addrspace(5) %"97", align 4
|
||||||
%"116" = load float, ptr addrspace(5) %"87", align 4
|
%"119" = load float, ptr addrspace(5) %"90", align 4
|
||||||
%"117" = load float, ptr addrspace(5) %"88", align 4
|
%"120" = load float, ptr addrspace(5) %"91", align 4
|
||||||
%2 = fcmp uno float %"116", %"117"
|
%2 = fcmp uno float %"119", %"120"
|
||||||
store i1 %2, ptr addrspace(5) %"96", align 1
|
store i1 %2, ptr addrspace(5) %"99", align 1
|
||||||
%"118" = load i1, ptr addrspace(5) %"96", align 1
|
%"121" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"118", label %"22", label %"23"
|
br i1 %"121", label %"23", label %"24"
|
||||||
|
|
||||||
"22": ; preds = %"82"
|
"23": ; preds = %"85"
|
||||||
store i32 1, ptr addrspace(5) %"95", align 4
|
store i32 1, ptr addrspace(5) %"98", align 4
|
||||||
br label %"23"
|
br label %"24"
|
||||||
|
|
||||||
"23": ; preds = %"22", %"82"
|
"24": ; preds = %"23", %"85"
|
||||||
%"120" = load i1, ptr addrspace(5) %"96", align 1
|
%"123" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"120", label %"25", label %"24"
|
br i1 %"123", label %"26", label %"25"
|
||||||
|
|
||||||
"24": ; preds = %"23"
|
"25": ; preds = %"24"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"25"
|
br label %"26"
|
||||||
|
|
||||||
"25": ; preds = %"24", %"23"
|
"26": ; preds = %"25", %"24"
|
||||||
%"122" = load i64, ptr addrspace(5) %"86", align 8
|
%"125" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"123" = load i32, ptr addrspace(5) %"95", align 4
|
%"126" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
%"159" = inttoptr i64 %"122" to ptr
|
%"162" = inttoptr i64 %"125" to ptr
|
||||||
store i32 %"123", ptr %"159", align 4
|
store i32 %"126", ptr %"162", align 4
|
||||||
%"125" = load float, ptr addrspace(5) %"89", align 4
|
%"128" = load float, ptr addrspace(5) %"92", align 4
|
||||||
%"126" = load float, ptr addrspace(5) %"90", align 4
|
%"129" = load float, ptr addrspace(5) %"93", align 4
|
||||||
%3 = fcmp uno float %"125", %"126"
|
%3 = fcmp uno float %"128", %"129"
|
||||||
store i1 %3, ptr addrspace(5) %"96", align 1
|
store i1 %3, ptr addrspace(5) %"99", align 1
|
||||||
%"127" = load i1, ptr addrspace(5) %"96", align 1
|
%"130" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"127", label %"26", label %"27"
|
br i1 %"130", label %"27", label %"28"
|
||||||
|
|
||||||
"26": ; preds = %"25"
|
"27": ; preds = %"26"
|
||||||
store i32 1, ptr addrspace(5) %"95", align 4
|
store i32 1, ptr addrspace(5) %"98", align 4
|
||||||
br label %"27"
|
br label %"28"
|
||||||
|
|
||||||
"27": ; preds = %"26", %"25"
|
"28": ; preds = %"27", %"26"
|
||||||
%"129" = load i1, ptr addrspace(5) %"96", align 1
|
%"132" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"129", label %"29", label %"28"
|
br i1 %"132", label %"30", label %"29"
|
||||||
|
|
||||||
"28": ; preds = %"27"
|
"29": ; preds = %"28"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"29"
|
br label %"30"
|
||||||
|
|
||||||
"29": ; preds = %"28", %"27"
|
"30": ; preds = %"29", %"28"
|
||||||
%"131" = load i64, ptr addrspace(5) %"86", align 8
|
%"134" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"160" = inttoptr i64 %"131" to ptr
|
%"163" = inttoptr i64 %"134" to ptr
|
||||||
%"73" = getelementptr inbounds i8, ptr %"160", i64 4
|
%"76" = getelementptr inbounds i8, ptr %"163", i64 4
|
||||||
%"132" = load i32, ptr addrspace(5) %"95", align 4
|
%"135" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"132", ptr %"73", align 4
|
store i32 %"135", ptr %"76", align 4
|
||||||
%"134" = load float, ptr addrspace(5) %"91", align 4
|
%"137" = load float, ptr addrspace(5) %"94", align 4
|
||||||
%"135" = load float, ptr addrspace(5) %"92", align 4
|
%"138" = load float, ptr addrspace(5) %"95", align 4
|
||||||
%4 = fcmp uno float %"134", %"135"
|
%4 = fcmp uno float %"137", %"138"
|
||||||
store i1 %4, ptr addrspace(5) %"96", align 1
|
store i1 %4, ptr addrspace(5) %"99", align 1
|
||||||
%"136" = load i1, ptr addrspace(5) %"96", align 1
|
%"139" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"136", label %"30", label %"31"
|
br i1 %"139", label %"31", label %"32"
|
||||||
|
|
||||||
"30": ; preds = %"29"
|
"31": ; preds = %"30"
|
||||||
store i32 1, ptr addrspace(5) %"95", align 4
|
store i32 1, ptr addrspace(5) %"98", align 4
|
||||||
br label %"31"
|
br label %"32"
|
||||||
|
|
||||||
"31": ; preds = %"30", %"29"
|
"32": ; preds = %"31", %"30"
|
||||||
%"138" = load i1, ptr addrspace(5) %"96", align 1
|
%"141" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"138", label %"33", label %"32"
|
br i1 %"141", label %"34", label %"33"
|
||||||
|
|
||||||
"32": ; preds = %"31"
|
"33": ; preds = %"32"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"33"
|
br label %"34"
|
||||||
|
|
||||||
"33": ; preds = %"32", %"31"
|
"34": ; preds = %"33", %"32"
|
||||||
%"140" = load i64, ptr addrspace(5) %"86", align 8
|
%"143" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"161" = inttoptr i64 %"140" to ptr
|
%"164" = inttoptr i64 %"143" to ptr
|
||||||
%"77" = getelementptr inbounds i8, ptr %"161", i64 8
|
%"80" = getelementptr inbounds i8, ptr %"164", i64 8
|
||||||
%"141" = load i32, ptr addrspace(5) %"95", align 4
|
%"144" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"141", ptr %"77", align 4
|
store i32 %"144", ptr %"80", align 4
|
||||||
%"143" = load float, ptr addrspace(5) %"93", align 4
|
%"146" = load float, ptr addrspace(5) %"96", align 4
|
||||||
%"144" = load float, ptr addrspace(5) %"94", align 4
|
%"147" = load float, ptr addrspace(5) %"97", align 4
|
||||||
%5 = fcmp uno float %"143", %"144"
|
%5 = fcmp uno float %"146", %"147"
|
||||||
store i1 %5, ptr addrspace(5) %"96", align 1
|
store i1 %5, ptr addrspace(5) %"99", align 1
|
||||||
%"145" = load i1, ptr addrspace(5) %"96", align 1
|
%"148" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"145", label %"34", label %"35"
|
br i1 %"148", label %"35", label %"36"
|
||||||
|
|
||||||
"34": ; preds = %"33"
|
"35": ; preds = %"34"
|
||||||
store i32 1, ptr addrspace(5) %"95", align 4
|
store i32 1, ptr addrspace(5) %"98", align 4
|
||||||
br label %"35"
|
br label %"36"
|
||||||
|
|
||||||
"35": ; preds = %"34", %"33"
|
"36": ; preds = %"35", %"34"
|
||||||
%"147" = load i1, ptr addrspace(5) %"96", align 1
|
%"150" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"147", label %"37", label %"36"
|
br i1 %"150", label %"38", label %"37"
|
||||||
|
|
||||||
"36": ; preds = %"35"
|
"37": ; preds = %"36"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"37"
|
br label %"38"
|
||||||
|
|
||||||
"37": ; preds = %"36", %"35"
|
"38": ; preds = %"37", %"36"
|
||||||
%"149" = load i64, ptr addrspace(5) %"86", align 8
|
%"152" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"162" = inttoptr i64 %"149" to ptr
|
%"165" = inttoptr i64 %"152" to ptr
|
||||||
%"81" = getelementptr inbounds i8, ptr %"162", i64 12
|
%"84" = getelementptr inbounds i8, ptr %"165", i64 12
|
||||||
%"150" = load i32, ptr addrspace(5) %"95", align 4
|
%"153" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"150", ptr %"81", align 4
|
store i32 %"153", ptr %"84", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,164 +1,164 @@
|
||||||
define amdgpu_kernel void @setp_num(ptr addrspace(4) byref(i64) %"83", ptr addrspace(4) byref(i64) %"84") #0 {
|
define amdgpu_kernel void @setp_num(ptr addrspace(4) byref(i64) %"86", ptr addrspace(4) byref(i64) %"87") #0 {
|
||||||
%"85" = alloca i64, align 8, addrspace(5)
|
%"88" = alloca i64, align 8, addrspace(5)
|
||||||
%"86" = alloca i64, align 8, addrspace(5)
|
%"89" = alloca i64, align 8, addrspace(5)
|
||||||
%"87" = alloca float, align 4, addrspace(5)
|
|
||||||
%"88" = alloca float, align 4, addrspace(5)
|
|
||||||
%"89" = alloca float, align 4, addrspace(5)
|
|
||||||
%"90" = alloca float, align 4, addrspace(5)
|
%"90" = alloca float, align 4, addrspace(5)
|
||||||
%"91" = alloca float, align 4, addrspace(5)
|
%"91" = alloca float, align 4, addrspace(5)
|
||||||
%"92" = alloca float, align 4, addrspace(5)
|
%"92" = alloca float, align 4, addrspace(5)
|
||||||
%"93" = alloca float, align 4, addrspace(5)
|
%"93" = alloca float, align 4, addrspace(5)
|
||||||
%"94" = alloca float, align 4, addrspace(5)
|
%"94" = alloca float, align 4, addrspace(5)
|
||||||
%"95" = alloca i32, align 4, addrspace(5)
|
%"95" = alloca float, align 4, addrspace(5)
|
||||||
%"96" = alloca i1, align 1, addrspace(5)
|
%"96" = alloca float, align 4, addrspace(5)
|
||||||
|
%"97" = alloca float, align 4, addrspace(5)
|
||||||
|
%"98" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"99" = alloca i1, align 1, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"82"
|
br label %"85"
|
||||||
|
|
||||||
"82": ; preds = %1
|
"85": ; preds = %1
|
||||||
%"97" = load i64, ptr addrspace(4) %"83", align 8
|
%"100" = load i64, ptr addrspace(4) %"86", align 8
|
||||||
store i64 %"97", ptr addrspace(5) %"85", align 8
|
store i64 %"100", ptr addrspace(5) %"88", align 8
|
||||||
%"98" = load i64, ptr addrspace(4) %"84", align 8
|
%"101" = load i64, ptr addrspace(4) %"87", align 8
|
||||||
store i64 %"98", ptr addrspace(5) %"86", align 8
|
store i64 %"101", ptr addrspace(5) %"89", align 8
|
||||||
%"100" = load i64, ptr addrspace(5) %"85", align 8
|
%"103" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"151" = inttoptr i64 %"100" to ptr
|
%"154" = inttoptr i64 %"103" to ptr
|
||||||
%"99" = load float, ptr %"151", align 4
|
%"102" = load float, ptr %"154", align 4
|
||||||
store float %"99", ptr addrspace(5) %"87", align 4
|
store float %"102", ptr addrspace(5) %"90", align 4
|
||||||
%"101" = load i64, ptr addrspace(5) %"85", align 8
|
%"104" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"152" = inttoptr i64 %"101" to ptr
|
%"155" = inttoptr i64 %"104" to ptr
|
||||||
%"55" = getelementptr inbounds i8, ptr %"152", i64 4
|
%"58" = getelementptr inbounds i8, ptr %"155", i64 4
|
||||||
%"102" = load float, ptr %"55", align 4
|
%"105" = load float, ptr %"58", align 4
|
||||||
store float %"102", ptr addrspace(5) %"88", align 4
|
store float %"105", ptr addrspace(5) %"91", align 4
|
||||||
%"103" = load i64, ptr addrspace(5) %"85", align 8
|
%"106" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"153" = inttoptr i64 %"103" to ptr
|
%"156" = inttoptr i64 %"106" to ptr
|
||||||
%"57" = getelementptr inbounds i8, ptr %"153", i64 8
|
%"60" = getelementptr inbounds i8, ptr %"156", i64 8
|
||||||
%"104" = load float, ptr %"57", align 4
|
%"107" = load float, ptr %"60", align 4
|
||||||
store float %"104", ptr addrspace(5) %"89", align 4
|
store float %"107", ptr addrspace(5) %"92", align 4
|
||||||
%"105" = load i64, ptr addrspace(5) %"85", align 8
|
%"108" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"154" = inttoptr i64 %"105" to ptr
|
%"157" = inttoptr i64 %"108" to ptr
|
||||||
%"59" = getelementptr inbounds i8, ptr %"154", i64 12
|
%"62" = getelementptr inbounds i8, ptr %"157", i64 12
|
||||||
%"106" = load float, ptr %"59", align 4
|
%"109" = load float, ptr %"62", align 4
|
||||||
store float %"106", ptr addrspace(5) %"90", align 4
|
store float %"109", ptr addrspace(5) %"93", align 4
|
||||||
%"107" = load i64, ptr addrspace(5) %"85", align 8
|
%"110" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"155" = inttoptr i64 %"107" to ptr
|
%"158" = inttoptr i64 %"110" to ptr
|
||||||
%"61" = getelementptr inbounds i8, ptr %"155", i64 16
|
%"64" = getelementptr inbounds i8, ptr %"158", i64 16
|
||||||
%"108" = load float, ptr %"61", align 4
|
%"111" = load float, ptr %"64", align 4
|
||||||
store float %"108", ptr addrspace(5) %"91", align 4
|
store float %"111", ptr addrspace(5) %"94", align 4
|
||||||
%"109" = load i64, ptr addrspace(5) %"85", align 8
|
%"112" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"156" = inttoptr i64 %"109" to ptr
|
%"159" = inttoptr i64 %"112" to ptr
|
||||||
%"63" = getelementptr inbounds i8, ptr %"156", i64 20
|
%"66" = getelementptr inbounds i8, ptr %"159", i64 20
|
||||||
%"110" = load float, ptr %"63", align 4
|
%"113" = load float, ptr %"66", align 4
|
||||||
store float %"110", ptr addrspace(5) %"92", align 4
|
store float %"113", ptr addrspace(5) %"95", align 4
|
||||||
%"111" = load i64, ptr addrspace(5) %"85", align 8
|
%"114" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"157" = inttoptr i64 %"111" to ptr
|
%"160" = inttoptr i64 %"114" to ptr
|
||||||
%"65" = getelementptr inbounds i8, ptr %"157", i64 24
|
%"68" = getelementptr inbounds i8, ptr %"160", i64 24
|
||||||
%"112" = load float, ptr %"65", align 4
|
%"115" = load float, ptr %"68", align 4
|
||||||
store float %"112", ptr addrspace(5) %"93", align 4
|
store float %"115", ptr addrspace(5) %"96", align 4
|
||||||
%"113" = load i64, ptr addrspace(5) %"85", align 8
|
%"116" = load i64, ptr addrspace(5) %"88", align 8
|
||||||
%"158" = inttoptr i64 %"113" to ptr
|
%"161" = inttoptr i64 %"116" to ptr
|
||||||
%"67" = getelementptr inbounds i8, ptr %"158", i64 28
|
%"70" = getelementptr inbounds i8, ptr %"161", i64 28
|
||||||
%"114" = load float, ptr %"67", align 4
|
%"117" = load float, ptr %"70", align 4
|
||||||
store float %"114", ptr addrspace(5) %"94", align 4
|
store float %"117", ptr addrspace(5) %"97", align 4
|
||||||
%"116" = load float, ptr addrspace(5) %"87", align 4
|
%"119" = load float, ptr addrspace(5) %"90", align 4
|
||||||
%"117" = load float, ptr addrspace(5) %"88", align 4
|
%"120" = load float, ptr addrspace(5) %"91", align 4
|
||||||
%2 = fcmp ord float %"116", %"117"
|
%2 = fcmp ord float %"119", %"120"
|
||||||
store i1 %2, ptr addrspace(5) %"96", align 1
|
store i1 %2, ptr addrspace(5) %"99", align 1
|
||||||
%"118" = load i1, ptr addrspace(5) %"96", align 1
|
%"121" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"118", label %"22", label %"23"
|
br i1 %"121", label %"23", label %"24"
|
||||||
|
|
||||||
"22": ; preds = %"82"
|
"23": ; preds = %"85"
|
||||||
store i32 2, ptr addrspace(5) %"95", align 4
|
store i32 2, ptr addrspace(5) %"98", align 4
|
||||||
br label %"23"
|
br label %"24"
|
||||||
|
|
||||||
"23": ; preds = %"22", %"82"
|
"24": ; preds = %"23", %"85"
|
||||||
%"120" = load i1, ptr addrspace(5) %"96", align 1
|
%"123" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"120", label %"25", label %"24"
|
br i1 %"123", label %"26", label %"25"
|
||||||
|
|
||||||
"24": ; preds = %"23"
|
"25": ; preds = %"24"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"25"
|
br label %"26"
|
||||||
|
|
||||||
"25": ; preds = %"24", %"23"
|
"26": ; preds = %"25", %"24"
|
||||||
%"122" = load i64, ptr addrspace(5) %"86", align 8
|
%"125" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"123" = load i32, ptr addrspace(5) %"95", align 4
|
%"126" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
%"159" = inttoptr i64 %"122" to ptr
|
%"162" = inttoptr i64 %"125" to ptr
|
||||||
store i32 %"123", ptr %"159", align 4
|
store i32 %"126", ptr %"162", align 4
|
||||||
%"125" = load float, ptr addrspace(5) %"89", align 4
|
%"128" = load float, ptr addrspace(5) %"92", align 4
|
||||||
%"126" = load float, ptr addrspace(5) %"90", align 4
|
%"129" = load float, ptr addrspace(5) %"93", align 4
|
||||||
%3 = fcmp ord float %"125", %"126"
|
%3 = fcmp ord float %"128", %"129"
|
||||||
store i1 %3, ptr addrspace(5) %"96", align 1
|
store i1 %3, ptr addrspace(5) %"99", align 1
|
||||||
%"127" = load i1, ptr addrspace(5) %"96", align 1
|
%"130" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"127", label %"26", label %"27"
|
br i1 %"130", label %"27", label %"28"
|
||||||
|
|
||||||
"26": ; preds = %"25"
|
"27": ; preds = %"26"
|
||||||
store i32 2, ptr addrspace(5) %"95", align 4
|
store i32 2, ptr addrspace(5) %"98", align 4
|
||||||
br label %"27"
|
br label %"28"
|
||||||
|
|
||||||
"27": ; preds = %"26", %"25"
|
"28": ; preds = %"27", %"26"
|
||||||
%"129" = load i1, ptr addrspace(5) %"96", align 1
|
%"132" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"129", label %"29", label %"28"
|
br i1 %"132", label %"30", label %"29"
|
||||||
|
|
||||||
"28": ; preds = %"27"
|
"29": ; preds = %"28"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"29"
|
br label %"30"
|
||||||
|
|
||||||
"29": ; preds = %"28", %"27"
|
"30": ; preds = %"29", %"28"
|
||||||
%"131" = load i64, ptr addrspace(5) %"86", align 8
|
%"134" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"160" = inttoptr i64 %"131" to ptr
|
%"163" = inttoptr i64 %"134" to ptr
|
||||||
%"73" = getelementptr inbounds i8, ptr %"160", i64 4
|
%"76" = getelementptr inbounds i8, ptr %"163", i64 4
|
||||||
%"132" = load i32, ptr addrspace(5) %"95", align 4
|
%"135" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"132", ptr %"73", align 4
|
store i32 %"135", ptr %"76", align 4
|
||||||
%"134" = load float, ptr addrspace(5) %"91", align 4
|
%"137" = load float, ptr addrspace(5) %"94", align 4
|
||||||
%"135" = load float, ptr addrspace(5) %"92", align 4
|
%"138" = load float, ptr addrspace(5) %"95", align 4
|
||||||
%4 = fcmp ord float %"134", %"135"
|
%4 = fcmp ord float %"137", %"138"
|
||||||
store i1 %4, ptr addrspace(5) %"96", align 1
|
store i1 %4, ptr addrspace(5) %"99", align 1
|
||||||
%"136" = load i1, ptr addrspace(5) %"96", align 1
|
%"139" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"136", label %"30", label %"31"
|
br i1 %"139", label %"31", label %"32"
|
||||||
|
|
||||||
"30": ; preds = %"29"
|
"31": ; preds = %"30"
|
||||||
store i32 2, ptr addrspace(5) %"95", align 4
|
store i32 2, ptr addrspace(5) %"98", align 4
|
||||||
br label %"31"
|
br label %"32"
|
||||||
|
|
||||||
"31": ; preds = %"30", %"29"
|
"32": ; preds = %"31", %"30"
|
||||||
%"138" = load i1, ptr addrspace(5) %"96", align 1
|
%"141" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"138", label %"33", label %"32"
|
br i1 %"141", label %"34", label %"33"
|
||||||
|
|
||||||
"32": ; preds = %"31"
|
"33": ; preds = %"32"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"33"
|
br label %"34"
|
||||||
|
|
||||||
"33": ; preds = %"32", %"31"
|
"34": ; preds = %"33", %"32"
|
||||||
%"140" = load i64, ptr addrspace(5) %"86", align 8
|
%"143" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"161" = inttoptr i64 %"140" to ptr
|
%"164" = inttoptr i64 %"143" to ptr
|
||||||
%"77" = getelementptr inbounds i8, ptr %"161", i64 8
|
%"80" = getelementptr inbounds i8, ptr %"164", i64 8
|
||||||
%"141" = load i32, ptr addrspace(5) %"95", align 4
|
%"144" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"141", ptr %"77", align 4
|
store i32 %"144", ptr %"80", align 4
|
||||||
%"143" = load float, ptr addrspace(5) %"93", align 4
|
%"146" = load float, ptr addrspace(5) %"96", align 4
|
||||||
%"144" = load float, ptr addrspace(5) %"94", align 4
|
%"147" = load float, ptr addrspace(5) %"97", align 4
|
||||||
%5 = fcmp ord float %"143", %"144"
|
%5 = fcmp ord float %"146", %"147"
|
||||||
store i1 %5, ptr addrspace(5) %"96", align 1
|
store i1 %5, ptr addrspace(5) %"99", align 1
|
||||||
%"145" = load i1, ptr addrspace(5) %"96", align 1
|
%"148" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"145", label %"34", label %"35"
|
br i1 %"148", label %"35", label %"36"
|
||||||
|
|
||||||
"34": ; preds = %"33"
|
"35": ; preds = %"34"
|
||||||
store i32 2, ptr addrspace(5) %"95", align 4
|
store i32 2, ptr addrspace(5) %"98", align 4
|
||||||
br label %"35"
|
br label %"36"
|
||||||
|
|
||||||
"35": ; preds = %"34", %"33"
|
"36": ; preds = %"35", %"34"
|
||||||
%"147" = load i1, ptr addrspace(5) %"96", align 1
|
%"150" = load i1, ptr addrspace(5) %"99", align 1
|
||||||
br i1 %"147", label %"37", label %"36"
|
br i1 %"150", label %"38", label %"37"
|
||||||
|
|
||||||
"36": ; preds = %"35"
|
"37": ; preds = %"36"
|
||||||
store i32 0, ptr addrspace(5) %"95", align 4
|
store i32 0, ptr addrspace(5) %"98", align 4
|
||||||
br label %"37"
|
br label %"38"
|
||||||
|
|
||||||
"37": ; preds = %"36", %"35"
|
"38": ; preds = %"37", %"36"
|
||||||
%"149" = load i64, ptr addrspace(5) %"86", align 8
|
%"152" = load i64, ptr addrspace(5) %"89", align 8
|
||||||
%"162" = inttoptr i64 %"149" to ptr
|
%"165" = inttoptr i64 %"152" to ptr
|
||||||
%"81" = getelementptr inbounds i8, ptr %"162", i64 12
|
%"84" = getelementptr inbounds i8, ptr %"165", i64 12
|
||||||
%"150" = load i32, ptr addrspace(5) %"95", align 4
|
%"153" = load i32, ptr addrspace(5) %"98", align 4
|
||||||
store i32 %"150", ptr %"81", align 4
|
store i32 %"153", ptr %"84", align 4
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,39 +1,39 @@
|
||||||
@shared_mem1 = external addrspace(3) global [128 x i8], align 4
|
@shared_mem1 = external addrspace(3) global [128 x i8], align 4
|
||||||
|
|
||||||
define amdgpu_kernel void @shared_ptr_32(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
define amdgpu_kernel void @shared_ptr_32(ptr addrspace(4) byref(i64) %"38", ptr addrspace(4) byref(i64) %"39") #0 {
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"39" = alloca i32, align 4, addrspace(5)
|
|
||||||
%"40" = alloca i64, align 8, addrspace(5)
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
%"41" = alloca i64, align 8, addrspace(5)
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"42" = alloca i32, align 4, addrspace(5)
|
||||||
|
%"43" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"44" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"34"
|
br label %"37"
|
||||||
|
|
||||||
"34": ; preds = %1
|
"37": ; preds = %1
|
||||||
%"42" = load i64, ptr addrspace(4) %"35", align 8
|
%"45" = load i64, ptr addrspace(4) %"38", align 8
|
||||||
store i64 %"42", ptr addrspace(5) %"37", align 8
|
|
||||||
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
|
||||||
store i64 %"43", ptr addrspace(5) %"38", align 8
|
|
||||||
store i32 ptrtoint (ptr addrspace(3) @shared_mem1 to i32), ptr addrspace(5) %"39", align 4
|
|
||||||
%"46" = load i64, ptr addrspace(5) %"37", align 8
|
|
||||||
%"54" = inttoptr i64 %"46" to ptr addrspace(1)
|
|
||||||
%"45" = load i64, ptr addrspace(1) %"54", align 8
|
|
||||||
store i64 %"45", ptr addrspace(5) %"40", align 8
|
store i64 %"45", ptr addrspace(5) %"40", align 8
|
||||||
%"47" = load i32, ptr addrspace(5) %"39", align 4
|
%"46" = load i64, ptr addrspace(4) %"39", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
store i64 %"46", ptr addrspace(5) %"41", align 8
|
||||||
%"55" = inttoptr i32 %"47" to ptr addrspace(3)
|
store i32 ptrtoint (ptr addrspace(3) @shared_mem1 to i32), ptr addrspace(5) %"42", align 4
|
||||||
store i64 %"48", ptr addrspace(3) %"55", align 8
|
%"49" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"49" = load i32, ptr addrspace(5) %"39", align 4
|
%"57" = inttoptr i64 %"49" to ptr addrspace(1)
|
||||||
%"56" = inttoptr i32 %"49" to ptr addrspace(3)
|
%"48" = load i64, ptr addrspace(1) %"57", align 8
|
||||||
%"33" = getelementptr inbounds i8, ptr addrspace(3) %"56", i64 0
|
store i64 %"48", ptr addrspace(5) %"43", align 8
|
||||||
%"50" = load i64, ptr addrspace(3) %"33", align 8
|
%"50" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
store i64 %"50", ptr addrspace(5) %"41", align 8
|
%"51" = load i64, ptr addrspace(5) %"43", align 8
|
||||||
%"51" = load i64, ptr addrspace(5) %"38", align 8
|
%"58" = inttoptr i32 %"50" to ptr addrspace(3)
|
||||||
%"52" = load i64, ptr addrspace(5) %"41", align 8
|
store i64 %"51", ptr addrspace(3) %"58", align 8
|
||||||
%"57" = inttoptr i64 %"51" to ptr addrspace(1)
|
%"52" = load i32, ptr addrspace(5) %"42", align 4
|
||||||
store i64 %"52", ptr addrspace(1) %"57", align 8
|
%"59" = inttoptr i32 %"52" to ptr addrspace(3)
|
||||||
|
%"36" = getelementptr inbounds i8, ptr addrspace(3) %"59", i64 0
|
||||||
|
%"53" = load i64, ptr addrspace(3) %"36", align 8
|
||||||
|
store i64 %"53", ptr addrspace(5) %"44", align 8
|
||||||
|
%"54" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
|
%"55" = load i64, ptr addrspace(5) %"44", align 8
|
||||||
|
%"60" = inttoptr i64 %"54" to ptr addrspace(1)
|
||||||
|
store i64 %"55", ptr addrspace(1) %"60", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,38 +1,38 @@
|
||||||
@shared_mem = external addrspace(3) global [0 x i8], align 4
|
@shared_mem = external addrspace(3) global [0 x i8], align 4
|
||||||
|
|
||||||
define amdgpu_kernel void @shared_ptr_take_address(ptr addrspace(4) byref(i64) %"33", ptr addrspace(4) byref(i64) %"34") #0 {
|
define amdgpu_kernel void @shared_ptr_take_address(ptr addrspace(4) byref(i64) %"36", ptr addrspace(4) byref(i64) %"37") #0 {
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"38" = alloca i64, align 8, addrspace(5)
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
%"39" = alloca i64, align 8, addrspace(5)
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"41" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"42" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"32"
|
br label %"35"
|
||||||
|
|
||||||
"32": ; preds = %1
|
"35": ; preds = %1
|
||||||
%"40" = load i64, ptr addrspace(4) %"33", align 8
|
%"43" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"40", ptr addrspace(5) %"35", align 8
|
|
||||||
%"41" = load i64, ptr addrspace(4) %"34", align 8
|
|
||||||
store i64 %"41", ptr addrspace(5) %"36", align 8
|
|
||||||
store i64 ptrtoint (ptr addrspace(3) @shared_mem to i64), ptr addrspace(5) %"37", align 8
|
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
|
||||||
%"52" = inttoptr i64 %"44" to ptr addrspace(1)
|
|
||||||
%"43" = load i64, ptr addrspace(1) %"52", align 8
|
|
||||||
store i64 %"43", ptr addrspace(5) %"38", align 8
|
store i64 %"43", ptr addrspace(5) %"38", align 8
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
%"44" = load i64, ptr addrspace(4) %"37", align 8
|
||||||
%"46" = load i64, ptr addrspace(5) %"38", align 8
|
store i64 %"44", ptr addrspace(5) %"39", align 8
|
||||||
%"53" = inttoptr i64 %"45" to ptr addrspace(3)
|
store i64 ptrtoint (ptr addrspace(3) @shared_mem to i64), ptr addrspace(5) %"40", align 8
|
||||||
store i64 %"46", ptr addrspace(3) %"53", align 8
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
%"48" = load i64, ptr addrspace(5) %"37", align 8
|
%"55" = inttoptr i64 %"47" to ptr addrspace(1)
|
||||||
%"54" = inttoptr i64 %"48" to ptr addrspace(3)
|
%"46" = load i64, ptr addrspace(1) %"55", align 8
|
||||||
%"47" = load i64, ptr addrspace(3) %"54", align 8
|
store i64 %"46", ptr addrspace(5) %"41", align 8
|
||||||
store i64 %"47", ptr addrspace(5) %"39", align 8
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
%"49" = load i64, ptr addrspace(5) %"36", align 8
|
%"49" = load i64, ptr addrspace(5) %"41", align 8
|
||||||
%"50" = load i64, ptr addrspace(5) %"39", align 8
|
%"56" = inttoptr i64 %"48" to ptr addrspace(3)
|
||||||
%"55" = inttoptr i64 %"49" to ptr addrspace(1)
|
store i64 %"49", ptr addrspace(3) %"56", align 8
|
||||||
store i64 %"50", ptr addrspace(1) %"55", align 8
|
%"51" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
|
%"57" = inttoptr i64 %"51" to ptr addrspace(3)
|
||||||
|
%"50" = load i64, ptr addrspace(3) %"57", align 8
|
||||||
|
store i64 %"50", ptr addrspace(5) %"42", align 8
|
||||||
|
%"52" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
|
%"53" = load i64, ptr addrspace(5) %"42", align 8
|
||||||
|
%"58" = inttoptr i64 %"52" to ptr addrspace(1)
|
||||||
|
store i64 %"53", ptr addrspace(1) %"58", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,81 +2,81 @@
|
||||||
@shared_mod = external addrspace(3) global [4 x i32]
|
@shared_mod = external addrspace(3) global [4 x i32]
|
||||||
|
|
||||||
define hidden i64 @add() #0 {
|
define hidden i64 @add() #0 {
|
||||||
%"46" = alloca i64, align 8, addrspace(5)
|
%"49" = alloca i64, align 8, addrspace(5)
|
||||||
%"47" = alloca i64, align 8, addrspace(5)
|
%"50" = alloca i64, align 8, addrspace(5)
|
||||||
%"48" = alloca i64, align 8, addrspace(5)
|
%"51" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
|
||||||
|
|
||||||
1: ; preds = %0
|
|
||||||
br label %"41"
|
|
||||||
|
|
||||||
"41": ; preds = %1
|
|
||||||
%"49" = load i64, ptr addrspace(3) @shared_mod, align 8
|
|
||||||
store i64 %"49", ptr addrspace(5) %"47", align 8
|
|
||||||
%"50" = load i64, ptr addrspace(3) @shared_ex, align 8
|
|
||||||
store i64 %"50", ptr addrspace(5) %"48", align 8
|
|
||||||
%"52" = load i64, ptr addrspace(5) %"48", align 8
|
|
||||||
%"53" = load i64, ptr addrspace(5) %"47", align 8
|
|
||||||
%"75" = add i64 %"52", %"53"
|
|
||||||
store i64 %"75", ptr addrspace(5) %"46", align 8
|
|
||||||
%2 = load i64, ptr addrspace(5) %"46", align 8
|
|
||||||
ret i64 %2
|
|
||||||
}
|
|
||||||
|
|
||||||
define hidden i64 @set_shared_temp1(i64 %"15") #0 {
|
|
||||||
%"54" = alloca i64, align 8, addrspace(5)
|
|
||||||
br label %1
|
|
||||||
|
|
||||||
1: ; preds = %0
|
|
||||||
br label %"42"
|
|
||||||
|
|
||||||
"42": ; preds = %1
|
|
||||||
store i64 %"15", ptr addrspace(3) @shared_ex, align 8
|
|
||||||
%"55" = call i64 @add()
|
|
||||||
store i64 %"55", ptr addrspace(5) %"54", align 8
|
|
||||||
br label %"43"
|
|
||||||
|
|
||||||
"43": ; preds = %"42"
|
|
||||||
%2 = load i64, ptr addrspace(5) %"54", align 8
|
|
||||||
ret i64 %2
|
|
||||||
}
|
|
||||||
|
|
||||||
define amdgpu_kernel void @shared_unify_extern(ptr addrspace(4) byref(i64) %"56", ptr addrspace(4) byref(i64) %"57") #1 {
|
|
||||||
%"58" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"59" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"60" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"61" = alloca i64, align 8, addrspace(5)
|
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"44"
|
br label %"44"
|
||||||
|
|
||||||
"44": ; preds = %1
|
"44": ; preds = %1
|
||||||
%"62" = load i64, ptr addrspace(4) %"56", align 8
|
%"52" = load i64, ptr addrspace(3) @shared_mod, align 8
|
||||||
store i64 %"62", ptr addrspace(5) %"58", align 8
|
store i64 %"52", ptr addrspace(5) %"50", align 8
|
||||||
%"63" = load i64, ptr addrspace(4) %"57", align 8
|
%"53" = load i64, ptr addrspace(3) @shared_ex, align 8
|
||||||
store i64 %"63", ptr addrspace(5) %"59", align 8
|
store i64 %"53", ptr addrspace(5) %"51", align 8
|
||||||
%"65" = load i64, ptr addrspace(5) %"58", align 8
|
%"55" = load i64, ptr addrspace(5) %"51", align 8
|
||||||
%"78" = inttoptr i64 %"65" to ptr addrspace(1)
|
%"56" = load i64, ptr addrspace(5) %"50", align 8
|
||||||
%"64" = load i64, ptr addrspace(1) %"78", align 8
|
%"78" = add i64 %"55", %"56"
|
||||||
store i64 %"64", ptr addrspace(5) %"60", align 8
|
store i64 %"78", ptr addrspace(5) %"49", align 8
|
||||||
%"66" = load i64, ptr addrspace(5) %"58", align 8
|
%2 = load i64, ptr addrspace(5) %"49", align 8
|
||||||
%"79" = inttoptr i64 %"66" to ptr addrspace(1)
|
ret i64 %2
|
||||||
%"40" = getelementptr inbounds i8, ptr addrspace(1) %"79", i64 8
|
}
|
||||||
%"67" = load i64, ptr addrspace(1) %"40", align 8
|
|
||||||
store i64 %"67", ptr addrspace(5) %"61", align 8
|
define hidden i64 @set_shared_temp1(i64 %"16") #0 {
|
||||||
%"68" = load i64, ptr addrspace(5) %"61", align 8
|
%"57" = alloca i64, align 8, addrspace(5)
|
||||||
store i64 %"68", ptr addrspace(3) @shared_mod, align 8
|
br label %1
|
||||||
%"70" = load i64, ptr addrspace(5) %"60", align 8
|
|
||||||
%"81" = call i64 @set_shared_temp1(i64 %"70")
|
1: ; preds = %0
|
||||||
store i64 %"81", ptr addrspace(5) %"61", align 8
|
|
||||||
br label %"45"
|
br label %"45"
|
||||||
|
|
||||||
"45": ; preds = %"44"
|
"45": ; preds = %1
|
||||||
%"71" = load i64, ptr addrspace(5) %"59", align 8
|
store i64 %"16", ptr addrspace(3) @shared_ex, align 8
|
||||||
%"72" = load i64, ptr addrspace(5) %"61", align 8
|
%"58" = call i64 @add()
|
||||||
%"83" = inttoptr i64 %"71" to ptr
|
store i64 %"58", ptr addrspace(5) %"57", align 8
|
||||||
store i64 %"72", ptr %"83", align 8
|
br label %"46"
|
||||||
|
|
||||||
|
"46": ; preds = %"45"
|
||||||
|
%2 = load i64, ptr addrspace(5) %"57", align 8
|
||||||
|
ret i64 %2
|
||||||
|
}
|
||||||
|
|
||||||
|
define amdgpu_kernel void @shared_unify_extern(ptr addrspace(4) byref(i64) %"59", ptr addrspace(4) byref(i64) %"60") #1 {
|
||||||
|
%"61" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"62" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"63" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"64" = alloca i64, align 8, addrspace(5)
|
||||||
|
br label %1
|
||||||
|
|
||||||
|
1: ; preds = %0
|
||||||
|
br label %"47"
|
||||||
|
|
||||||
|
"47": ; preds = %1
|
||||||
|
%"65" = load i64, ptr addrspace(4) %"59", align 8
|
||||||
|
store i64 %"65", ptr addrspace(5) %"61", align 8
|
||||||
|
%"66" = load i64, ptr addrspace(4) %"60", align 8
|
||||||
|
store i64 %"66", ptr addrspace(5) %"62", align 8
|
||||||
|
%"68" = load i64, ptr addrspace(5) %"61", align 8
|
||||||
|
%"81" = inttoptr i64 %"68" to ptr addrspace(1)
|
||||||
|
%"67" = load i64, ptr addrspace(1) %"81", align 8
|
||||||
|
store i64 %"67", ptr addrspace(5) %"63", align 8
|
||||||
|
%"69" = load i64, ptr addrspace(5) %"61", align 8
|
||||||
|
%"82" = inttoptr i64 %"69" to ptr addrspace(1)
|
||||||
|
%"43" = getelementptr inbounds i8, ptr addrspace(1) %"82", i64 8
|
||||||
|
%"70" = load i64, ptr addrspace(1) %"43", align 8
|
||||||
|
store i64 %"70", ptr addrspace(5) %"64", align 8
|
||||||
|
%"71" = load i64, ptr addrspace(5) %"64", align 8
|
||||||
|
store i64 %"71", ptr addrspace(3) @shared_mod, align 8
|
||||||
|
%"73" = load i64, ptr addrspace(5) %"63", align 8
|
||||||
|
%"84" = call i64 @set_shared_temp1(i64 %"73")
|
||||||
|
store i64 %"84", ptr addrspace(5) %"64", align 8
|
||||||
|
br label %"48"
|
||||||
|
|
||||||
|
"48": ; preds = %"47"
|
||||||
|
%"74" = load i64, ptr addrspace(5) %"62", align 8
|
||||||
|
%"75" = load i64, ptr addrspace(5) %"64", align 8
|
||||||
|
%"86" = inttoptr i64 %"74" to ptr
|
||||||
|
store i64 %"75", ptr %"86", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,79 +1,79 @@
|
||||||
@shared_ex = external addrspace(3) global [0 x i32]
|
@shared_ex = external addrspace(3) global [0 x i32]
|
||||||
@shared_mod = external addrspace(3) global i64, align 4
|
@shared_mod = external addrspace(3) global i64, align 4
|
||||||
|
|
||||||
define hidden i64 @add(i64 %"10") #0 {
|
define hidden i64 @add(i64 %"11") #0 {
|
||||||
%"47" = alloca i64, align 8, addrspace(5)
|
%"50" = alloca i64, align 8, addrspace(5)
|
||||||
%"48" = alloca i64, align 8, addrspace(5)
|
%"51" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
|
||||||
|
|
||||||
1: ; preds = %0
|
|
||||||
br label %"42"
|
|
||||||
|
|
||||||
"42": ; preds = %1
|
|
||||||
store i64 %"10", ptr addrspace(3) @shared_mod, align 8
|
|
||||||
%"49" = load i64, ptr addrspace(3) @shared_mod, align 8
|
|
||||||
store i64 %"49", ptr addrspace(5) %"48", align 8
|
|
||||||
%"101" = load i64, ptr addrspace(3) @shared_ex, align 8
|
|
||||||
%"51" = load i64, ptr addrspace(5) %"48", align 8
|
|
||||||
%"72" = add i64 %"101", %"51"
|
|
||||||
store i64 %"72", ptr addrspace(5) %"47", align 8
|
|
||||||
%2 = load i64, ptr addrspace(5) %"47", align 8
|
|
||||||
ret i64 %2
|
|
||||||
}
|
|
||||||
|
|
||||||
define hidden i64 @set_shared_temp1(i64 %"15", i64 %"16") #0 {
|
|
||||||
%"52" = alloca i64, align 8, addrspace(5)
|
|
||||||
br label %1
|
|
||||||
|
|
||||||
1: ; preds = %0
|
|
||||||
br label %"43"
|
|
||||||
|
|
||||||
"43": ; preds = %1
|
|
||||||
store i64 %"15", ptr addrspace(3) @shared_ex, align 8
|
|
||||||
%"53" = call i64 @add(i64 %"16")
|
|
||||||
store i64 %"53", ptr addrspace(5) %"52", align 8
|
|
||||||
br label %"44"
|
|
||||||
|
|
||||||
"44": ; preds = %"43"
|
|
||||||
%2 = load i64, ptr addrspace(5) %"52", align 8
|
|
||||||
ret i64 %2
|
|
||||||
}
|
|
||||||
|
|
||||||
define amdgpu_kernel void @shared_unify_local(ptr addrspace(4) byref(i64) %"54", ptr addrspace(4) byref(i64) %"55") #1 {
|
|
||||||
%"56" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"57" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"58" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"59" = alloca i64, align 8, addrspace(5)
|
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"45"
|
br label %"45"
|
||||||
|
|
||||||
"45": ; preds = %1
|
"45": ; preds = %1
|
||||||
%"60" = load i64, ptr addrspace(4) %"54", align 8
|
store i64 %"11", ptr addrspace(3) @shared_mod, align 8
|
||||||
store i64 %"60", ptr addrspace(5) %"56", align 8
|
%"52" = load i64, ptr addrspace(3) @shared_mod, align 8
|
||||||
%"61" = load i64, ptr addrspace(4) %"55", align 8
|
store i64 %"52", ptr addrspace(5) %"51", align 8
|
||||||
store i64 %"61", ptr addrspace(5) %"57", align 8
|
%"111" = load i64, ptr addrspace(3) @shared_ex, align 8
|
||||||
%"63" = load i64, ptr addrspace(5) %"56", align 8
|
%"54" = load i64, ptr addrspace(5) %"51", align 8
|
||||||
%"75" = inttoptr i64 %"63" to ptr addrspace(1)
|
%"75" = add i64 %"111", %"54"
|
||||||
%"62" = load i64, ptr addrspace(1) %"75", align 8
|
store i64 %"75", ptr addrspace(5) %"50", align 8
|
||||||
store i64 %"62", ptr addrspace(5) %"58", align 8
|
%2 = load i64, ptr addrspace(5) %"50", align 8
|
||||||
%"64" = load i64, ptr addrspace(5) %"56", align 8
|
ret i64 %2
|
||||||
%"76" = inttoptr i64 %"64" to ptr addrspace(1)
|
}
|
||||||
%"41" = getelementptr inbounds i8, ptr addrspace(1) %"76", i64 8
|
|
||||||
%"65" = load i64, ptr addrspace(1) %"41", align 8
|
define hidden i64 @set_shared_temp1(i64 %"16", i64 %"17") #0 {
|
||||||
store i64 %"65", ptr addrspace(5) %"59", align 8
|
%"55" = alloca i64, align 8, addrspace(5)
|
||||||
%"67" = load i64, ptr addrspace(5) %"58", align 8
|
br label %1
|
||||||
%"68" = load i64, ptr addrspace(5) %"59", align 8
|
|
||||||
%"77" = call i64 @set_shared_temp1(i64 %"67", i64 %"68")
|
1: ; preds = %0
|
||||||
store i64 %"77", ptr addrspace(5) %"59", align 8
|
|
||||||
br label %"46"
|
br label %"46"
|
||||||
|
|
||||||
"46": ; preds = %"45"
|
"46": ; preds = %1
|
||||||
%"69" = load i64, ptr addrspace(5) %"57", align 8
|
store i64 %"16", ptr addrspace(3) @shared_ex, align 8
|
||||||
%"70" = load i64, ptr addrspace(5) %"59", align 8
|
%"56" = call i64 @add(i64 %"17")
|
||||||
%"79" = inttoptr i64 %"69" to ptr
|
store i64 %"56", ptr addrspace(5) %"55", align 8
|
||||||
store i64 %"70", ptr %"79", align 8
|
br label %"47"
|
||||||
|
|
||||||
|
"47": ; preds = %"46"
|
||||||
|
%2 = load i64, ptr addrspace(5) %"55", align 8
|
||||||
|
ret i64 %2
|
||||||
|
}
|
||||||
|
|
||||||
|
define amdgpu_kernel void @shared_unify_local(ptr addrspace(4) byref(i64) %"57", ptr addrspace(4) byref(i64) %"58") #1 {
|
||||||
|
%"59" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"60" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"61" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"62" = alloca i64, align 8, addrspace(5)
|
||||||
|
br label %1
|
||||||
|
|
||||||
|
1: ; preds = %0
|
||||||
|
br label %"48"
|
||||||
|
|
||||||
|
"48": ; preds = %1
|
||||||
|
%"63" = load i64, ptr addrspace(4) %"57", align 8
|
||||||
|
store i64 %"63", ptr addrspace(5) %"59", align 8
|
||||||
|
%"64" = load i64, ptr addrspace(4) %"58", align 8
|
||||||
|
store i64 %"64", ptr addrspace(5) %"60", align 8
|
||||||
|
%"66" = load i64, ptr addrspace(5) %"59", align 8
|
||||||
|
%"78" = inttoptr i64 %"66" to ptr addrspace(1)
|
||||||
|
%"65" = load i64, ptr addrspace(1) %"78", align 8
|
||||||
|
store i64 %"65", ptr addrspace(5) %"61", align 8
|
||||||
|
%"67" = load i64, ptr addrspace(5) %"59", align 8
|
||||||
|
%"79" = inttoptr i64 %"67" to ptr addrspace(1)
|
||||||
|
%"44" = getelementptr inbounds i8, ptr addrspace(1) %"79", i64 8
|
||||||
|
%"68" = load i64, ptr addrspace(1) %"44", align 8
|
||||||
|
store i64 %"68", ptr addrspace(5) %"62", align 8
|
||||||
|
%"70" = load i64, ptr addrspace(5) %"61", align 8
|
||||||
|
%"71" = load i64, ptr addrspace(5) %"62", align 8
|
||||||
|
%"80" = call i64 @set_shared_temp1(i64 %"70", i64 %"71")
|
||||||
|
store i64 %"80", ptr addrspace(5) %"62", align 8
|
||||||
|
br label %"49"
|
||||||
|
|
||||||
|
"49": ; preds = %"48"
|
||||||
|
%"72" = load i64, ptr addrspace(5) %"60", align 8
|
||||||
|
%"73" = load i64, ptr addrspace(5) %"62", align 8
|
||||||
|
%"82" = inttoptr i64 %"72" to ptr
|
||||||
|
store i64 %"73", ptr %"82", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
@shared_mem1 = external addrspace(3) global [128 x i8], align 4
|
@shared_mem1 = external addrspace(3) global [128 x i8], align 4
|
||||||
|
|
||||||
define amdgpu_kernel void @shared_variable(ptr addrspace(4) byref(i64) %"32", ptr addrspace(4) byref(i64) %"33") #0 {
|
define amdgpu_kernel void @shared_variable(ptr addrspace(4) byref(i64) %"35", ptr addrspace(4) byref(i64) %"36") #0 {
|
||||||
%"34" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"35" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"36" = alloca i64, align 8, addrspace(5)
|
|
||||||
%"37" = alloca i64, align 8, addrspace(5)
|
%"37" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"38" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"39" = alloca i64, align 8, addrspace(5)
|
||||||
|
%"40" = alloca i64, align 8, addrspace(5)
|
||||||
br label %1
|
br label %1
|
||||||
|
|
||||||
1: ; preds = %0
|
1: ; preds = %0
|
||||||
br label %"31"
|
br label %"34"
|
||||||
|
|
||||||
"31": ; preds = %1
|
"34": ; preds = %1
|
||||||
%"38" = load i64, ptr addrspace(4) %"32", align 8
|
%"41" = load i64, ptr addrspace(4) %"35", align 8
|
||||||
store i64 %"38", ptr addrspace(5) %"34", align 8
|
store i64 %"41", ptr addrspace(5) %"37", align 8
|
||||||
%"39" = load i64, ptr addrspace(4) %"33", align 8
|
%"42" = load i64, ptr addrspace(4) %"36", align 8
|
||||||
store i64 %"39", ptr addrspace(5) %"35", align 8
|
store i64 %"42", ptr addrspace(5) %"38", align 8
|
||||||
%"41" = load i64, ptr addrspace(5) %"34", align 8
|
%"44" = load i64, ptr addrspace(5) %"37", align 8
|
||||||
%"46" = inttoptr i64 %"41" to ptr addrspace(1)
|
|
||||||
%"40" = load i64, ptr addrspace(1) %"46", align 8
|
|
||||||
store i64 %"40", ptr addrspace(5) %"36", align 8
|
|
||||||
%"42" = load i64, ptr addrspace(5) %"36", align 8
|
|
||||||
store i64 %"42", ptr addrspace(3) @shared_mem1, align 8
|
|
||||||
%"43" = load i64, ptr addrspace(3) @shared_mem1, align 8
|
|
||||||
store i64 %"43", ptr addrspace(5) %"37", align 8
|
|
||||||
%"44" = load i64, ptr addrspace(5) %"35", align 8
|
|
||||||
%"45" = load i64, ptr addrspace(5) %"37", align 8
|
|
||||||
%"49" = inttoptr i64 %"44" to ptr addrspace(1)
|
%"49" = inttoptr i64 %"44" to ptr addrspace(1)
|
||||||
store i64 %"45", ptr addrspace(1) %"49", align 8
|
%"43" = load i64, ptr addrspace(1) %"49", align 8
|
||||||
|
store i64 %"43", ptr addrspace(5) %"39", align 8
|
||||||
|
%"45" = load i64, ptr addrspace(5) %"39", align 8
|
||||||
|
store i64 %"45", ptr addrspace(3) @shared_mem1, align 8
|
||||||
|
%"46" = load i64, ptr addrspace(3) @shared_mem1, align 8
|
||||||
|
store i64 %"46", ptr addrspace(5) %"40", align 8
|
||||||
|
%"47" = load i64, ptr addrspace(5) %"38", align 8
|
||||||
|
%"48" = load i64, ptr addrspace(5) %"40", align 8
|
||||||
|
%"52" = inttoptr i64 %"47" to ptr addrspace(1)
|
||||||
|
store i64 %"48", ptr addrspace(1) %"52", align 8
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue