mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-18 00:20:30 +00:00
Get codebase completely working with LLVM
You can now build Cosmopolitan with Clang: make -j8 MODE=llvm o/llvm/examples/hello.com The assembler and linker code is now friendly to LLVM too. So it's not needed to configure Clang to use binutils under the hood. If you love LLVM then you can now use pure LLVM.
This commit is contained in:
parent
0e36cb3ac4
commit
e75ffde09e
4528 changed files with 7776 additions and 11640 deletions
|
@ -18,18 +18,18 @@
|
|||
╚─────────────────────────────────────────────────────────────────────────────*/
|
||||
#include "libc/macros.h"
|
||||
|
||||
/ Computes Phil Katz CRC-32 w/ carryless multiply isa.
|
||||
/
|
||||
/ This is support code that's abstracted by crc32_z().
|
||||
/
|
||||
/ @param edi is initial value
|
||||
/ @param rsi points to buffer
|
||||
/ @param rdx is bytes in buffer that's >=64 and %16==0
|
||||
/ @return eax is crc32
|
||||
/ @note needs Westmere (c.2010) or Bulldozer (c.2011)
|
||||
/ @see “Fast CRC Computation for Generic Polynomials Using
|
||||
/ PCLMULQDQ Instruction” V. Gopal, E. Ozturk, et al.,
|
||||
/ 2009, intel.ly/2ySEwL0
|
||||
// Computes Phil Katz CRC-32 w/ carryless multiply isa.
|
||||
//
|
||||
// This is support code that's abstracted by crc32_z().
|
||||
//
|
||||
// @param edi is initial value
|
||||
// @param rsi points to buffer
|
||||
// @param rdx is bytes in buffer that's >=64 and %16==0
|
||||
// @return eax is crc32
|
||||
// @note needs Westmere (c.2010) or Bulldozer (c.2011)
|
||||
// @see “Fast CRC Computation for Generic Polynomials Using
|
||||
// PCLMULQDQ Instruction” V. Gopal, E. Ozturk, et al.,
|
||||
// 2009, intel.ly/2ySEwL0
|
||||
crc32_pclmul:
|
||||
.leafprologue
|
||||
.profilable
|
||||
|
@ -139,8 +139,8 @@ crc32_pclmul:
|
|||
.endfn crc32_pclmul,globl,hidden
|
||||
.source __FILE__
|
||||
|
||||
/ Definitions of the bit-reflected domain constants k1,k2,k3, etc.
|
||||
/ and the CRC32+Barrett polynomials given at the end of the paper.
|
||||
// Definitions of the bit-reflected domain constants k1,k2,k3, etc.
|
||||
// and the CRC32+Barrett polynomials given at the end of the paper.
|
||||
.rodata.cst16
|
||||
.Lk1k2: .quad 0x0000000154442bd4
|
||||
.quad 0x00000001c6e41596
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue