Fixed AVX-512 IR incompatibility issue

This commit is contained in:
Anton Mitrokhin
2015-08-17 19:06:57 +03:00
parent 4c3e5c0d2b
commit 7448ee97f2
2 changed files with 11 additions and 1 deletions

View File

@@ -1332,6 +1332,7 @@ DefineStdlib(SymbolTable *symbolTable, llvm::LLVMContext *ctx, llvm::Module *mod
}
break;
}
#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7+
case Target::KNL_AVX512: {
switch (g->target->getVectorWidth()) {
case 16:
@@ -1347,6 +1348,7 @@ DefineStdlib(SymbolTable *symbolTable, llvm::LLVMContext *ctx, llvm::Module *mod
}
break;
}
#endif
case Target::GENERIC: {
switch (g->target->getVectorWidth()) {
case 4:

View File

@@ -30,5 +30,13 @@
;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
define(`WIDTH',`16')
include(`target-avx512-common.ll')
ifelse(LLVM_VERSION, LLVM_3_7,
`include(`target-avx512-common.ll')',
LLVM_VERSION, LLVM_3_8,
`include(`target-avx512-common.ll')'
)
;;saturation_arithmetic_novec()