Andrei Tatar [Mon, 17 Jul 2023 13:39:32 +0000 (15:39 +0200)]
Remove GCC compatibility adaptations
This change removes code changes meant for compatibility with GCC,
reverting the headers to ones released with LLVM 7.0.1.
This is in anticipation of an update of upstream code, as well as a
rework of compiler compatibility.
Signed-off-by: Andrei Tatar <andrei@unikraft.io> Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com> Reviewed-by: Radu Nichita <radunichita99@gmail.com> Approved-by: Razvan Deaconescu <razvand@unikraft.io> Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #3
Andrei Tatar [Mon, 17 Jul 2023 11:55:23 +0000 (13:55 +0200)]
build: Remove CPU feature config options
This change removes the Kconfig options selecting CPU feature set (i.e.,
`-march=` compiler flag) from the configuration of this library.
CPU feature flags are set elsewhere in the build configuration and the
intrinsics library can already seamlessly pick up these features via
preprocessor defines.
Signed-off-by: Andrei Tatar <andrei@unikraft.io> Reviewed-by: Maria Sfiraiala <maria.sfiraiala@gmail.com> Reviewed-by: Radu Nichita <radunichita99@gmail.com> Approved-by: Razvan Deaconescu <razvand@unikraft.io> Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #3
Simon Kuenzer [Tue, 13 Jul 2021 19:16:43 +0000 (21:16 +0200)]
Correct license headers introduced by University Politehnica of Bucharest
This commit removes the additional clause
"THIS HEADER MAY NOT BE EXTRACTED OR MODIFIED IN ANY WAY"
from BSD license headers that got introduced by mistake
with the following commits: 4dcfbc1 - Initial port of Intel Intrinsics on Unikraft (Vlad-Andrei BĂDOIU (78692))
On the one hand, this additional clause is redundant because
the BSD license already states that it must remain and the
copyright notice must be kept.
On the other hand, the clause freezes the file header
and prohibits future contributors from extending the
copyright notice for their contributions. This additional
clause is not part of the official BSD 3-clause.
The original author(s) or an authorized representative from
the author's affiliation consents to the change with a
`Reviewed-by` tag to this commit.
Signed-off-by: Simon Kuenzer <simon.kuenzer@neclab.eu> Reviewed-by: Razvan Deaconescu <razvan.deaconescu@cs.pub.ro>
Sharan Santhanam [Sat, 15 Jun 2019 21:29:14 +0000 (23:29 +0200)]
_mm_alignr_epi8 to use compiler builtin
_mm_alignr_epi8 uses the __builtin_ia32_palignr128 function for its
implementation. The builtin function has a different signature on
gcc vs llvm. We provide compiler guards to use the appropriate builtin
function.
This is our initial port of intel intrinsics to Unikraft as an external library.
This release is based on the LLVM headers which were adapted to work on Unikraft
with GCC.
The library now works with GCC 6+.
Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@stud.acs.upb.ro> Reviewed-by: Felipe Huici <felipe.huici@neclab.eu>