merged with master
This commit is contained in:
15
alloy.py
15
alloy.py
@@ -208,7 +208,7 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
from_validation)
|
from_validation)
|
||||||
else:
|
else:
|
||||||
try_do_LLVM("configure release version ",
|
try_do_LLVM("configure release version ",
|
||||||
'cmake -G "Visual Studio 10" -DCMAKE_INSTALL_PREFIX="..\\'+ LLVM_BIN +
|
'cmake -G "Visual Studio 11" -DCMAKE_INSTALL_PREFIX="..\\'+ LLVM_BIN +
|
||||||
'" -DLLVM_LIT_TOOLS_DIR="C:\\gnuwin32\\bin" ..\\' + LLVM_SRC,
|
'" -DLLVM_LIT_TOOLS_DIR="C:\\gnuwin32\\bin" ..\\' + LLVM_SRC,
|
||||||
from_validation)
|
from_validation)
|
||||||
else:
|
else:
|
||||||
@@ -356,6 +356,7 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
print_debug("Folder: " + os.environ["ISPC_HOME"] + "\n", False, "")
|
print_debug("Folder: " + os.environ["ISPC_HOME"] + "\n", False, "")
|
||||||
date = datetime.datetime.now()
|
date = datetime.datetime.now()
|
||||||
print_debug("Date: " + date.strftime('%H:%M %d/%m/%Y') + "\n", False, "")
|
print_debug("Date: " + date.strftime('%H:%M %d/%m/%Y') + "\n", False, "")
|
||||||
|
newest_LLVM="3.4"
|
||||||
# *** *** ***
|
# *** *** ***
|
||||||
# Stability validation run
|
# Stability validation run
|
||||||
# *** *** ***
|
# *** *** ***
|
||||||
@@ -442,7 +443,7 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
if len(archs) == 0:
|
if len(archs) == 0:
|
||||||
archs = ["x86", "x86-64"]
|
archs = ["x86", "x86-64"]
|
||||||
if len(LLVM) == 0:
|
if len(LLVM) == 0:
|
||||||
LLVM = ["3.3", "trunk"]
|
LLVM = [newest_LLVM, "trunk"]
|
||||||
gen_archs = ["x86-64"]
|
gen_archs = ["x86-64"]
|
||||||
need_LLVM = check_LLVM(LLVM)
|
need_LLVM = check_LLVM(LLVM)
|
||||||
for i in range(0,len(need_LLVM)):
|
for i in range(0,len(need_LLVM)):
|
||||||
@@ -524,8 +525,8 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
performance.ref = "ispc_ref.exe"
|
performance.ref = "ispc_ref.exe"
|
||||||
performance.perf_target = ""
|
performance.perf_target = ""
|
||||||
performance.in_file = "." + os.sep + f_date + os.sep + "performance.log"
|
performance.in_file = "." + os.sep + f_date + os.sep + "performance.log"
|
||||||
# prepare LLVM 3.3 as newest LLVM
|
# prepare newest LLVM
|
||||||
need_LLVM = check_LLVM(["3.3"])
|
need_LLVM = check_LLVM([newest_LLVM])
|
||||||
if len(need_LLVM) != 0:
|
if len(need_LLVM) != 0:
|
||||||
build_LLVM(need_LLVM[0], "", "", "", False, False, False, True, False, make)
|
build_LLVM(need_LLVM[0], "", "", "", False, False, False, True, False, make)
|
||||||
if perf_llvm == False:
|
if perf_llvm == False:
|
||||||
@@ -542,7 +543,7 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
#try_do_LLVM("stash current branch ", "git stash", True)
|
#try_do_LLVM("stash current branch ", "git stash", True)
|
||||||
try_do_LLVM("checkout reference branch " + reference_branch + " ", "git checkout " + reference_branch, True)
|
try_do_LLVM("checkout reference branch " + reference_branch + " ", "git checkout " + reference_branch, True)
|
||||||
sys.stdout.write(".\n")
|
sys.stdout.write(".\n")
|
||||||
build_ispc("3.3", make)
|
build_ispc(newest_LLVM, make)
|
||||||
sys.stdout.write(".\n")
|
sys.stdout.write(".\n")
|
||||||
if current_OS != "Windows":
|
if current_OS != "Windows":
|
||||||
os.rename("ispc", "ispc_ref")
|
os.rename("ispc", "ispc_ref")
|
||||||
@@ -553,12 +554,12 @@ def validation_run(only, only_targets, reference_branch, number, notify, update,
|
|||||||
if stashing:
|
if stashing:
|
||||||
try_do_LLVM("return current branch ", "git stash pop", True)
|
try_do_LLVM("return current branch ", "git stash pop", True)
|
||||||
sys.stdout.write("You can interrupt script now.\n")
|
sys.stdout.write("You can interrupt script now.\n")
|
||||||
build_ispc("3.3", make)
|
build_ispc(newest_LLVM, make)
|
||||||
else:
|
else:
|
||||||
# build compiler with two different LLVM versions
|
# build compiler with two different LLVM versions
|
||||||
if len(check_LLVM([reference_branch])) != 0:
|
if len(check_LLVM([reference_branch])) != 0:
|
||||||
error("you haven't got llvm called " + reference_branch, 1)
|
error("you haven't got llvm called " + reference_branch, 1)
|
||||||
build_ispc("3.3", make)
|
build_ispc(newest_LLVM, make)
|
||||||
os.rename("ispc", "ispc_ref")
|
os.rename("ispc", "ispc_ref")
|
||||||
build_ispc(reference_branch, make)
|
build_ispc(reference_branch, make)
|
||||||
# begin validation run for performance. output is inserted into perf()
|
# begin validation run for performance. output is inserted into perf()
|
||||||
|
|||||||
@@ -527,12 +527,20 @@ lSetInternalFunctions(llvm::Module *module) {
|
|||||||
"__packed_load_active",
|
"__packed_load_active",
|
||||||
"__packed_store_active",
|
"__packed_store_active",
|
||||||
"__packed_store_active2",
|
"__packed_store_active2",
|
||||||
|
"__padds_vi8",
|
||||||
|
"__padds_vi16",
|
||||||
|
"__paddus_vi8",
|
||||||
|
"__paddus_vi16",
|
||||||
"__popcnt_int32",
|
"__popcnt_int32",
|
||||||
"__popcnt_int64",
|
"__popcnt_int64",
|
||||||
"__prefetch_read_uniform_1",
|
"__prefetch_read_uniform_1",
|
||||||
"__prefetch_read_uniform_2",
|
"__prefetch_read_uniform_2",
|
||||||
"__prefetch_read_uniform_3",
|
"__prefetch_read_uniform_3",
|
||||||
"__prefetch_read_uniform_nt",
|
"__prefetch_read_uniform_nt",
|
||||||
|
"__psubs_vi8",
|
||||||
|
"__psubs_vi16",
|
||||||
|
"__psubus_vi8",
|
||||||
|
"__psubus_vi16",
|
||||||
"__rcp_uniform_float",
|
"__rcp_uniform_float",
|
||||||
"__rcp_varying_float",
|
"__rcp_varying_float",
|
||||||
"__rcp_uniform_double",
|
"__rcp_uniform_double",
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-avx-common.ll')
|
include(`target-avx-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-avx-common.ll')
|
include(`target-avx-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
include(`target-avx.ll')
|
include(`target-avx.ll')
|
||||||
|
|
||||||
rdrand_decls()
|
rdrand_decls()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; int min/max
|
;; int min/max
|
||||||
|
|||||||
@@ -35,6 +35,8 @@ ifelse(LLVM_VERSION, `LLVM_3_0', `rdrand_decls()',
|
|||||||
LLVM_VERSION, `LLVM_3_1', `rdrand_decls()',
|
LLVM_VERSION, `LLVM_3_1', `rdrand_decls()',
|
||||||
`rdrand_definition()')
|
`rdrand_definition()')
|
||||||
|
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; int min/max
|
;; int min/max
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ ifelse(LLVM_VERSION, `LLVM_3_0', `rdrand_decls()',
|
|||||||
LLVM_VERSION, `LLVM_3_1', `rdrand_decls()',
|
LLVM_VERSION, `LLVM_3_1', `rdrand_decls()',
|
||||||
`rdrand_definition()')
|
`rdrand_definition()')
|
||||||
|
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; int min/max
|
;; int min/max
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ scans()
|
|||||||
int64minmax()
|
int64minmax()
|
||||||
aossoa()
|
aossoa()
|
||||||
declare_nvptx()
|
declare_nvptx()
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; masked store
|
;; masked store
|
||||||
|
|||||||
@@ -31,4 +31,4 @@
|
|||||||
|
|
||||||
define(`WIDTH',`16')
|
define(`WIDTH',`16')
|
||||||
include(`target-generic-common.ll')
|
include(`target-generic-common.ll')
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|||||||
@@ -31,3 +31,4 @@
|
|||||||
|
|
||||||
define(`WIDTH',`32')
|
define(`WIDTH',`32')
|
||||||
include(`target-generic-common.ll')
|
include(`target-generic-common.ll')
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|||||||
@@ -31,4 +31,4 @@
|
|||||||
|
|
||||||
define(`WIDTH',`4')
|
define(`WIDTH',`4')
|
||||||
include(`target-generic-common.ll')
|
include(`target-generic-common.ll')
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|||||||
@@ -31,3 +31,4 @@
|
|||||||
|
|
||||||
define(`WIDTH',`64')
|
define(`WIDTH',`64')
|
||||||
include(`target-generic-common.ll')
|
include(`target-generic-common.ll')
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|||||||
@@ -31,4 +31,4 @@
|
|||||||
|
|
||||||
define(`WIDTH',`8')
|
define(`WIDTH',`8')
|
||||||
include(`target-generic-common.ll')
|
include(`target-generic-common.ll')
|
||||||
|
saturation_arithmetic_novec()
|
||||||
|
|||||||
@@ -2260,3 +2260,5 @@ define void @__memory_barrier() nounwind readnone alwaysinline {
|
|||||||
call void @llvm.nvvm.membar.gl()
|
call void @llvm.nvvm.membar.gl()
|
||||||
ret void
|
ret void
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saturation_arithmetic_novec();
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse2-common.ll')
|
include(`target-sse2-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse2-common.ll')
|
include(`target-sse2-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse4-common.ll')
|
include(`target-sse4-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse4-common.ll')
|
include(`target-sse4-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse4-common.ll')
|
include(`target-sse4-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ stdlib_core()
|
|||||||
packed_load_and_store()
|
packed_load_and_store()
|
||||||
scans()
|
scans()
|
||||||
int64minmax()
|
int64minmax()
|
||||||
|
saturation_arithmetic()
|
||||||
|
|
||||||
include(`target-sse4-common.ll')
|
include(`target-sse4-common.ll')
|
||||||
|
|
||||||
|
|||||||
@@ -3415,3 +3415,62 @@ define(`define_avgs', `
|
|||||||
define_up_avgs()
|
define_up_avgs()
|
||||||
define_down_avgs()
|
define_down_avgs()
|
||||||
')
|
')
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
define(`const_vector', `<$1 $2>')
|
||||||
|
define(`saturation_arithmetic_novec_universal', `
|
||||||
|
define <WIDTH x i8> @__p$1s_vi8(<WIDTH x i8>, <WIDTH x i8>) {
|
||||||
|
%v0_i16 = sext <WIDTH x i8> %0 to <WIDTH x i16>
|
||||||
|
%v1_i16 = sext <WIDTH x i8> %1 to <WIDTH x i16>
|
||||||
|
%res = $1 <WIDTH x i16> %v0_i16, %v1_i16
|
||||||
|
%over_mask = icmp sgt <WIDTH x i16> %res, const_vector(i16, 127)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i16> const_vector(i16, 127), <WIDTH x i16> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i16> %res, const_vector(i16, -128)
|
||||||
|
%ret_i16 = select <WIDTH x i1> %under_mask, <WIDTH x i16> const_vector(i16, -128), <WIDTH x i16> %over_res
|
||||||
|
%ret = trunc <WIDTH x i16> %ret_i16 to <WIDTH x i8>
|
||||||
|
ret <WIDTH x i8> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i16> @__p$1s_vi16(<WIDTH x i16>, <WIDTH x i16>) {
|
||||||
|
%v0_i32 = sext <WIDTH x i16> %0 to <WIDTH x i32>
|
||||||
|
%v1_i32 = sext <WIDTH x i16> %1 to <WIDTH x i32>
|
||||||
|
%res = $1 <WIDTH x i32> %v0_i32, %v1_i32
|
||||||
|
%over_mask = icmp sgt <WIDTH x i32> %res, const_vector(i32, 32767)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i32> const_vector(i32, 32767), <WIDTH x i32> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i32> %res, const_vector(i32, -32768)
|
||||||
|
%ret_i32 = select <WIDTH x i1> %under_mask, <WIDTH x i32> const_vector(i32, -32768), <WIDTH x i32> %over_res
|
||||||
|
%ret = trunc <WIDTH x i32> %ret_i32 to <WIDTH x i16>
|
||||||
|
ret <WIDTH x i16> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i8> @__p$1us_vi8(<WIDTH x i8>, <WIDTH x i8>) {
|
||||||
|
%v0_i16 = zext <WIDTH x i8> %0 to <WIDTH x i16>
|
||||||
|
%v1_i16 = zext <WIDTH x i8> %1 to <WIDTH x i16>
|
||||||
|
%res = $1 <WIDTH x i16> %v0_i16, %v1_i16
|
||||||
|
%over_mask = icmp ugt <WIDTH x i16> %res, const_vector(i16, 255)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i16> const_vector(i16, 255), <WIDTH x i16> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i16> %res, const_vector(i16, 0)
|
||||||
|
%ret_i16 = select <WIDTH x i1> %under_mask, <WIDTH x i16> const_vector(i16, 0), <WIDTH x i16> %over_res
|
||||||
|
%ret = trunc <WIDTH x i16> %ret_i16 to <WIDTH x i8>
|
||||||
|
ret <WIDTH x i8> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i16> @__p$1us_vi16(<WIDTH x i16>, <WIDTH x i16>) {
|
||||||
|
%v0_i32 = zext <WIDTH x i16> %0 to <WIDTH x i32>
|
||||||
|
%v1_i32 = zext <WIDTH x i16> %1 to <WIDTH x i32>
|
||||||
|
%res = $1 <WIDTH x i32> %v0_i32, %v1_i32
|
||||||
|
%over_mask = icmp ugt <WIDTH x i32> %res, const_vector(i32, 65535)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i32> const_vector(i32, 65535), <WIDTH x i32> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i32> %res, const_vector(i32, 0)
|
||||||
|
%ret_i32 = select <WIDTH x i1> %under_mask, <WIDTH x i32> const_vector(i32, 0), <WIDTH x i32> %over_res
|
||||||
|
%ret = trunc <WIDTH x i32> %ret_i32 to <WIDTH x i16>
|
||||||
|
ret <WIDTH x i16> %ret
|
||||||
|
}
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_novec', `
|
||||||
|
saturation_arithmetic_novec_universal(sub)
|
||||||
|
saturation_arithmetic_novec_universal(add)
|
||||||
|
')
|
||||||
|
|
||||||
|
|||||||
410
builtins/util.m4
410
builtins/util.m4
@@ -49,6 +49,416 @@ define(`MASK_HIGH_BIT_ON',
|
|||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;; vector convertation utilities
|
||||||
|
;; convert vector of one width into vector of other width
|
||||||
|
;;
|
||||||
|
;; $1: vector element type
|
||||||
|
;; $2: vector of the first width
|
||||||
|
;; $3: vector of the second width
|
||||||
|
|
||||||
|
|
||||||
|
define(`convert1to8', `
|
||||||
|
$3 = shufflevector <1 x $1> $2, <1 x $1> undef,
|
||||||
|
<8 x i32> <i32 0, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
|
||||||
|
define(`convert1to16', `
|
||||||
|
$3 = shufflevector <1 x $1> $2, <1 x $1> undef,
|
||||||
|
<16 x i32> <i32 0, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert4to8', `
|
||||||
|
$3 = shufflevector <4 x $1> $2, <4 x $1> undef,
|
||||||
|
<8 x i32> <i32 0, i32 1, i32 2, i32 3,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert4to16', `
|
||||||
|
$3 = shufflevector <4 x $1> $2, <4 x $1> undef,
|
||||||
|
<16 x i32> <i32 0, i32 1, i32 2, i32 3,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert8to16', `
|
||||||
|
$3 = shufflevector <8 x $1> $2, <8 x $1> undef,
|
||||||
|
<16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert4to32', `
|
||||||
|
$3 = shufflevector <4 x $1> $2, <4 x $1> undef,
|
||||||
|
<32 x i32> <i32 0, i32 1, i32 2, i32 3,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert8to32', `
|
||||||
|
$3 = shufflevector <4 x $1> $2, <4 x $1> undef,
|
||||||
|
<32 x i32> <i32 0, i32 1, i32 2, i32 3,
|
||||||
|
i32 4, i32 5, i32 6, i32 7,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert16to32', `
|
||||||
|
$3 = shufflevector <4 x $1> $2, <4 x $1> undef,
|
||||||
|
<32 x i32> <i32 0, i32 1, i32 2, i32 3,
|
||||||
|
i32 4, i32 5, i32 6, i32 7,
|
||||||
|
i32 8, i32 9, i32 10, i32 11,
|
||||||
|
i32 12, i32 13, i32 14, i32 15
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef,
|
||||||
|
i32 undef, i32 undef, i32 undef, i32 undef>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert8to1', `
|
||||||
|
$3 = shufflevector <8 x $1> $2, <8 x $1> undef,
|
||||||
|
<1 x i32> <i32 0>
|
||||||
|
')
|
||||||
|
|
||||||
|
|
||||||
|
define(`convert16to1', `
|
||||||
|
$3 = shufflevector <16 x $1> $2, <16 x $1> undef,
|
||||||
|
<1 x i32> <i32 0>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert8to4', `
|
||||||
|
$3 = shufflevector <8 x $1> $2, <8 x $1> undef,
|
||||||
|
<4 x i32> <i32 0, i32 1, i32 2, i32 3>
|
||||||
|
')
|
||||||
|
|
||||||
|
|
||||||
|
define(`convert16to4', `
|
||||||
|
$3 = shufflevector <16 x $1> $2, <16 x $1> undef,
|
||||||
|
<4 x i32> <i32 0, i32 1, i32 2, i32 3>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert16to8', `
|
||||||
|
$3 = shufflevector <16 x $1> $2, <16 x $1> undef,
|
||||||
|
<8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert32to4', `
|
||||||
|
$3 = shufflevector <32 x $1> $2, <32 x $1> undef,
|
||||||
|
<4 x i32> <i32 0, i32 1, i32 2, i32 3>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert32to8', `
|
||||||
|
$3 = shufflevector <32 x $1> $2, <32 x $1> undef,
|
||||||
|
<8 x i32> <i32 0, i32 1, i32 2, i32 3>
|
||||||
|
')
|
||||||
|
|
||||||
|
define(`convert32to16', `
|
||||||
|
$3 = shufflevector <32 x $1> $2, <32 x $1> undef,
|
||||||
|
<16 x i32> <i32 0, i32 1, i32 2, i32 3>
|
||||||
|
')
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;;saturation arithmetic
|
||||||
|
|
||||||
|
define(`saturation_arithmetic',
|
||||||
|
`ifelse(WIDTH, `4', `saturation_arithmetic_vec4()',
|
||||||
|
WIDTH, `8', `saturation_arithmetic_vec8()',
|
||||||
|
WIDTH, `16', `saturation_arithmetic_vec16() ',
|
||||||
|
`errprint(`ERROR: saturation_arithmetic() macro called with unsupported width = 'WIDTH
|
||||||
|
)
|
||||||
|
m4exit(`1')')
|
||||||
|
')
|
||||||
|
|
||||||
|
;; create vector constant. Used by saturation_arithmetic_novec_universal below.
|
||||||
|
|
||||||
|
define(`const_vector', `
|
||||||
|
ifelse(WIDTH, `4', `<$1 $2, $1 $2, $1 $2, $1 $2>',
|
||||||
|
WIDTH, `8', `<$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2>',
|
||||||
|
WIDTH, `16', `<$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2>',
|
||||||
|
WIDTH, `32', `<$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2>',
|
||||||
|
WIDTH, `64', `<$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2,
|
||||||
|
$1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2, $1 $2>',
|
||||||
|
`<$1 $2>')')
|
||||||
|
|
||||||
|
;; utility function used by saturation_arithmetic_novec below. This shouldn't be called by
|
||||||
|
;; target .ll files directly.
|
||||||
|
;; $1: {add,sub} (used in constructing function names)
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_novec_universal', `
|
||||||
|
define <WIDTH x i8> @__p$1s_vi8(<WIDTH x i8>, <WIDTH x i8>) {
|
||||||
|
%v0_i16 = sext <WIDTH x i8> %0 to <WIDTH x i16>
|
||||||
|
%v1_i16 = sext <WIDTH x i8> %1 to <WIDTH x i16>
|
||||||
|
%res = $1 <WIDTH x i16> %v0_i16, %v1_i16
|
||||||
|
%over_mask = icmp sgt <WIDTH x i16> %res, const_vector(i16, 127)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i16> const_vector(i16, 127), <WIDTH x i16> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i16> %res, const_vector(i16, -128)
|
||||||
|
%ret_i16 = select <WIDTH x i1> %under_mask, <WIDTH x i16> const_vector(i16, -128), <WIDTH x i16> %over_res
|
||||||
|
%ret = trunc <WIDTH x i16> %ret_i16 to <WIDTH x i8>
|
||||||
|
ret <WIDTH x i8> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i16> @__p$1s_vi16(<WIDTH x i16>, <WIDTH x i16>) {
|
||||||
|
%v0_i32 = sext <WIDTH x i16> %0 to <WIDTH x i32>
|
||||||
|
%v1_i32 = sext <WIDTH x i16> %1 to <WIDTH x i32>
|
||||||
|
%res = $1 <WIDTH x i32> %v0_i32, %v1_i32
|
||||||
|
%over_mask = icmp sgt <WIDTH x i32> %res, const_vector(i32, 32767)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i32> const_vector(i32, 32767), <WIDTH x i32> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i32> %res, const_vector(i32, -32768)
|
||||||
|
%ret_i32 = select <WIDTH x i1> %under_mask, <WIDTH x i32> const_vector(i32, -32768), <WIDTH x i32> %over_res
|
||||||
|
%ret = trunc <WIDTH x i32> %ret_i32 to <WIDTH x i16>
|
||||||
|
ret <WIDTH x i16> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i8> @__p$1us_vi8(<WIDTH x i8>, <WIDTH x i8>) {
|
||||||
|
%v0_i16 = zext <WIDTH x i8> %0 to <WIDTH x i16>
|
||||||
|
%v1_i16 = zext <WIDTH x i8> %1 to <WIDTH x i16>
|
||||||
|
%res = $1 <WIDTH x i16> %v0_i16, %v1_i16
|
||||||
|
%over_mask = icmp ugt <WIDTH x i16> %res, const_vector(i16, 255)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i16> const_vector(i16, 255), <WIDTH x i16> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i16> %res, const_vector(i16, 0)
|
||||||
|
%ret_i16 = select <WIDTH x i1> %under_mask, <WIDTH x i16> const_vector(i16, 0), <WIDTH x i16> %over_res
|
||||||
|
%ret = trunc <WIDTH x i16> %ret_i16 to <WIDTH x i8>
|
||||||
|
ret <WIDTH x i8> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
define <WIDTH x i16> @__p$1us_vi16(<WIDTH x i16>, <WIDTH x i16>) {
|
||||||
|
%v0_i32 = zext <WIDTH x i16> %0 to <WIDTH x i32>
|
||||||
|
%v1_i32 = zext <WIDTH x i16> %1 to <WIDTH x i32>
|
||||||
|
%res = $1 <WIDTH x i32> %v0_i32, %v1_i32
|
||||||
|
%over_mask = icmp ugt <WIDTH x i32> %res, const_vector(i32, 65535)
|
||||||
|
%over_res = select <WIDTH x i1> %over_mask, <WIDTH x i32> const_vector(i32, 65535), <WIDTH x i32> %res
|
||||||
|
%under_mask = icmp slt <WIDTH x i32> %res, const_vector(i32, 0)
|
||||||
|
%ret_i32 = select <WIDTH x i1> %under_mask, <WIDTH x i32> const_vector(i32, 0), <WIDTH x i32> %over_res
|
||||||
|
%ret = trunc <WIDTH x i32> %ret_i32 to <WIDTH x i16>
|
||||||
|
ret <WIDTH x i16> %ret
|
||||||
|
}
|
||||||
|
')
|
||||||
|
|
||||||
|
;; implementation for targets which doesn't have h/w instructions
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_novec', `
|
||||||
|
saturation_arithmetic_novec_universal(sub)
|
||||||
|
saturation_arithmetic_novec_universal(add)
|
||||||
|
')
|
||||||
|
|
||||||
|
;;4-wide vector saturation arithmetic
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_vec4', `
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <4 x i8> @__padds_vi8(<4 x i8>, <4 x i8>) {
|
||||||
|
convert4to16(i8, %0, %v0)
|
||||||
|
convert4to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to4(i8, %r16, %r)
|
||||||
|
ret <4 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <4 x i16> @__padds_vi16(<4 x i16>, <4 x i16>) {
|
||||||
|
convert4to8(i16, %0, %v0)
|
||||||
|
convert4to8(i16, %1, %v1)
|
||||||
|
%r16 = call <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16> %v0, <8 x i16> %v1)
|
||||||
|
convert8to4(i16, %r16, %r)
|
||||||
|
ret <4 x i16> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <4 x i8> @__paddus_vi8(<4 x i8>, <4 x i8>) {
|
||||||
|
convert4to16(i8, %0, %v0)
|
||||||
|
convert4to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to4(i8, %r16, %r)
|
||||||
|
ret <4 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <4 x i16> @__paddus_vi16(<4 x i16>, <4 x i16>) {
|
||||||
|
convert4to8(i16, %0, %v0)
|
||||||
|
convert4to8(i16, %1, %v1)
|
||||||
|
%r16 = call <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16> %v0, <8 x i16> %v1)
|
||||||
|
convert8to4(i16, %r16, %r)
|
||||||
|
ret <4 x i16> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <4 x i8> @__psubs_vi8(<4 x i8>, <4 x i8>) {
|
||||||
|
convert4to16(i8, %0, %v0)
|
||||||
|
convert4to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to4(i8, %r16, %r)
|
||||||
|
ret <4 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <4 x i16> @__psubs_vi16(<4 x i16>, <4 x i16>) {
|
||||||
|
convert4to8(i16, %0, %v0)
|
||||||
|
convert4to8(i16, %1, %v1)
|
||||||
|
%r16 = call <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16> %v0, <8 x i16> %v1)
|
||||||
|
convert8to4(i16, %r16, %r)
|
||||||
|
ret <4 x i16> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <4 x i8> @__psubus_vi8(<4 x i8>, <4 x i8>) {
|
||||||
|
convert4to16(i8, %0, %v0)
|
||||||
|
convert4to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to4(i8, %r16, %r)
|
||||||
|
ret <4 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <4 x i16> @__psubus_vi16(<4 x i16>, <4 x i16>) {
|
||||||
|
convert4to8(i16, %0, %v0)
|
||||||
|
convert4to8(i16, %1, %v1)
|
||||||
|
%r16 = call <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16> %v0, <8 x i16> %v1)
|
||||||
|
convert8to4(i16, %r16, %r)
|
||||||
|
ret <4 x i16> %r
|
||||||
|
}
|
||||||
|
')
|
||||||
|
|
||||||
|
;;8-wide vector saturation arithmetic
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_vec8', `
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <8 x i8> @__padds_vi8(<8 x i8>, <8 x i8>) {
|
||||||
|
convert8to16(i8, %0, %v0)
|
||||||
|
convert8to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to8(i8, %r16, %r)
|
||||||
|
ret <8 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <8 x i16> @__padds_vi16(<8 x i16> %a0, <8 x i16> %a1) {
|
||||||
|
%res = call <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16> %a0, <8 x i16> %a1)
|
||||||
|
ret <8 x i16> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <8 x i8> @__paddus_vi8(<8 x i8>, <8 x i8>) {
|
||||||
|
convert8to16(i8, %0, %v0)
|
||||||
|
convert8to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to8(i8, %r16, %r)
|
||||||
|
ret <8 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <8 x i16> @__paddus_vi16(<8 x i16> %a0, <8 x i16> %a1) {
|
||||||
|
%res = call <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16> %a0, <8 x i16> %a1)
|
||||||
|
ret <8 x i16> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <8 x i8> @__psubs_vi8(<8 x i8>, <8 x i8>) {
|
||||||
|
convert8to16(i8, %0, %v0)
|
||||||
|
convert8to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to8(i8, %r16, %r)
|
||||||
|
ret <8 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <8 x i16> @__psubs_vi16(<8 x i16> %a0, <8 x i16> %a1) {
|
||||||
|
%res = call <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16> %a0, <8 x i16> %a1)
|
||||||
|
ret <8 x i16> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <8 x i8> @__psubus_vi8(<8 x i8>, <8 x i8>) {
|
||||||
|
convert8to16(i8, %0, %v0)
|
||||||
|
convert8to16(i8, %1, %v1)
|
||||||
|
%r16 = call <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8> %v0, <16 x i8> %v1)
|
||||||
|
convert16to8(i8, %r16, %r)
|
||||||
|
ret <8 x i8> %r
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <8 x i16> @__psubus_vi16(<8 x i16> %a0, <8 x i16> %a1) {
|
||||||
|
%res = call <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16> %a0, <8 x i16> %a1)
|
||||||
|
ret <8 x i16> %res
|
||||||
|
}
|
||||||
|
')
|
||||||
|
|
||||||
|
;;16-wide vector saturation arithmetic
|
||||||
|
|
||||||
|
define(`saturation_arithmetic_vec16', `
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <16 x i8> @__padds_vi8(<16 x i8> %a0, <16 x i8> %a1) {
|
||||||
|
%res = call <16 x i8> @llvm.x86.sse2.padds.b(<16 x i8> %a0, <16 x i8> %a1) ; <<16 x i8>> [#uses=1]
|
||||||
|
ret <16 x i8> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.padds.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <16 x i16> @__padds_vi16(<16 x i16> %a0, <16 x i16> %a1) {
|
||||||
|
binary8to16(ret, i16, @llvm.x86.sse2.padds.w, %a0, %a1)
|
||||||
|
ret <16 x i16> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <16 x i8> @__paddus_vi8(<16 x i8> %a0, <16 x i8> %a1) {
|
||||||
|
%res = call <16 x i8> @llvm.x86.sse2.paddus.b(<16 x i8> %a0, <16 x i8> %a1) ; <<16 x i8>> [#uses=1]
|
||||||
|
ret <16 x i8> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.paddus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <16 x i16> @__paddus_vi16(<16 x i16> %a0, <16 x i16> %a1) {
|
||||||
|
binary8to16(ret, i16, @llvm.x86.sse2.paddus.w, %a0, %a1)
|
||||||
|
ret <16 x i16> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <16 x i8> @__psubs_vi8(<16 x i8> %a0, <16 x i8> %a1) {
|
||||||
|
%res = call <16 x i8> @llvm.x86.sse2.psubs.b(<16 x i8> %a0, <16 x i8> %a1) ; <<16 x i8>> [#uses=1]
|
||||||
|
ret <16 x i8> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubs.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <16 x i16> @__psubs_vi16(<16 x i16> %a0, <16 x i16> %a1) {
|
||||||
|
binary8to16(ret, i16, @llvm.x86.sse2.psubs.w, %a0, %a1)
|
||||||
|
ret <16 x i16> %ret
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8>, <16 x i8>) nounwind readnone
|
||||||
|
define <16 x i8> @__psubus_vi8(<16 x i8> %a0, <16 x i8> %a1) {
|
||||||
|
%res = call <16 x i8> @llvm.x86.sse2.psubus.b(<16 x i8> %a0, <16 x i8> %a1) ; <<16 x i8>> [#uses=1]
|
||||||
|
ret <16 x i8> %res
|
||||||
|
}
|
||||||
|
|
||||||
|
declare <8 x i16> @llvm.x86.sse2.psubus.w(<8 x i16>, <8 x i16>) nounwind readnone
|
||||||
|
define <16 x i16> @__psubus_vi16(<16 x i16> %a0, <16 x i16> %a1) {
|
||||||
|
binary8to16(ret, i16, @llvm.x86.sse2.psubus.w, %a0, %a1)
|
||||||
|
ret <16 x i16> %ret
|
||||||
|
}
|
||||||
|
')
|
||||||
|
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
;; vector deconstruction utilities
|
;; vector deconstruction utilities
|
||||||
;; split 8-wide vector into 2 4-wide vectors
|
;; split 8-wide vector into 2 4-wide vectors
|
||||||
;;
|
;;
|
||||||
|
|||||||
871
fail_db.txt
871
fail_db.txt
@@ -2,279 +2,11 @@
|
|||||||
% The list is unordered and contains information about commonly used platforms / configurations.
|
% The list is unordered and contains information about commonly used platforms / configurations.
|
||||||
% Our goas is to maintain this list for Linux, MacOS and Windows with reasonably new compilers.
|
% Our goas is to maintain this list for Linux, MacOS and Windows with reasonably new compilers.
|
||||||
% Note, that it's important which C++ compiler was used. The currently supported C++ compilers are
|
% Note, that it's important which C++ compiler was used. The currently supported C++ compilers are
|
||||||
% clang 3.4 on Linux and clang 3.3 on MacOS and cl (VS2010) on Windows.
|
% clang 3.4 on Linux and clang 3.3 on MacOS and cl (VS2012) on Windows.
|
||||||
% Please also note that it's very important to have correctly built LLVM. There are a number of
|
% Please also note that it's very important to have correctly built LLVM. There are a number of
|
||||||
% LLVM bugs in released versions, that we have to workaround by applying patches (see llvm_patches
|
% LLVM bugs in released versions, that we have to workaround by applying patches (see llvm_patches
|
||||||
% folder). The recommended way to build LLVM on Unix is to use "alloy.py".
|
% folder). The recommended way to build LLVM on Unix is to use "alloy.py".
|
||||||
%
|
%
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\atomics-13.ispc compfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-4.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-5.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-6.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\atomics-13.ispc compfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\atomics-13.ispc compfail x86-64 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-4.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-5.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\funcptr-null-6.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\atomics-13.ispc compfail x86-64 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\test-141.ispc runfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\test-141.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
./tests/atomics-13.ispc compfail x86 sse4-i16x8 Mac LLVM 3.3 clang++3.3 -O2 *
|
./tests/atomics-13.ispc compfail x86 sse4-i16x8 Mac LLVM 3.3 clang++3.3 -O2 *
|
||||||
./tests/atomics-13.ispc compfail x86-64 sse4-i16x8 Mac LLVM 3.3 clang++3.3 -O2 *
|
./tests/atomics-13.ispc compfail x86-64 sse4-i16x8 Mac LLVM 3.3 clang++3.3 -O2 *
|
||||||
./tests/funcptr-null-4.ispc runfail x86 sse4-i8x16 Mac LLVM 3.3 clang++3.3 -O2 *
|
./tests/funcptr-null-4.ispc runfail x86 sse4-i8x16 Mac LLVM 3.3 clang++3.3 -O2 *
|
||||||
@@ -305,133 +37,6 @@
|
|||||||
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Mac LLVM 3.4 clang++3.3 -O2 *
|
./tests/ptr-assign-lhs-math-1.ispc compfail x86-64 generic-16 Mac LLVM 3.4 clang++3.3 -O2 *
|
||||||
./tests/test-141.ispc runfail x86 avx2-i32x16 Mac LLVM 3.4 clang++3.3 -O2 *
|
./tests/test-141.ispc runfail x86 avx2-i32x16 Mac LLVM 3.4 clang++3.3 -O2 *
|
||||||
./tests/test-141.ispc runfail x86-64 avx2-i32x16 Mac LLVM 3.4 clang++3.3 -O2 *
|
./tests/test-141.ispc runfail x86-64 avx2-i32x16 Mac LLVM 3.4 clang++3.3 -O2 *
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\uint64-max-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx2-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-4.ispc runfail x86 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-5.ispc runfail x86 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-6.ispc runfail x86 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-min-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\max-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\min-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\min-uint-2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\packed-load-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\packed-store.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\test-141.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-max.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-min-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\uint64-min.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-4.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-5.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\funcptr-null-6.ispc runfail x86-64 sse4-i8x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1.1-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx1.1-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\test-141.ispc runfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-10.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-11.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-12.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-8.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\switch-9.ispc compfail x86-64 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
|
||||||
.\tests\reduce-equal-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
|
||||||
./tests/atomics-13.ispc compfail x86 sse4-i16x8 Linux LLVM 3.3 clang++3.4 -O2 *
|
./tests/atomics-13.ispc compfail x86 sse4-i16x8 Linux LLVM 3.3 clang++3.4 -O2 *
|
||||||
./tests/atomics-13.ispc compfail x86-64 sse4-i16x8 Linux LLVM 3.3 clang++3.4 -O2 *
|
./tests/atomics-13.ispc compfail x86-64 sse4-i16x8 Linux LLVM 3.3 clang++3.4 -O2 *
|
||||||
./tests/atomics-13.ispc compfail x86 sse4-i8x16 Linux LLVM 3.3 clang++3.4 -O2 *
|
./tests/atomics-13.ispc compfail x86 sse4-i8x16 Linux LLVM 3.3 clang++3.4 -O2 *
|
||||||
@@ -580,8 +185,6 @@
|
|||||||
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
./tests/reduce-equal-5.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||||
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
./tests/reduce-equal-6.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||||
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
./tests/reduce-equal-8.ispc compfail x86-64 generic-16 Linux LLVM 3.4 clang++3.4 -O0 *
|
||||||
./tests/reduce-equal.ispc compfail x86-64 avx1-i32x4 Linux LLVM 3.5 clang++3.4 -O2 *
|
|
||||||
./tests/shuffle2-7.ispc compfail x86-64 avx1-i64x4 Linux LLVM 3.5 clang++3.4 -O2 *
|
|
||||||
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/masked-scatter-struct.ispc runfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/exclusive-scan-add-1.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/exclusive-scan-add-10.ispc compfail x86-64 generic-4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
@@ -657,3 +260,475 @@
|
|||||||
./tests/foreach-double-1.ispc runfail x86 avx2-i32x8 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/foreach-double-1.ispc runfail x86 avx2-i32x8 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
./tests/foreach-double-1.ispc runfail x86 avx2-i32x16 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/foreach-double-1.ispc runfail x86 avx2-i32x16 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
./tests/foreach-double-1.ispc runfail x86 avx2-i64x4 Linux LLVM 3.5 clang++3.4 -O2 *
|
./tests/foreach-double-1.ispc runfail x86 avx2-i64x4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i32x8 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i32x16 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i64x4 Linux LLVM 3.4 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i32x8 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i32x16 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
|
./tests/ptr-int-1.ispc runfail x86 avx2-i64x4 Linux LLVM 3.5 clang++3.4 -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 sse2-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-equal-10.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 sse2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-13.ispc compfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i16x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-equal-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-min-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-13.ispc compfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 sse4-i8x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-min-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-min-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-min.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx1.1-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x8 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-min-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i32x16 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\exclusive-scan-add-10.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\exclusive-scan-add-9.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\uint64-max-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-10.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-varyingptr-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-10.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\local-atomics-varyingptr-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\min-uint-2.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-load-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\packed-store2.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-add-uint64.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\reduce-max-uint.ispc runfail x86 avx2-i64x4 Windows LLVM 3.3 cl -O0 *
|
||||||
|
.\tests\atomics-13.ispc compfail x86-64 sse4-i16x8 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\atomics-13.ispc compfail x86-64 sse4-i8x16 Windows LLVM 3.3 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.4 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.4 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.4 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i32x8 Windows LLVM 3.5 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i32x16 Windows LLVM 3.5 cl -O2 *
|
||||||
|
.\tests\ptr-int-1.ispc runfail x86 avx2-i64x4 Windows LLVM 3.5 cl -O2 *
|
||||||
|
|||||||
@@ -365,12 +365,14 @@
|
|||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>Application</ConfigurationType>
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<PlatformToolset>v110</PlatformToolset>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
|||||||
148
llvm_patches/3_4_r201126-alias-gather.patch
Normal file
148
llvm_patches/3_4_r201126-alias-gather.patch
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
Index: include/llvm/IR/IntrinsicsX86.td
|
||||||
|
===================================================================
|
||||||
|
--- include/llvm/IR/IntrinsicsX86.td (revision 201125)
|
||||||
|
+++ include/llvm/IR/IntrinsicsX86.td (revision 201126)
|
||||||
|
@@ -1814,68 +1814,68 @@
|
||||||
|
def int_x86_avx2_gather_d_pd : GCCBuiltin<"__builtin_ia32_gatherd_pd">,
|
||||||
|
Intrinsic<[llvm_v2f64_ty],
|
||||||
|
[llvm_v2f64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v2f64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_pd_256 : GCCBuiltin<"__builtin_ia32_gatherd_pd256">,
|
||||||
|
Intrinsic<[llvm_v4f64_ty],
|
||||||
|
[llvm_v4f64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4f64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_pd : GCCBuiltin<"__builtin_ia32_gatherq_pd">,
|
||||||
|
Intrinsic<[llvm_v2f64_ty],
|
||||||
|
[llvm_v2f64_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v2f64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_pd_256 : GCCBuiltin<"__builtin_ia32_gatherq_pd256">,
|
||||||
|
Intrinsic<[llvm_v4f64_ty],
|
||||||
|
[llvm_v4f64_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4f64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_ps : GCCBuiltin<"__builtin_ia32_gatherd_ps">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty],
|
||||||
|
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4f32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_ps_256 : GCCBuiltin<"__builtin_ia32_gatherd_ps256">,
|
||||||
|
Intrinsic<[llvm_v8f32_ty],
|
||||||
|
[llvm_v8f32_ty, llvm_ptr_ty, llvm_v8i32_ty, llvm_v8f32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_ps : GCCBuiltin<"__builtin_ia32_gatherq_ps">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty],
|
||||||
|
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v4f32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_ps_256 : GCCBuiltin<"__builtin_ia32_gatherq_ps256">,
|
||||||
|
Intrinsic<[llvm_v4f32_ty],
|
||||||
|
[llvm_v4f32_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4f32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
|
||||||
|
def int_x86_avx2_gather_d_q : GCCBuiltin<"__builtin_ia32_gatherd_q">,
|
||||||
|
Intrinsic<[llvm_v2i64_ty],
|
||||||
|
[llvm_v2i64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v2i64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_q_256 : GCCBuiltin<"__builtin_ia32_gatherd_q256">,
|
||||||
|
Intrinsic<[llvm_v4i64_ty],
|
||||||
|
[llvm_v4i64_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4i64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_q : GCCBuiltin<"__builtin_ia32_gatherq_q">,
|
||||||
|
Intrinsic<[llvm_v2i64_ty],
|
||||||
|
[llvm_v2i64_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v2i64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_q_256 : GCCBuiltin<"__builtin_ia32_gatherq_q256">,
|
||||||
|
Intrinsic<[llvm_v4i64_ty],
|
||||||
|
[llvm_v4i64_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4i64_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_d : GCCBuiltin<"__builtin_ia32_gatherd_d">,
|
||||||
|
Intrinsic<[llvm_v4i32_ty],
|
||||||
|
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v4i32_ty, llvm_v4i32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_d_d_256 : GCCBuiltin<"__builtin_ia32_gatherd_d256">,
|
||||||
|
Intrinsic<[llvm_v8i32_ty],
|
||||||
|
[llvm_v8i32_ty, llvm_ptr_ty, llvm_v8i32_ty, llvm_v8i32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_d : GCCBuiltin<"__builtin_ia32_gatherq_d">,
|
||||||
|
Intrinsic<[llvm_v4i32_ty],
|
||||||
|
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v2i64_ty, llvm_v4i32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx2_gather_q_d_256 : GCCBuiltin<"__builtin_ia32_gatherq_d256">,
|
||||||
|
Intrinsic<[llvm_v4i32_ty],
|
||||||
|
[llvm_v4i32_ty, llvm_ptr_ty, llvm_v4i64_ty, llvm_v4i32_ty, llvm_i8_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Misc.
|
||||||
|
@@ -2974,28 +2974,28 @@
|
||||||
|
def int_x86_avx512_gather_dpd_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherdpd512">,
|
||||||
|
Intrinsic<[llvm_v8f64_ty], [llvm_v8f64_ty, llvm_i8_ty,
|
||||||
|
llvm_v8i32_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_dps_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherdps512">,
|
||||||
|
Intrinsic<[llvm_v16f32_ty], [llvm_v16f32_ty, llvm_i16_ty,
|
||||||
|
llvm_v16i32_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_qpd_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherqpd512">,
|
||||||
|
Intrinsic<[llvm_v8f64_ty], [llvm_v8f64_ty, llvm_i8_ty,
|
||||||
|
llvm_v8i64_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_qps_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherqps512">,
|
||||||
|
Intrinsic<[llvm_v8f32_ty], [llvm_v8f32_ty, llvm_i8_ty,
|
||||||
|
llvm_v8i64_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
|
||||||
|
def int_x86_avx512_gather_dpd_512 : GCCBuiltin<"__builtin_ia32_gatherdpd512">,
|
||||||
|
Intrinsic<[llvm_v8f64_ty], [llvm_v8i32_ty, llvm_ptr_ty,
|
||||||
|
llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_dps_512 : GCCBuiltin<"__builtin_ia32_gatherdps512">,
|
||||||
|
Intrinsic<[llvm_v16f32_ty], [llvm_v16i32_ty, llvm_ptr_ty,
|
||||||
|
llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_qpd_512 : GCCBuiltin<"__builtin_ia32_gatherqpd512">,
|
||||||
|
Intrinsic<[llvm_v8f64_ty], [llvm_v8i64_ty, llvm_ptr_ty,
|
||||||
|
llvm_i32_ty],
|
||||||
|
@@ -3003,12 +3003,12 @@
|
||||||
|
def int_x86_avx512_gather_qps_512 : GCCBuiltin<"__builtin_ia32_gatherqps512">,
|
||||||
|
Intrinsic<[llvm_v8f32_ty], [llvm_v8i64_ty, llvm_ptr_ty,
|
||||||
|
llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
|
||||||
|
def int_x86_avx512_gather_dpq_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherdpq512">,
|
||||||
|
Intrinsic<[llvm_v8i64_ty], [llvm_v8i64_ty, llvm_i8_ty,
|
||||||
|
llvm_v8i32_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
def int_x86_avx512_gather_dpi_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherdpi512">,
|
||||||
|
Intrinsic<[llvm_v16i32_ty], [llvm_v16i32_ty, llvm_i16_ty,
|
||||||
|
llvm_v16i32_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
@@ -3020,7 +3020,7 @@
|
||||||
|
def int_x86_avx512_gather_qpi_mask_512 : GCCBuiltin<"__builtin_ia32_mask_gatherqpi512">,
|
||||||
|
Intrinsic<[llvm_v8i32_ty], [llvm_v8i32_ty, llvm_i8_ty,
|
||||||
|
llvm_v8i64_ty, llvm_ptr_ty, llvm_i32_ty],
|
||||||
|
- [IntrReadMem]>;
|
||||||
|
+ [IntrReadArgMem]>;
|
||||||
|
|
||||||
|
def int_x86_avx512_gather_dpq_512 : GCCBuiltin<"__builtin_ia32_gatherdpq512">,
|
||||||
|
Intrinsic<[llvm_v8i64_ty], [llvm_v8i32_ty, llvm_ptr_ty,
|
||||||
@@ -2048,6 +2048,9 @@ void
|
|||||||
Module::execPreprocessor(const char *infilename, llvm::raw_string_ostream *ostream) const
|
Module::execPreprocessor(const char *infilename, llvm::raw_string_ostream *ostream) const
|
||||||
{
|
{
|
||||||
clang::CompilerInstance inst;
|
clang::CompilerInstance inst;
|
||||||
|
#if defined(LLVM_3_5)
|
||||||
|
inst.createVirtualFileSystem();
|
||||||
|
#endif
|
||||||
inst.createFileManager();
|
inst.createFileManager();
|
||||||
|
|
||||||
llvm::raw_fd_ostream stderrRaw(2, false);
|
llvm::raw_fd_ostream stderrRaw(2, false);
|
||||||
|
|||||||
53
opt.cpp
53
opt.cpp
@@ -884,24 +884,29 @@ IntrinsicsOpt::IntrinsicsOpt()
|
|||||||
// All of the mask instructions we may encounter. Note that even if
|
// All of the mask instructions we may encounter. Note that even if
|
||||||
// compiling for AVX, we may still encounter the regular 4-wide SSE
|
// compiling for AVX, we may still encounter the regular 4-wide SSE
|
||||||
// MOVMSK instruction.
|
// MOVMSK instruction.
|
||||||
llvm::Function *ssei8Movmsk =
|
if (llvm::Function *ssei8Movmsk =
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_sse2_pmovmskb_128);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_sse2_pmovmskb_128))) {
|
||||||
maskInstructions.push_back(ssei8Movmsk);
|
maskInstructions.push_back(ssei8Movmsk);
|
||||||
llvm::Function *sseFloatMovmsk =
|
}
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_sse_movmsk_ps);
|
if (llvm::Function *sseFloatMovmsk =
|
||||||
maskInstructions.push_back(sseFloatMovmsk);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_sse_movmsk_ps))) {
|
||||||
maskInstructions.push_back(m->module->getFunction("__movmsk"));
|
maskInstructions.push_back(sseFloatMovmsk);
|
||||||
llvm::Function *avxFloatMovmsk =
|
}
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_movmsk_ps_256);
|
if (llvm::Function *__movmsk =
|
||||||
Assert(avxFloatMovmsk != NULL);
|
m->module->getFunction("__movmsk")) {
|
||||||
maskInstructions.push_back(avxFloatMovmsk);
|
maskInstructions.push_back(__movmsk);
|
||||||
|
}
|
||||||
|
if (llvm::Function *avxFloatMovmsk =
|
||||||
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_movmsk_ps_256))) {
|
||||||
|
maskInstructions.push_back(avxFloatMovmsk);
|
||||||
|
}
|
||||||
|
|
||||||
// And all of the blend instructions
|
// And all of the blend instructions
|
||||||
blendInstructions.push_back(BlendInstruction(
|
blendInstructions.push_back(BlendInstruction(
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_sse41_blendvps),
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_sse41_blendvps)),
|
||||||
0xf, 0, 1, 2));
|
0xf, 0, 1, 2));
|
||||||
blendInstructions.push_back(BlendInstruction(
|
blendInstructions.push_back(BlendInstruction(
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_blendv_ps_256),
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_blendv_ps_256)),
|
||||||
0xff, 0, 1, 2));
|
0xff, 0, 1, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -933,15 +938,13 @@ IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
|
|||||||
DEBUG_START_PASS("IntrinsicsOpt");
|
DEBUG_START_PASS("IntrinsicsOpt");
|
||||||
|
|
||||||
llvm::Function *avxMaskedLoad32 =
|
llvm::Function *avxMaskedLoad32 =
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_maskload_ps_256);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_maskload_ps_256));
|
||||||
llvm::Function *avxMaskedLoad64 =
|
llvm::Function *avxMaskedLoad64 =
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_maskload_pd_256);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_maskload_pd_256));
|
||||||
llvm::Function *avxMaskedStore32 =
|
llvm::Function *avxMaskedStore32 =
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_maskstore_ps_256);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_maskstore_ps_256));
|
||||||
llvm::Function *avxMaskedStore64 =
|
llvm::Function *avxMaskedStore64 =
|
||||||
llvm::Intrinsic::getDeclaration(m->module, llvm::Intrinsic::x86_avx_maskstore_pd_256);
|
m->module->getFunction(llvm::Intrinsic::getName(llvm::Intrinsic::x86_avx_maskstore_pd_256));
|
||||||
Assert(avxMaskedLoad32 != NULL && avxMaskedStore32 != NULL);
|
|
||||||
Assert(avxMaskedLoad64 != NULL && avxMaskedStore64 != NULL);
|
|
||||||
|
|
||||||
bool modifiedAny = false;
|
bool modifiedAny = false;
|
||||||
restart:
|
restart:
|
||||||
@@ -1108,20 +1111,24 @@ IntrinsicsOpt::runOnBasicBlock(llvm::BasicBlock &bb) {
|
|||||||
|
|
||||||
bool
|
bool
|
||||||
IntrinsicsOpt::matchesMaskInstruction(llvm::Function *function) {
|
IntrinsicsOpt::matchesMaskInstruction(llvm::Function *function) {
|
||||||
for (unsigned int i = 0; i < maskInstructions.size(); ++i)
|
for (unsigned int i = 0; i < maskInstructions.size(); ++i) {
|
||||||
if (maskInstructions[i].function != NULL &&
|
if (maskInstructions[i].function != NULL &&
|
||||||
function == maskInstructions[i].function)
|
function == maskInstructions[i].function) {
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
IntrinsicsOpt::BlendInstruction *
|
IntrinsicsOpt::BlendInstruction *
|
||||||
IntrinsicsOpt::matchingBlendInstruction(llvm::Function *function) {
|
IntrinsicsOpt::matchingBlendInstruction(llvm::Function *function) {
|
||||||
for (unsigned int i = 0; i < blendInstructions.size(); ++i)
|
for (unsigned int i = 0; i < blendInstructions.size(); ++i) {
|
||||||
if (blendInstructions[i].function != NULL &&
|
if (blendInstructions[i].function != NULL &&
|
||||||
function == blendInstructions[i].function)
|
function == blendInstructions[i].function) {
|
||||||
return &blendInstructions[i];
|
return &blendInstructions[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
2
perf.py
2
perf.py
@@ -533,7 +533,7 @@ def perf(options1, args):
|
|||||||
A = print_answer(answer, target_number)
|
A = print_answer(answer, target_number)
|
||||||
if options.ref != "":
|
if options.ref != "":
|
||||||
print_debug("\n\nREFERENCE COMPILER:\n", s, perf_log)
|
print_debug("\n\nREFERENCE COMPILER:\n", s, perf_log)
|
||||||
B = print_answer(answer_ref)
|
B = print_answer(answer_ref, target_number)
|
||||||
# print perf report
|
# print perf report
|
||||||
compare(A,B)
|
compare(A,B)
|
||||||
|
|
||||||
|
|||||||
142
stdlib.ispc
142
stdlib.ispc
@@ -57,8 +57,6 @@
|
|||||||
#error Unknown value of ISPC_MASK_BITS
|
#error Unknown value of ISPC_MASK_BITS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// CUDA Specific primitives
|
// CUDA Specific primitives
|
||||||
//
|
//
|
||||||
@@ -82,6 +80,44 @@ __declspec(safe,cost0) static inline uniform int __taskCount1() { return __task_
|
|||||||
__declspec(safe,cost0) static inline uniform int __taskCount2() { return __task_count2(); }
|
__declspec(safe,cost0) static inline uniform int __taskCount2() { return __task_count2(); }
|
||||||
__declspec(safe,cost0) static inline uniform int __taskCount () { return __task_count (); }
|
__declspec(safe,cost0) static inline uniform int __taskCount () { return __task_count (); }
|
||||||
|
|
||||||
|
/* Limits of integral types. */
|
||||||
|
#ifndef INT8_MAX
|
||||||
|
#define INT8_MAX (127)
|
||||||
|
#endif
|
||||||
|
#ifndef INT16_MAX
|
||||||
|
#define INT16_MAX (32767)
|
||||||
|
#endif
|
||||||
|
#ifndef INT32_MAX
|
||||||
|
#define INT32_MAX (2147483647)
|
||||||
|
#endif
|
||||||
|
#ifndef INT64_MAX
|
||||||
|
#define INT64_MAX (9223372036854775807)
|
||||||
|
#endif
|
||||||
|
#ifndef UINT8_MAX
|
||||||
|
#define UINT8_MAX (255)
|
||||||
|
#endif
|
||||||
|
#ifndef UINT16_MAX
|
||||||
|
#define UINT16_MAX (65535)
|
||||||
|
#endif
|
||||||
|
#ifndef UINT32_MAX
|
||||||
|
#define UINT32_MAX (4294967295)
|
||||||
|
#endif
|
||||||
|
#ifndef UINT64_MAX
|
||||||
|
#define UINT64_MAX (18446744073709551615)
|
||||||
|
#endif
|
||||||
|
#ifndef INT8_MIN
|
||||||
|
#define INT8_MIN (-INT8_MAX - 1)
|
||||||
|
#endif
|
||||||
|
#ifndef INT16_MIN
|
||||||
|
#define INT16_MIN (-INT16_MAX - 1)
|
||||||
|
#endif
|
||||||
|
#ifndef INT32_MIN
|
||||||
|
#define INT32_MIN (-INT32_MAX - 1)
|
||||||
|
#endif
|
||||||
|
#ifndef INT64_MIN
|
||||||
|
#define INT64_MIN (-INT64_MAX - 1)
|
||||||
|
#endif
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// Low level primitives
|
// Low level primitives
|
||||||
|
|
||||||
@@ -4414,6 +4450,108 @@ static inline void fastmath() {
|
|||||||
__fastmath();
|
__fastmath();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
// saturation arithmetic
|
||||||
|
|
||||||
|
static inline uniform int8 saturating_add(uniform int8 a, uniform int8 b) {
|
||||||
|
uniform unsigned int8 a_unsig = a, b_unsig = b;
|
||||||
|
uniform unsigned int8 result = a_unsig + b_unsig;
|
||||||
|
a_unsig = (a_unsig >> 7) + INT8_MAX;
|
||||||
|
if ((uniform int8) ((a_unsig ^ b_unsig) | ~(b_unsig ^ result)) >= 0)
|
||||||
|
result = a_unsig;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying int8 saturating_add(varying int8 a, varying int8 b) {
|
||||||
|
return __padds_vi8(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform int16 saturating_add(uniform int16 a, uniform int16 b) {
|
||||||
|
uniform unsigned int16 a_unsig = a, b_unsig = b;
|
||||||
|
uniform unsigned int16 result = a_unsig + b_unsig;
|
||||||
|
a_unsig = (a_unsig >> 15) + INT16_MAX;
|
||||||
|
if ((uniform int16) ((a_unsig ^ b_unsig) | ~(b_unsig ^ result)) >= 0)
|
||||||
|
result = a_unsig;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying int16 saturating_add(varying int16 a, varying int16 b) {
|
||||||
|
return __padds_vi16(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform unsigned int8 saturating_add(uniform unsigned int8 a,
|
||||||
|
uniform unsigned int8 b) {
|
||||||
|
uniform unsigned int8 result = a + b;
|
||||||
|
result |= (-(uniform int8)(result < a));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying unsigned int8 saturating_add(varying unsigned int8 a,
|
||||||
|
varying unsigned int8 b) {
|
||||||
|
return __paddus_vi8(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform unsigned int16 saturating_add(uniform unsigned int16 a,
|
||||||
|
uniform unsigned int16 b) {
|
||||||
|
uniform unsigned int16 result = a + b;
|
||||||
|
result |= (-(uniform int16)(result < a));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying unsigned int16 saturating_add(varying unsigned int16 a,
|
||||||
|
varying unsigned int16 b) {
|
||||||
|
return __paddus_vi16(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform int8 saturating_sub(uniform int8 a, uniform int8 b) {
|
||||||
|
uniform unsigned int8 a_unsig = a, b_unsig = b;
|
||||||
|
uniform unsigned int8 result = a_unsig - b_unsig;
|
||||||
|
a_unsig = (a_unsig >> 7) + INT8_MAX;
|
||||||
|
if ((uniform int8) ((a_unsig ^ b_unsig) & (a_unsig ^ result)) < 0)
|
||||||
|
result = a_unsig;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying int8 saturating_sub(varying int8 a, varying int8 b) {
|
||||||
|
return __psubs_vi8(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform int16 saturating_sub(uniform int16 a, uniform int16 b) {
|
||||||
|
uniform unsigned int16 a_unsig = a, b_unsig = b;
|
||||||
|
uniform unsigned int16 result = a_unsig - b_unsig;
|
||||||
|
a_unsig = (a_unsig >> 15) + INT16_MAX;
|
||||||
|
if ((uniform int16) ((a_unsig ^ b_unsig) & (a_unsig ^ result)) < 0)
|
||||||
|
result = a_unsig;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying int16 saturating_sub(varying int16 a, varying int16 b) {
|
||||||
|
return __psubs_vi16(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform unsigned int8 saturating_sub(uniform unsigned int8 a,
|
||||||
|
uniform unsigned int8 b) {
|
||||||
|
uniform unsigned int8 result = a - b;
|
||||||
|
result &= (-(uniform int8)(result <= a));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying unsigned int8 saturating_sub(varying unsigned int8 a,
|
||||||
|
varying unsigned int8 b) {
|
||||||
|
return __psubus_vi8(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline uniform unsigned int16 saturating_sub(uniform unsigned int16 a,
|
||||||
|
uniform unsigned int16 b) {
|
||||||
|
uniform unsigned int16 result = a - b;
|
||||||
|
result &= (-(uniform int16)(result <= a));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline varying unsigned int16 saturating_sub(varying unsigned int16 a,
|
||||||
|
varying unsigned int16 b) {
|
||||||
|
return __psubus_vi16(a, b);
|
||||||
|
}
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
// rdrand
|
// rdrand
|
||||||
|
|
||||||
|
|||||||
27
tests/padds_i16.ispc
Normal file
27
tests/padds_i16.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform int16 a_max = 32767, a_min = -32768; // max and min signed int16
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_add(a_min, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (uniform int16) 32767;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (uniform int16) -32768;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform int16) -32763;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/padds_i8.ispc
Normal file
27
tests/padds_i8.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform int8 a_max = 127, a_min = -128; // max and min signed int8
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_add(a_min, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (uniform int8) 127;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (uniform int8) -128;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform int8) -123;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/padds_vi16.ispc
Normal file
27
tests/padds_vi16.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying int16 a_max = 32767, a_min = -32768; // max and min signed int16
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_add(a_min, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (varying int16) 32767;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (varying int16) -32768;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying int16) -32763;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/padds_vi8.ispc
Normal file
27
tests/padds_vi8.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying int8 a_max = 127, a_min = -128; // max and min signed int8
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_add(a_min, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (varying int8) 127;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (varying int8) -128;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying int8) -123;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/paddus_i16.ispc
Normal file
21
tests/paddus_i16.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform unsigned int16 a_max = 65535, a_min = 0; // max and min unsigned int16
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (uniform unsigned int16) 65535;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform unsigned int16) 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/paddus_i8.ispc
Normal file
21
tests/paddus_i8.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform unsigned int8 a_max = 255, a_min = 0; // max and min unsigned int8
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (uniform unsigned int8) 255;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform unsigned int8) 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/paddus_vi16.ispc
Normal file
21
tests/paddus_vi16.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying unsigned int16 a_max = 65535, a_min = 0; // max and min unsigned int16
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (varying unsigned int16) 65535;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying unsigned int16) 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
22
tests/paddus_vi8.ispc
Normal file
22
tests/paddus_vi8.ispc
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying unsigned int8 a_max = 255, a_min = 0; // max and min signed int8
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_add(a_max, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_add(a_min, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (varying unsigned int8) 255;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying unsigned int8) 5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
27
tests/psubs_i16.ispc
Normal file
27
tests/psubs_i16.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform int16 a_max = 32767, a_min = -32768; // max and min signed int16
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (uniform int16) -32768;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (uniform int16) 32767;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform int16) 32762;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/psubs_i8.ispc
Normal file
27
tests/psubs_i8.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform int8 a_max = 127, a_min = -128; // max and min signed int8
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (uniform int8) -128;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (uniform int8) 127;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform int8) 122;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/psubs_vi16.ispc
Normal file
27
tests/psubs_vi16.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying int16 a_max = 32767, a_min = -32768; // max and min signed int16
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (varying int16) -32768;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (varying int16) 32767;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying int16) 32762;
|
||||||
|
}
|
||||||
|
}
|
||||||
27
tests/psubs_vi8.ispc
Normal file
27
tests/psubs_vi8.ispc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying int8 a_max = 127, a_min = -128; // max and min signed int8
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, -b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 3 == 0) {
|
||||||
|
RET[programIndex] = (varying int8) -128;
|
||||||
|
}
|
||||||
|
else if (programIndex % 3 == 1) {
|
||||||
|
RET[programIndex] = (varying int8) 127;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying int8) 122;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/psubus_i16.ispc
Normal file
21
tests/psubus_i16.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform unsigned int16 a_max = 65535, a_min = 0; // max and min unsigned int16
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (uniform unsigned int16) 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform unsigned int16) 65530;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/psubus_i8.ispc
Normal file
21
tests/psubus_i8.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
uniform unsigned int8 a_max = 255, a_min = 0; // max and min unsigned int8
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (uniform unsigned int8) 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (uniform unsigned int8) 250;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/psubus_vi16.ispc
Normal file
21
tests/psubus_vi16.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying unsigned int16 a_max = 65535, a_min = 0; // max and min unsigned int16
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (varying unsigned int16) 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying unsigned int16) 65530;
|
||||||
|
}
|
||||||
|
}
|
||||||
21
tests/psubus_vi8.ispc
Normal file
21
tests/psubus_vi8.ispc
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
export uniform int width() { return programCount; }
|
||||||
|
|
||||||
|
export void f_fu(uniform float RET[], uniform float aFOO[], uniform float b) {
|
||||||
|
varying unsigned int8 a_max = 255, a_min = 0; // max and min signed int8
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = saturating_sub(a_min, b);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = saturating_sub(a_max, b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export void result(uniform float RET[]) {
|
||||||
|
if (programIndex % 2 == 0) {
|
||||||
|
RET[programIndex] = (varying unsigned int8) 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
RET[programIndex] = (varying unsigned int8) 250;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user