18 Commits

Author SHA1 Message Date
Dmitry Babokin
6d649e1dff Enabling LLVM 5.0 and making fixes to track changes in LLVM for the past
couple months.
The changes are tested with LLVM 3.9, 4.0 and trunk on MacOS (sse4,
avx2, skx).
2017-03-01 11:10:34 -08:00
Dmitry Babokin
45b306480e -Adding support for LLVM 4.0
-Switching 3.9 support to branch/release_39
-Switching 3.8 support to tags/release_381
2016-07-20 22:16:50 +03:00
Dmitry Babokin
f6dbffd58c Updating copyright dates for recently modified files 2016-02-04 15:14:19 +03:00
Dmitry Babokin
536b30e12c LLVM 3.9 version support 2016-01-14 17:26:38 +03:00
Andrey Shishpanov
415f2e938c some fixes for trunk 3.8 2015-07-17 14:27:28 +03:00
Vsevolod Livinskiy
35222694e5 [AVX512]: knl target was added 2015-05-21 14:49:43 +03:00
Dmitry Babokin
ad97d70a43 Adding check for OSXSAVE before checking xgetbv in cpu detection code.
Fix for #1026
2015-04-24 21:28:06 +03:00
Dmitry Babokin
8e47273186 Copyright refresh 2015-04-22 16:39:11 +03:00
Vsevolod Livinskiy
7729070481 Check for new isa for KNL and SKX was added. 2015-04-17 12:00:36 +03:00
Vsevolod Livinskiy
f92d351cf0 Some codestyle changes 2015-03-05 18:04:39 +03:00
Vsevolod Livinskiy
f0aa481a2a DataLayoutPass was removed 2015-03-05 17:09:39 +03:00
Vsevolod Livinskiy
a216b2bb9c New LLVM IR load instruction 2015-03-05 16:00:30 +03:00
Anton Mitrokhin
d0c9b7c9b5 wiped out all LLVM 3.1 support 2014-08-01 14:54:08 +04:00
Dmitry Babokin
43245bbc11 Adding check for OS AVX support to auto-dispatch code 2013-09-19 15:39:56 +04:00
Matt Pharr
371d4be8ef Fix bugs in detection of Ivy Bridge systems.
We were incorrectly characterizing them as basic AVX1 without further
extensions, due to a bug in the logic to check CPU features.
2012-07-12 14:11:15 -07:00
Matt Pharr
6c7df4cb6b Add initial support for "avx1.1" targets for Ivy Bridge.
So far, only the use of the float/half conversion instructions distinguishes
this from the "avx1" target.

Partial work on issue #263.
2012-06-08 15:55:00 -07:00
Matt Pharr
652215861e Update dynamic target dispatch code to support AVX2. 2012-01-12 08:37:18 -08:00
Matt Pharr
1d9201fe3d Add "generic" 4, 8, and 16-wide targets.
When used, these targets end up with calls to undefined functions for all
of the various special vector stuff ispc needs to compile ispc programs
(masked store, gather, min/max, sqrt, etc.).

These targets are not yet useful for anything, but are a step toward
having an option to C++ code with calls out to intrinsics.

Reorganized the directory structure a bit and put the LLVM bitcode used
to define target-specific stuff (as well as some generic built-ins stuff)
into a builtins/ directory.

Note that for building on Windows, it's now necessary to set a LLVM_VERSION
environment variable (with values like LLVM_2_9, LLVM_3_0, LLVM_3_1svn, etc.)
2011-12-19 13:46:50 -08:00