Jonas Maebe
1f5efe2a95
* support for constrained sitofp/uitofp with (the upcoming) LLVM 10.0
...
(fixes most of test/units/math/troundm, although there's still an LLVM
optimizer/code generation bug that breaks some qword -> double
conversions)
git-svn-id: trunk@43829 -
2019-12-31 18:05:54 +00:00
Jonas Maebe
9b53ed53e3
* the llvm.experimental.constrained.fpext intrinsic doesn't have a rounding
...
mode parameter
git-svn-id: trunk@43828 -
2019-12-31 18:05:50 +00:00
Jonas Maebe
a6a17efa42
* use LLVM constrained fpext/fptrunc intrinsics when fastmath is not enabled
...
for accurate exception behaviour
git-svn-id: trunk@43820 -
2019-12-30 15:05:13 +00:00
Jonas Maebe
797077855e
* use constrained LLVM fp intrinsics for add/sub/mul/slash/fma/sqrt
...
operations when fastmath is not enabled
git-svn-id: trunk@43819 -
2019-12-30 15:05:09 +00:00
Jonas Maebe
789f13eb24
* LLVM-specific support for popcnt
...
git-svn-id: trunk@42311 -
2019-06-30 15:23:36 +00:00
Jonas Maebe
0a91fcb44f
* LLVM-specific support for bsr*/bsf*
...
git-svn-id: trunk@42309 -
2019-06-29 16:27:18 +00:00
Jonas Maebe
3b254affb7
* support for the individual alignment flags for the memcpy intrinsic of
...
LLVM 7.0
git-svn-id: branches/debug_eh@41728 -
2019-03-17 15:28:23 +00:00
Jonas Maebe
31c047adf8
* synchronised with trunk till r40605
...
git-svn-id: branches/debug_eh@40606 -
2018-12-21 20:58:16 +00:00
Jonas Maebe
4f72edcdd5
+ LLVM support for the FMA intrinsics
...
git-svn-id: trunk@40604 -
2018-12-21 20:57:19 +00:00
Jonas Maebe
b41cd1eb6a
* synchronised with trunk till r40575
...
git-svn-id: branches/debug_eh@40576 -
2018-12-16 20:45:55 +00:00
Jonas Maebe
2330164ee2
+ internal sqrt support for LLVM (faster on all platforms, necessary on
...
platforms that don't have RTL support for it, as the the generic
fpc_sqrt_real just calls runerror)
git-svn-id: trunk@40575 -
2018-12-16 20:44:41 +00:00
Jonas Maebe
440026bb25
* synchronised with trunk till r40503
...
git-svn-id: branches/debug_eh@40504 -
2018-12-08 15:33:36 +00:00
Jonas Maebe
14f3676b2a
+ llvm_lifetime_start/llvm_lifetime_end intrinsic declarations
...
git-svn-id: trunk@40500 -
2018-12-08 15:31:45 +00:00
Jonas Maebe
df0a126064
* abstracted rest of the generic exception handling code through the
...
texceptionstatehandler class + llvm overrides
+ added FPC_DummyPotentialRaise routine that gets called at the begin and end
of try-blocks to be able to catch hardware exceptions to a limited extent
with LLVM
git-svn-id: branches/debug_eh@40418 -
2018-11-29 21:31:40 +00:00
Jonas Maebe
9d2bba1917
* create a separate type and def for the LLVM "i1" type, because reusing
...
pasbool8type for this results in too much trouble (we mustn't use i1
for parameters, because then LLVM will try to apply the ABI convention
for passing "1 bit" values, or in records because then this may
result in unwanted bitpacking). Downside: the new LLVMBool1 type is
also exposed in the system unit, because we need it to define LLVM
intrinsics...
git-svn-id: trunk@33726 -
2016-05-20 20:51:44 +00:00
Jonas Maebe
677595880a
+ support for get_frame() for the LLVM target (using the llvm.frameaddress()
...
intrinsic)
git-svn-id: trunk@31409 -
2015-08-24 22:07:03 +00:00
Jonas Maebe
e2da416270
+ new file for llvm intrinsics (using external compilerprocs)
...
git-svn-id: trunk@31407 -
2015-08-24 22:06:56 +00:00