llvmfeatures.pas 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. {
  2. Copyright (c) 2020 by Jonas Maebe
  3. Basic Processor information for LLVM
  4. This program is free software; you can redistribute it and/or modify
  5. it under the terms of the GNU General Public License as published by
  6. the Free Software Foundation; either version 2 of the License, or
  7. (at your option) any later version.
  8. This program is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. GNU General Public License for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with this program; if not, write to the Free Software
  14. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  15. ****************************************************************************
  16. }
  17. {$i fpcdefs.inc}
  18. unit llvmfeatures;
  19. interface
  20. function llvm_constrained_si64tofp_support: boolean;
  21. implementation
  22. uses
  23. globals,
  24. llvminfo;
  25. function llvm_constrained_si64tofp_support: boolean;
  26. begin
  27. {$if defined(i386) or defined(x86_64)}
  28. { LLVM has a custom implementation for these platforms }
  29. result:=true;
  30. {$else}
  31. result:=llvmflag_generic_constrained_si64tofp in llvmversion_properties[current_settings.llvmversion];
  32. {$endif}
  33. end;
  34. end.