From 05b8f8237112dd0aa107273d7666cbb7b5d31540 Mon Sep 17 00:00:00 2001 From: Justine Tunney Date: Thu, 11 Aug 2022 12:13:18 -0700 Subject: [PATCH] Fold LIBC_BITS into LIBC_INTRIN --- Makefile | 4 - ape/ape.mk | 2 +- dsp/core/scalevolume.c | 4 +- dsp/core/unmulaw.c | 2 +- dsp/mpeg/mpeg1.c | 2 +- dsp/tty/hidecursor.c | 2 +- dsp/tty/ident.c | 4 +- dsp/tty/internal.h | 2 +- dsp/tty/itoa8.c | 4 +- dsp/tty/quant.h | 4 +- dsp/tty/rgb2ansi.c | 2 +- dsp/tty/rgb2ttyf2i.c | 2 +- dsp/tty/ttymove.c | 2 +- dsp/tty/ttyquant.c | 2 +- dsp/tty/ttyraster.c | 4 +- examples/auto-memory-safety-crash.c | 2 +- examples/auto-memory-safety-crash2.c | 2 +- examples/auto-memory-safety-crash3.c | 2 +- examples/cplusplus.cc | 2 +- examples/curl.c | 2 +- examples/examples.mk | 1 - examples/getrandom.c | 2 +- examples/greenbean.c | 2 +- examples/ispell.c | 2 +- examples/lstime.c | 2 +- examples/nesemu1.cc | 4 +- examples/ttyaudio.c | 2 +- examples/unbourne.c | 2 +- libc/alg/arraylist.internal.h | 2 +- libc/alg/replacestr.c | 2 +- libc/alg/reverse.internal.h | 2 +- libc/alg/shuffle.internal.h | 2 +- libc/atomic.h | 2 +- libc/bits/asmflag.h | 34 ---- libc/bits/bits.h | 164 ------------------ libc/bits/bits.mk | 50 ------ libc/bits/bswap.h | 18 -- libc/bits/likely.h | 21 --- libc/bits/midpoint.h | 32 ---- libc/bits/safemacros.internal.h | 71 -------- libc/bits/weaken.h | 28 --- libc/bits/xchg.internal.h | 25 --- libc/calls/asan.internal.h | 2 +- libc/calls/clock_gettime-mono.c | 2 +- libc/calls/clock_gettime.c | 4 +- libc/calls/close.c | 2 +- libc/calls/commandv.c | 4 +- libc/calls/directmap.c | 2 +- libc/calls/dup-nt.c | 2 +- libc/calls/execve-nt.greg.c | 2 +- libc/calls/execve-sysv.c | 4 +- libc/calls/execve.c | 4 +- libc/calls/faccessat.c | 2 +- libc/calls/fchmodat.c | 2 +- libc/calls/fchownat.c | 2 +- libc/calls/fcntl.c | 2 +- libc/calls/fileexists.c | 2 +- libc/calls/fstat.c | 2 +- libc/calls/fstatat.c | 2 +- libc/calls/getcpucount.c | 2 +- libc/calls/getcwd.greg.c | 2 +- libc/calls/getfiledescriptorsize.c | 2 +- libc/calls/getttysize.c | 2 +- libc/calls/interrupts-nt.c | 2 +- libc/calls/ioctl_default.c | 2 +- libc/calls/ioctl_siocgifconf-nt.c | 2 +- libc/calls/ioctl_siocgifconf.c | 4 +- libc/calls/ioctl_tcsets.c | 2 +- libc/calls/ioctl_tiocgwinsz-nt.c | 2 +- libc/calls/isdirectory.c | 2 +- libc/calls/isregularfile.c | 2 +- libc/calls/issymlink.c | 2 +- libc/calls/kntprioritycombos.c | 2 +- libc/calls/linkat.c | 2 +- libc/calls/lseek.c | 2 +- libc/calls/memtrack.greg.c | 6 +- libc/calls/mkdirat.c | 2 +- libc/calls/mkntenvblock.c | 2 +- libc/calls/mremap-sysv.greg.c | 2 +- libc/calls/now.c | 6 +- libc/calls/ntaccesscheck.c | 2 +- libc/calls/ntspawn.c | 2 +- libc/calls/oldbench.c | 6 +- libc/calls/openat-metal.c | 2 +- libc/calls/openat.c | 2 +- libc/calls/pledge-linux.c | 2 +- libc/calls/poll-metal.c | 2 +- libc/calls/poll-nt.c | 4 +- libc/calls/poll.c | 2 +- libc/calls/pread.c | 2 +- libc/calls/preadv.c | 6 +- libc/calls/pwritev.c | 4 +- libc/calls/read.c | 2 +- libc/calls/readlinkat.c | 2 +- libc/calls/readv-nt.c | 2 +- libc/calls/readv.c | 4 +- libc/calls/realpath.c | 6 +- libc/calls/renameat.c | 2 +- libc/calls/reservefd.c | 2 +- libc/calls/sched_setaffinity.c | 2 +- libc/calls/setitimer-nt.c | 2 +- libc/calls/setpriority-nt.c | 2 +- libc/calls/sigaction.c | 4 +- libc/calls/sigprocmask.c | 2 +- libc/calls/sigsuspend.c | 2 +- libc/calls/strace.internal.h | 2 +- libc/calls/uname.c | 2 +- libc/calls/unlinkat.c | 2 +- libc/calls/unsetenv.c | 2 +- libc/calls/utimensat-sysv.c | 2 +- libc/calls/utimensat.c | 2 +- libc/calls/vdsofunc.greg.c | 2 +- libc/calls/write-nt.c | 2 +- libc/calls/write.c | 2 +- libc/calls/writev-nt.c | 2 +- libc/calls/writev.c | 4 +- libc/dns/dnsheader.c | 2 +- libc/dns/getaddrinfo.c | 2 +- libc/dns/gethoststxt.c | 6 +- libc/dns/getnameinfo.c | 2 +- libc/dns/getresolvconf.c | 2 +- libc/dns/lookupprotobyname.c | 2 +- libc/dns/lookupprotobynumber.c | 2 +- libc/dns/lookupservicesbyname.c | 2 +- libc/dns/lookupservicesbyport.c | 2 +- libc/dns/resolvedns.c | 2 +- libc/dns/resolvednsreverse.c | 2 +- libc/dns/resolvehostsreverse.c | 2 +- libc/fmt/fmt.c | 4 +- libc/fmt/formatflex64.c | 2 +- libc/fmt/joinpaths.c | 2 +- libc/fmt/sprintf.c | 2 +- libc/fmt/stoa.c | 6 +- libc/fmt/strerror.c | 2 +- libc/fmt/vcscanf.c | 2 +- libc/{bits => intrin}/abs.c | 0 libc/intrin/asan.c | 4 +- libc/intrin/asmflag.h | 34 ++++ libc/intrin/assertfail.greg.c | 2 +- libc/{bits => intrin}/atomic.h | 0 libc/{bits => intrin}/avx2intrin.internal.h | 2 +- libc/{bits => intrin}/avxintrin.internal.h | 0 libc/{bits => intrin}/bextra.c | 2 +- libc/{bits => intrin}/bigword.internal.h | 0 libc/{bits => intrin}/bitop.h | 0 libc/{bits => intrin}/bitreverse16.c | 2 +- libc/{bits => intrin}/bitreverse32.c | 4 +- libc/{bits => intrin}/bitreverse64.c | 4 +- libc/{bits => intrin}/bitreverse8.c | 2 +- libc/intrin/bits.h | 164 ++++++++++++++++++ libc/intrin/bswap.h | 18 ++ libc/intrin/closehandle.c | 2 +- libc/intrin/cmpxchg.h | 2 +- libc/intrin/cmpxchg16b.internal.h | 2 +- libc/{bits => intrin}/countbits.c | 2 +- libc/intrin/cxaatexit.c | 2 +- libc/intrin/cxafinalize.c | 2 +- libc/intrin/describesigset.c | 2 +- libc/{bits => intrin}/emmintrin.internal.h | 2 +- libc/{bits => intrin}/ezlea.h | 0 libc/intrin/g_fds.c | 2 +- libc/{bits => intrin}/gray.c | 2 +- libc/{bits => intrin}/hamming.c | 2 +- libc/{bits => intrin}/hilbert.c | 2 +- libc/{bits => intrin}/hilbert.h | 0 libc/{bits => intrin}/initializer.internal.h | 0 libc/intrin/kprintf.greg.c | 8 +- libc/intrin/likely.h | 21 +++ libc/intrin/lockcmpxchg.h | 2 +- libc/intrin/lockcmpxchg16b.h | 2 +- libc/intrin/lockcmpxchgp.h | 2 +- libc/intrin/memcmp.c | 2 +- libc/intrin/midpoint.h | 32 ++++ libc/{bits => intrin}/morton.c | 2 +- libc/{bits => intrin}/morton.h | 0 libc/{bits => intrin}/newbie.h | 2 +- libc/{bits => intrin}/pmmintrin.internal.h | 0 libc/intrin/popcnt.c | 2 +- libc/{bits => intrin}/popcnt.h | 0 libc/intrin/pthread_mutex_lock.c | 4 +- libc/intrin/pthread_mutex_trylock.c | 2 +- libc/intrin/pthread_mutex_unlock.c | 2 +- libc/intrin/pthread_mutex_wake.c | 2 +- libc/intrin/pthread_once.c | 2 +- libc/{bits => intrin}/pushpop.h | 0 libc/intrin/quick_exit.c | 2 +- libc/{bits => intrin}/rounddown2pow.c | 2 +- libc/{bits => intrin}/roundup2log.c | 2 +- libc/{bits => intrin}/roundup2pow.c | 2 +- libc/intrin/safemacros.internal.h | 71 ++++++++ libc/{bits => intrin}/segmentation.h | 0 libc/{bits => intrin}/shaintrin.internal.h | 4 +- libc/{bits => intrin}/smmintrin.internal.h | 0 libc/intrin/strerror_wr.greg.c | 2 +- libc/{bits => intrin}/tmmintrin.internal.h | 2 +- libc/intrin/ubsan.c | 4 +- libc/{bits => intrin}/ungray.c | 2 +- libc/{bits => intrin}/unmorton.c | 2 +- libc/intrin/wait0.c | 2 +- libc/intrin/weaken.h | 28 +++ libc/intrin/winerr.greg.c | 2 +- libc/{bits => intrin}/wmmintrin.internal.h | 2 +- libc/{bits => intrin}/xadd.h | 0 libc/intrin/xchg.internal.h | 25 +++ libc/{bits => intrin}/xmmintrin.internal.h | 2 +- libc/isystem/endian.h | 2 +- libc/isystem/stdatomic.h | 2 +- libc/isystem/sys/param.h | 2 +- libc/isystem/sys/types.h | 2 +- libc/log/appendresourcereport.c | 2 +- libc/log/attachdebugger.c | 2 +- libc/log/backtrace2.c | 4 +- libc/log/backtrace3.c | 2 +- libc/log/checkfail.c | 2 +- libc/log/checkfail_ndebug.c | 2 +- libc/log/commandvenv.c | 2 +- libc/log/gdbexec.c | 2 +- libc/log/leaks.c | 2 +- libc/log/log.h | 4 +- libc/log/logfile.initabi.c | 2 +- libc/log/memlog.c | 4 +- libc/log/oncrash.c | 2 +- libc/log/onkill.c | 2 +- libc/log/rop.h | 2 +- libc/log/startfatal.c | 2 +- libc/log/verr.c | 2 +- libc/log/vflogf.c | 4 +- libc/mem/arena.c | 4 +- libc/mem/defer.greg.c | 4 +- libc/nexgen32e/lz4.h | 2 +- libc/nexgen32e/rdtscp.h | 2 +- libc/nt/struct/teb.h | 2 +- libc/rand/getrandom.c | 2 +- libc/rand/mt19937.c | 2 +- libc/rand/rdrand.c | 2 +- libc/rand/rdseed.c | 2 +- libc/runtime/arch_prctl.c | 4 +- libc/runtime/efimain.greg.c | 2 +- libc/runtime/enable_tls.c | 4 +- libc/runtime/exit.c | 2 +- libc/runtime/ezmap.c | 2 +- libc/runtime/finddebugbinary.c | 2 +- libc/runtime/fork-nt.c | 2 +- libc/runtime/fork.c | 4 +- libc/runtime/getdosargv.c | 4 +- libc/runtime/getdosenviron.c | 2 +- libc/runtime/getsymboltable.c | 4 +- libc/runtime/grow.c | 4 +- libc/runtime/hook.greg.c | 2 +- libc/runtime/inflate.c | 2 +- libc/runtime/isdynamicexecutable.c | 2 +- libc/runtime/mapanon.c | 2 +- libc/runtime/mapshared.c | 2 +- libc/runtime/memtrack.internal.h | 2 +- libc/runtime/mmap.c | 8 +- libc/runtime/morph.greg.c | 2 +- libc/runtime/mprotect.c | 2 +- libc/runtime/mremap.c | 4 +- libc/runtime/munmap.c | 4 +- libc/runtime/opensymboltable.greg.c | 2 +- libc/runtime/runtime.mk | 1 - libc/runtime/stackuse.c | 2 +- libc/runtime/straceinit.greg.c | 2 +- libc/runtime/symbols.c | 2 +- libc/runtime/symbols.internal.h | 2 +- libc/runtime/weakfree.c | 2 +- libc/runtime/winmain.greg.c | 6 +- libc/sock/closesocket-nt.c | 2 +- libc/sock/firewall.c | 2 +- libc/sock/gethostips.c | 2 +- libc/sock/kntwsadata.c | 2 +- libc/sock/recv-nt.c | 2 +- libc/sock/sendfile.c | 2 +- libc/sock/sock.h | 2 +- libc/sock/sock.mk | 1 - libc/sock/syslog.c | 2 +- libc/sock/xinet_ntop.c | 2 +- libc/stdio/appendw.c | 2 +- libc/stdio/dirstream.c | 2 +- libc/stdio/fflush_unlocked.c | 4 +- libc/stdio/paginate.c | 2 +- libc/stdio/stdio.mk | 2 - libc/stdio/stdout.c | 2 +- libc/stdio/system.c | 2 +- libc/str/bcmp.c | 2 +- libc/str/crc32z.c | 2 +- libc/str/findembeddedape.c | 2 +- libc/str/getcachesize.c | 2 +- libc/str/getzipcdir.c | 2 +- libc/str/highwayhash64.c | 2 +- libc/str/isutf8.c | 2 +- libc/str/iszipcdir32.c | 2 +- libc/str/iszipcdir64.c | 2 +- libc/str/kx86processormodels.c | 2 +- libc/str/lz4cpy.c | 4 +- libc/str/memcasecmp.c | 2 +- libc/str/memccpy.c | 2 +- libc/str/memmem.c | 2 +- libc/str/strlcat.c | 2 +- libc/str/strlcpy.c | 2 +- libc/str/strnlen.c | 2 +- libc/str/timingsafe_bcmp.c | 2 +- libc/str/undeflate.c | 4 +- libc/str/utf16.h | 2 +- libc/str/wctype.c | 2 +- libc/testlib/bench.h | 2 +- libc/testlib/comborunner.c | 2 +- libc/testlib/formatint.c | 2 +- libc/testlib/formatstr.c | 2 +- libc/testlib/quota.c | 2 +- libc/testlib/showerror.c | 4 +- libc/testlib/testlib.mk | 1 - libc/testlib/testmain.c | 6 +- libc/testlib/testrunner.c | 4 +- libc/thread/freebsd.internal.h | 2 +- libc/thread/sem.c | 2 +- libc/thread/thread.mk | 1 - libc/thread/wait.c | 2 +- libc/time/localtime.c | 2 +- libc/tinymath/exp.c | 2 +- libc/tinymath/exp2.c | 2 +- libc/tinymath/exp2f.c | 2 +- libc/tinymath/expf.c | 2 +- libc/tinymath/log.c | 2 +- libc/tinymath/log10.c | 2 +- libc/tinymath/log1p.c | 2 +- libc/tinymath/log2.c | 2 +- libc/tinymath/log2f.c | 2 +- libc/tinymath/pow.c | 2 +- libc/tinymath/powf.c | 2 +- libc/tinymath/rempio2.c | 2 +- libc/tinymath/rempio2f.c | 2 +- libc/tinymath/rint.S | 2 +- libc/tinymath/round.S | 2 +- libc/tinymath/roundf.S | 2 +- libc/unicode/setlocale.c | 2 +- libc/unicode/strnwidth16.c | 2 +- libc/unicode/strwidth16.c | 2 +- libc/unicode/wcwidth.c | 2 +- libc/x/makedirs.c | 4 +- libc/x/replaceuser.c | 2 +- libc/x/utf16toutf8.c | 2 +- libc/x/xdie.c | 2 +- libc/x/xjoinpaths.c | 2 +- libc/x/xstrdup.c | 2 +- libc/zip.h | 2 +- libc/zipos/notat.c | 2 +- libc/zipos/open.c | 2 +- libc/zipos/read.c | 2 +- libc/zipos/stat-impl.c | 2 +- libc/zipos/stat.c | 2 +- net/finger/describesyn.c | 2 +- net/http/escapejsstringliteral.c | 2 +- net/http/findcontenttype.c | 4 +- net/http/hascontrolcodes.c | 2 +- net/http/isacceptablepath.c | 2 +- net/http/parsehttpdatetime.c | 2 +- net/http/parsehttpmessage.c | 2 +- net/http/parseurl.c | 2 +- net/https/certhasip.c | 2 +- net/https/getsslcachefile.c | 2 +- net/https/https.mk | 1 - net/https/sslcache.c | 4 +- test/dsp/tty/ttymove_test.c | 2 +- test/dsp/tty/windex_test.c | 2 +- test/libc/alg/bisectcarleft_test.c | 2 +- test/libc/alg/comparator_test.c | 2 +- test/libc/alg/critbit0_test.c | 2 +- test/libc/alg/tarjan_test.c | 4 +- test/libc/bits/test.mk | 62 ------- test/libc/calls/commandv_test.c | 2 +- test/libc/calls/ftruncate_test.c | 2 +- test/libc/calls/ioctl_siocgifconf_test.c | 2 +- test/libc/calls/sched_getaffinity_test.c | 2 +- test/libc/calls/sched_setscheduler_test.c | 2 +- test/libc/calls/setrlimit_test.c | 2 +- test/libc/fmt/basename_test.c | 2 +- test/libc/fmt/palandprintf_test.c | 4 +- test/libc/fmt/sprintf_s_test.c | 4 +- test/libc/fmt/sscanf_test.c | 2 +- test/libc/fmt/strerror_r_test.c | 2 +- test/libc/{bits => intrin}/bextra_test.c | 2 +- test/libc/{bits => intrin}/bitreverse_test.c | 2 +- test/libc/{bits => intrin}/countbits_test.c | 4 +- test/libc/{bits => intrin}/division_test.c | 2 +- .../integralarithmetic_test.c | 2 +- test/libc/intrin/kprintf_test.c | 2 +- test/libc/{bits => intrin}/morton_test.c | 2 +- test/libc/{bits => intrin}/popcnt_test.c | 2 +- .../{bits => intrin}/rounddown2pow_test.c | 2 +- test/libc/{bits => intrin}/roundup2log_test.c | 2 +- test/libc/{bits => intrin}/roundup2pow_test.c | 2 +- test/libc/intrin/strlen_test.c | 2 +- test/libc/intrin/test.mk | 3 +- test/libc/mem/malloc_test.c | 4 +- test/libc/mem/strdup_test.c | 2 +- test/libc/mem/test.mk | 2 +- test/libc/nexgen32e/lz4decode_test.c | 2 +- test/libc/nexgen32e/memmove_test.c | 2 +- test/libc/rand/getrandom_test.c | 2 +- test/libc/rand/mt19937_test.c | 2 +- test/libc/rand/rand64_test.c | 2 +- test/libc/rand/rand_test.c | 2 +- test/libc/rand/rngset_test.c | 2 +- test/libc/runtime/arch_prctl_test.c | 2 +- test/libc/runtime/grow_test.c | 2 +- test/libc/runtime/mmap_test.c | 8 +- test/libc/runtime/munmap_test.c | 2 +- test/libc/runtime/test.mk | 1 - test/libc/sock/inet_pton_test.c | 2 +- test/libc/stdio/fgetwc_test.c | 2 +- test/libc/stdio/getdelim_test.c | 2 +- test/libc/stdio/mkostempsm_test.c | 2 +- test/libc/stdio/spawn_test.c | 2 +- test/libc/stdio/test.mk | 1 - test/libc/stdio/vappendf_test.c | 2 +- test/libc/str/crc32c_test.c | 2 +- test/libc/str/crc32z_test.c | 2 +- test/libc/str/getutf16_test.c | 2 +- test/libc/str/memcpy_test.c | 2 +- test/libc/str/memfrob_test.c | 2 +- test/libc/str/memmem_test.c | 4 +- test/libc/str/pututf16_test.c | 2 +- test/libc/str/qsort_test.c | 2 +- test/libc/str/sigset_test.c | 4 +- test/libc/str/str_test.c | 2 +- test/libc/str/strcasestr_test.c | 2 +- test/libc/str/strchr_test.c | 2 +- test/libc/str/strcmp_test.c | 2 +- test/libc/str/strstr_test.c | 2 +- test/libc/str/strtolower_test.c | 2 +- test/libc/str/tprecode8to16_test.c | 2 +- test/libc/thread/spawn_test.c | 2 +- test/libc/unicode/wcwidth_test.c | 2 +- test/net/http/parsehttpmessage_test.c | 2 +- test/net/https/mbedtls_test.c | 4 +- test/tool/build/lib/interner_test.c | 2 +- test/tool/build/lib/optest.c | 2 +- third_party/argon2/argon2.mk | 1 - third_party/argon2/blake2b.c | 2 +- third_party/chibicc/as.c | 4 +- third_party/chibicc/chibicc.h | 2 +- third_party/chibicc/chibicc.mk | 1 - third_party/chibicc/dox2.c | 2 +- third_party/chibicc/pybind.c | 2 +- third_party/dlmalloc/dlmalloc.c | 4 +- third_party/dlmalloc/dlmalloc.mk | 1 - third_party/dlmalloc/dlmalloc_abort.greg.c | 2 +- third_party/double-conversion/wrapper.cc | 2 +- third_party/linenoise/linenoise.c | 2 +- third_party/lua/ldo.c | 2 +- third_party/lua/luaencodejsondata.c | 4 +- third_party/lua/luaencodeluadata.c | 2 +- third_party/lua/lunix.c | 2 +- third_party/lz4cli/bench.c | 2 +- third_party/lz4cli/lz4io.c | 2 +- third_party/make/getprogname.c | 2 +- third_party/make/job.c | 8 +- third_party/maxmind/maxminddb.c | 2 +- third_party/mbedtls/aes.c | 2 +- third_party/mbedtls/aesni.c | 2 +- third_party/mbedtls/bigmul.c | 2 +- third_party/mbedtls/bignum.c | 4 +- third_party/mbedtls/chacha20.c | 2 +- third_party/mbedtls/everest.c | 2 +- third_party/mbedtls/formatclientciphers.c | 2 +- third_party/mbedtls/gcm.c | 4 +- third_party/mbedtls/mbedtls.mk | 1 - third_party/mbedtls/md5.c | 2 +- third_party/mbedtls/platform.h | 2 +- third_party/mbedtls/poly1305.c | 2 +- third_party/mbedtls/profile.h | 2 +- third_party/mbedtls/san.c | 2 +- third_party/mbedtls/sha1.c | 2 +- third_party/mbedtls/test/everest_unravaged.c | 2 +- third_party/mbedtls/test/lib.c | 4 +- third_party/mbedtls/test/test_suite_ssl.c | 2 +- third_party/mbedtls/x509_crt.c | 2 +- third_party/python/Include/ceval.h | 2 +- third_party/python/Modules/_randommodule.c | 2 +- third_party/python/Modules/posixmodule.c | 2 +- third_party/python/Modules/unicodedata.c | 2 +- .../python/Modules/unicodedata_getcode.c | 2 +- .../Modules/unicodedata_getdecomprecord.c | 2 +- .../python/Modules/unicodedata_nfcnfkc.c | 4 +- .../python/Modules/unicodedata_nfdnfkd.c | 2 +- third_party/python/Modules/zipimport.c | 2 +- third_party/python/Objects/dictobject.c | 2 +- third_party/python/Objects/frameobject.c | 2 +- third_party/python/Objects/longobject.c | 2 +- third_party/python/Objects/object.c | 2 +- third_party/python/Objects/obmalloc.c | 2 +- third_party/python/Objects/typeobject.c | 2 +- third_party/python/Objects/unicodeobject.c | 4 +- third_party/python/Python/ceval.c | 2 +- third_party/python/Python/codecs.c | 2 +- third_party/python/Python/cosmomodule.c | 2 +- third_party/python/Python/fatality.c | 2 +- third_party/python/Python/getcopyright.c | 2 +- third_party/python/Python/import.c | 2 +- third_party/python/Python/pystate.c | 2 +- third_party/python/pycomp.c | 2 +- third_party/python/pyobj.c | 2 +- third_party/python/python.mk | 4 +- third_party/python/runpythonmodule.c | 6 +- third_party/quickjs/cutils.h | 2 +- third_party/quickjs/leb128.c | 2 +- third_party/quickjs/libbf.c | 4 +- third_party/quickjs/libregexp.c | 2 +- third_party/quickjs/quickjs.h | 2 +- third_party/regex/regerror.c | 2 +- third_party/smallz4/smallz4.hh | 2 +- third_party/sqlite3/sqlite3.mk | 1 - third_party/stb/stb.mk | 1 - third_party/stb/stb_image.c | 2 +- third_party/stb/stb_truetype.c | 4 +- third_party/stb/stb_vorbis.c | 2 +- third_party/xed/x86ild.greg.c | 2 +- third_party/zlib/adler32simd.c | 4 +- third_party/zlib/chunkcopy.internal.h | 2 +- third_party/zlib/crc32.c | 2 +- third_party/zlib/crcfold.c | 8 +- third_party/zlib/deflate.c | 2 +- third_party/zlib/deflatesse.c | 2 +- third_party/zlib/inffastchunk.c | 2 +- third_party/zlib/zalloc.c | 2 +- tool/build/ar.c | 4 +- tool/build/assimilate.c | 2 +- tool/build/blinkenlights.c | 4 +- tool/build/build.mk | 1 - tool/build/calculator.c | 6 +- tool/build/compile.c | 4 +- tool/build/dd.c | 2 +- tool/build/emubin/metalsha256.c | 2 +- tool/build/fixupobj.c | 2 +- tool/build/helpop.c | 2 +- tool/build/lib/buildlib.mk | 1 - tool/build/lib/demangle.c | 2 +- tool/build/lib/dis.c | 2 +- tool/build/lib/disarg.c | 2 +- tool/build/lib/elfwriter_zip.c | 2 +- tool/build/lib/interner.c | 2 +- tool/build/lib/isnocompressext.c | 4 +- tool/build/lib/loader.c | 4 +- tool/build/lib/panel.c | 2 +- tool/build/lib/pty.c | 4 +- tool/build/mkdeps.c | 4 +- tool/build/package.c | 4 +- tool/build/pledge.c | 4 +- tool/build/pstrace.c | 2 +- tool/build/refactor.c | 2 +- tool/build/runit.c | 4 +- tool/build/runitd.c | 2 +- tool/build/strace.c | 2 +- tool/decode/ar.c | 2 +- tool/decode/elf.c | 4 +- tool/decode/lib/asmcodegen.c | 2 +- tool/decode/lib/bitabuilder.c | 2 +- tool/decode/macho.c | 2 +- tool/decode/mkcombos.c | 2 +- tool/decode/mkwides.c | 2 +- tool/decode/pe2.c | 2 +- tool/decode/x86opinfo.c | 2 +- tool/decode/zip.c | 4 +- tool/decode/zip2.c | 2 +- tool/hash/crctab.c | 2 +- tool/lambda/lib/lib.mk | 1 - tool/net/lfuncs.c | 4 +- tool/net/ljson.c | 4 +- tool/net/net.mk | 1 - tool/net/redbean.c | 6 +- tool/plinko/lib/gc.c | 2 +- tool/plinko/lib/iswide.c | 2 +- tool/plinko/lib/lib.mk | 1 - tool/plinko/lib/plinko.c | 2 +- tool/viz/bf.c | 2 +- tool/viz/cpuid.c | 2 +- tool/viz/deathstar.c | 2 +- tool/viz/fold.c | 2 +- tool/viz/generatematrix.c | 2 +- tool/viz/lib/convolve.h | 2 +- tool/viz/lib/dither.c | 4 +- tool/viz/lib/formatstringtable-assembly.c | 4 +- tool/viz/lib/formatstringtable-code.c | 2 +- tool/viz/lib/formatstringtable.c | 2 +- tool/viz/lib/gaussian.c | 2 +- tool/viz/lib/getxtermcodes.c | 2 +- tool/viz/lib/perlin3.c | 4 +- tool/viz/lib/resizegraphic.c | 2 +- tool/viz/lib/vizlib.mk | 1 - tool/viz/lib/ycbcr2rgb3.c | 2 +- tool/viz/life.c | 8 +- tool/viz/maxmind.c | 2 +- tool/viz/memplan.c | 2 +- tool/viz/memzoom.c | 8 +- tool/viz/printansi.c | 4 +- tool/viz/printpeb.c | 2 +- tool/viz/printvideo.c | 6 +- tool/viz/tabalign.c | 2 +- tool/viz/tailf.c | 2 +- tool/viz/tcp.c | 2 +- tool/viz/viz.mk | 1 - tool/viz/xterm256effective.c | 4 +- 603 files changed, 1071 insertions(+), 1211 deletions(-) mode change 100644 => 100755 libc/bits/asmflag.h mode change 100644 => 100755 libc/bits/bits.h mode change 100644 => 100755 libc/bits/bits.mk mode change 100644 => 100755 libc/bits/bswap.h mode change 100644 => 100755 libc/bits/likely.h mode change 100644 => 100755 libc/bits/midpoint.h mode change 100644 => 100755 libc/bits/safemacros.internal.h mode change 100644 => 100755 libc/bits/weaken.h mode change 100644 => 100755 libc/bits/xchg.internal.h rename libc/{bits => intrin}/abs.c (100%) create mode 100644 libc/intrin/asmflag.h rename libc/{bits => intrin}/atomic.h (100%) rename libc/{bits => intrin}/avx2intrin.internal.h (99%) rename libc/{bits => intrin}/avxintrin.internal.h (100%) rename libc/{bits => intrin}/bextra.c (98%) rename libc/{bits => intrin}/bigword.internal.h (100%) rename libc/{bits => intrin}/bitop.h (100%) rename libc/{bits => intrin}/bitreverse16.c (98%) rename libc/{bits => intrin}/bitreverse32.c (97%) rename libc/{bits => intrin}/bitreverse64.c (97%) rename libc/{bits => intrin}/bitreverse8.c (98%) create mode 100644 libc/intrin/bits.h create mode 100644 libc/intrin/bswap.h rename libc/{bits => intrin}/countbits.c (99%) rename libc/{bits => intrin}/emmintrin.internal.h (99%) rename libc/{bits => intrin}/ezlea.h (100%) rename libc/{bits => intrin}/gray.c (98%) rename libc/{bits => intrin}/hamming.c (98%) rename libc/{bits => intrin}/hilbert.c (98%) rename libc/{bits => intrin}/hilbert.h (100%) rename libc/{bits => intrin}/initializer.internal.h (100%) create mode 100644 libc/intrin/likely.h create mode 100644 libc/intrin/midpoint.h rename libc/{bits => intrin}/morton.c (98%) rename libc/{bits => intrin}/morton.h (100%) rename libc/{bits => intrin}/newbie.h (98%) rename libc/{bits => intrin}/pmmintrin.internal.h (100%) rename libc/{bits => intrin}/popcnt.h (100%) rename libc/{bits => intrin}/pushpop.h (100%) rename libc/{bits => intrin}/rounddown2pow.c (98%) rename libc/{bits => intrin}/roundup2log.c (98%) rename libc/{bits => intrin}/roundup2pow.c (98%) create mode 100644 libc/intrin/safemacros.internal.h rename libc/{bits => intrin}/segmentation.h (100%) rename libc/{bits => intrin}/shaintrin.internal.h (95%) rename libc/{bits => intrin}/smmintrin.internal.h (100%) rename libc/{bits => intrin}/tmmintrin.internal.h (95%) rename libc/{bits => intrin}/ungray.c (98%) rename libc/{bits => intrin}/unmorton.c (98%) create mode 100644 libc/intrin/weaken.h rename libc/{bits => intrin}/wmmintrin.internal.h (96%) rename libc/{bits => intrin}/xadd.h (100%) create mode 100644 libc/intrin/xchg.internal.h rename libc/{bits => intrin}/xmmintrin.internal.h (99%) mode change 100644 => 100755 test/libc/bits/test.mk rename test/libc/{bits => intrin}/bextra_test.c (99%) rename test/libc/{bits => intrin}/bitreverse_test.c (98%) rename test/libc/{bits => intrin}/countbits_test.c (97%) rename test/libc/{bits => intrin}/division_test.c (98%) rename test/libc/{bits => intrin}/integralarithmetic_test.c (98%) rename test/libc/{bits => intrin}/morton_test.c (99%) rename test/libc/{bits => intrin}/popcnt_test.c (98%) rename test/libc/{bits => intrin}/rounddown2pow_test.c (98%) rename test/libc/{bits => intrin}/roundup2log_test.c (98%) rename test/libc/{bits => intrin}/roundup2pow_test.c (98%) diff --git a/Makefile b/Makefile index fdf89e17c..b30a1cefd 100644 --- a/Makefile +++ b/Makefile @@ -110,7 +110,6 @@ include libc/intrin/intrin.mk # │ You can use the stack include libc/linux/linux.mk # │ You can manipulate arrays include libc/tinymath/tinymath.mk # │ You can issue raw system calls include third_party/compiler_rt/compiler_rt.mk # │ -include libc/bits/bits.mk # │ include libc/str/str.mk # │ include third_party/xed/xed.mk # │ include third_party/zlib/zlib.mk # │ @@ -201,7 +200,6 @@ include test/libc/nexgen32e/test.mk include test/libc/runtime/test.mk include test/libc/thread/test.mk include test/libc/sock/test.mk -include test/libc/bits/test.mk include test/libc/str/test.mk include test/libc/log/test.mk include test/libc/unicode/test.mk @@ -301,7 +299,6 @@ COSMOPOLITAN_OBJECTS = \ LIBC_ALG \ LIBC_MEM \ THIRD_PARTY_DLMALLOC \ - LIBC_BITS \ LIBC_RUNTIME \ LIBC_ELF \ LIBC_CALLS \ @@ -331,7 +328,6 @@ COSMOPOLITAN_HEADERS = \ APE \ LIBC \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_ELF \ diff --git a/ape/ape.mk b/ape/ape.mk index 0d32ee6b3..6ff986fe7 100644 --- a/ape/ape.mk +++ b/ape/ape.mk @@ -62,7 +62,7 @@ o/$(MODE)/ape/ape.lds: \ ape/ape.lds \ ape/macros.internal.h \ ape/relocations.h \ - libc/bits/bits.h \ + libc/intrin/bits.h \ libc/calls/struct/timespec.h \ libc/dce.h \ libc/elf/def.h \ diff --git a/dsp/core/scalevolume.c b/dsp/core/scalevolume.c index 65087ff43..e568b39db 100644 --- a/dsp/core/scalevolume.c +++ b/dsp/core/scalevolume.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/core/core.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/limits.h" /** diff --git a/dsp/core/unmulaw.c b/dsp/core/unmulaw.c index 92ed0c5bc..bd6428dbb 100644 --- a/dsp/core/unmulaw.c +++ b/dsp/core/unmulaw.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/core/core.h" -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" /** * Expands μ-Law coded to audio sample. diff --git a/dsp/mpeg/mpeg1.c b/dsp/mpeg/mpeg1.c index e3830207e..bc22c6a89 100644 --- a/dsp/mpeg/mpeg1.c +++ b/dsp/mpeg/mpeg1.c @@ -32,7 +32,7 @@ #include "dsp/mpeg/idct.h" #include "dsp/mpeg/mpeg.h" #include "dsp/mpeg/video.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "libc/fmt/conv.h" #include "libc/log/log.h" #include "libc/macros.internal.h" diff --git a/dsp/tty/hidecursor.c b/dsp/tty/hidecursor.c index 50f5addeb..9d9353fc0 100644 --- a/dsp/tty/hidecursor.c +++ b/dsp/tty/hidecursor.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/tty.h" -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/dce.h" #include "libc/log/internal.h" #include "libc/log/log.h" diff --git a/dsp/tty/ident.c b/dsp/tty/ident.c index fad69d47c..b335408bb 100644 --- a/dsp/tty/ident.c +++ b/dsp/tty/ident.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/tty.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/termios.h" #include "libc/dce.h" diff --git a/dsp/tty/internal.h b/dsp/tty/internal.h index a4d5390c9..92ad706f8 100644 --- a/dsp/tty/internal.h +++ b/dsp/tty/internal.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_DSP_TTY_INTERNAL_H_ #define COSMOPOLITAN_DSP_TTY_INTERNAL_H_ #include "dsp/tty/ttyrgb.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/dsp/tty/itoa8.c b/dsp/tty/itoa8.c index 5c0efcd67..4257a7e96 100644 --- a/dsp/tty/itoa8.c +++ b/dsp/tty/itoa8.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/itoa8.h" -#include "libc/bits/bits.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/initializer.internal.h" #include "libc/str/str.h" struct Itoa8 kItoa8; diff --git a/dsp/tty/quant.h b/dsp/tty/quant.h index 575c309ba..37cb354b9 100644 --- a/dsp/tty/quant.h +++ b/dsp/tty/quant.h @@ -2,8 +2,8 @@ #define DSP_TTY_QUANT_H_ #include "dsp/tty/ttyrgb.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/limits.h" #include "libc/str/str.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) diff --git a/dsp/tty/rgb2ansi.c b/dsp/tty/rgb2ansi.c index cbf214b64..515896fc6 100644 --- a/dsp/tty/rgb2ansi.c +++ b/dsp/tty/rgb2ansi.c @@ -19,7 +19,7 @@ #include "dsp/core/core.h" #include "dsp/tty/quant.h" #include "libc/assert.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "libc/limits.h" #include "libc/log/log.h" #include "libc/macros.internal.h" diff --git a/dsp/tty/rgb2ttyf2i.c b/dsp/tty/rgb2ttyf2i.c index 200367938..146a04128 100644 --- a/dsp/tty/rgb2ttyf2i.c +++ b/dsp/tty/rgb2ttyf2i.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/quant.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" struct TtyRgb rgb2ttyf2i_(__m128 rgb) { __v4si i4; diff --git a/dsp/tty/ttymove.c b/dsp/tty/ttymove.c index 92afe991d..cbe2070df 100644 --- a/dsp/tty/ttymove.c +++ b/dsp/tty/ttymove.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/itoa8.h" #include "dsp/tty/tty.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/limits.h" #include "libc/log/check.h" diff --git a/dsp/tty/ttyquant.c b/dsp/tty/ttyquant.c index 6b633d53e..2984e5444 100644 --- a/dsp/tty/ttyquant.c +++ b/dsp/tty/ttyquant.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/internal.h" #include "dsp/tty/quant.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "libc/dce.h" #include "libc/runtime/runtime.h" #include "libc/stdio/stdio.h" diff --git a/dsp/tty/ttyraster.c b/dsp/tty/ttyraster.c index 13f89139f..7466efc63 100644 --- a/dsp/tty/ttyraster.c +++ b/dsp/tty/ttyraster.c @@ -22,8 +22,8 @@ #include "dsp/tty/ttyrgb.h" #include "dsp/tty/windex.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/limits.h" #include "libc/log/check.h" #include "libc/log/log.h" diff --git a/examples/auto-memory-safety-crash.c b/examples/auto-memory-safety-crash.c index 9d8253148..8a9cd43f7 100644 --- a/examples/auto-memory-safety-crash.c +++ b/examples/auto-memory-safety-crash.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/log/log.h" #include "libc/runtime/runtime.h" diff --git a/examples/auto-memory-safety-crash2.c b/examples/auto-memory-safety-crash2.c index 9525d52a9..3365afd0b 100644 --- a/examples/auto-memory-safety-crash2.c +++ b/examples/auto-memory-safety-crash2.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/log/log.h" #include "libc/mem/mem.h" diff --git a/examples/auto-memory-safety-crash3.c b/examples/auto-memory-safety-crash3.c index b5730f976..df85fd243 100644 --- a/examples/auto-memory-safety-crash3.c +++ b/examples/auto-memory-safety-crash3.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/log/log.h" #include "libc/mem/mem.h" diff --git a/examples/cplusplus.cc b/examples/cplusplus.cc index cada830d3..3f329d98a 100644 --- a/examples/cplusplus.cc +++ b/examples/cplusplus.cc @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/stdio/stdio.h" #include "libc/str/str.h" diff --git a/examples/curl.c b/examples/curl.c index c1330bb2a..b8e7a1550 100644 --- a/examples/curl.c +++ b/examples/curl.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/dce.h" diff --git a/examples/examples.mk b/examples/examples.mk index e273f4621..b861d456a 100644 --- a/examples/examples.mk +++ b/examples/examples.mk @@ -43,7 +43,6 @@ EXAMPLES_DIRECTDEPS = \ DSP_SCALE \ DSP_TTY \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_FMT \ diff --git a/examples/getrandom.c b/examples/getrandom.c index a0143e3f9..a5c109e83 100644 --- a/examples/getrandom.c +++ b/examples/getrandom.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/errno.h" diff --git a/examples/greenbean.c b/examples/greenbean.c index 374dd6fa0..941a32a96 100644 --- a/examples/greenbean.c +++ b/examples/greenbean.c @@ -8,7 +8,7 @@ ╚─────────────────────────────────────────────────────────────────*/ #endif #include "libc/assert.h" -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/sigset.h" diff --git a/examples/ispell.c b/examples/ispell.c index 8ce96e96d..80e9df235 100644 --- a/examples/ispell.c +++ b/examples/ispell.c @@ -10,7 +10,7 @@ #include "libc/alg/alg.h" #include "libc/alg/arraylist.internal.h" #include "libc/alg/critbit0.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/fmt/conv.h" #include "libc/log/check.h" diff --git a/examples/lstime.c b/examples/lstime.c index 6ae47a70d..d8078fcc0 100644 --- a/examples/lstime.c +++ b/examples/lstime.c @@ -9,7 +9,7 @@ #endif #include "libc/alg/alg.h" #include "libc/alg/arraylist2.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/stat.h" diff --git a/examples/nesemu1.cc b/examples/nesemu1.cc index f8ae23732..b73425cdd 100644 --- a/examples/nesemu1.cc +++ b/examples/nesemu1.cc @@ -12,8 +12,8 @@ #include "dsp/tty/tty.h" #include "libc/alg/arraylist2.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/itimerval.h" #include "libc/calls/struct/winsize.h" diff --git a/examples/ttyaudio.c b/examples/ttyaudio.c index 928fc48d1..4fd6832f1 100644 --- a/examples/ttyaudio.c +++ b/examples/ttyaudio.c @@ -8,7 +8,7 @@ ╚─────────────────────────────────────────────────────────────────*/ #endif #include "dsp/core/core.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/fmt/nf32.h" diff --git a/examples/unbourne.c b/examples/unbourne.c index 5a8f5c270..f84251abc 100644 --- a/examples/unbourne.c +++ b/examples/unbourne.c @@ -112,7 +112,7 @@ #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/rlimit.h" diff --git a/libc/alg/arraylist.internal.h b/libc/alg/arraylist.internal.h index c5cb4b80c..d40da7684 100644 --- a/libc/alg/arraylist.internal.h +++ b/libc/alg/arraylist.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_ALG_ARRAYLIST_H_ #define COSMOPOLITAN_LIBC_ALG_ARRAYLIST_H_ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) diff --git a/libc/alg/replacestr.c b/libc/alg/replacestr.c index 82e0eb031..abad4dfb8 100644 --- a/libc/alg/replacestr.c +++ b/libc/alg/replacestr.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/alg/arraylist2.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/macros.internal.h" #include "libc/str/str.h" #include "libc/sysv/errfuns.h" diff --git a/libc/alg/reverse.internal.h b/libc/alg/reverse.internal.h index 2f8c2083c..03bcc4027 100644 --- a/libc/alg/reverse.internal.h +++ b/libc/alg/reverse.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_ALG_REVERSE_H_ #define COSMOPOLITAN_LIBC_ALG_REVERSE_H_ -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/xchg.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) /** diff --git a/libc/alg/shuffle.internal.h b/libc/alg/shuffle.internal.h index 46001d8c7..00dcda086 100644 --- a/libc/alg/shuffle.internal.h +++ b/libc/alg/shuffle.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_RAND_SHUFFLE_H_ #define COSMOPOLITAN_LIBC_RAND_SHUFFLE_H_ -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/xchg.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) /** diff --git a/libc/atomic.h b/libc/atomic.h index 10e5925a9..dd8f831f8 100644 --- a/libc/atomic.h +++ b/libc/atomic.h @@ -11,7 +11,7 @@ COSMOPOLITAN_C_START_ * we only define a portability macro for the syntax `_Atomic(T)`. * * @see libc/integral/c.inc - * @see libc/bits/atomic.h + * @see libc/intrin/atomic.h */ #define atomic_bool _Atomic(_Bool) diff --git a/libc/bits/asmflag.h b/libc/bits/asmflag.h old mode 100644 new mode 100755 index 64013b14b..e69de29bb --- a/libc/bits/asmflag.h +++ b/libc/bits/asmflag.h @@ -1,34 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ -#define COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ -#if !(__ASSEMBLER__ + __LINKER__ + 0) - -/* - * Constraints for virtual machine flags. - * @note we beseech clang devs for flag constraints - */ -#ifdef __GCC_ASM_FLAG_OUTPUTS__ /* GCC6+ CLANG10+ */ -#define CFLAG_CONSTRAINT "=@ccc" -#define CFLAG_ASM(OP) OP -#define ZFLAG_CONSTRAINT "=@ccz" -#define ZFLAG_ASM(OP) OP -#define OFLAG_CONSTRAINT "=@cco" -#define OFLAG_ASM(OP) OP -#define SFLAG_CONSTRAINT "=@ccs" -#define SFLAG_ASM(SP) SP -#define ABOVE_CONSTRAINT "=@cca" /* i.e. !ZF && !CF */ -#define ABOVEFLAG_ASM(OP) OP -#else -#define CFLAG_CONSTRAINT "=q" -#define CFLAG_ASM(OP) OP "\n\tsetc\t%b0" -#define ZFLAG_CONSTRAINT "=q" -#define ZFLAG_ASM(OP) OP "\n\tsetz\t%b0" -#define OFLAG_CONSTRAINT "=q" -#define OFLAG_ASM(OP) OP "\n\tseto\t%b0" -#define SFLAG_CONSTRAINT "=q" -#define SFLAG_ASM(SP) OP "\n\tsets\t%b0" -#define ABOVE_CONSTRAINT "=@cca" -#define ABOVEFLAG_ASM(OP) OP "\n\tseta\t%b0" -#endif - -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ */ diff --git a/libc/bits/bits.h b/libc/bits/bits.h old mode 100644 new mode 100755 index d283f9aa8..e69de29bb --- a/libc/bits/bits.h +++ b/libc/bits/bits.h @@ -1,164 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_H_ -#define COSMOPOLITAN_LIBC_BITS_H_ -#if !(__ASSEMBLER__ + __LINKER__ + 0) -COSMOPOLITAN_C_START_ - -#define CheckUnsigned(x) ((x) / !((typeof(x))(-1) < 0)) - -/*───────────────────────────────────────────────────────────────────────────│─╗ -│ cosmopolitan § bits ─╬─│┼ -╚────────────────────────────────────────────────────────────────────────────│*/ - -extern const uint8_t kReverseBits[256]; - -uint32_t gray(uint32_t) pureconst; -uint32_t ungray(uint32_t) pureconst; -int bitreverse8(int) libcesque pureconst; -int bitreverse16(int) libcesque pureconst; -uint32_t bitreverse32(uint32_t) libcesque pureconst; -uint64_t bitreverse64(uint64_t) libcesque pureconst; -unsigned long roundup2pow(unsigned long) libcesque pureconst; -unsigned long roundup2log(unsigned long) libcesque pureconst; -unsigned long rounddown2pow(unsigned long) libcesque pureconst; -unsigned long hamming(unsigned long, unsigned long) pureconst; -unsigned bextra(const unsigned *, size_t, char); - -/*───────────────────────────────────────────────────────────────────────────│─╗ -│ cosmopolitan § bits » no assembly required ─╬─│┼ -╚────────────────────────────────────────────────────────────────────────────│*/ - -#define BITREVERSE8(X) (kReverseBits[255 & (X)]) -#define BITREVERSE16(X) \ - (kReverseBits[0x00FF & (X)] << 8 | kReverseBits[(0xFF00 & (X)) >> 8]) - -#ifdef __STRICT_ANSI__ -#define READ16LE(S) ((255 & (S)[1]) << 8 | (255 & (S)[0])) -#define READ16BE(S) ((255 & (S)[0]) << 8 | (255 & (S)[1])) -#define READ32LE(S) \ - ((uint32_t)(255 & (S)[3]) << 030 | (uint32_t)(255 & (S)[2]) << 020 | \ - (uint32_t)(255 & (S)[1]) << 010 | (uint32_t)(255 & (S)[0]) << 000) -#define READ32BE(S) \ - ((uint32_t)(255 & (S)[0]) << 030 | (uint32_t)(255 & (S)[1]) << 020 | \ - (uint32_t)(255 & (S)[2]) << 010 | (uint32_t)(255 & (S)[3]) << 000) -#define READ64LE(S) \ - ((uint64_t)(255 & (S)[7]) << 070 | (uint64_t)(255 & (S)[6]) << 060 | \ - (uint64_t)(255 & (S)[5]) << 050 | (uint64_t)(255 & (S)[4]) << 040 | \ - (uint64_t)(255 & (S)[3]) << 030 | (uint64_t)(255 & (S)[2]) << 020 | \ - (uint64_t)(255 & (S)[1]) << 010 | (uint64_t)(255 & (S)[0]) << 000) -#define READ64BE(S) \ - ((uint64_t)(255 & (S)[0]) << 070 | (uint64_t)(255 & (S)[1]) << 060 | \ - (uint64_t)(255 & (S)[2]) << 050 | (uint64_t)(255 & (S)[3]) << 040 | \ - (uint64_t)(255 & (S)[4]) << 030 | (uint64_t)(255 & (S)[5]) << 020 | \ - (uint64_t)(255 & (S)[6]) << 010 | (uint64_t)(255 & (S)[7]) << 000) -#else /* gcc needs help knowing above are mov if s isn't a variable */ -#define READ16LE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - Ptr[1] << 8 | Ptr[0]; \ - }) -#define READ16BE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - Ptr[0] << 8 | Ptr[1]; \ - }) -#define READ32LE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - ((uint32_t)Ptr[3] << 030 | (uint32_t)Ptr[2] << 020 | \ - (uint32_t)Ptr[1] << 010 | (uint32_t)Ptr[0] << 000); \ - }) -#define READ32BE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - ((uint32_t)Ptr[0] << 030 | (uint32_t)Ptr[1] << 020 | \ - (uint32_t)Ptr[2] << 010 | (uint32_t)Ptr[3] << 000); \ - }) -#define READ64LE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - ((uint64_t)Ptr[7] << 070 | (uint64_t)Ptr[6] << 060 | \ - (uint64_t)Ptr[5] << 050 | (uint64_t)Ptr[4] << 040 | \ - (uint64_t)Ptr[3] << 030 | (uint64_t)Ptr[2] << 020 | \ - (uint64_t)Ptr[1] << 010 | (uint64_t)Ptr[0] << 000); \ - }) -#define READ64BE(S) \ - ({ \ - const uint8_t *Ptr = (const uint8_t *)(S); \ - ((uint64_t)Ptr[0] << 070 | (uint64_t)Ptr[1] << 060 | \ - (uint64_t)Ptr[2] << 050 | (uint64_t)Ptr[3] << 040 | \ - (uint64_t)Ptr[4] << 030 | (uint64_t)Ptr[5] << 020 | \ - (uint64_t)Ptr[6] << 010 | (uint64_t)Ptr[7] << 000); \ - }) -#endif - -#define WRITE16LE(P, V) \ - ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ - (P)[1] = (0x000000000000FF00 & (V)) >> 010, (P) + 2) -#define WRITE16BE(P, V) \ - ((P)[0] = (0x000000000000FF00 & (V)) >> 010, \ - (P)[1] = (0x00000000000000FF & (V)) >> 000, (P) + 2) -#define WRITE32LE(P, V) \ - ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ - (P)[1] = (0x000000000000FF00 & (V)) >> 010, \ - (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \ - (P)[3] = (0x00000000FF000000 & (V)) >> 030, (P) + 4) -#define WRITE32BE(P, V) \ - ((P)[0] = (0x00000000FF000000 & (V)) >> 030, \ - (P)[1] = (0x0000000000FF0000 & (V)) >> 020, \ - (P)[2] = (0x000000000000FF00 & (V)) >> 010, \ - (P)[3] = (0x00000000000000FF & (V)) >> 000, (P) + 4) -#define WRITE64LE(P, V) \ - ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ - (P)[1] = (0x000000000000FF00 & (V)) >> 010, \ - (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \ - (P)[3] = (0x00000000FF000000 & (V)) >> 030, \ - (P)[4] = (0x000000FF00000000 & (V)) >> 040, \ - (P)[5] = (0x0000FF0000000000 & (V)) >> 050, \ - (P)[6] = (0x00FF000000000000 & (V)) >> 060, \ - (P)[7] = (0xFF00000000000000 & (V)) >> 070, (P) + 8) -#define WRITE64BE(P, V) \ - ((P)[0] = (0xFF00000000000000 & (V)) >> 070, \ - (P)[1] = (0x00FF000000000000 & (V)) >> 060, \ - (P)[2] = (0x0000FF0000000000 & (V)) >> 050, \ - (P)[3] = (0x000000FF00000000 & (V)) >> 040, \ - (P)[4] = (0x00000000FF000000 & (V)) >> 030, \ - (P)[5] = (0x0000000000FF0000 & (V)) >> 020, \ - (P)[6] = (0x000000000000FF00 & (V)) >> 010, \ - (P)[7] = (0x00000000000000FF & (V)) >> 000, (P) + 8) - -/*───────────────────────────────────────────────────────────────────────────│─╗ -│ cosmopolitan § bits » some assembly required ─╬─│┼ -╚────────────────────────────────────────────────────────────────────────────│*/ -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) - -#define lockinc(MEM) __ArithmeticOp1("lock inc", MEM) -#define lockdec(MEM) __ArithmeticOp1("lock dec", MEM) -#define locknot(MEM) __ArithmeticOp1("lock not", MEM) -#define lockneg(MEM) __ArithmeticOp1("lock neg", MEM) - -#define lockaddeq(MEM, VAL) __ArithmeticOp2("lock add", VAL, MEM) -#define locksubeq(MEM, VAL) __ArithmeticOp2("lock sub", VAL, MEM) -#define lockxoreq(MEM, VAL) __ArithmeticOp2("lock xor", VAL, MEM) -#define lockandeq(MEM, VAL) __ArithmeticOp2("lock and", VAL, MEM) -#define lockoreq(MEM, VAL) __ArithmeticOp2("lock or", VAL, MEM) - -/*───────────────────────────────────────────────────────────────────────────│─╗ -│ cosmopolitan § bits » implementation details ─╬─│┼ -╚────────────────────────────────────────────────────────────────────────────│*/ - -#define __ArithmeticOp1(OP, MEM) \ - ({ \ - asm(OP "%z0\t%0" : "+m"(*(MEM)) : /* no inputs */ : "cc"); \ - MEM; \ - }) - -#define __ArithmeticOp2(OP, VAL, MEM) \ - ({ \ - asm(OP "%z0\t%1,%0" : "+m,m"(*(MEM)) : "i,r"(VAL) : "cc"); \ - MEM; \ - }) - -#endif /* __GNUC__ && !__STRICT_ANSI__ */ -COSMOPOLITAN_C_END_ -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_H_ */ diff --git a/libc/bits/bits.mk b/libc/bits/bits.mk old mode 100644 new mode 100755 index 788f04819..e69de29bb --- a/libc/bits/bits.mk +++ b/libc/bits/bits.mk @@ -1,50 +0,0 @@ -#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐ -#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘ - -PKGS += LIBC_BITS - -LIBC_BITS_ARTIFACTS += LIBC_BITS_A -LIBC_BITS = $(LIBC_BITS_A_DEPS) $(LIBC_BITS_A) -LIBC_BITS_A = o/$(MODE)/libc/bits/bits.a -LIBC_BITS_A_FILES := $(wildcard libc/bits/*) -LIBC_BITS_A_HDRS = $(filter %.h,$(LIBC_BITS_A_FILES)) -LIBC_BITS_A_SRCS_S = $(filter %.S,$(LIBC_BITS_A_FILES)) -LIBC_BITS_A_SRCS_C = $(filter %.c,$(LIBC_BITS_A_FILES)) - -LIBC_BITS_A_SRCS = \ - $(LIBC_BITS_A_SRCS_S) \ - $(LIBC_BITS_A_SRCS_C) - -LIBC_BITS_A_OBJS = \ - $(LIBC_BITS_A_SRCS_S:%.S=o/$(MODE)/%.o) \ - $(LIBC_BITS_A_SRCS_C:%.c=o/$(MODE)/%.o) - -LIBC_BITS_A_CHECKS = \ - $(LIBC_BITS_A).pkg \ - $(LIBC_BITS_A_HDRS:%=o/$(MODE)/%.ok) - -LIBC_BITS_A_DIRECTDEPS = \ - LIBC_STUBS \ - LIBC_INTRIN \ - LIBC_NEXGEN32E - -LIBC_BITS_A_DEPS := \ - $(call uniq,$(foreach x,$(LIBC_BITS_A_DIRECTDEPS),$($(x)))) - -$(LIBC_BITS_A): libc/bits/ \ - $(LIBC_BITS_A).pkg \ - $(LIBC_BITS_A_OBJS) - -$(LIBC_BITS_A).pkg: \ - $(LIBC_BITS_A_OBJS) \ - $(foreach x,$(LIBC_BITS_A_DIRECTDEPS),$($(x)_A).pkg) - -LIBC_BITS_LIBS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x))) -LIBC_BITS_SRCS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_SRCS)) -LIBC_BITS_HDRS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_HDRS)) -LIBC_BITS_CHECKS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_CHECKS)) -LIBC_BITS_OBJS = $(foreach x,$(LIBC_BITS_ARTIFACTS),$($(x)_OBJS)) -$(LIBC_BITS_OBJS): $(BUILD_FILES) libc/bits/bits.mk - -.PHONY: o/$(MODE)/libc/bits -o/$(MODE)/libc/bits: $(LIBC_BITS_CHECKS) diff --git a/libc/bits/bswap.h b/libc/bits/bswap.h old mode 100644 new mode 100755 index 1dad0e4b5..e69de29bb --- a/libc/bits/bswap.h +++ b/libc/bits/bswap.h @@ -1,18 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_BSWAP_H_ -#define COSMOPOLITAN_LIBC_BITS_BSWAP_H_ -#if !(__ASSEMBLER__ + __LINKER__ + 0) -COSMOPOLITAN_C_START_ - -uint16_t bswap_16(uint16_t) pureconst; -uint32_t bswap_32(uint32_t) pureconst; -uint32_t bswap_64(uint32_t) pureconst; - -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) -#define bswap_16(x) __builtin_bswap16(x) -#define bswap_32(x) __builtin_bswap32(x) -#define bswap_64(x) __builtin_bswap64(x) -#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */ - -COSMOPOLITAN_C_END_ -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_BSWAP_H_ */ diff --git a/libc/bits/likely.h b/libc/bits/likely.h old mode 100644 new mode 100755 index 3f96b4cf8..e69de29bb --- a/libc/bits/likely.h +++ b/libc/bits/likely.h @@ -1,21 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_LIKELY_H_ -#define COSMOPOLITAN_LIBC_BITS_LIKELY_H_ -#if !(__ASSEMBLER__ + __LINKER__ + 0) - -#define LIKELY(x) __builtin_expect(!!(x), 1) -#define UNLIKELY(x) __builtin_expect(!!(x), 0) - -#if __GNUC__ + 0 >= 9 && !defined(__chibicc__) -#define VERY_LIKELY(x) __builtin_expect_with_probability(!!(x), 1, 0.999) -#else -#define VERY_LIKELY(x) LIKELY(x) -#endif - -#if __GNUC__ + 0 >= 9 && !defined(__chibicc__) -#define VERY_UNLIKELY(x) __builtin_expect_with_probability(!!(x), 0, 0.999) -#else -#define VERY_UNLIKELY(x) UNLIKELY(x) -#endif - -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_LIKELY_H_ */ diff --git a/libc/bits/midpoint.h b/libc/bits/midpoint.h old mode 100644 new mode 100755 index aa013453f..e69de29bb --- a/libc/bits/midpoint.h +++ b/libc/bits/midpoint.h @@ -1,32 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ -#define COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ -#include "libc/assert.h" -#if !(__ASSEMBLER__ + __LINKER__ + 0) - -#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && defined(__x86__) -/** - * Computes `(a + b) / 2` assuming unsigned. - * - * This implementation is the fastest on AMD Zen architecture. - */ -#define _midpoint(a, b) \ - ({ \ - typeof((a) + (b)) a_ = (a); \ - typeof(a_) b_ = (b); \ - assert(a_ >= 0); \ - assert(b_ >= 0); \ - asm("add\t%1,%0\n\t" \ - "rcr\t%0" \ - : "+r"(a_) \ - : "r"(b_)); \ - a_; \ - }) -#else -/** - * Computes `(a + b) / 2` assuming unsigned. - */ -#define _midpoint(a, b) (((a) & (b)) + ((a) ^ (b)) / 2) -#endif /* __GNUC__ && !__STRICT_ANSI__ && x86 */ - -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ */ diff --git a/libc/bits/safemacros.internal.h b/libc/bits/safemacros.internal.h old mode 100644 new mode 100755 index ac1c1e03b..e69de29bb --- a/libc/bits/safemacros.internal.h +++ b/libc/bits/safemacros.internal.h @@ -1,71 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ -#define COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ -#include "libc/macros.internal.h" -#include "libc/runtime/runtime.h" -#if !(__ASSEMBLER__ + __LINKER__ + 0) -COSMOPOLITAN_C_START_ - -#define min(x, y) \ - ({ \ - autotype(x) MinX = (x); \ - autotype(y) MinY = (y); \ - MinX < MinY ? MinX : MinY; \ - }) - -#define max(x, y) \ - ({ \ - autotype(x) MaxX = (x); \ - autotype(y) MaxY = (y); \ - MaxX > MaxY ? MaxX : MaxY; \ - }) - -#define roundup(x, k) \ - ({ \ - autotype(x) RoundupX = (x); \ - autotype(k) RoundupK = (k); \ - ROUNDUP(RoundupX, RoundupK); \ - }) - -#define rounddown(x, k) \ - ({ \ - autotype(x) RounddownX = (x); \ - autotype(k) RounddownK = (k); \ - ROUNDDOWN(RounddownX, RounddownK); \ - }) - -#define isempty(s) \ - ({ \ - autotype(s) IsEmptyS = (s); \ - !IsEmptyS || !(*IsEmptyS); \ - }) - -#define nulltoempty(s) \ - ({ \ - autotype(s) NullToEmptyS = (s); \ - NullToEmptyS ? NullToEmptyS : ""; \ - }) - -#define firstnonnull(a, b) \ - ({ \ - autotype(a) FirstNonNullA = (a); \ - autotype(a) FirstNonNullB = (b); \ - if (!FirstNonNullA && !FirstNonNullB) abort(); \ - FirstNonNullA ? FirstNonNullA : FirstNonNullB; \ - }) - -#define emptytonull(s) \ - ({ \ - autotype(s) EmptyToNullS = (s); \ - EmptyToNullS && !(*EmptyToNullS) ? NULL : EmptyToNullS; \ - }) - -#define unsignedsubtract(a, b) \ - ({ \ - uint64_t UnsubA = (a); \ - uint64_t UnsubB = (b); \ - UnsubA >= UnsubB ? UnsubA - UnsubB : ~UnsubB + UnsubA + 1; \ - }) - -COSMOPOLITAN_C_END_ -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ */ diff --git a/libc/bits/weaken.h b/libc/bits/weaken.h old mode 100644 new mode 100755 index c190d44f6..e69de29bb --- a/libc/bits/weaken.h +++ b/libc/bits/weaken.h @@ -1,28 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ -#define COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ -#include "libc/bits/ezlea.h" -#if !(__ASSEMBLER__ + __LINKER__ + 0) -#ifndef __STRICT_ANSI__ - -#define weaken(symbol) ((const typeof(&(symbol)))weakaddr(#symbol)) - -#define strongaddr(symbolstr) \ - ({ \ - intptr_t waddr; \ - asm(ezlea(symbolstr) "0" : "=r"(waddr)); \ - waddr; \ - }) - -#define weakaddr(symbolstr) \ - ({ \ - intptr_t waddr; \ - asm(".weak\t" symbolstr "\n\t" ezlea(symbolstr) "0" : "=r"(waddr)); \ - waddr; \ - }) - -#else -#define weaken(symbol) symbol -#define weakaddr(symbolstr) &(symbolstr) -#endif /* __STRICT_ANSI__ */ -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ */ diff --git a/libc/bits/xchg.internal.h b/libc/bits/xchg.internal.h old mode 100644 new mode 100755 index b912306e5..e69de29bb --- a/libc/bits/xchg.internal.h +++ b/libc/bits/xchg.internal.h @@ -1,25 +0,0 @@ -#ifndef COSMOPOLITAN_LIBC_BITS_XCHG_H_ -#define COSMOPOLITAN_LIBC_BITS_XCHG_H_ -#include "libc/str/str.h" -#if !(__ASSEMBLER__ + __LINKER__ + 0) - -/** - * Exchanges *MEMORY into *LOCALVAR. - * - * @return *MEMORY - * @see lockcmpxchg() - * todo(jart): what's the point of this? - */ -#define xchg(MEMORY, LOCALVAR) \ - ({ \ - autotype(MEMORY) Memory = (MEMORY); \ - typeof(Memory) LocalVar = (LOCALVAR); \ - typeof(*Memory) Temp; \ - memcpy(&Temp, Memory, sizeof(Temp)); \ - memcpy(Memory, LocalVar, sizeof(Temp)); \ - memcpy(LocalVar, &Temp, sizeof(Temp)); \ - Temp; \ - }) - -#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ -#endif /* COSMOPOLITAN_LIBC_BITS_XCHG_H_ */ diff --git a/libc/calls/asan.internal.h b/libc/calls/asan.internal.h index e73bbd39c..40a13ad22 100644 --- a/libc/calls/asan.internal.h +++ b/libc/calls/asan.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_CALLS_ASAN_INTERNAL_H_ #define COSMOPOLITAN_LIBC_CALLS_ASAN_INTERNAL_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/calls/struct/timespec.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/calls/clock_gettime-mono.c b/libc/calls/clock_gettime-mono.c index 474cb8eb8..9d2617e5c 100644 --- a/libc/calls/clock_gettime-mono.c +++ b/libc/calls/clock_gettime-mono.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/clock_gettime.internal.h" #include "libc/intrin/spinlock.h" #include "libc/nexgen32e/rdtsc.h" diff --git a/libc/calls/clock_gettime.c b/libc/calls/clock_gettime.c index 97238db59..ed425cfe4 100644 --- a/libc/calls/clock_gettime.c +++ b/libc/calls/clock_gettime.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/asmflag.h" -#include "libc/bits/bits.h" +#include "libc/intrin/asmflag.h" +#include "libc/intrin/bits.h" #include "libc/calls/asan.internal.h" #include "libc/calls/clock_gettime.internal.h" #include "libc/calls/internal.h" diff --git a/libc/calls/close.c b/libc/calls/close.c index adeaa7f29..870e55f57 100644 --- a/libc/calls/close.c +++ b/libc/calls/close.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/commandv.c b/libc/calls/commandv.c index 79ad7b629..3e606a77d 100644 --- a/libc/calls/commandv.c +++ b/libc/calls/commandv.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/calls/directmap.c b/libc/calls/directmap.c index cafcf48d1..afb1265d3 100644 --- a/libc/calls/directmap.c +++ b/libc/calls/directmap.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/errno.h" diff --git a/libc/calls/dup-nt.c b/libc/calls/dup-nt.c index cc84c453a..308a3eeb7 100644 --- a/libc/calls/dup-nt.c +++ b/libc/calls/dup-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" #include "libc/calls/syscall_support-nt.internal.h" diff --git a/libc/calls/execve-nt.greg.c b/libc/calls/execve-nt.greg.c index 8cb6bcc80..b24a06bb7 100644 --- a/libc/calls/execve-nt.greg.c +++ b/libc/calls/execve-nt.greg.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define ShouldUseMsabiAttribute() 1 -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/ntspawn.h" diff --git a/libc/calls/execve-sysv.c b/libc/calls/execve-sysv.c index dd4ed9038..67e34dcce 100644 --- a/libc/calls/execve-sysv.c +++ b/libc/calls/execve-sysv.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" diff --git a/libc/calls/execve.c b/libc/calls/execve.c index 0c5e341b8..0fe17c848 100644 --- a/libc/calls/execve.c +++ b/libc/calls/execve.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/pledge.h" #include "libc/calls/pledge.internal.h" diff --git a/libc/calls/faccessat.c b/libc/calls/faccessat.c index e487dd5a2..4c71328bd 100644 --- a/libc/calls/faccessat.c +++ b/libc/calls/faccessat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/fchmodat.c b/libc/calls/fchmodat.c index 5c27909ff..099bdb602 100644 --- a/libc/calls/fchmodat.c +++ b/libc/calls/fchmodat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/fchownat.c b/libc/calls/fchownat.c index aa774759d..fff6e785a 100644 --- a/libc/calls/fchownat.c +++ b/libc/calls/fchownat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/calls/fcntl.c b/libc/calls/fcntl.c index b87653c85..ae13e4b19 100644 --- a/libc/calls/fcntl.c +++ b/libc/calls/fcntl.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/fileexists.c b/libc/calls/fileexists.c index f5301a8fb..11d8e5b91 100644 --- a/libc/calls/fileexists.c +++ b/libc/calls/fileexists.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/metastat.internal.h" diff --git a/libc/calls/fstat.c b/libc/calls/fstat.c index 011116db4..ed39ef4ab 100644 --- a/libc/calls/fstat.c +++ b/libc/calls/fstat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/fstatat.c b/libc/calls/fstatat.c index 825845ad5..40c491c9b 100644 --- a/libc/calls/fstatat.c +++ b/libc/calls/fstatat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/getcpucount.c b/libc/calls/getcpucount.c index 7b870d806..44958ee62 100644 --- a/libc/calls/getcpucount.c +++ b/libc/calls/getcpucount.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/calls/weirdtypes.h" #include "libc/dce.h" diff --git a/libc/calls/getcwd.greg.c b/libc/calls/getcwd.greg.c index 52dacfbe3..49befca91 100644 --- a/libc/calls/getcwd.greg.c +++ b/libc/calls/getcwd.greg.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/getfiledescriptorsize.c b/libc/calls/getfiledescriptorsize.c index 8011608cd..5b4e44043 100644 --- a/libc/calls/getfiledescriptorsize.c +++ b/libc/calls/getfiledescriptorsize.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/getttysize.c b/libc/calls/getttysize.c index a50731924..9b3c55b9d 100644 --- a/libc/calls/getttysize.c +++ b/libc/calls/getttysize.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/termios.h" #include "libc/fmt/conv.h" diff --git a/libc/calls/interrupts-nt.c b/libc/calls/interrupts-nt.c index a5563b813..5e99ee86d 100644 --- a/libc/calls/interrupts-nt.c +++ b/libc/calls/interrupts-nt.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/calls/ioctl_default.c b/libc/calls/ioctl_default.c index 9df7412fa..f273d1d93 100644 --- a/libc/calls/ioctl_default.c +++ b/libc/calls/ioctl_default.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/ioctl.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/calls/ioctl_siocgifconf-nt.c b/libc/calls/ioctl_siocgifconf-nt.c index dcc94f4ab..73613bc06 100644 --- a/libc/calls/ioctl_siocgifconf-nt.c +++ b/libc/calls/ioctl_siocgifconf-nt.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/intrin/cmpxchg.h" #include "libc/mem/mem.h" diff --git a/libc/calls/ioctl_siocgifconf.c b/libc/calls/ioctl_siocgifconf.c index 86f347523..cc60ce0f7 100644 --- a/libc/calls/ioctl_siocgifconf.c +++ b/libc/calls/ioctl_siocgifconf.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/ioctl.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/calls/ioctl_tcsets.c b/libc/calls/ioctl_tcsets.c index 339912b37..280a913c3 100644 --- a/libc/calls/ioctl_tcsets.c +++ b/libc/calls/ioctl_tcsets.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/ioctl.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/ioctl_tiocgwinsz-nt.c b/libc/calls/ioctl_tiocgwinsz-nt.c index 91575dae5..75b8f3635 100644 --- a/libc/calls/ioctl_tiocgwinsz-nt.c +++ b/libc/calls/ioctl_tiocgwinsz-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/isdirectory.c b/libc/calls/isdirectory.c index e73f84e62..c65a12c66 100644 --- a/libc/calls/isdirectory.c +++ b/libc/calls/isdirectory.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/metastat.internal.h" diff --git a/libc/calls/isregularfile.c b/libc/calls/isregularfile.c index 8e00446ae..5256d0c8f 100644 --- a/libc/calls/isregularfile.c +++ b/libc/calls/isregularfile.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/metastat.internal.h" diff --git a/libc/calls/issymlink.c b/libc/calls/issymlink.c index 2a59b0298..caf8f6f88 100644 --- a/libc/calls/issymlink.c +++ b/libc/calls/issymlink.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/metastat.internal.h" diff --git a/libc/calls/kntprioritycombos.c b/libc/calls/kntprioritycombos.c index 5d9abe47c..374745238 100644 --- a/libc/calls/kntprioritycombos.c +++ b/libc/calls/kntprioritycombos.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/kntprioritycombos.internal.h" #include "libc/limits.h" #include "libc/macros.internal.h" diff --git a/libc/calls/linkat.c b/libc/calls/linkat.c index ed64b0706..0b52ef31b 100644 --- a/libc/calls/linkat.c +++ b/libc/calls/linkat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/lseek.c b/libc/calls/lseek.c index 7b8daec86..b5f1e5bb0 100644 --- a/libc/calls/lseek.c +++ b/libc/calls/lseek.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/memtrack.greg.c b/libc/calls/memtrack.greg.c index 484a39428..b35066329 100644 --- a/libc/calls/memtrack.greg.c +++ b/libc/calls/memtrack.greg.c @@ -17,9 +17,9 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/calls/mkdirat.c b/libc/calls/mkdirat.c index 153039b1a..da0a87438 100644 --- a/libc/calls/mkdirat.c +++ b/libc/calls/mkdirat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/mkntenvblock.c b/libc/calls/mkntenvblock.c index f68ad045b..e30fa7a2e 100644 --- a/libc/calls/mkntenvblock.c +++ b/libc/calls/mkntenvblock.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist2.internal.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/ntspawn.h" #include "libc/fmt/conv.h" #include "libc/intrin/kprintf.h" diff --git a/libc/calls/mremap-sysv.greg.c b/libc/calls/mremap-sysv.greg.c index 79b1c40bc..bda07dd1b 100644 --- a/libc/calls/mremap-sysv.greg.c +++ b/libc/calls/mremap-sysv.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/sysv/consts/map.h" diff --git a/libc/calls/now.c b/libc/calls/now.c index d04e02c6b..b3ff3eea0 100644 --- a/libc/calls/now.c +++ b/libc/calls/now.c @@ -17,9 +17,9 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/initializer.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/initializer.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/clock_gettime.internal.h" #include "libc/calls/internal.h" diff --git a/libc/calls/ntaccesscheck.c b/libc/calls/ntaccesscheck.c index 367811257..a895f470f 100644 --- a/libc/calls/ntaccesscheck.c +++ b/libc/calls/ntaccesscheck.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall_support-nt.internal.h" diff --git a/libc/calls/ntspawn.c b/libc/calls/ntspawn.c index 9f99129b6..043e1b403 100644 --- a/libc/calls/ntspawn.c +++ b/libc/calls/ntspawn.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/calls/ntspawn.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall_support-nt.internal.h" diff --git a/libc/calls/oldbench.c b/libc/calls/oldbench.c index 2af1d90a5..d501f24ab 100644 --- a/libc/calls/oldbench.c +++ b/libc/calls/oldbench.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/initializer.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/initializer.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/openat-metal.c b/libc/calls/openat-metal.c index 352301f0e..120e2a278 100644 --- a/libc/calls/openat-metal.c +++ b/libc/calls/openat-metal.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/metalfile.internal.h" #include "libc/mem/mem.h" diff --git a/libc/calls/openat.c b/libc/calls/openat.c index 59ccfb9da..10acd2f73 100644 --- a/libc/calls/openat.c +++ b/libc/calls/openat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/pledge-linux.c b/libc/calls/pledge-linux.c index 3098cb97a..a3275c827 100644 --- a/libc/calls/pledge-linux.c +++ b/libc/calls/pledge-linux.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/calls.h" #include "libc/calls/pledge.internal.h" #include "libc/calls/struct/bpf.h" diff --git a/libc/calls/poll-metal.c b/libc/calls/poll-metal.c index d3f9c93a7..dfc5617ec 100644 --- a/libc/calls/poll-metal.c +++ b/libc/calls/poll-metal.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/internal.h" #include "libc/nexgen32e/rdtsc.h" #include "libc/nexgen32e/uart.internal.h" diff --git a/libc/calls/poll-nt.c b/libc/calls/poll-nt.c index b8cdfc1f9..0c2f47a1a 100644 --- a/libc/calls/poll-nt.c +++ b/libc/calls/poll-nt.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/calls/poll.c b/libc/calls/poll.c index bb40620dc..65da4ac1b 100644 --- a/libc/calls/poll.c +++ b/libc/calls/poll.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/calls/pread.c b/libc/calls/pread.c index 6361e17b3..a96f14f2e 100644 --- a/libc/calls/pread.c +++ b/libc/calls/pread.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/preadv.c b/libc/calls/preadv.c index f076c2026..fd3a7e13a 100644 --- a/libc/calls/preadv.c +++ b/libc/calls/preadv.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/pwritev.c b/libc/calls/pwritev.c index 91f928e56..00f806912 100644 --- a/libc/calls/pwritev.c +++ b/libc/calls/pwritev.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/read.c b/libc/calls/read.c index 2f42ea22a..a15091e80 100644 --- a/libc/calls/read.c +++ b/libc/calls/read.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/readlinkat.c b/libc/calls/readlinkat.c index 05484c370..a26071695 100644 --- a/libc/calls/readlinkat.c +++ b/libc/calls/readlinkat.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/calls/readv-nt.c b/libc/calls/readv-nt.c index e4aa2ebf7..9dd2c4adb 100644 --- a/libc/calls/readv-nt.c +++ b/libc/calls/readv-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/sock/internal.h" #include "libc/sock/syscall_fd.internal.h" diff --git a/libc/calls/readv.c b/libc/calls/readv.c index fe3981d26..4df11dcf7 100644 --- a/libc/calls/readv.c +++ b/libc/calls/readv.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/realpath.c b/libc/calls/realpath.c index 2a174a4cf..626ccac06 100644 --- a/libc/calls/realpath.c +++ b/libc/calls/realpath.c @@ -26,9 +26,9 @@ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/errno.h" diff --git a/libc/calls/renameat.c b/libc/calls/renameat.c index ce66e3470..5253d42b0 100644 --- a/libc/calls/renameat.c +++ b/libc/calls/renameat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/reservefd.c b/libc/calls/reservefd.c index c6a4ca6c2..919fba281 100644 --- a/libc/calls/reservefd.c +++ b/libc/calls/reservefd.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/calls/sched_setaffinity.c b/libc/calls/sched_setaffinity.c index d5c7ab6d9..8979ff850 100644 --- a/libc/calls/sched_setaffinity.c +++ b/libc/calls/sched_setaffinity.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/sched-sysv.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/setitimer-nt.c b/libc/calls/setitimer-nt.c index 974ab8aa6..882e8369b 100644 --- a/libc/calls/setitimer-nt.c +++ b/libc/calls/setitimer-nt.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/sig.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/setpriority-nt.c b/libc/calls/setpriority-nt.c index aadb52c2e..fda743835 100644 --- a/libc/calls/setpriority-nt.c +++ b/libc/calls/setpriority-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/kntprioritycombos.internal.h" #include "libc/calls/syscall_support-nt.internal.h" #include "libc/nt/process.h" diff --git a/libc/calls/sigaction.c b/libc/calls/sigaction.c index 77478f01e..27f58805d 100644 --- a/libc/calls/sigaction.c +++ b/libc/calls/sigaction.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/calls/sigprocmask.c b/libc/calls/sigprocmask.c index 7247e9596..df1ff8499 100644 --- a/libc/calls/sigprocmask.c +++ b/libc/calls/sigprocmask.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/calls/sigsuspend.c b/libc/calls/sigsuspend.c index 978ecb3ad..e790e93c2 100644 --- a/libc/calls/sigsuspend.c +++ b/libc/calls/sigsuspend.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/calls/strace.internal.h b/libc/calls/strace.internal.h index 16c29f56d..c0e66fe80 100644 --- a/libc/calls/strace.internal.h +++ b/libc/calls/strace.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_CALLS_STRACE_INTERNAL_H_ #define COSMOPOLITAN_LIBC_CALLS_STRACE_INTERNAL_H_ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/struct/iovec.h" #include "libc/calls/struct/rlimit.h" #include "libc/calls/struct/sigaction.h" diff --git a/libc/calls/uname.c b/libc/calls/uname.c index 416ae3878..f7686770c 100644 --- a/libc/calls/uname.c +++ b/libc/calls/uname.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/utsname-netbsd.internal.h" diff --git a/libc/calls/unlinkat.c b/libc/calls/unlinkat.c index 18676c5c8..af0a26fd8 100644 --- a/libc/calls/unlinkat.c +++ b/libc/calls/unlinkat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/calls/unsetenv.c b/libc/calls/unsetenv.c index 36f80704b..4d2ebfa84 100644 --- a/libc/calls/unsetenv.c +++ b/libc/calls/unsetenv.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/dce.h" #include "libc/mem/internal.h" #include "libc/runtime/runtime.h" diff --git a/libc/calls/utimensat-sysv.c b/libc/calls/utimensat-sysv.c index c2718e336..e8297fd39 100644 --- a/libc/calls/utimensat-sysv.c +++ b/libc/calls/utimensat-sysv.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/errno.h" #include "libc/fmt/conv.h" diff --git a/libc/calls/utimensat.c b/libc/calls/utimensat.c index 259ee98dd..ec4d48b47 100644 --- a/libc/calls/utimensat.c +++ b/libc/calls/utimensat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/asan.internal.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" diff --git a/libc/calls/vdsofunc.greg.c b/libc/calls/vdsofunc.greg.c index b54fd40e8..44828984e 100644 --- a/libc/calls/vdsofunc.greg.c +++ b/libc/calls/vdsofunc.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/elf/scalar.h" diff --git a/libc/calls/write-nt.c b/libc/calls/write-nt.c index 46110e534..d5462f204 100644 --- a/libc/calls/write-nt.c +++ b/libc/calls/write-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/calls/write.c b/libc/calls/write.c index 5cfbcc581..3fd99c10f 100644 --- a/libc/calls/write.c +++ b/libc/calls/write.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/iovec.h" diff --git a/libc/calls/writev-nt.c b/libc/calls/writev-nt.c index fb6231aa1..49a31030f 100644 --- a/libc/calls/writev-nt.c +++ b/libc/calls/writev-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/sock/internal.h" #include "libc/sysv/errfuns.h" diff --git a/libc/calls/writev.c b/libc/calls/writev.c index 0c6983215..74d5524e9 100644 --- a/libc/calls/writev.c +++ b/libc/calls/writev.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/dns/dnsheader.c b/libc/dns/dnsheader.c index c66727d67..057c64f97 100644 --- a/libc/dns/dnsheader.c +++ b/libc/dns/dnsheader.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dns/dnsheader.h" #include "libc/sysv/errfuns.h" diff --git a/libc/dns/getaddrinfo.c b/libc/dns/getaddrinfo.c index 17da3d03a..e4f31fbb4 100644 --- a/libc/dns/getaddrinfo.c +++ b/libc/dns/getaddrinfo.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/dns/dns.h" #include "libc/dns/hoststxt.h" diff --git a/libc/dns/gethoststxt.c b/libc/dns/gethoststxt.c index 95cd09bec..32ff8dfce 100644 --- a/libc/dns/gethoststxt.c +++ b/libc/dns/gethoststxt.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/pushpop.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/pushpop.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/dns/hoststxt.h" diff --git a/libc/dns/getnameinfo.c b/libc/dns/getnameinfo.c index c0be7d773..10c4e5845 100644 --- a/libc/dns/getnameinfo.c +++ b/libc/dns/getnameinfo.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/dns/consts.h" #include "libc/dns/dns.h" diff --git a/libc/dns/getresolvconf.c b/libc/dns/getresolvconf.c index 5825f8e1a..e226ac13f 100644 --- a/libc/dns/getresolvconf.c +++ b/libc/dns/getresolvconf.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/dce.h" #include "libc/dns/resolvconf.h" #include "libc/fmt/fmt.h" diff --git a/libc/dns/lookupprotobyname.c b/libc/dns/lookupprotobyname.c index 0df631fd9..ee97d1332 100644 --- a/libc/dns/lookupprotobyname.c +++ b/libc/dns/lookupprotobyname.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/dns/prototxt.h" #include "libc/errno.h" diff --git a/libc/dns/lookupprotobynumber.c b/libc/dns/lookupprotobynumber.c index 23eb2da31..8f92264a5 100644 --- a/libc/dns/lookupprotobynumber.c +++ b/libc/dns/lookupprotobynumber.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/dns/prototxt.h" #include "libc/errno.h" diff --git a/libc/dns/lookupservicesbyname.c b/libc/dns/lookupservicesbyname.c index 117730104..5a28ca309 100644 --- a/libc/dns/lookupservicesbyname.c +++ b/libc/dns/lookupservicesbyname.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/dns/servicestxt.h" #include "libc/errno.h" diff --git a/libc/dns/lookupservicesbyport.c b/libc/dns/lookupservicesbyport.c index 7895d7645..7b74b05d5 100644 --- a/libc/dns/lookupservicesbyport.c +++ b/libc/dns/lookupservicesbyport.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/dns/servicestxt.h" #include "libc/errno.h" diff --git a/libc/dns/resolvedns.c b/libc/dns/resolvedns.c index ca7cba0d8..fd88d3160 100644 --- a/libc/dns/resolvedns.c +++ b/libc/dns/resolvedns.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/dns/consts.h" #include "libc/dns/dns.h" diff --git a/libc/dns/resolvednsreverse.c b/libc/dns/resolvednsreverse.c index 84135000e..8bedc774e 100644 --- a/libc/dns/resolvednsreverse.c +++ b/libc/dns/resolvednsreverse.c @@ -24,7 +24,7 @@ │ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR │ │ OTHER DEALINGS IN THE SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/dns/consts.h" #include "libc/dns/dns.h" diff --git a/libc/dns/resolvehostsreverse.c b/libc/dns/resolvehostsreverse.c index 4fb77306e..32fa0fcc4 100644 --- a/libc/dns/resolvehostsreverse.c +++ b/libc/dns/resolvehostsreverse.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dns/consts.h" #include "libc/dns/dns.h" #include "libc/dns/hoststxt.h" diff --git a/libc/fmt/fmt.c b/libc/fmt/fmt.c index d30a85897..55ddd6b13 100644 --- a/libc/fmt/fmt.c +++ b/libc/fmt/fmt.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/fmt/conv.h" #include "libc/fmt/fmt.h" #include "libc/fmt/fmt.internal.h" diff --git a/libc/fmt/formatflex64.c b/libc/fmt/formatflex64.c index 08fa73d91..74e654f3d 100644 --- a/libc/fmt/formatflex64.c +++ b/libc/fmt/formatflex64.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/fmt/itoa.h" /** diff --git a/libc/fmt/joinpaths.c b/libc/fmt/joinpaths.c index 2f5738141..32f223779 100644 --- a/libc/fmt/joinpaths.c +++ b/libc/fmt/joinpaths.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/path.h" #include "libc/str/str.h" #include "libc/sysv/errfuns.h" diff --git a/libc/fmt/sprintf.c b/libc/fmt/sprintf.c index 3cd64c860..5ec26e769 100644 --- a/libc/fmt/sprintf.c +++ b/libc/fmt/sprintf.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/fmt/fmt.h" #include "libc/limits.h" #include "libc/log/log.h" diff --git a/libc/fmt/stoa.c b/libc/fmt/stoa.c index 94973bb9a..587662b06 100644 --- a/libc/fmt/stoa.c +++ b/libc/fmt/stoa.c @@ -17,9 +17,9 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/fmt/fmt.internal.h" #include "libc/fmt/internal.h" #include "libc/nexgen32e/bsr.h" diff --git a/libc/fmt/strerror.c b/libc/fmt/strerror.c index 1fad70bb9..96e56d776 100644 --- a/libc/fmt/strerror.c +++ b/libc/fmt/strerror.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/fmt/fmt.h" #include "libc/str/str.h" diff --git a/libc/fmt/vcscanf.c b/libc/fmt/vcscanf.c index 6098dc2a6..a344e2a55 100644 --- a/libc/fmt/vcscanf.c +++ b/libc/fmt/vcscanf.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/fmt/conv.h" #include "libc/fmt/fmt.h" #include "libc/mem/mem.h" diff --git a/libc/bits/abs.c b/libc/intrin/abs.c similarity index 100% rename from libc/bits/abs.c rename to libc/intrin/abs.c diff --git a/libc/intrin/asan.c b/libc/intrin/asan.c index 32943bee4..7801e69cd 100644 --- a/libc/intrin/asan.c +++ b/libc/intrin/asan.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/reverse.internal.h" #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/intrin/asmflag.h b/libc/intrin/asmflag.h new file mode 100644 index 000000000..64013b14b --- /dev/null +++ b/libc/intrin/asmflag.h @@ -0,0 +1,34 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ +#define COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ +#if !(__ASSEMBLER__ + __LINKER__ + 0) + +/* + * Constraints for virtual machine flags. + * @note we beseech clang devs for flag constraints + */ +#ifdef __GCC_ASM_FLAG_OUTPUTS__ /* GCC6+ CLANG10+ */ +#define CFLAG_CONSTRAINT "=@ccc" +#define CFLAG_ASM(OP) OP +#define ZFLAG_CONSTRAINT "=@ccz" +#define ZFLAG_ASM(OP) OP +#define OFLAG_CONSTRAINT "=@cco" +#define OFLAG_ASM(OP) OP +#define SFLAG_CONSTRAINT "=@ccs" +#define SFLAG_ASM(SP) SP +#define ABOVE_CONSTRAINT "=@cca" /* i.e. !ZF && !CF */ +#define ABOVEFLAG_ASM(OP) OP +#else +#define CFLAG_CONSTRAINT "=q" +#define CFLAG_ASM(OP) OP "\n\tsetc\t%b0" +#define ZFLAG_CONSTRAINT "=q" +#define ZFLAG_ASM(OP) OP "\n\tsetz\t%b0" +#define OFLAG_CONSTRAINT "=q" +#define OFLAG_ASM(OP) OP "\n\tseto\t%b0" +#define SFLAG_CONSTRAINT "=q" +#define SFLAG_ASM(SP) OP "\n\tsets\t%b0" +#define ABOVE_CONSTRAINT "=@cca" +#define ABOVEFLAG_ASM(OP) OP "\n\tseta\t%b0" +#endif + +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_ASMFLAG_H_ */ diff --git a/libc/intrin/assertfail.greg.c b/libc/intrin/assertfail.greg.c index 92e3823e1..bb860e137 100644 --- a/libc/intrin/assertfail.greg.c +++ b/libc/intrin/assertfail.greg.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/bits/atomic.h b/libc/intrin/atomic.h similarity index 100% rename from libc/bits/atomic.h rename to libc/intrin/atomic.h diff --git a/libc/bits/avx2intrin.internal.h b/libc/intrin/avx2intrin.internal.h similarity index 99% rename from libc/bits/avx2intrin.internal.h rename to libc/intrin/avx2intrin.internal.h index 2f3a45b68..cffe833a1 100644 --- a/libc/bits/avx2intrin.internal.h +++ b/libc/intrin/avx2intrin.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_AVX2INTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_AVX2INTRIN_H_ -#include "libc/bits/avxintrin.internal.h" +#include "libc/intrin/avxintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/bits/avxintrin.internal.h b/libc/intrin/avxintrin.internal.h similarity index 100% rename from libc/bits/avxintrin.internal.h rename to libc/intrin/avxintrin.internal.h diff --git a/libc/bits/bextra.c b/libc/intrin/bextra.c similarity index 98% rename from libc/bits/bextra.c rename to libc/intrin/bextra.c index 52a6b5f2e..5e5e52362 100644 --- a/libc/bits/bextra.c +++ b/libc/intrin/bextra.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /** * Extracts bit field from array. diff --git a/libc/bits/bigword.internal.h b/libc/intrin/bigword.internal.h similarity index 100% rename from libc/bits/bigword.internal.h rename to libc/intrin/bigword.internal.h diff --git a/libc/bits/bitop.h b/libc/intrin/bitop.h similarity index 100% rename from libc/bits/bitop.h rename to libc/intrin/bitop.h diff --git a/libc/bits/bitreverse16.c b/libc/intrin/bitreverse16.c similarity index 98% rename from libc/bits/bitreverse16.c rename to libc/intrin/bitreverse16.c index 7769ec82c..8119066a9 100644 --- a/libc/bits/bitreverse16.c +++ b/libc/intrin/bitreverse16.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /** * Reverses bits in 16-bit word. diff --git a/libc/bits/bitreverse32.c b/libc/intrin/bitreverse32.c similarity index 97% rename from libc/bits/bitreverse32.c rename to libc/intrin/bitreverse32.c index 126e5403a..b36d421ec 100644 --- a/libc/bits/bitreverse32.c +++ b/libc/intrin/bitreverse32.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" /** * Reverses bits in 32-bit word. diff --git a/libc/bits/bitreverse64.c b/libc/intrin/bitreverse64.c similarity index 97% rename from libc/bits/bitreverse64.c rename to libc/intrin/bitreverse64.c index 4bacc907e..8f03fc7b8 100644 --- a/libc/bits/bitreverse64.c +++ b/libc/intrin/bitreverse64.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" /** * Reverses bits in 64-bit word. diff --git a/libc/bits/bitreverse8.c b/libc/intrin/bitreverse8.c similarity index 98% rename from libc/bits/bitreverse8.c rename to libc/intrin/bitreverse8.c index e9788f47b..2e4cff0d4 100644 --- a/libc/bits/bitreverse8.c +++ b/libc/intrin/bitreverse8.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /** * Reverses bits in 8-bit word. diff --git a/libc/intrin/bits.h b/libc/intrin/bits.h new file mode 100644 index 000000000..d283f9aa8 --- /dev/null +++ b/libc/intrin/bits.h @@ -0,0 +1,164 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_H_ +#define COSMOPOLITAN_LIBC_BITS_H_ +#if !(__ASSEMBLER__ + __LINKER__ + 0) +COSMOPOLITAN_C_START_ + +#define CheckUnsigned(x) ((x) / !((typeof(x))(-1) < 0)) + +/*───────────────────────────────────────────────────────────────────────────│─╗ +│ cosmopolitan § bits ─╬─│┼ +╚────────────────────────────────────────────────────────────────────────────│*/ + +extern const uint8_t kReverseBits[256]; + +uint32_t gray(uint32_t) pureconst; +uint32_t ungray(uint32_t) pureconst; +int bitreverse8(int) libcesque pureconst; +int bitreverse16(int) libcesque pureconst; +uint32_t bitreverse32(uint32_t) libcesque pureconst; +uint64_t bitreverse64(uint64_t) libcesque pureconst; +unsigned long roundup2pow(unsigned long) libcesque pureconst; +unsigned long roundup2log(unsigned long) libcesque pureconst; +unsigned long rounddown2pow(unsigned long) libcesque pureconst; +unsigned long hamming(unsigned long, unsigned long) pureconst; +unsigned bextra(const unsigned *, size_t, char); + +/*───────────────────────────────────────────────────────────────────────────│─╗ +│ cosmopolitan § bits » no assembly required ─╬─│┼ +╚────────────────────────────────────────────────────────────────────────────│*/ + +#define BITREVERSE8(X) (kReverseBits[255 & (X)]) +#define BITREVERSE16(X) \ + (kReverseBits[0x00FF & (X)] << 8 | kReverseBits[(0xFF00 & (X)) >> 8]) + +#ifdef __STRICT_ANSI__ +#define READ16LE(S) ((255 & (S)[1]) << 8 | (255 & (S)[0])) +#define READ16BE(S) ((255 & (S)[0]) << 8 | (255 & (S)[1])) +#define READ32LE(S) \ + ((uint32_t)(255 & (S)[3]) << 030 | (uint32_t)(255 & (S)[2]) << 020 | \ + (uint32_t)(255 & (S)[1]) << 010 | (uint32_t)(255 & (S)[0]) << 000) +#define READ32BE(S) \ + ((uint32_t)(255 & (S)[0]) << 030 | (uint32_t)(255 & (S)[1]) << 020 | \ + (uint32_t)(255 & (S)[2]) << 010 | (uint32_t)(255 & (S)[3]) << 000) +#define READ64LE(S) \ + ((uint64_t)(255 & (S)[7]) << 070 | (uint64_t)(255 & (S)[6]) << 060 | \ + (uint64_t)(255 & (S)[5]) << 050 | (uint64_t)(255 & (S)[4]) << 040 | \ + (uint64_t)(255 & (S)[3]) << 030 | (uint64_t)(255 & (S)[2]) << 020 | \ + (uint64_t)(255 & (S)[1]) << 010 | (uint64_t)(255 & (S)[0]) << 000) +#define READ64BE(S) \ + ((uint64_t)(255 & (S)[0]) << 070 | (uint64_t)(255 & (S)[1]) << 060 | \ + (uint64_t)(255 & (S)[2]) << 050 | (uint64_t)(255 & (S)[3]) << 040 | \ + (uint64_t)(255 & (S)[4]) << 030 | (uint64_t)(255 & (S)[5]) << 020 | \ + (uint64_t)(255 & (S)[6]) << 010 | (uint64_t)(255 & (S)[7]) << 000) +#else /* gcc needs help knowing above are mov if s isn't a variable */ +#define READ16LE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + Ptr[1] << 8 | Ptr[0]; \ + }) +#define READ16BE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + Ptr[0] << 8 | Ptr[1]; \ + }) +#define READ32LE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + ((uint32_t)Ptr[3] << 030 | (uint32_t)Ptr[2] << 020 | \ + (uint32_t)Ptr[1] << 010 | (uint32_t)Ptr[0] << 000); \ + }) +#define READ32BE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + ((uint32_t)Ptr[0] << 030 | (uint32_t)Ptr[1] << 020 | \ + (uint32_t)Ptr[2] << 010 | (uint32_t)Ptr[3] << 000); \ + }) +#define READ64LE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + ((uint64_t)Ptr[7] << 070 | (uint64_t)Ptr[6] << 060 | \ + (uint64_t)Ptr[5] << 050 | (uint64_t)Ptr[4] << 040 | \ + (uint64_t)Ptr[3] << 030 | (uint64_t)Ptr[2] << 020 | \ + (uint64_t)Ptr[1] << 010 | (uint64_t)Ptr[0] << 000); \ + }) +#define READ64BE(S) \ + ({ \ + const uint8_t *Ptr = (const uint8_t *)(S); \ + ((uint64_t)Ptr[0] << 070 | (uint64_t)Ptr[1] << 060 | \ + (uint64_t)Ptr[2] << 050 | (uint64_t)Ptr[3] << 040 | \ + (uint64_t)Ptr[4] << 030 | (uint64_t)Ptr[5] << 020 | \ + (uint64_t)Ptr[6] << 010 | (uint64_t)Ptr[7] << 000); \ + }) +#endif + +#define WRITE16LE(P, V) \ + ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ + (P)[1] = (0x000000000000FF00 & (V)) >> 010, (P) + 2) +#define WRITE16BE(P, V) \ + ((P)[0] = (0x000000000000FF00 & (V)) >> 010, \ + (P)[1] = (0x00000000000000FF & (V)) >> 000, (P) + 2) +#define WRITE32LE(P, V) \ + ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ + (P)[1] = (0x000000000000FF00 & (V)) >> 010, \ + (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \ + (P)[3] = (0x00000000FF000000 & (V)) >> 030, (P) + 4) +#define WRITE32BE(P, V) \ + ((P)[0] = (0x00000000FF000000 & (V)) >> 030, \ + (P)[1] = (0x0000000000FF0000 & (V)) >> 020, \ + (P)[2] = (0x000000000000FF00 & (V)) >> 010, \ + (P)[3] = (0x00000000000000FF & (V)) >> 000, (P) + 4) +#define WRITE64LE(P, V) \ + ((P)[0] = (0x00000000000000FF & (V)) >> 000, \ + (P)[1] = (0x000000000000FF00 & (V)) >> 010, \ + (P)[2] = (0x0000000000FF0000 & (V)) >> 020, \ + (P)[3] = (0x00000000FF000000 & (V)) >> 030, \ + (P)[4] = (0x000000FF00000000 & (V)) >> 040, \ + (P)[5] = (0x0000FF0000000000 & (V)) >> 050, \ + (P)[6] = (0x00FF000000000000 & (V)) >> 060, \ + (P)[7] = (0xFF00000000000000 & (V)) >> 070, (P) + 8) +#define WRITE64BE(P, V) \ + ((P)[0] = (0xFF00000000000000 & (V)) >> 070, \ + (P)[1] = (0x00FF000000000000 & (V)) >> 060, \ + (P)[2] = (0x0000FF0000000000 & (V)) >> 050, \ + (P)[3] = (0x000000FF00000000 & (V)) >> 040, \ + (P)[4] = (0x00000000FF000000 & (V)) >> 030, \ + (P)[5] = (0x0000000000FF0000 & (V)) >> 020, \ + (P)[6] = (0x000000000000FF00 & (V)) >> 010, \ + (P)[7] = (0x00000000000000FF & (V)) >> 000, (P) + 8) + +/*───────────────────────────────────────────────────────────────────────────│─╗ +│ cosmopolitan § bits » some assembly required ─╬─│┼ +╚────────────────────────────────────────────────────────────────────────────│*/ +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) + +#define lockinc(MEM) __ArithmeticOp1("lock inc", MEM) +#define lockdec(MEM) __ArithmeticOp1("lock dec", MEM) +#define locknot(MEM) __ArithmeticOp1("lock not", MEM) +#define lockneg(MEM) __ArithmeticOp1("lock neg", MEM) + +#define lockaddeq(MEM, VAL) __ArithmeticOp2("lock add", VAL, MEM) +#define locksubeq(MEM, VAL) __ArithmeticOp2("lock sub", VAL, MEM) +#define lockxoreq(MEM, VAL) __ArithmeticOp2("lock xor", VAL, MEM) +#define lockandeq(MEM, VAL) __ArithmeticOp2("lock and", VAL, MEM) +#define lockoreq(MEM, VAL) __ArithmeticOp2("lock or", VAL, MEM) + +/*───────────────────────────────────────────────────────────────────────────│─╗ +│ cosmopolitan § bits » implementation details ─╬─│┼ +╚────────────────────────────────────────────────────────────────────────────│*/ + +#define __ArithmeticOp1(OP, MEM) \ + ({ \ + asm(OP "%z0\t%0" : "+m"(*(MEM)) : /* no inputs */ : "cc"); \ + MEM; \ + }) + +#define __ArithmeticOp2(OP, VAL, MEM) \ + ({ \ + asm(OP "%z0\t%1,%0" : "+m,m"(*(MEM)) : "i,r"(VAL) : "cc"); \ + MEM; \ + }) + +#endif /* __GNUC__ && !__STRICT_ANSI__ */ +COSMOPOLITAN_C_END_ +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_H_ */ diff --git a/libc/intrin/bswap.h b/libc/intrin/bswap.h new file mode 100644 index 000000000..1dad0e4b5 --- /dev/null +++ b/libc/intrin/bswap.h @@ -0,0 +1,18 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_BSWAP_H_ +#define COSMOPOLITAN_LIBC_BITS_BSWAP_H_ +#if !(__ASSEMBLER__ + __LINKER__ + 0) +COSMOPOLITAN_C_START_ + +uint16_t bswap_16(uint16_t) pureconst; +uint32_t bswap_32(uint32_t) pureconst; +uint32_t bswap_64(uint32_t) pureconst; + +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) +#define bswap_16(x) __builtin_bswap16(x) +#define bswap_32(x) __builtin_bswap32(x) +#define bswap_64(x) __builtin_bswap64(x) +#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */ + +COSMOPOLITAN_C_END_ +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_BSWAP_H_ */ diff --git a/libc/intrin/closehandle.c b/libc/intrin/closehandle.c index 5d32fc810..b6a2a6a16 100644 --- a/libc/intrin/closehandle.c +++ b/libc/intrin/closehandle.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall_support-nt.internal.h" #include "libc/log/log.h" diff --git a/libc/intrin/cmpxchg.h b/libc/intrin/cmpxchg.h index 2f560c813..3ba5a734a 100644 --- a/libc/intrin/cmpxchg.h +++ b/libc/intrin/cmpxchg.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_INTRIN_CMPXCHG_H_ #define COSMOPOLITAN_LIBC_INTRIN_CMPXCHG_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/intrin/cmpxchg16b.internal.h b/libc/intrin/cmpxchg16b.internal.h index a254d9fba..897566adc 100644 --- a/libc/intrin/cmpxchg16b.internal.h +++ b/libc/intrin/cmpxchg16b.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_CMPXCHG16B_INTERNAL_H_ #define COSMOPOLITAN_LIBC_BITS_CMPXCHG16B_INTERNAL_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/bits/countbits.c b/libc/intrin/countbits.c similarity index 99% rename from libc/bits/countbits.c rename to libc/intrin/countbits.c index 4139d66f0..a7f9c2793 100644 --- a/libc/bits/countbits.c +++ b/libc/intrin/countbits.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/nexgen32e/x86feature.h" diff --git a/libc/intrin/cxaatexit.c b/libc/intrin/cxaatexit.c index bfd2a18d9..bbcbcbf64 100644 --- a/libc/intrin/cxaatexit.c +++ b/libc/intrin/cxaatexit.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/intrin/cxaatexit.internal.h" #include "libc/macros.internal.h" diff --git a/libc/intrin/cxafinalize.c b/libc/intrin/cxafinalize.c index b7f76c4c6..22bd58514 100644 --- a/libc/intrin/cxafinalize.c +++ b/libc/intrin/cxafinalize.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/intrin/cxaatexit.internal.h" #include "libc/mem/mem.h" diff --git a/libc/intrin/describesigset.c b/libc/intrin/describesigset.c index 62faa59fd..eab234543 100644 --- a/libc/intrin/describesigset.c +++ b/libc/intrin/describesigset.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/intrin/describeflags.internal.h" diff --git a/libc/bits/emmintrin.internal.h b/libc/intrin/emmintrin.internal.h similarity index 99% rename from libc/bits/emmintrin.internal.h rename to libc/intrin/emmintrin.internal.h index d3741e7ce..abd28478d 100644 --- a/libc/bits/emmintrin.internal.h +++ b/libc/intrin/emmintrin.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_EMMINTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_EMMINTRIN_H_ -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) /*───────────────────────────────────────────────────────────────────────────│─╗ diff --git a/libc/bits/ezlea.h b/libc/intrin/ezlea.h similarity index 100% rename from libc/bits/ezlea.h rename to libc/intrin/ezlea.h diff --git a/libc/intrin/g_fds.c b/libc/intrin/g_fds.c index 549bb701d..652267ade 100644 --- a/libc/intrin/g_fds.c +++ b/libc/intrin/g_fds.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" #include "libc/intrin/pthread.h" diff --git a/libc/bits/gray.c b/libc/intrin/gray.c similarity index 98% rename from libc/bits/gray.c rename to libc/intrin/gray.c index 11f984daf..2d2bef523 100644 --- a/libc/bits/gray.c +++ b/libc/intrin/gray.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /** * Returns gray code for x. diff --git a/libc/bits/hamming.c b/libc/intrin/hamming.c similarity index 98% rename from libc/bits/hamming.c rename to libc/intrin/hamming.c index e7d27df92..450e3ee9c 100644 --- a/libc/bits/hamming.c +++ b/libc/intrin/hamming.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" /** * Counts number of different bits. diff --git a/libc/bits/hilbert.c b/libc/intrin/hilbert.c similarity index 98% rename from libc/bits/hilbert.c rename to libc/intrin/hilbert.c index bdfb94fda..64a981309 100644 --- a/libc/bits/hilbert.c +++ b/libc/intrin/hilbert.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/hilbert.h" +#include "libc/intrin/hilbert.h" static axdx_t RotateQuadrant(long n, long y, long x, long ry, long rx) { long t; diff --git a/libc/bits/hilbert.h b/libc/intrin/hilbert.h similarity index 100% rename from libc/bits/hilbert.h rename to libc/intrin/hilbert.h diff --git a/libc/bits/initializer.internal.h b/libc/intrin/initializer.internal.h similarity index 100% rename from libc/bits/initializer.internal.h rename to libc/intrin/initializer.internal.h diff --git a/libc/intrin/kprintf.greg.c b/libc/intrin/kprintf.greg.c index 7e13ffe7b..f34340278 100644 --- a/libc/intrin/kprintf.greg.c +++ b/libc/intrin/kprintf.greg.c @@ -17,10 +17,10 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define ShouldUseMsabiAttribute() 1 -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/intrin/likely.h b/libc/intrin/likely.h new file mode 100644 index 000000000..3f96b4cf8 --- /dev/null +++ b/libc/intrin/likely.h @@ -0,0 +1,21 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_LIKELY_H_ +#define COSMOPOLITAN_LIBC_BITS_LIKELY_H_ +#if !(__ASSEMBLER__ + __LINKER__ + 0) + +#define LIKELY(x) __builtin_expect(!!(x), 1) +#define UNLIKELY(x) __builtin_expect(!!(x), 0) + +#if __GNUC__ + 0 >= 9 && !defined(__chibicc__) +#define VERY_LIKELY(x) __builtin_expect_with_probability(!!(x), 1, 0.999) +#else +#define VERY_LIKELY(x) LIKELY(x) +#endif + +#if __GNUC__ + 0 >= 9 && !defined(__chibicc__) +#define VERY_UNLIKELY(x) __builtin_expect_with_probability(!!(x), 0, 0.999) +#else +#define VERY_UNLIKELY(x) UNLIKELY(x) +#endif + +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_LIKELY_H_ */ diff --git a/libc/intrin/lockcmpxchg.h b/libc/intrin/lockcmpxchg.h index 8079c6309..6f8b687ed 100644 --- a/libc/intrin/lockcmpxchg.h +++ b/libc/intrin/lockcmpxchg.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHG_H_ #define COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHG_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/intrin/lockcmpxchg16b.h b/libc/intrin/lockcmpxchg16b.h index 3a6196099..7e3158f41 100644 --- a/libc/intrin/lockcmpxchg16b.h +++ b/libc/intrin/lockcmpxchg16b.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_LOCKCMPXCHG16B_H_ #define COSMOPOLITAN_LIBC_BITS_LOCKCMPXCHG16B_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/intrin/lockcmpxchgp.h b/libc/intrin/lockcmpxchgp.h index fdf12d3ab..3b4c010c7 100644 --- a/libc/intrin/lockcmpxchgp.h +++ b/libc/intrin/lockcmpxchgp.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHGP_H_ #define COSMOPOLITAN_LIBC_INTRIN_LOCKCMPXCHGP_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/intrin/memcmp.c b/libc/intrin/memcmp.c index 3793577ef..6826dbfc6 100644 --- a/libc/intrin/memcmp.c +++ b/libc/intrin/memcmp.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/nexgen32e/x86feature.h" #include "libc/str/str.h" diff --git a/libc/intrin/midpoint.h b/libc/intrin/midpoint.h new file mode 100644 index 000000000..aa013453f --- /dev/null +++ b/libc/intrin/midpoint.h @@ -0,0 +1,32 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ +#define COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ +#include "libc/assert.h" +#if !(__ASSEMBLER__ + __LINKER__ + 0) + +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && defined(__x86__) +/** + * Computes `(a + b) / 2` assuming unsigned. + * + * This implementation is the fastest on AMD Zen architecture. + */ +#define _midpoint(a, b) \ + ({ \ + typeof((a) + (b)) a_ = (a); \ + typeof(a_) b_ = (b); \ + assert(a_ >= 0); \ + assert(b_ >= 0); \ + asm("add\t%1,%0\n\t" \ + "rcr\t%0" \ + : "+r"(a_) \ + : "r"(b_)); \ + a_; \ + }) +#else +/** + * Computes `(a + b) / 2` assuming unsigned. + */ +#define _midpoint(a, b) (((a) & (b)) + ((a) ^ (b)) / 2) +#endif /* __GNUC__ && !__STRICT_ANSI__ && x86 */ + +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_MIDPOINT_H_ */ diff --git a/libc/bits/morton.c b/libc/intrin/morton.c similarity index 98% rename from libc/bits/morton.c rename to libc/intrin/morton.c index 9cf8141ae..d0d4c5753 100644 --- a/libc/bits/morton.c +++ b/libc/intrin/morton.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/morton.h" +#include "libc/intrin/morton.h" /** * Interleaves bits. diff --git a/libc/bits/morton.h b/libc/intrin/morton.h similarity index 100% rename from libc/bits/morton.h rename to libc/intrin/morton.h diff --git a/libc/bits/newbie.h b/libc/intrin/newbie.h similarity index 98% rename from libc/bits/newbie.h rename to libc/intrin/newbie.h index 5a0a673d3..2d29f8fba 100644 --- a/libc/bits/newbie.h +++ b/libc/intrin/newbie.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_NEWBIE_H_ #define COSMOPOLITAN_LIBC_BITS_NEWBIE_H_ -#include "libc/bits/bswap.h" +#include "libc/intrin/bswap.h" /* * Macros for newbies. diff --git a/libc/bits/pmmintrin.internal.h b/libc/intrin/pmmintrin.internal.h similarity index 100% rename from libc/bits/pmmintrin.internal.h rename to libc/intrin/pmmintrin.internal.h diff --git a/libc/intrin/popcnt.c b/libc/intrin/popcnt.c index f49abae78..0df92f297 100644 --- a/libc/intrin/popcnt.c +++ b/libc/intrin/popcnt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" /** * Returns number of bits set in integer. diff --git a/libc/bits/popcnt.h b/libc/intrin/popcnt.h similarity index 100% rename from libc/bits/popcnt.h rename to libc/intrin/popcnt.h diff --git a/libc/intrin/pthread_mutex_lock.c b/libc/intrin/pthread_mutex_lock.c index bf6c36a44..686e4aaf1 100644 --- a/libc/intrin/pthread_mutex_lock.c +++ b/libc/intrin/pthread_mutex_lock.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/asmflag.h" -#include "libc/bits/atomic.h" +#include "libc/intrin/asmflag.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/libc/intrin/pthread_mutex_trylock.c b/libc/intrin/pthread_mutex_trylock.c index 8e995a4d4..7a2b39474 100644 --- a/libc/intrin/pthread_mutex_trylock.c +++ b/libc/intrin/pthread_mutex_trylock.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/intrin/pthread.h" diff --git a/libc/intrin/pthread_mutex_unlock.c b/libc/intrin/pthread_mutex_unlock.c index 37070a210..3a82fa163 100644 --- a/libc/intrin/pthread_mutex_unlock.c +++ b/libc/intrin/pthread_mutex_unlock.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/libc/intrin/pthread_mutex_wake.c b/libc/intrin/pthread_mutex_wake.c index 9f5091382..4a7a42f6a 100644 --- a/libc/intrin/pthread_mutex_wake.c +++ b/libc/intrin/pthread_mutex_wake.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/dce.h" #include "libc/intrin/futex.internal.h" #include "libc/intrin/pthread.h" diff --git a/libc/intrin/pthread_once.c b/libc/intrin/pthread_once.c index 02d870c2a..1b96a5b81 100644 --- a/libc/intrin/pthread_once.c +++ b/libc/intrin/pthread_once.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/intrin/pthread.h" diff --git a/libc/bits/pushpop.h b/libc/intrin/pushpop.h similarity index 100% rename from libc/bits/pushpop.h rename to libc/intrin/pushpop.h diff --git a/libc/intrin/quick_exit.c b/libc/intrin/quick_exit.c index ec9c3be73..40532c777 100644 --- a/libc/intrin/quick_exit.c +++ b/libc/intrin/quick_exit.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" #include "libc/nt/console.h" diff --git a/libc/bits/rounddown2pow.c b/libc/intrin/rounddown2pow.c similarity index 98% rename from libc/bits/rounddown2pow.c rename to libc/intrin/rounddown2pow.c index cb1f4d3bf..9b11ea88a 100644 --- a/libc/bits/rounddown2pow.c +++ b/libc/intrin/rounddown2pow.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/nexgen32e/bsr.h" /** diff --git a/libc/bits/roundup2log.c b/libc/intrin/roundup2log.c similarity index 98% rename from libc/bits/roundup2log.c rename to libc/intrin/roundup2log.c index ee5ac39b8..be46e1c62 100644 --- a/libc/bits/roundup2log.c +++ b/libc/intrin/roundup2log.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/nexgen32e/bsr.h" /** diff --git a/libc/bits/roundup2pow.c b/libc/intrin/roundup2pow.c similarity index 98% rename from libc/bits/roundup2pow.c rename to libc/intrin/roundup2pow.c index 916c26476..0ce1119cc 100644 --- a/libc/bits/roundup2pow.c +++ b/libc/intrin/roundup2pow.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/nexgen32e/bsr.h" /** diff --git a/libc/intrin/safemacros.internal.h b/libc/intrin/safemacros.internal.h new file mode 100644 index 000000000..ac1c1e03b --- /dev/null +++ b/libc/intrin/safemacros.internal.h @@ -0,0 +1,71 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ +#define COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ +#include "libc/macros.internal.h" +#include "libc/runtime/runtime.h" +#if !(__ASSEMBLER__ + __LINKER__ + 0) +COSMOPOLITAN_C_START_ + +#define min(x, y) \ + ({ \ + autotype(x) MinX = (x); \ + autotype(y) MinY = (y); \ + MinX < MinY ? MinX : MinY; \ + }) + +#define max(x, y) \ + ({ \ + autotype(x) MaxX = (x); \ + autotype(y) MaxY = (y); \ + MaxX > MaxY ? MaxX : MaxY; \ + }) + +#define roundup(x, k) \ + ({ \ + autotype(x) RoundupX = (x); \ + autotype(k) RoundupK = (k); \ + ROUNDUP(RoundupX, RoundupK); \ + }) + +#define rounddown(x, k) \ + ({ \ + autotype(x) RounddownX = (x); \ + autotype(k) RounddownK = (k); \ + ROUNDDOWN(RounddownX, RounddownK); \ + }) + +#define isempty(s) \ + ({ \ + autotype(s) IsEmptyS = (s); \ + !IsEmptyS || !(*IsEmptyS); \ + }) + +#define nulltoempty(s) \ + ({ \ + autotype(s) NullToEmptyS = (s); \ + NullToEmptyS ? NullToEmptyS : ""; \ + }) + +#define firstnonnull(a, b) \ + ({ \ + autotype(a) FirstNonNullA = (a); \ + autotype(a) FirstNonNullB = (b); \ + if (!FirstNonNullA && !FirstNonNullB) abort(); \ + FirstNonNullA ? FirstNonNullA : FirstNonNullB; \ + }) + +#define emptytonull(s) \ + ({ \ + autotype(s) EmptyToNullS = (s); \ + EmptyToNullS && !(*EmptyToNullS) ? NULL : EmptyToNullS; \ + }) + +#define unsignedsubtract(a, b) \ + ({ \ + uint64_t UnsubA = (a); \ + uint64_t UnsubB = (b); \ + UnsubA >= UnsubB ? UnsubA - UnsubB : ~UnsubB + UnsubA + 1; \ + }) + +COSMOPOLITAN_C_END_ +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_SAFEMACROS_H_ */ diff --git a/libc/bits/segmentation.h b/libc/intrin/segmentation.h similarity index 100% rename from libc/bits/segmentation.h rename to libc/intrin/segmentation.h diff --git a/libc/bits/shaintrin.internal.h b/libc/intrin/shaintrin.internal.h similarity index 95% rename from libc/bits/shaintrin.internal.h rename to libc/intrin/shaintrin.internal.h index 6d1ad0ceb..c2e02117a 100644 --- a/libc/bits/shaintrin.internal.h +++ b/libc/intrin/shaintrin.internal.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_LIBC_BITS_SHAINTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_SHAINTRIN_H_ -#include "libc/bits/emmintrin.internal.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) #define _mm_sha1rnds4_epu32(M128I_0, M128I_1, MEM) \ diff --git a/libc/bits/smmintrin.internal.h b/libc/intrin/smmintrin.internal.h similarity index 100% rename from libc/bits/smmintrin.internal.h rename to libc/intrin/smmintrin.internal.h diff --git a/libc/intrin/strerror_wr.greg.c b/libc/intrin/strerror_wr.greg.c index 0038b1fc9..c6b94fc4b 100644 --- a/libc/intrin/strerror_wr.greg.c +++ b/libc/intrin/strerror_wr.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/fmt/fmt.h" #include "libc/intrin/kprintf.h" diff --git a/libc/bits/tmmintrin.internal.h b/libc/intrin/tmmintrin.internal.h similarity index 95% rename from libc/bits/tmmintrin.internal.h rename to libc/intrin/tmmintrin.internal.h index 95d237cf1..58e3ce657 100644 --- a/libc/bits/tmmintrin.internal.h +++ b/libc/intrin/tmmintrin.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_TMMINTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_TMMINTRIN_H_ -#include "libc/bits/emmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) /*───────────────────────────────────────────────────────────────────────────│─╗ diff --git a/libc/intrin/ubsan.c b/libc/intrin/ubsan.c index 6917922c1..644dcb9ce 100644 --- a/libc/intrin/ubsan.c +++ b/libc/intrin/ubsan.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/reverse.internal.h" -#include "libc/bits/pushpop.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/pushpop.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/fmt/fmt.h" diff --git a/libc/bits/ungray.c b/libc/intrin/ungray.c similarity index 98% rename from libc/bits/ungray.c rename to libc/intrin/ungray.c index 7435b9d72..f9b3ce120 100644 --- a/libc/bits/ungray.c +++ b/libc/intrin/ungray.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /** * Decodes gray code. diff --git a/libc/bits/unmorton.c b/libc/intrin/unmorton.c similarity index 98% rename from libc/bits/unmorton.c rename to libc/intrin/unmorton.c index 8540bd5c4..5f98e1c28 100644 --- a/libc/bits/unmorton.c +++ b/libc/intrin/unmorton.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/morton.h" +#include "libc/intrin/morton.h" static unsigned long GetOddBits(unsigned long x) { x = (x | x >> 000) & 0x5555555555555555; diff --git a/libc/intrin/wait0.c b/libc/intrin/wait0.c index 79a123220..0b145ced4 100644 --- a/libc/intrin/wait0.c +++ b/libc/intrin/wait0.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/libc/intrin/weaken.h b/libc/intrin/weaken.h new file mode 100644 index 000000000..ca5000570 --- /dev/null +++ b/libc/intrin/weaken.h @@ -0,0 +1,28 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ +#define COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ +#include "libc/intrin/ezlea.h" +#if !(__ASSEMBLER__ + __LINKER__ + 0) +#ifndef __STRICT_ANSI__ + +#define weaken(symbol) ((const typeof(&(symbol)))weakaddr(#symbol)) + +#define strongaddr(symbolstr) \ + ({ \ + intptr_t waddr; \ + asm(ezlea(symbolstr) "0" : "=r"(waddr)); \ + waddr; \ + }) + +#define weakaddr(symbolstr) \ + ({ \ + intptr_t waddr; \ + asm(".weak\t" symbolstr "\n\t" ezlea(symbolstr) "0" : "=r"(waddr)); \ + waddr; \ + }) + +#else +#define weaken(symbol) symbol +#define weakaddr(symbolstr) &(symbolstr) +#endif /* __STRICT_ANSI__ */ +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_WEAKEN_H_ */ diff --git a/libc/intrin/winerr.greg.c b/libc/intrin/winerr.greg.c index 80360fa62..6eb869710 100644 --- a/libc/intrin/winerr.greg.c +++ b/libc/intrin/winerr.greg.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define ShouldUseMsabiAttribute() 1 -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/dce.h" #include "libc/errno.h" #include "libc/nt/errors.h" diff --git a/libc/bits/wmmintrin.internal.h b/libc/intrin/wmmintrin.internal.h similarity index 96% rename from libc/bits/wmmintrin.internal.h rename to libc/intrin/wmmintrin.internal.h index 8bc5637a6..544b6ef8d 100644 --- a/libc/bits/wmmintrin.internal.h +++ b/libc/intrin/wmmintrin.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_WMMINTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_WMMINTRIN_H_ -#include "libc/bits/emmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) #define _mm_clmulepi64_si128(X, Y, IMM) \ diff --git a/libc/bits/xadd.h b/libc/intrin/xadd.h similarity index 100% rename from libc/bits/xadd.h rename to libc/intrin/xadd.h diff --git a/libc/intrin/xchg.internal.h b/libc/intrin/xchg.internal.h new file mode 100644 index 000000000..b912306e5 --- /dev/null +++ b/libc/intrin/xchg.internal.h @@ -0,0 +1,25 @@ +#ifndef COSMOPOLITAN_LIBC_BITS_XCHG_H_ +#define COSMOPOLITAN_LIBC_BITS_XCHG_H_ +#include "libc/str/str.h" +#if !(__ASSEMBLER__ + __LINKER__ + 0) + +/** + * Exchanges *MEMORY into *LOCALVAR. + * + * @return *MEMORY + * @see lockcmpxchg() + * todo(jart): what's the point of this? + */ +#define xchg(MEMORY, LOCALVAR) \ + ({ \ + autotype(MEMORY) Memory = (MEMORY); \ + typeof(Memory) LocalVar = (LOCALVAR); \ + typeof(*Memory) Temp; \ + memcpy(&Temp, Memory, sizeof(Temp)); \ + memcpy(Memory, LocalVar, sizeof(Temp)); \ + memcpy(LocalVar, &Temp, sizeof(Temp)); \ + Temp; \ + }) + +#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */ +#endif /* COSMOPOLITAN_LIBC_BITS_XCHG_H_ */ diff --git a/libc/bits/xmmintrin.internal.h b/libc/intrin/xmmintrin.internal.h similarity index 99% rename from libc/bits/xmmintrin.internal.h rename to libc/intrin/xmmintrin.internal.h index 3ea24c713..6ee1d9ebe 100644 --- a/libc/bits/xmmintrin.internal.h +++ b/libc/intrin/xmmintrin.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BITS_XMMINTRIN_H_ #define COSMOPOLITAN_LIBC_BITS_XMMINTRIN_H_ -#include "libc/bits/emmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" #include "libc/dce.h" #define _MM_EXCEPT_MASK 0x003f diff --git a/libc/isystem/endian.h b/libc/isystem/endian.h index 7b26cd722..c1600654f 100644 --- a/libc/isystem/endian.h +++ b/libc/isystem/endian.h @@ -1,5 +1,5 @@ #ifndef LIBC_ISYSTEM_ENDIAN_H_ #define LIBC_ISYSTEM_ENDIAN_H_ -#include "libc/bits/newbie.h" +#include "libc/intrin/newbie.h" #include "libc/sysv/consts/endian.h" #endif /* LIBC_ISYSTEM_ENDIAN_H_ */ diff --git a/libc/isystem/stdatomic.h b/libc/isystem/stdatomic.h index 319a98beb..8c80073aa 100644 --- a/libc/isystem/stdatomic.h +++ b/libc/isystem/stdatomic.h @@ -1,4 +1,4 @@ #ifndef COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_ #define COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #endif /* COSMOPOLITAN_LIBC_ISYSTEM_STDATOMIC_H_ */ diff --git a/libc/isystem/sys/param.h b/libc/isystem/sys/param.h index b643f55e0..b23ef87a0 100644 --- a/libc/isystem/sys/param.h +++ b/libc/isystem/sys/param.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_ISYSTEM_SYS_PARAM_H_ #define COSMOPOLITAN_LIBC_ISYSTEM_SYS_PARAM_H_ -#include "libc/bits/newbie.h" +#include "libc/intrin/newbie.h" #include "libc/calls/calls.h" #include "libc/calls/struct/rlimit.h" #include "libc/calls/struct/rusage.h" diff --git a/libc/isystem/sys/types.h b/libc/isystem/sys/types.h index f9370b3a3..3739af21e 100644 --- a/libc/isystem/sys/types.h +++ b/libc/isystem/sys/types.h @@ -4,7 +4,7 @@ #include "libc/calls/weirdtypes.h" #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) -#include "libc/bits/newbie.h" +#include "libc/intrin/newbie.h" #include "libc/calls/typedef/u.h" #include "libc/calls/weirdtypes.h" #include "libc/sock/select.h" diff --git a/libc/log/appendresourcereport.c b/libc/log/appendresourcereport.c index b48d1a315..5d0951d3f 100644 --- a/libc/log/appendresourcereport.c +++ b/libc/log/appendresourcereport.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/struct/rusage.h" #include "libc/fmt/itoa.h" #include "libc/log/log.h" diff --git a/libc/log/attachdebugger.c b/libc/log/attachdebugger.c index 7d5208182..37117f9f4 100644 --- a/libc/log/attachdebugger.c +++ b/libc/log/attachdebugger.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/fmt/fmt.h" #include "libc/intrin/kprintf.h" diff --git a/libc/log/backtrace2.c b/libc/log/backtrace2.c index 1239c010f..383b913af 100644 --- a/libc/log/backtrace2.c +++ b/libc/log/backtrace2.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/alg/bisectcarleft.internal.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/log/backtrace3.c b/libc/log/backtrace3.c index 90093ce46..9b6359efb 100644 --- a/libc/log/backtrace3.c +++ b/libc/log/backtrace3.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/bisectcarleft.internal.h" #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/fmt/fmt.h" #include "libc/fmt/itoa.h" diff --git a/libc/log/checkfail.c b/libc/log/checkfail.c index 5c3295cc8..dc15bd116 100644 --- a/libc/log/checkfail.c +++ b/libc/log/checkfail.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/errno.h" diff --git a/libc/log/checkfail_ndebug.c b/libc/log/checkfail_ndebug.c index 4241a4680..7d4b0abfe 100644 --- a/libc/log/checkfail_ndebug.c +++ b/libc/log/checkfail_ndebug.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/intrin/kprintf.h" #include "libc/log/internal.h" #include "libc/log/log.h" diff --git a/libc/log/commandvenv.c b/libc/log/commandvenv.c index 5586e8cfc..e255d4b5c 100644 --- a/libc/log/commandvenv.c +++ b/libc/log/commandvenv.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/log/log.h" #include "libc/mem/mem.h" diff --git a/libc/log/gdbexec.c b/libc/log/gdbexec.c index 13b03250c..5d365e397 100644 --- a/libc/log/gdbexec.c +++ b/libc/log/gdbexec.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/fmt/fmt.h" #include "libc/log/gdb.h" diff --git a/libc/log/leaks.c b/libc/log/leaks.c index c4faf6012..2b9d0c70c 100644 --- a/libc/log/leaks.c +++ b/libc/log/leaks.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/strace.internal.h" #include "libc/intrin/asan.internal.h" #include "libc/intrin/kprintf.h" diff --git a/libc/log/log.h b/libc/log/log.h index b284a0e62..3d58af696 100644 --- a/libc/log/log.h +++ b/libc/log/log.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_LIBC_LOG_LOG_H_ #define COSMOPOLITAN_LIBC_LOG_LOG_H_ -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/struct/rusage.h" #include "libc/calls/struct/sigset.h" #include "libc/calls/struct/winsize.h" diff --git a/libc/log/logfile.initabi.c b/libc/log/logfile.initabi.c index 3e5936c3a..2bf044980 100644 --- a/libc/log/logfile.initabi.c +++ b/libc/log/logfile.initabi.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "libc/stdio/stdio.h" FILE *__log_file; diff --git a/libc/log/memlog.c b/libc/log/memlog.c index 69ea8279b..78148f317 100644 --- a/libc/log/memlog.c +++ b/libc/log/memlog.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/atomic.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/atomic.h" +#include "libc/intrin/weaken.h" #include "libc/intrin/kprintf.h" #include "libc/log/backtrace.internal.h" #include "libc/log/log.h" diff --git a/libc/log/oncrash.c b/libc/log/oncrash.c index b4cdae1db..38dfaa148 100644 --- a/libc/log/oncrash.c +++ b/libc/log/oncrash.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/log/onkill.c b/libc/log/onkill.c index addcdea41..0be0c1300 100644 --- a/libc/log/onkill.c +++ b/libc/log/onkill.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/siginfo.h" diff --git a/libc/log/rop.h b/libc/log/rop.h index 08efdcd0e..8647cca4b 100644 --- a/libc/log/rop.h +++ b/libc/log/rop.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_LOG_ROP_H_ #define COSMOPOLITAN_LIBC_LOG_ROP_H_ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #define RETURN_ON_ERROR(expr) \ do { \ diff --git a/libc/log/startfatal.c b/libc/log/startfatal.c index 4c1432037..0b88985d8 100644 --- a/libc/log/startfatal.c +++ b/libc/log/startfatal.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/intrin/kprintf.h" #include "libc/log/color.internal.h" #include "libc/log/internal.h" diff --git a/libc/log/verr.c b/libc/log/verr.c index e0ad4a40f..b700b78a7 100644 --- a/libc/log/verr.c +++ b/libc/log/verr.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/log/bsd.h" #include "libc/log/color.internal.h" #include "libc/log/internal.h" diff --git a/libc/log/vflogf.c b/libc/log/vflogf.c index 35c2eae7a..39aba9c8d 100644 --- a/libc/log/vflogf.c +++ b/libc/log/vflogf.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/dprintf.h" #include "libc/calls/strace.internal.h" diff --git a/libc/mem/arena.c b/libc/mem/arena.c index 63407f810..2b69ff080 100644 --- a/libc/mem/arena.c +++ b/libc/mem/arena.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/limits.h" diff --git a/libc/mem/defer.greg.c b/libc/mem/defer.greg.c index d22aacd3a..5b2d04a0c 100644 --- a/libc/mem/defer.greg.c +++ b/libc/mem/defer.greg.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/gc.internal.h" diff --git a/libc/nexgen32e/lz4.h b/libc/nexgen32e/lz4.h index 64376fac5..fa63da86f 100644 --- a/libc/nexgen32e/lz4.h +++ b/libc/nexgen32e/lz4.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_LZ4_H_ #define COSMOPOLITAN_LIBC_LZ4_H_ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" /*───────────────────────────────────────────────────────────────────────────│─╗ │ cosmopolitan § lz4 ─╬─│┼ ╚────────────────────────────────────────────────────────────────────────────│─╝ diff --git a/libc/nexgen32e/rdtscp.h b/libc/nexgen32e/rdtscp.h index 33868c540..f521a9719 100644 --- a/libc/nexgen32e/rdtscp.h +++ b/libc/nexgen32e/rdtscp.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_NEXGEN32E_RDTSCP_H_ #define COSMOPOLITAN_LIBC_NEXGEN32E_RDTSCP_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/dce.h" #include "libc/nexgen32e/x86feature.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) diff --git a/libc/nt/struct/teb.h b/libc/nt/struct/teb.h index 23d4d9c16..a8e056175 100644 --- a/libc/nt/struct/teb.h +++ b/libc/nt/struct/teb.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_NT_TEB_H_ #define COSMOPOLITAN_LIBC_NT_TEB_H_ -#include "libc/bits/segmentation.h" +#include "libc/intrin/segmentation.h" #include "libc/nt/struct/peb.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) #if defined(__GNUC__) && !defined(__STRICT_ANSI__) diff --git a/libc/rand/getrandom.c b/libc/rand/getrandom.c index 77caf1b16..2836d9281 100644 --- a/libc/rand/getrandom.c +++ b/libc/rand/getrandom.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/sigaction.h" diff --git a/libc/rand/mt19937.c b/libc/rand/mt19937.c index 6f6e7b98b..90f2b5a57 100644 --- a/libc/rand/mt19937.c +++ b/libc/rand/mt19937.c @@ -34,7 +34,7 @@ │ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/macros.internal.h" #include "libc/rand/rand.h" diff --git a/libc/rand/rdrand.c b/libc/rand/rdrand.c index 341c385ad..6c55da016 100644 --- a/libc/rand/rdrand.c +++ b/libc/rand/rdrand.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/errno.h" #include "libc/nexgen32e/x86feature.h" #include "libc/rand/rand.h" diff --git a/libc/rand/rdseed.c b/libc/rand/rdseed.c index 3852f3175..a3711d90a 100644 --- a/libc/rand/rdseed.c +++ b/libc/rand/rdseed.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/nexgen32e/x86feature.h" #include "libc/rand/rand.h" #include "libc/stdio/stdio.h" diff --git a/libc/runtime/arch_prctl.c b/libc/runtime/arch_prctl.c index 2aabdcda0..ff0e40bc7 100644 --- a/libc/runtime/arch_prctl.c +++ b/libc/runtime/arch_prctl.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/asmflag.h" -#include "libc/bits/bits.h" +#include "libc/intrin/asmflag.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" diff --git a/libc/runtime/efimain.greg.c b/libc/runtime/efimain.greg.c index 5455f4da9..4b64dd6e0 100644 --- a/libc/runtime/efimain.greg.c +++ b/libc/runtime/efimain.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/macros.internal.h" #include "libc/nt/efi.h" diff --git a/libc/runtime/enable_tls.c b/libc/runtime/enable_tls.c index 7f154ba3d..97b3044ce 100644 --- a/libc/runtime/enable_tls.c +++ b/libc/runtime/enable_tls.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/runtime/exit.c b/libc/runtime/exit.c index da4e882d1..8eeb5968b 100644 --- a/libc/runtime/exit.c +++ b/libc/runtime/exit.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/runtime/internal.h" #include "libc/runtime/runtime.h" diff --git a/libc/runtime/ezmap.c b/libc/runtime/ezmap.c index 4528e89d5..8e019fca3 100644 --- a/libc/runtime/ezmap.c +++ b/libc/runtime/ezmap.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/limits.h" #include "libc/log/libfatal.internal.h" diff --git a/libc/runtime/finddebugbinary.c b/libc/runtime/finddebugbinary.c index e902aaa54..ff83b45db 100644 --- a/libc/runtime/finddebugbinary.c +++ b/libc/runtime/finddebugbinary.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" diff --git a/libc/runtime/fork-nt.c b/libc/runtime/fork-nt.c index 24d96c3d6..f3cddc83c 100644 --- a/libc/runtime/fork-nt.c +++ b/libc/runtime/fork-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/calls/ntspawn.h" #include "libc/calls/state.internal.h" diff --git a/libc/runtime/fork.c b/libc/runtime/fork.c index 099fc680f..4bab187ac 100644 --- a/libc/runtime/fork.c +++ b/libc/runtime/fork.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-nt.internal.h" diff --git a/libc/runtime/getdosargv.c b/libc/runtime/getdosargv.c index ff97895fb..80d302bed 100644 --- a/libc/runtime/getdosargv.c +++ b/libc/runtime/getdosargv.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/nt/thunk/msabi.h" #include "libc/runtime/internal.h" #include "libc/str/str.h" diff --git a/libc/runtime/getdosenviron.c b/libc/runtime/getdosenviron.c index d7723ec97..fccf6f6ee 100644 --- a/libc/runtime/getdosenviron.c +++ b/libc/runtime/getdosenviron.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/runtime/runtime.h" #include "libc/str/str.h" #include "libc/str/tpenc.h" diff --git a/libc/runtime/getsymboltable.c b/libc/runtime/getsymboltable.c index bf1543b4d..169ba510a 100644 --- a/libc/runtime/getsymboltable.c +++ b/libc/runtime/getsymboltable.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/intrin/promises.internal.h" #include "libc/intrin/spinlock.h" diff --git a/libc/runtime/grow.c b/libc/runtime/grow.c index 8b39a62f6..62e04b6c9 100644 --- a/libc/runtime/grow.c +++ b/libc/runtime/grow.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/fmt/conv.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/libc/runtime/hook.greg.c b/libc/runtime/hook.greg.c index 05d20b987..a80df3168 100644 --- a/libc/runtime/hook.greg.c +++ b/libc/runtime/hook.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigset.h" #include "libc/dce.h" diff --git a/libc/runtime/inflate.c b/libc/runtime/inflate.c index edee0dddd..70e23e143 100644 --- a/libc/runtime/inflate.c +++ b/libc/runtime/inflate.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/strace.internal.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" diff --git a/libc/runtime/isdynamicexecutable.c b/libc/runtime/isdynamicexecutable.c index 4005c729f..66c0a6be6 100644 --- a/libc/runtime/isdynamicexecutable.c +++ b/libc/runtime/isdynamicexecutable.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/elf/def.h" diff --git a/libc/runtime/mapanon.c b/libc/runtime/mapanon.c index 12be768d2..713729c98 100644 --- a/libc/runtime/mapanon.c +++ b/libc/runtime/mapanon.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/nexgen32e/bsr.h" diff --git a/libc/runtime/mapshared.c b/libc/runtime/mapshared.c index f2f086504..1810ce294 100644 --- a/libc/runtime/mapshared.c +++ b/libc/runtime/mapshared.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/runtime/runtime.h" diff --git a/libc/runtime/memtrack.internal.h b/libc/runtime/memtrack.internal.h index 501c60966..746602693 100644 --- a/libc/runtime/memtrack.internal.h +++ b/libc/runtime/memtrack.internal.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_LIBC_RUNTIME_MEMTRACK_H_ #define COSMOPOLITAN_LIBC_RUNTIME_MEMTRACK_H_ #include "libc/assert.h" -#include "libc/bits/midpoint.h" +#include "libc/intrin/midpoint.h" #include "libc/dce.h" #include "libc/intrin/nopl.h" #include "libc/macros.internal.h" diff --git a/libc/runtime/mmap.c b/libc/runtime/mmap.c index d498417fa..e1936e9a8 100644 --- a/libc/runtime/mmap.c +++ b/libc/runtime/mmap.c @@ -17,10 +17,10 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/runtime/morph.greg.c b/libc/runtime/morph.greg.c index 3538dc844..1fc32b61a 100644 --- a/libc/runtime/morph.greg.c +++ b/libc/runtime/morph.greg.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #define ShouldUseMsabiAttribute() 1 #include "libc/assert.h" -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/sigset.h" diff --git a/libc/runtime/mprotect.c b/libc/runtime/mprotect.c index 5b38ba2e4..e9a911d20 100644 --- a/libc/runtime/mprotect.c +++ b/libc/runtime/mprotect.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/dce.h" diff --git a/libc/runtime/mremap.c b/libc/runtime/mremap.c index 1ff4a3a84..0617a36ef 100644 --- a/libc/runtime/mremap.c +++ b/libc/runtime/mremap.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/runtime/munmap.c b/libc/runtime/munmap.c index 045dc1d87..27e47588f 100644 --- a/libc/runtime/munmap.c +++ b/libc/runtime/munmap.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall-sysv.internal.h" diff --git a/libc/runtime/opensymboltable.greg.c b/libc/runtime/opensymboltable.greg.c index e126a84ec..ed0aa0901 100644 --- a/libc/runtime/opensymboltable.greg.c +++ b/libc/runtime/opensymboltable.greg.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/runtime/runtime.mk b/libc/runtime/runtime.mk index f0162b973..5d2decf1e 100644 --- a/libc/runtime/runtime.mk +++ b/libc/runtime/runtime.mk @@ -33,7 +33,6 @@ LIBC_RUNTIME_A_CHECKS = \ $(LIBC_RUNTIME_A_HDRS:%=o/$(MODE)/%.ok) LIBC_RUNTIME_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_ELF \ LIBC_FMT \ diff --git a/libc/runtime/stackuse.c b/libc/runtime/stackuse.c index ae2d85084..4e2557bd9 100644 --- a/libc/runtime/stackuse.c +++ b/libc/runtime/stackuse.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/fmt/itoa.h" diff --git a/libc/runtime/straceinit.greg.c b/libc/runtime/straceinit.greg.c index 848d96cf3..1644f7365 100644 --- a/libc/runtime/straceinit.greg.c +++ b/libc/runtime/straceinit.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/strace.internal.h" #include "libc/log/libfatal.internal.h" #include "libc/runtime/internal.h" diff --git a/libc/runtime/symbols.c b/libc/runtime/symbols.c index 846eba41e..8cfd5c782 100644 --- a/libc/runtime/symbols.c +++ b/libc/runtime/symbols.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/dce.h" #include "libc/log/backtrace.internal.h" #include "libc/log/log.h" diff --git a/libc/runtime/symbols.internal.h b/libc/runtime/symbols.internal.h index 566c7e018..5ea80ebdc 100644 --- a/libc/runtime/symbols.internal.h +++ b/libc/runtime/symbols.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_SYMBOLS_H_ #define COSMOPOLITAN_LIBC_SYMBOLS_H_ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/runtime/weakfree.c b/libc/runtime/weakfree.c index b466568d1..44c2b3200 100644 --- a/libc/runtime/weakfree.c +++ b/libc/runtime/weakfree.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/mem/mem.h" #include "libc/runtime/runtime.h" diff --git a/libc/runtime/winmain.greg.c b/libc/runtime/winmain.greg.c index 346001c3b..7836d27cc 100644 --- a/libc/runtime/winmain.greg.c +++ b/libc/runtime/winmain.greg.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/pushpop.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/pushpop.h" +#include "libc/intrin/weaken.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" #include "libc/calls/syscall_support-nt.internal.h" diff --git a/libc/sock/closesocket-nt.c b/libc/sock/closesocket-nt.c index 435017b23..1ea05fc9a 100644 --- a/libc/sock/closesocket-nt.c +++ b/libc/sock/closesocket-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/intrin/kprintf.h" #include "libc/log/backtrace.internal.h" #include "libc/mem/mem.h" diff --git a/libc/sock/firewall.c b/libc/sock/firewall.c index 890c75454..1bc654b6c 100644 --- a/libc/sock/firewall.c +++ b/libc/sock/firewall.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/log/log.h" diff --git a/libc/sock/gethostips.c b/libc/sock/gethostips.c index 7b47f901f..40a339ebe 100644 --- a/libc/sock/gethostips.c +++ b/libc/sock/gethostips.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/calls/syscall_support-nt.internal.h" diff --git a/libc/sock/kntwsadata.c b/libc/sock/kntwsadata.c index 9c635dce1..43703e91d 100644 --- a/libc/sock/kntwsadata.c +++ b/libc/sock/kntwsadata.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/dce.h" diff --git a/libc/sock/recv-nt.c b/libc/sock/recv-nt.c index c11bd61df..c9fba3f3b 100644 --- a/libc/sock/recv-nt.c +++ b/libc/sock/recv-nt.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/iovec.h" #include "libc/errno.h" diff --git a/libc/sock/sendfile.c b/libc/sock/sendfile.c index 48c30e3bb..123228957 100644 --- a/libc/sock/sendfile.c +++ b/libc/sock/sendfile.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/sig.internal.h" diff --git a/libc/sock/sock.h b/libc/sock/sock.h index 42ccae058..c1af5f745 100644 --- a/libc/sock/sock.h +++ b/libc/sock/sock.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_SOCK_SOCK_H_ #define COSMOPOLITAN_LIBC_SOCK_SOCK_H_ -#include "libc/bits/bswap.h" +#include "libc/intrin/bswap.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ /*───────────────────────────────────────────────────────────────────────────│─╗ diff --git a/libc/sock/sock.mk b/libc/sock/sock.mk index 01a24eac8..47a0c2ed4 100644 --- a/libc/sock/sock.mk +++ b/libc/sock/sock.mk @@ -25,7 +25,6 @@ LIBC_SOCK_A_CHECKS = \ $(LIBC_SOCK_A_HDRS:%=o/$(MODE)/%.ok) LIBC_SOCK_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/libc/sock/syslog.c b/libc/sock/syslog.c index 393af517a..52c4d7d29 100644 --- a/libc/sock/syslog.c +++ b/libc/sock/syslog.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/dprintf.h" #include "libc/calls/weirdtypes.h" diff --git a/libc/sock/xinet_ntop.c b/libc/sock/xinet_ntop.c index ce1914156..351c6ee7a 100644 --- a/libc/sock/xinet_ntop.c +++ b/libc/sock/xinet_ntop.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/log/log.h" #include "libc/mem/mem.h" #include "libc/runtime/runtime.h" diff --git a/libc/stdio/appendw.c b/libc/stdio/appendw.c index cdcee2e59..b4b0d4538 100644 --- a/libc/stdio/appendw.c +++ b/libc/stdio/appendw.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/libc/stdio/dirstream.c b/libc/stdio/dirstream.c index c9d235d7d..31b60ba00 100644 --- a/libc/stdio/dirstream.c +++ b/libc/stdio/dirstream.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/stdio/fflush_unlocked.c b/libc/stdio/fflush_unlocked.c index 07ae9a6f1..a24f3dbf4 100644 --- a/libc/stdio/fflush_unlocked.c +++ b/libc/stdio/fflush_unlocked.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist.internal.h" -#include "libc/bits/bits.h" -#include "libc/bits/pushpop.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/pushpop.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/intrin/pthread.h" diff --git a/libc/stdio/paginate.c b/libc/stdio/paginate.c index 68a7552c6..0acd7f177 100644 --- a/libc/stdio/paginate.c +++ b/libc/stdio/paginate.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/fmt/fmt.h" #include "libc/runtime/runtime.h" diff --git a/libc/stdio/stdio.mk b/libc/stdio/stdio.mk index fc7bc65c0..0e98d486f 100644 --- a/libc/stdio/stdio.mk +++ b/libc/stdio/stdio.mk @@ -24,8 +24,6 @@ LIBC_STDIO_A_CHECKS = \ $(LIBC_STDIO_A_HDRS:%=o/$(MODE)/%.ok) LIBC_STDIO_A_DIRECTDEPS = \ - LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/libc/stdio/stdout.c b/libc/stdio/stdout.c index 442971923..493974895 100644 --- a/libc/stdio/stdout.c +++ b/libc/stdio/stdout.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/stdio/internal.h" diff --git a/libc/stdio/system.c b/libc/stdio/system.c index 55543aa57..17a827a66 100644 --- a/libc/stdio/system.c +++ b/libc/stdio/system.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/dce.h" diff --git a/libc/str/bcmp.c b/libc/str/bcmp.c index 69d87faa3..00616752b 100644 --- a/libc/str/bcmp.c +++ b/libc/str/bcmp.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/nexgen32e/x86feature.h" #include "libc/str/str.h" diff --git a/libc/str/crc32z.c b/libc/str/crc32z.c index ac2bcf193..db7e76dee 100644 --- a/libc/str/crc32z.c +++ b/libc/str/crc32z.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/macros.internal.h" diff --git a/libc/str/findembeddedape.c b/libc/str/findembeddedape.c index 68b3696cf..f522d98a2 100644 --- a/libc/str/findembeddedape.c +++ b/libc/str/findembeddedape.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/log/libfatal.internal.h" #include "libc/macros.internal.h" #include "libc/str/str.h" diff --git a/libc/str/getcachesize.c b/libc/str/getcachesize.c index e9ab0fbd3..c6ff0b7a7 100644 --- a/libc/str/getcachesize.c +++ b/libc/str/getcachesize.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/nexgen32e/cachesize.h" #include "libc/nexgen32e/cpuid4.internal.h" diff --git a/libc/str/getzipcdir.c b/libc/str/getzipcdir.c index 0f4edeb45..25ccdf17d 100644 --- a/libc/str/getzipcdir.c +++ b/libc/str/getzipcdir.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/zip.h" typedef char v16qi __attribute__((__vector_size__(16))); diff --git a/libc/str/highwayhash64.c b/libc/str/highwayhash64.c index 8fcd05e07..1a166e076 100644 --- a/libc/str/highwayhash64.c +++ b/libc/str/highwayhash64.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/highwayhash64.h" asm(".ident\t\"\\n\\n\ diff --git a/libc/str/isutf8.c b/libc/str/isutf8.c index 669744339..50e04c147 100644 --- a/libc/str/isutf8.c +++ b/libc/str/isutf8.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/str/str.h" diff --git a/libc/str/iszipcdir32.c b/libc/str/iszipcdir32.c index 27382a230..b5b34462b 100644 --- a/libc/str/iszipcdir32.c +++ b/libc/str/iszipcdir32.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/zip.h" /** diff --git a/libc/str/iszipcdir64.c b/libc/str/iszipcdir64.c index 044442336..f8db63337 100644 --- a/libc/str/iszipcdir64.c +++ b/libc/str/iszipcdir64.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/zip.h" /** diff --git a/libc/str/kx86processormodels.c b/libc/str/kx86processormodels.c index bfaa5a1e6..ac0453adb 100644 --- a/libc/str/kx86processormodels.c +++ b/libc/str/kx86processormodels.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/x86info.h" diff --git a/libc/str/lz4cpy.c b/libc/str/lz4cpy.c index 8f3e3add7..72003af3a 100644 --- a/libc/str/lz4cpy.c +++ b/libc/str/lz4cpy.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/pushpop.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/pushpop.h" #include "libc/intrin/repmovsb.h" #include "libc/nexgen32e/kompressor.h" #include "libc/str/str.h" diff --git a/libc/str/memcasecmp.c b/libc/str/memcasecmp.c index 81c8bb7ec..a4a58f19d 100644 --- a/libc/str/memcasecmp.c +++ b/libc/str/memcasecmp.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" /** diff --git a/libc/str/memccpy.c b/libc/str/memccpy.c index e0df0fe48..1988140b7 100644 --- a/libc/str/memccpy.c +++ b/libc/str/memccpy.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" /** diff --git a/libc/str/memmem.c b/libc/str/memmem.c index 499042aaa..90a2df108 100644 --- a/libc/str/memmem.c +++ b/libc/str/memmem.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/str/str.h" diff --git a/libc/str/strlcat.c b/libc/str/strlcat.c index 79d77919c..8274b0966 100644 --- a/libc/str/strlcat.c +++ b/libc/str/strlcat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/str/str.h" /** diff --git a/libc/str/strlcpy.c b/libc/str/strlcpy.c index 05eafaf07..652fb3059 100644 --- a/libc/str/strlcpy.c +++ b/libc/str/strlcpy.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/macros.internal.h" #include "libc/str/str.h" diff --git a/libc/str/strnlen.c b/libc/str/strnlen.c index 5eb82cba3..a48b23432 100644 --- a/libc/str/strnlen.c +++ b/libc/str/strnlen.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/str/str.h" diff --git a/libc/str/timingsafe_bcmp.c b/libc/str/timingsafe_bcmp.c index 9600df9eb..7012f761d 100644 --- a/libc/str/timingsafe_bcmp.c +++ b/libc/str/timingsafe_bcmp.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/nexgen32e/x86feature.h" diff --git a/libc/str/undeflate.c b/libc/str/undeflate.c index 71c1dda05..0957919c2 100644 --- a/libc/str/undeflate.c +++ b/libc/str/undeflate.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/weaken.h" #include "libc/intrin/repmovsb.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/kompressor.h" diff --git a/libc/str/utf16.h b/libc/str/utf16.h index a0a87854e..bf186b458 100644 --- a/libc/str/utf16.h +++ b/libc/str/utf16.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_STR_UTF16_H_ #define COSMOPOLITAN_LIBC_STR_UTF16_H_ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #define UTF16_MASK 0xfc00 #define UTF16_MOAR 0xd800 /* 0xD800..0xDBFF */ diff --git a/libc/str/wctype.c b/libc/str/wctype.c index c9af081b5..f4170540d 100644 --- a/libc/str/wctype.c +++ b/libc/str/wctype.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/str/str.h" diff --git a/libc/testlib/bench.h b/libc/testlib/bench.h index 710e131e9..5298fe707 100644 --- a/libc/testlib/bench.h +++ b/libc/testlib/bench.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_BENCH_H_ #define COSMOPOLITAN_LIBC_BENCH_H_ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/nexgen32e/bench.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ diff --git a/libc/testlib/comborunner.c b/libc/testlib/comborunner.c index 2436c5f24..d0d82bea7 100644 --- a/libc/testlib/comborunner.c +++ b/libc/testlib/comborunner.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/mem/mem.h" #include "libc/str/str.h" diff --git a/libc/testlib/formatint.c b/libc/testlib/formatint.c index c9ce6c926..b2e84a637 100644 --- a/libc/testlib/formatint.c +++ b/libc/testlib/formatint.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/fmt.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/libc/testlib/formatstr.c b/libc/testlib/formatstr.c index 2dd66dbbe..13313a03c 100644 --- a/libc/testlib/formatstr.c +++ b/libc/testlib/formatstr.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #include "libc/testlib/testlib.h" diff --git a/libc/testlib/quota.c b/libc/testlib/quota.c index 1302482f0..60ac983cf 100644 --- a/libc/testlib/quota.c +++ b/libc/testlib/quota.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/intrin/kprintf.h" diff --git a/libc/testlib/showerror.c b/libc/testlib/showerror.c index d9f842314..bb9efc127 100644 --- a/libc/testlib/showerror.c +++ b/libc/testlib/showerror.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/atomic.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/fmt/fmt.h" diff --git a/libc/testlib/testlib.mk b/libc/testlib/testlib.mk index caf496290..6c3e40ff0 100644 --- a/libc/testlib/testlib.mk +++ b/libc/testlib/testlib.mk @@ -94,7 +94,6 @@ LIBC_TESTLIB_A_OBJS = \ LIBC_TESTLIB_A_DIRECTDEPS = \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/libc/testlib/testmain.c b/libc/testlib/testmain.c index 37599b609..45c929fdc 100644 --- a/libc/testlib/testmain.c +++ b/libc/testlib/testmain.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/rlimit.h" diff --git a/libc/testlib/testrunner.c b/libc/testlib/testrunner.c index 4a7415b69..e06d17bc2 100644 --- a/libc/testlib/testrunner.c +++ b/libc/testlib/testrunner.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/atomic.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/atomic.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/state.internal.h" #include "libc/calls/strace.internal.h" diff --git a/libc/thread/freebsd.internal.h b/libc/thread/freebsd.internal.h index d0651edce..b6e71a92d 100644 --- a/libc/thread/freebsd.internal.h +++ b/libc/thread/freebsd.internal.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_THREAD_FREEBSD_INTERNAL_H_ #define COSMOPOLITAN_LIBC_THREAD_FREEBSD_INTERNAL_H_ -#include "libc/bits/asmflag.h" +#include "libc/intrin/asmflag.h" #include "libc/calls/struct/timespec.h" #include "libc/errno.h" diff --git a/libc/thread/sem.c b/libc/thread/sem.c index 06b355984..dfbb50169 100644 --- a/libc/thread/sem.c +++ b/libc/thread/sem.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/thread/thread.h" diff --git a/libc/thread/thread.mk b/libc/thread/thread.mk index eaad77641..b1d4f15ef 100644 --- a/libc/thread/thread.mk +++ b/libc/thread/thread.mk @@ -27,7 +27,6 @@ LIBC_THREAD_A_DIRECTDEPS = \ LIBC_STUBS \ LIBC_CALLS \ LIBC_INTRIN \ - LIBC_BITS \ LIBC_MEM \ LIBC_RUNTIME \ LIBC_SYSV \ diff --git a/libc/thread/wait.c b/libc/thread/wait.c index 756cd7d1a..09ed69a00 100644 --- a/libc/thread/wait.c +++ b/libc/thread/wait.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/struct/timespec.h" #include "libc/dce.h" diff --git a/libc/time/localtime.c b/libc/time/localtime.c index 25735f0b0..ee06baea0 100644 --- a/libc/time/localtime.c +++ b/libc/time/localtime.c @@ -2,7 +2,7 @@ │vi: set et ft=c ts=8 tw=8 fenc=utf-8 :vi│ ╚─────────────────────────────────────────────────────────────────────────────*/ #define LOCALTIME_IMPLEMENTATION -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/intrin/nopl.h" #include "libc/intrin/pthread.h" diff --git a/libc/tinymath/exp.c b/libc/tinymath/exp.c index f0c3c9ff4..4819e08c2 100644 --- a/libc/tinymath/exp.c +++ b/libc/tinymath/exp.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp_data.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/exp2.c b/libc/tinymath/exp2.c index 17be7d363..c428e5d05 100644 --- a/libc/tinymath/exp2.c +++ b/libc/tinymath/exp2.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp_data.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/exp2f.c b/libc/tinymath/exp2f.c index 14a3665b6..fa61660f7 100644 --- a/libc/tinymath/exp2f.c +++ b/libc/tinymath/exp2f.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp2f_data.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/expf.c b/libc/tinymath/expf.c index 795fb1c38..650076910 100644 --- a/libc/tinymath/expf.c +++ b/libc/tinymath/expf.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp2f_data.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/log.c b/libc/tinymath/log.c index 0e226de4c..e4ed21945 100644 --- a/libc/tinymath/log.c +++ b/libc/tinymath/log.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/internal.h" #include "libc/tinymath/log_data.internal.h" diff --git a/libc/tinymath/log10.c b/libc/tinymath/log10.c index 3ce0e3c9b..bd2d8323d 100644 --- a/libc/tinymath/log10.c +++ b/libc/tinymath/log10.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/complex.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/log1p.c b/libc/tinymath/log1p.c index 02f47b40c..78e974bff 100644 --- a/libc/tinymath/log1p.c +++ b/libc/tinymath/log1p.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/internal.h" #include "libc/tinymath/log_data.internal.h" diff --git a/libc/tinymath/log2.c b/libc/tinymath/log2.c index 7c4d379e1..3a8448f8a 100644 --- a/libc/tinymath/log2.c +++ b/libc/tinymath/log2.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/complex.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/log2f.c b/libc/tinymath/log2f.c index 4fe1e7be5..41aea6f9d 100644 --- a/libc/tinymath/log2f.c +++ b/libc/tinymath/log2f.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/complex.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/pow.c b/libc/tinymath/pow.c index 898fcbc22..70f5fdecb 100644 --- a/libc/tinymath/pow.c +++ b/libc/tinymath/pow.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp_data.internal.h" #include "libc/tinymath/internal.h" diff --git a/libc/tinymath/powf.c b/libc/tinymath/powf.c index 0d8dd07a0..9c15bfbb4 100644 --- a/libc/tinymath/powf.c +++ b/libc/tinymath/powf.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/exp2f_data.internal.h" #include "libc/tinymath/exp_data.internal.h" diff --git a/libc/tinymath/rempio2.c b/libc/tinymath/rempio2.c index a14fda98a..4643af122 100644 --- a/libc/tinymath/rempio2.c +++ b/libc/tinymath/rempio2.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/kernel.internal.h" diff --git a/libc/tinymath/rempio2f.c b/libc/tinymath/rempio2f.c index c99d77d81..cdd0d6789 100644 --- a/libc/tinymath/rempio2f.c +++ b/libc/tinymath/rempio2f.c @@ -25,7 +25,7 @@ │ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/tinymath/kernel.internal.h" diff --git a/libc/tinymath/rint.S b/libc/tinymath/rint.S index b3b8d3d4e..9ece4dc58 100644 --- a/libc/tinymath/rint.S +++ b/libc/tinymath/rint.S @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/nexgen32e/x86feature.h" -#include "libc/bits/smmintrin.internal.h" +#include "libc/intrin/smmintrin.internal.h" #include "libc/macros.internal.h" // Rounds to nearest integer. diff --git a/libc/tinymath/round.S b/libc/tinymath/round.S index cfdfd4648..17e4605b4 100644 --- a/libc/tinymath/round.S +++ b/libc/tinymath/round.S @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/macros.internal.h" -#include "libc/bits/smmintrin.internal.h" +#include "libc/intrin/smmintrin.internal.h" #include "libc/nexgen32e/x86feature.h" // Rounds to nearest integer, away from zero. diff --git a/libc/tinymath/roundf.S b/libc/tinymath/roundf.S index a7e582e36..3badb5bbe 100644 --- a/libc/tinymath/roundf.S +++ b/libc/tinymath/roundf.S @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/macros.internal.h" -#include "libc/bits/smmintrin.internal.h" +#include "libc/intrin/smmintrin.internal.h" #include "libc/nexgen32e/x86feature.h" // Rounds to nearest integer, away from zero. diff --git a/libc/unicode/setlocale.c b/libc/unicode/setlocale.c index 3273e361c..aca1d840f 100644 --- a/libc/unicode/setlocale.c +++ b/libc/unicode/setlocale.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/str/str.h" #include "libc/unicode/locale.h" diff --git a/libc/unicode/strnwidth16.c b/libc/unicode/strnwidth16.c index d5df7d97e..09f5124fc 100644 --- a/libc/unicode/strnwidth16.c +++ b/libc/unicode/strnwidth16.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/str/oldutf16.internal.h" #include "libc/str/str.h" #include "libc/unicode/unicode.h" diff --git a/libc/unicode/strwidth16.c b/libc/unicode/strwidth16.c index 85fca5832..21d8be632 100644 --- a/libc/unicode/strwidth16.c +++ b/libc/unicode/strwidth16.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/limits.h" #include "libc/unicode/unicode.h" diff --git a/libc/unicode/wcwidth.c b/libc/unicode/wcwidth.c index fbb95490f..1a3384bdf 100644 --- a/libc/unicode/wcwidth.c +++ b/libc/unicode/wcwidth.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/unicode/unicode.h" extern const uint8_t kEastAsianWidth[]; diff --git a/libc/x/makedirs.c b/libc/x/makedirs.c index f236765cf..489b8b6d7 100644 --- a/libc/x/makedirs.c +++ b/libc/x/makedirs.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/errno.h" diff --git a/libc/x/replaceuser.c b/libc/x/replaceuser.c index 44ca2b208..ccaf6d1b6 100644 --- a/libc/x/replaceuser.c +++ b/libc/x/replaceuser.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/mem/mem.h" #include "libc/runtime/runtime.h" diff --git a/libc/x/utf16toutf8.c b/libc/x/utf16toutf8.c index 57ebd4c3b..feaaf7895 100644 --- a/libc/x/utf16toutf8.c +++ b/libc/x/utf16toutf8.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/packsswb.h" #include "libc/intrin/pandn.h" #include "libc/intrin/pcmpgtb.h" diff --git a/libc/x/xdie.c b/libc/x/xdie.c index ac2952053..1b9056d65 100644 --- a/libc/x/xdie.c +++ b/libc/x/xdie.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/log/log.h" #include "libc/runtime/runtime.h" #include "libc/x/x.h" diff --git a/libc/x/xjoinpaths.c b/libc/x/xjoinpaths.c index b7b21021e..8d960d5d5 100644 --- a/libc/x/xjoinpaths.c +++ b/libc/x/xjoinpaths.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/str/path.h" #include "libc/str/str.h" #include "libc/x/x.h" diff --git a/libc/x/xstrdup.c b/libc/x/xstrdup.c index 8dc0b2d8e..84814658b 100644 --- a/libc/x/xstrdup.c +++ b/libc/x/xstrdup.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #include "libc/x/x.h" diff --git a/libc/zip.h b/libc/zip.h index 35477adf5..2dbce5bef 100644 --- a/libc/zip.h +++ b/libc/zip.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_LIBC_ZIP_H_ #define COSMOPOLITAN_LIBC_ZIP_H_ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/struct/timespec.h" #include "libc/macros.internal.h" #include "libc/str/str.h" diff --git a/libc/zipos/notat.c b/libc/zipos/notat.c index 4f45aa44b..30302e2fd 100644 --- a/libc/zipos/notat.c +++ b/libc/zipos/notat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/internal.h" #include "libc/sysv/errfuns.h" #include "libc/zipos/zipos.internal.h" diff --git a/libc/zipos/open.c b/libc/zipos/open.c index 2a6a6a469..b889b6a50 100644 --- a/libc/zipos/open.c +++ b/libc/zipos/open.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/state.internal.h" diff --git a/libc/zipos/read.c b/libc/zipos/read.c index f1adb3774..3cfd5d025 100644 --- a/libc/zipos/read.c +++ b/libc/zipos/read.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/struct/iovec.h" #include "libc/str/str.h" #include "libc/zip.h" diff --git a/libc/zipos/stat-impl.c b/libc/zipos/stat-impl.c index ff4e01ac4..54b7ec3c8 100644 --- a/libc/zipos/stat-impl.c +++ b/libc/zipos/stat-impl.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/struct/stat.h" #include "libc/str/str.h" #include "libc/sysv/errfuns.h" diff --git a/libc/zipos/stat.c b/libc/zipos/stat.c index 2bdffd684..6e4f41e9d 100644 --- a/libc/zipos/stat.c +++ b/libc/zipos/stat.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/stdio/stdio.h" #include "libc/sysv/errfuns.h" #include "libc/zipos/zipos.internal.h" diff --git a/net/finger/describesyn.c b/net/finger/describesyn.c index 2cf851bfa..aa7670d88 100644 --- a/net/finger/describesyn.c +++ b/net/finger/describesyn.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/itoa.h" #include "net/finger/finger.h" diff --git a/net/http/escapejsstringliteral.c b/net/http/escapejsstringliteral.c index 68fc9ad38..f654edc5c 100644 --- a/net/http/escapejsstringliteral.c +++ b/net/http/escapejsstringliteral.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #include "libc/str/thompike.h" diff --git a/net/http/findcontenttype.c b/net/http/findcontenttype.c index 2af73cf83..e9ac53029 100644 --- a/net/http/findcontenttype.c +++ b/net/http/findcontenttype.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" #include "libc/macros.internal.h" #include "libc/str/str.h" #include "net/http/http.h" diff --git a/net/http/hascontrolcodes.c b/net/http/hascontrolcodes.c index dd6c4e30d..74d6b55a0 100644 --- a/net/http/hascontrolcodes.c +++ b/net/http/hascontrolcodes.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/str/str.h" #include "libc/str/thompike.h" #include "net/http/escape.h" diff --git a/net/http/isacceptablepath.c b/net/http/isacceptablepath.c index e1abffb39..ccd479a5d 100644 --- a/net/http/isacceptablepath.c +++ b/net/http/isacceptablepath.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/str/str.h" #include "libc/str/thompike.h" #include "net/http/http.h" diff --git a/net/http/parsehttpdatetime.c b/net/http/parsehttpdatetime.c index 9a4bcf18b..5924760d8 100644 --- a/net/http/parsehttpdatetime.c +++ b/net/http/parsehttpdatetime.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/time/time.h" #include "libc/str/str.h" #include "net/http/http.h" diff --git a/net/http/parsehttpmessage.c b/net/http/parsehttpmessage.c index 77afdf730..dd03b944b 100644 --- a/net/http/parsehttpmessage.c +++ b/net/http/parsehttpmessage.c @@ -19,7 +19,7 @@ #include "libc/alg/alg.h" #include "libc/alg/arraylist.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/limits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/net/http/parseurl.c b/net/http/parseurl.c index a599deb52..dfcbbfde9 100644 --- a/net/http/parseurl.c +++ b/net/http/parseurl.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/limits.h" #include "libc/mem/mem.h" #include "libc/str/str.h" diff --git a/net/https/certhasip.c b/net/https/certhasip.c index e229037ba..d27d7c55e 100644 --- a/net/https/certhasip.c +++ b/net/https/certhasip.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "net/https/https.h" bool CertHasIp(const mbedtls_x509_crt *cert, uint32_t ip) { diff --git a/net/https/getsslcachefile.c b/net/https/getsslcachefile.c index bbcffaf3c..a67498ba1 100644 --- a/net/https/getsslcachefile.c +++ b/net/https/getsslcachefile.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" diff --git a/net/https/https.mk b/net/https/https.mk index 7328aca28..0d4b1d743 100644 --- a/net/https/https.mk +++ b/net/https/https.mk @@ -21,7 +21,6 @@ NET_HTTPS_A_CHECKS = \ $(NET_HTTPS_A_HDRS:%=o/$(MODE)/%.ok) NET_HTTPS_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/net/https/sslcache.c b/net/https/sslcache.c index 664f5f0ca..8b0f8e008 100644 --- a/net/https/sslcache.c +++ b/net/https/sslcache.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/errno.h" diff --git a/test/dsp/tty/ttymove_test.c b/test/dsp/tty/ttymove_test.c index 14f2683c0..d829c9dde 100644 --- a/test/dsp/tty/ttymove_test.c +++ b/test/dsp/tty/ttymove_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/tty.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/rand/rand.h" #include "libc/str/str.h" #include "libc/testlib/ezbench.h" diff --git a/test/dsp/tty/windex_test.c b/test/dsp/tty/windex_test.c index 0a8d8452d..0a4d82420 100644 --- a/test/dsp/tty/windex_test.c +++ b/test/dsp/tty/windex_test.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/windex.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/limits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/test/libc/alg/bisectcarleft_test.c b/test/libc/alg/bisectcarleft_test.c index 1068dd08c..80455c87b 100644 --- a/test/libc/alg/bisectcarleft_test.c +++ b/test/libc/alg/bisectcarleft_test.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/alg/bisectcarleft.internal.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/alg/comparator_test.c b/test/libc/alg/comparator_test.c index 468b1b4c0..f45e485c0 100644 --- a/test/libc/alg/comparator_test.c +++ b/test/libc/alg/comparator_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/alg/critbit0_test.c b/test/libc/alg/critbit0_test.c index 0ee2581c0..e1388d990 100644 --- a/test/libc/alg/critbit0_test.c +++ b/test/libc/alg/critbit0_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/critbit0.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/runtime/runtime.h" #include "libc/str/str.h" diff --git a/test/libc/alg/tarjan_test.c b/test/libc/alg/tarjan_test.c index 924c638db..4469dd32a 100644 --- a/test/libc/alg/tarjan_test.c +++ b/test/libc/alg/tarjan_test.c @@ -94,7 +94,7 @@ TEST(tarjan, testHeaders) { }; const char *const vertices[] = { [LIBC_STR_STR] = "libc/str/str.h", - [LIBC_BITS_BITS] = "libc/bits/bits.h", + [LIBC_BITS_BITS] = "libc/intrin/bits.h", [LIBC_INTEGRAL] = "libc/integral.h", [LIBC_KEYWORDS] = "libc/keywords.h", [LIBC_DCE] = "libc/dce.h", @@ -118,6 +118,6 @@ TEST(tarjan, testHeaders) { EXPECT_STREQ("libc/keywords.h", vertices[sorted[2]]); EXPECT_STREQ("libc/macros-cpp.inc", vertices[sorted[3]]); EXPECT_STREQ("libc/macros.internal.h", vertices[sorted[4]]); - EXPECT_STREQ("libc/bits/bits.h", vertices[sorted[5]]); + EXPECT_STREQ("libc/intrin/bits.h", vertices[sorted[5]]); EXPECT_STREQ("libc/str/str.h", vertices[sorted[6]]); } diff --git a/test/libc/bits/test.mk b/test/libc/bits/test.mk old mode 100644 new mode 100755 index d40450eee..e69de29bb --- a/test/libc/bits/test.mk +++ b/test/libc/bits/test.mk @@ -1,62 +0,0 @@ -#-*-mode:makefile-gmake;indent-tabs-mode:t;tab-width:8;coding:utf-8-*-┐ -#───vi: set et ft=make ts=8 tw=8 fenc=utf-8 :vi───────────────────────┘ - -PKGS += TEST_LIBC_BITS - -TEST_LIBC_BITS_SRCS := $(wildcard test/libc/bits/*.c) -TEST_LIBC_BITS_SRCS_TEST = $(filter %_test.c,$(TEST_LIBC_BITS_SRCS)) - -TEST_LIBC_BITS_OBJS = \ - $(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.o) - -TEST_LIBC_BITS_COMS = \ - $(TEST_LIBC_BITS_SRCS:%.c=o/$(MODE)/%.com) - -TEST_LIBC_BITS_BINS = \ - $(TEST_LIBC_BITS_COMS) \ - $(TEST_LIBC_BITS_COMS:%=%.dbg) - -TEST_LIBC_BITS_TESTS = \ - $(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.ok) - -TEST_LIBC_BITS_CHECKS = \ - $(TEST_LIBC_BITS_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) - -TEST_LIBC_BITS_DIRECTDEPS = \ - LIBC_BITS \ - LIBC_CALLS \ - LIBC_FMT \ - LIBC_INTRIN \ - LIBC_MEM \ - LIBC_NEXGEN32E \ - LIBC_RUNTIME \ - LIBC_STUBS \ - LIBC_SYSV \ - LIBC_TESTLIB \ - LIBC_X \ - THIRD_PARTY_COMPILER_RT - -TEST_LIBC_BITS_DEPS := \ - $(call uniq,$(foreach x,$(TEST_LIBC_BITS_DIRECTDEPS),$($(x)))) - -o/$(MODE)/test/libc/bits/bits.pkg: \ - $(TEST_LIBC_BITS_OBJS) \ - $(foreach x,$(TEST_LIBC_BITS_DIRECTDEPS),$($(x)_A).pkg) - -o/$(MODE)/test/libc/bits/%.com.dbg: \ - $(TEST_LIBC_BITS_DEPS) \ - o/$(MODE)/test/libc/bits/%.o \ - o/$(MODE)/test/libc/bits/bits.pkg \ - $(LIBC_TESTMAIN) \ - $(CRT) \ - $(APE_NO_MODIFY_SELF) - @$(APELINK) - -$(TEST_LIBC_BITS_OBJS): private \ - DEFAULT_CCFLAGS += \ - -fno-builtin - -.PHONY: o/$(MODE)/test/libc/bits -o/$(MODE)/test/libc/bits: \ - $(TEST_LIBC_BITS_BINS) \ - $(TEST_LIBC_BITS_CHECKS) diff --git a/test/libc/calls/commandv_test.c b/test/libc/calls/commandv_test.c index 4f18ec745..d2713ca7e 100644 --- a/test/libc/calls/commandv_test.c +++ b/test/libc/calls/commandv_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/stat.h" diff --git a/test/libc/calls/ftruncate_test.c b/test/libc/calls/ftruncate_test.c index 082b942a5..f53aa8eb7 100644 --- a/test/libc/calls/ftruncate_test.c +++ b/test/libc/calls/ftruncate_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/dce.h" diff --git a/test/libc/calls/ioctl_siocgifconf_test.c b/test/libc/calls/ioctl_siocgifconf_test.c index 76f61d89c..bc6e7e784 100644 --- a/test/libc/calls/ioctl_siocgifconf_test.c +++ b/test/libc/calls/ioctl_siocgifconf_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/ioctl.h" diff --git a/test/libc/calls/sched_getaffinity_test.c b/test/libc/calls/sched_getaffinity_test.c index 65a010946..bd0677535 100644 --- a/test/libc/calls/sched_getaffinity_test.c +++ b/test/libc/calls/sched_getaffinity_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/runtime/runtime.h" diff --git a/test/libc/calls/sched_setscheduler_test.c b/test/libc/calls/sched_setscheduler_test.c index dfbb72d5c..15e551390 100644 --- a/test/libc/calls/sched_setscheduler_test.c +++ b/test/libc/calls/sched_setscheduler_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/midpoint.h" +#include "libc/intrin/midpoint.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sched_param.h" #include "libc/dce.h" diff --git a/test/libc/calls/setrlimit_test.c b/test/libc/calls/setrlimit_test.c index 71737be37..777a79d74 100644 --- a/test/libc/calls/setrlimit_test.c +++ b/test/libc/calls/setrlimit_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/core/core.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/rlimit.h" #include "libc/calls/struct/sigaction.h" diff --git a/test/libc/fmt/basename_test.c b/test/libc/fmt/basename_test.c index 847221077..62b833d38 100644 --- a/test/libc/fmt/basename_test.c +++ b/test/libc/fmt/basename_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/conv.h" #include "libc/mem/mem.h" #include "libc/runtime/gc.internal.h" diff --git a/test/libc/fmt/palandprintf_test.c b/test/libc/fmt/palandprintf_test.c index e5c8e2db6..9ac2165a0 100644 --- a/test/libc/fmt/palandprintf_test.c +++ b/test/libc/fmt/palandprintf_test.c @@ -24,8 +24,8 @@ │ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN │ │ THE SOFTWARE. │ └─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/pushpop.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/errno.h" #include "libc/fmt/fmt.h" #include "libc/fmt/itoa.h" diff --git a/test/libc/fmt/sprintf_s_test.c b/test/libc/fmt/sprintf_s_test.c index 7cfb66fd5..330a45cdb 100644 --- a/test/libc/fmt/sprintf_s_test.c +++ b/test/libc/fmt/sprintf_s_test.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/runtime/gc.internal.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/fmt/sscanf_test.c b/test/libc/fmt/sscanf_test.c index bce247645..1e89a89ca 100644 --- a/test/libc/fmt/sscanf_test.c +++ b/test/libc/fmt/sscanf_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/errno.h" #include "libc/fmt/fmt.h" #include "libc/limits.h" diff --git a/test/libc/fmt/strerror_r_test.c b/test/libc/fmt/strerror_r_test.c index 1f8552188..1fe1c8634 100644 --- a/test/libc/fmt/strerror_r_test.c +++ b/test/libc/fmt/strerror_r_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/errno.h" #include "libc/fmt/fmt.h" diff --git a/test/libc/bits/bextra_test.c b/test/libc/intrin/bextra_test.c similarity index 99% rename from test/libc/bits/bextra_test.c rename to test/libc/intrin/bextra_test.c index ad99cc5d9..3aaafb2b3 100644 --- a/test/libc/bits/bextra_test.c +++ b/test/libc/intrin/bextra_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/testlib/ezbench.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/bits/bitreverse_test.c b/test/libc/intrin/bitreverse_test.c similarity index 98% rename from test/libc/bits/bitreverse_test.c rename to test/libc/intrin/bitreverse_test.c index 1d4cef342..408e266f2 100644 --- a/test/libc/bits/bitreverse_test.c +++ b/test/libc/intrin/bitreverse_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/testlib/ezbench.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/bits/countbits_test.c b/test/libc/intrin/countbits_test.c similarity index 97% rename from test/libc/bits/countbits_test.c rename to test/libc/intrin/countbits_test.c index 9ad88fb14..de2ce0ee8 100644 --- a/test/libc/bits/countbits_test.c +++ b/test/libc/intrin/countbits_test.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/mem/mem.h" #include "libc/runtime/gc.internal.h" diff --git a/test/libc/bits/division_test.c b/test/libc/intrin/division_test.c similarity index 98% rename from test/libc/bits/division_test.c rename to test/libc/intrin/division_test.c index 61b9c398f..edde45cd7 100644 --- a/test/libc/bits/division_test.c +++ b/test/libc/intrin/division_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/testlib/ezbench.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/bits/integralarithmetic_test.c b/test/libc/intrin/integralarithmetic_test.c similarity index 98% rename from test/libc/bits/integralarithmetic_test.c rename to test/libc/intrin/integralarithmetic_test.c index 45ba9dcaa..18161b7f2 100644 --- a/test/libc/bits/integralarithmetic_test.c +++ b/test/libc/intrin/integralarithmetic_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/limits.h" #include "libc/macros.internal.h" diff --git a/test/libc/intrin/kprintf_test.c b/test/libc/intrin/kprintf_test.c index 2457f9602..5d61fbb4d 100644 --- a/test/libc/intrin/kprintf_test.c +++ b/test/libc/intrin/kprintf_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/test/libc/bits/morton_test.c b/test/libc/intrin/morton_test.c similarity index 99% rename from test/libc/bits/morton_test.c rename to test/libc/intrin/morton_test.c index 0c9a2ac5d..571cc6705 100644 --- a/test/libc/bits/morton_test.c +++ b/test/libc/intrin/morton_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/morton.h" +#include "libc/intrin/morton.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/nexgen32e/kcpuids.h" diff --git a/test/libc/bits/popcnt_test.c b/test/libc/intrin/popcnt_test.c similarity index 98% rename from test/libc/bits/popcnt_test.c rename to test/libc/intrin/popcnt_test.c index fbcc42dd5..93d219de1 100644 --- a/test/libc/bits/popcnt_test.c +++ b/test/libc/intrin/popcnt_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/testlib/ezbench.h" #include "libc/testlib/hyperion.h" diff --git a/test/libc/bits/rounddown2pow_test.c b/test/libc/intrin/rounddown2pow_test.c similarity index 98% rename from test/libc/bits/rounddown2pow_test.c rename to test/libc/intrin/rounddown2pow_test.c index 2b09f7bbf..f7418a13c 100644 --- a/test/libc/bits/rounddown2pow_test.c +++ b/test/libc/intrin/rounddown2pow_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/bits/roundup2log_test.c b/test/libc/intrin/roundup2log_test.c similarity index 98% rename from test/libc/bits/roundup2log_test.c rename to test/libc/intrin/roundup2log_test.c index b498b3cf2..07a6aad4a 100644 --- a/test/libc/bits/roundup2log_test.c +++ b/test/libc/intrin/roundup2log_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/bits/roundup2pow_test.c b/test/libc/intrin/roundup2pow_test.c similarity index 98% rename from test/libc/bits/roundup2pow_test.c rename to test/libc/intrin/roundup2pow_test.c index a58903214..a62bfcebf 100644 --- a/test/libc/bits/roundup2pow_test.c +++ b/test/libc/intrin/roundup2pow_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/log/check.h" #include "libc/macros.internal.h" diff --git a/test/libc/intrin/strlen_test.c b/test/libc/intrin/strlen_test.c index 403218c9c..6a5736317 100644 --- a/test/libc/intrin/strlen_test.c +++ b/test/libc/intrin/strlen_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/bsr.h" diff --git a/test/libc/intrin/test.mk b/test/libc/intrin/test.mk index 3d5983f8a..d1db7cdd9 100644 --- a/test/libc/intrin/test.mk +++ b/test/libc/intrin/test.mk @@ -40,7 +40,8 @@ TEST_LIBC_INTRIN_DIRECTDEPS = \ LIBC_TINYMATH \ LIBC_UNICODE \ LIBC_X \ - TOOL_VIZ_LIB + TOOL_VIZ_LIB \ + THIRD_PARTY_COMPILER_RT TEST_LIBC_INTRIN_DEPS := \ $(call uniq,$(foreach x,$(TEST_LIBC_INTRIN_DIRECTDEPS),$($(x)))) diff --git a/test/libc/mem/malloc_test.c b/test/libc/mem/malloc_test.c index e203484a3..b8fbfcadd 100644 --- a/test/libc/mem/malloc_test.c +++ b/test/libc/mem/malloc_test.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/dce.h" diff --git a/test/libc/mem/strdup_test.c b/test/libc/mem/strdup_test.c index 88919834c..c6285d056 100644 --- a/test/libc/mem/strdup_test.c +++ b/test/libc/mem/strdup_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/mem/test.mk b/test/libc/mem/test.mk index e337fc30a..abc921284 100644 --- a/test/libc/mem/test.mk +++ b/test/libc/mem/test.mk @@ -72,7 +72,7 @@ o/$(MODE)/test/libc/mem/prog/sock.o: \ test/libc/mem/prog/sock.c \ libc/errno.h \ libc/sock/sock.h \ - libc/bits/bswap.h \ + libc/intrin/bswap.h \ libc/sysv/consts/af.h \ libc/runtime/symbolic.h \ libc/sysv/consts/sock.h diff --git a/test/libc/nexgen32e/lz4decode_test.c b/test/libc/nexgen32e/lz4decode_test.c index 2b222c03b..87c405067 100644 --- a/test/libc/nexgen32e/lz4decode_test.c +++ b/test/libc/nexgen32e/lz4decode_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/log/check.h" #include "libc/mem/mem.h" diff --git a/test/libc/nexgen32e/memmove_test.c b/test/libc/nexgen32e/memmove_test.c index 9ec2311d0..6c43e46f6 100644 --- a/test/libc/nexgen32e/memmove_test.c +++ b/test/libc/nexgen32e/memmove_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" #include "libc/rand/rand.h" diff --git a/test/libc/rand/getrandom_test.c b/test/libc/rand/getrandom_test.c index 0f28dda20..89368afbc 100644 --- a/test/libc/rand/getrandom_test.c +++ b/test/libc/rand/getrandom_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/log/check.h" #include "libc/math.h" #include "libc/nexgen32e/x86feature.h" diff --git a/test/libc/rand/mt19937_test.c b/test/libc/rand/mt19937_test.c index b6b87a781..0274db013 100644 --- a/test/libc/rand/mt19937_test.c +++ b/test/libc/rand/mt19937_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/errno.h" #include "libc/log/check.h" #include "libc/macros.internal.h" diff --git a/test/libc/rand/rand64_test.c b/test/libc/rand/rand64_test.c index b7dabd013..18a63883e 100644 --- a/test/libc/rand/rand64_test.c +++ b/test/libc/rand/rand64_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/sigset.h" diff --git a/test/libc/rand/rand_test.c b/test/libc/rand/rand_test.c index 3969cdd10..2982b9369 100644 --- a/test/libc/rand/rand_test.c +++ b/test/libc/rand/rand_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/rand/rand.h" #include "libc/str/str.h" diff --git a/test/libc/rand/rngset_test.c b/test/libc/rand/rngset_test.c index 5db3fb224..957817e81 100644 --- a/test/libc/rand/rngset_test.c +++ b/test/libc/rand/rngset_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/rand/rand.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/runtime/arch_prctl_test.c b/test/libc/runtime/arch_prctl_test.c index 85de2bd71..007023079 100644 --- a/test/libc/runtime/arch_prctl_test.c +++ b/test/libc/runtime/arch_prctl_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/segmentation.h" +#include "libc/intrin/segmentation.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/nexgen32e/threaded.h" diff --git a/test/libc/runtime/grow_test.c b/test/libc/runtime/grow_test.c index d73abf9ea..08e541056 100644 --- a/test/libc/runtime/grow_test.c +++ b/test/libc/runtime/grow_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/limits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/test/libc/runtime/mmap_test.c b/test/libc/runtime/mmap_test.c index 163ef7051..e3ed3d042 100644 --- a/test/libc/runtime/mmap_test.c +++ b/test/libc/runtime/mmap_test.c @@ -16,10 +16,10 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/atomic.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/xchg.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ucontext.h" #include "libc/dce.h" diff --git a/test/libc/runtime/munmap_test.c b/test/libc/runtime/munmap_test.c index 0cd90a9f0..49424da8f 100644 --- a/test/libc/runtime/munmap_test.c +++ b/test/libc/runtime/munmap_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/siginfo.h" diff --git a/test/libc/runtime/test.mk b/test/libc/runtime/test.mk index dc75e4c57..3c0d22553 100644 --- a/test/libc/runtime/test.mk +++ b/test/libc/runtime/test.mk @@ -24,7 +24,6 @@ TEST_LIBC_RUNTIME_CHECKS = \ TEST_LIBC_RUNTIME_DIRECTDEPS = \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/test/libc/sock/inet_pton_test.c b/test/libc/sock/inet_pton_test.c index b3db98c31..acb748abb 100644 --- a/test/libc/sock/inet_pton_test.c +++ b/test/libc/sock/inet_pton_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/sock/sock.h" #include "libc/sysv/consts/af.h" #include "libc/sysv/consts/inaddr.h" diff --git a/test/libc/stdio/fgetwc_test.c b/test/libc/stdio/fgetwc_test.c index a8263e261..2f69f6138 100644 --- a/test/libc/stdio/fgetwc_test.c +++ b/test/libc/stdio/fgetwc_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/stdio/stdio.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/stdio/getdelim_test.c b/test/libc/stdio/getdelim_test.c index 60700469c..be962890f 100644 --- a/test/libc/stdio/getdelim_test.c +++ b/test/libc/stdio/getdelim_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/kprintf.h" #include "libc/log/libfatal.internal.h" #include "libc/mem/mem.h" diff --git a/test/libc/stdio/mkostempsm_test.c b/test/libc/stdio/mkostempsm_test.c index f99e32a7e..53a022763 100644 --- a/test/libc/stdio/mkostempsm_test.c +++ b/test/libc/stdio/mkostempsm_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/errno.h" #include "libc/runtime/runtime.h" #include "libc/stdio/internal.h" diff --git a/test/libc/stdio/spawn_test.c b/test/libc/stdio/spawn_test.c index 3c76f36c0..aecdd73cf 100644 --- a/test/libc/stdio/spawn_test.c +++ b/test/libc/stdio/spawn_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/fmt/conv.h" diff --git a/test/libc/stdio/test.mk b/test/libc/stdio/test.mk index 0ac46861a..c5e59f05c 100644 --- a/test/libc/stdio/test.mk +++ b/test/libc/stdio/test.mk @@ -23,7 +23,6 @@ TEST_LIBC_STDIO_CHECKS = \ $(TEST_LIBC_STDIO_SRCS_TEST:%.c=o/$(MODE)/%.com.runs) TEST_LIBC_STDIO_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/test/libc/stdio/vappendf_test.c b/test/libc/stdio/vappendf_test.c index 2a0a3b866..49edf2105 100644 --- a/test/libc/stdio/vappendf_test.c +++ b/test/libc/stdio/vappendf_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/kprintf.h" #include "libc/mem/mem.h" #include "libc/stdio/append.internal.h" diff --git a/test/libc/str/crc32c_test.c b/test/libc/str/crc32c_test.c index b80c2492d..e15452be4 100644 --- a/test/libc/str/crc32c_test.c +++ b/test/libc/str/crc32c_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/crc32.h" diff --git a/test/libc/str/crc32z_test.c b/test/libc/str/crc32z_test.c index 586adce38..d930626ef 100644 --- a/test/libc/str/crc32z_test.c +++ b/test/libc/str/crc32z_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/intrin/asan.internal.h" #include "libc/mem/mem.h" diff --git a/test/libc/str/getutf16_test.c b/test/libc/str/getutf16_test.c index c4bb686d5..a941dc8b7 100644 --- a/test/libc/str/getutf16_test.c +++ b/test/libc/str/getutf16_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/oldutf16.internal.h" #include "libc/str/str.h" #include "libc/str/tpdecode.internal.h" diff --git a/test/libc/str/memcpy_test.c b/test/libc/str/memcpy_test.c index bcb23fb2c..ee6452817 100644 --- a/test/libc/str/memcpy_test.c +++ b/test/libc/str/memcpy_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/nexgen32e.h" #include "libc/rand/rand.h" diff --git a/test/libc/str/memfrob_test.c b/test/libc/str/memfrob_test.c index 332641348..71a87282f 100644 --- a/test/libc/str/memfrob_test.c +++ b/test/libc/str/memfrob_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/str/memmem_test.c b/test/libc/str/memmem_test.c index 1a586b924..eb9c28a8e 100644 --- a/test/libc/str/memmem_test.c +++ b/test/libc/str/memmem_test.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "libc/mem/mem.h" #include "libc/rand/rand.h" #include "libc/str/internal.h" diff --git a/test/libc/str/pututf16_test.c b/test/libc/str/pututf16_test.c index 8af2b8b8e..e2172efa1 100644 --- a/test/libc/str/pututf16_test.c +++ b/test/libc/str/pututf16_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/runtime/gc.internal.h" #include "libc/str/oldutf16.internal.h" diff --git a/test/libc/str/qsort_test.c b/test/libc/str/qsort_test.c index 869249e80..17fdad838 100644 --- a/test/libc/str/qsort_test.c +++ b/test/libc/str/qsort_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/bsr.h" diff --git a/test/libc/str/sigset_test.c b/test/libc/str/sigset_test.c index 10171e6d1..7dd2f1f50 100644 --- a/test/libc/str/sigset_test.c +++ b/test/libc/str/sigset_test.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigset.h" #include "libc/str/str.h" diff --git a/test/libc/str/str_test.c b/test/libc/str/str_test.c index 57818969b..3ccfdd70e 100644 --- a/test/libc/str/str_test.c +++ b/test/libc/str/str_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/str/strcasestr_test.c b/test/libc/str/strcasestr_test.c index 43ceb0709..7729ff5a9 100644 --- a/test/libc/str/strcasestr_test.c +++ b/test/libc/str/strcasestr_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/x86feature.h" diff --git a/test/libc/str/strchr_test.c b/test/libc/str/strchr_test.c index 7c0e5f1f7..b297131c4 100644 --- a/test/libc/str/strchr_test.c +++ b/test/libc/str/strchr_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/rand/rand.h" #include "libc/str/str.h" diff --git a/test/libc/str/strcmp_test.c b/test/libc/str/strcmp_test.c index 9863bf5ac..ff2ebeb80 100644 --- a/test/libc/str/strcmp_test.c +++ b/test/libc/str/strcmp_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/test/libc/str/strstr_test.c b/test/libc/str/strstr_test.c index 31bbcc797..a4372246f 100644 --- a/test/libc/str/strstr_test.c +++ b/test/libc/str/strstr_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/x86feature.h" diff --git a/test/libc/str/strtolower_test.c b/test/libc/str/strtolower_test.c index 906338019..77f46d05c 100644 --- a/test/libc/str/strtolower_test.c +++ b/test/libc/str/strtolower_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "libc/testlib/testlib.h" diff --git a/test/libc/str/tprecode8to16_test.c b/test/libc/str/tprecode8to16_test.c index d08af3840..bf1edcbda 100644 --- a/test/libc/str/tprecode8to16_test.c +++ b/test/libc/str/tprecode8to16_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/str/str.h" #include "libc/testlib/ezbench.h" diff --git a/test/libc/thread/spawn_test.c b/test/libc/thread/spawn_test.c index a8de615e6..633559697 100644 --- a/test/libc/thread/spawn_test.c +++ b/test/libc/thread/spawn_test.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/atomic.h" +#include "libc/intrin/atomic.h" #include "libc/calls/calls.h" #include "libc/calls/syscall-sysv.internal.h" #include "libc/intrin/kprintf.h" diff --git a/test/libc/unicode/wcwidth_test.c b/test/libc/unicode/wcwidth_test.c index d23ec23ef..898ebfc3c 100644 --- a/test/libc/unicode/wcwidth_test.c +++ b/test/libc/unicode/wcwidth_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "libc/testlib/ezbench.h" #include "libc/testlib/testlib.h" diff --git a/test/net/http/parsehttpmessage_test.c b/test/net/http/parsehttpmessage_test.c index bb2897e38..758465367 100644 --- a/test/net/http/parsehttpmessage_test.c +++ b/test/net/http/parsehttpmessage_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/errno.h" #include "libc/log/check.h" #include "libc/mem/mem.h" diff --git a/test/net/https/mbedtls_test.c b/test/net/https/mbedtls_test.c index 23cd4a068..dc3d67a17 100644 --- a/test/net/https/mbedtls_test.c +++ b/test/net/https/mbedtls_test.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/crc32.h" #include "libc/nexgen32e/nexgen32e.h" diff --git a/test/tool/build/lib/interner_test.c b/test/tool/build/lib/interner_test.c index bc5d8208f..a9cfa36d0 100644 --- a/test/tool/build/lib/interner_test.c +++ b/test/tool/build/lib/interner_test.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/mem/mem.h" #include "libc/runtime/gc.internal.h" #include "libc/stdio/stdio.h" diff --git a/test/tool/build/lib/optest.c b/test/tool/build/lib/optest.c index 35a4c0c7b..891415b7e 100644 --- a/test/tool/build/lib/optest.c +++ b/test/tool/build/lib/optest.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" #include "libc/stdio/stdio.h" diff --git a/third_party/argon2/argon2.mk b/third_party/argon2/argon2.mk index fd257d24a..977dfd2c6 100644 --- a/third_party/argon2/argon2.mk +++ b/third_party/argon2/argon2.mk @@ -19,7 +19,6 @@ THIRD_PARTY_ARGON2_A_DIRECTDEPS = \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ - LIBC_BITS \ LIBC_NEXGEN32E \ LIBC_MEM \ LIBC_SYSV \ diff --git a/third_party/argon2/blake2b.c b/third_party/argon2/blake2b.c index 5aad00f29..ee0f6c644 100644 --- a/third_party/argon2/blake2b.c +++ b/third_party/argon2/blake2b.c @@ -15,7 +15,7 @@ │ - Apache 2.0 : https://www.apache.org/licenses/LICENSE-2.0 │ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/limits.h" #include "third_party/argon2/blake2-impl.h" #include "third_party/argon2/blake2.h" diff --git a/third_party/chibicc/as.c b/third_party/chibicc/as.c index aee654401..69ba3a886 100644 --- a/third_party/chibicc/as.c +++ b/third_party/chibicc/as.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/elf/def.h" diff --git a/third_party/chibicc/chibicc.h b/third_party/chibicc/chibicc.h index 94785b3bd..24586cd8f 100644 --- a/third_party/chibicc/chibicc.h +++ b/third_party/chibicc/chibicc.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_CHIBICC_CHIBICC_H_ #define COSMOPOLITAN_THIRD_PARTY_CHIBICC_CHIBICC_H_ #include "libc/assert.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/calls/weirdtypes.h" diff --git a/third_party/chibicc/chibicc.mk b/third_party/chibicc/chibicc.mk index 8f5610484..2d6e8eaaf 100644 --- a/third_party/chibicc/chibicc.mk +++ b/third_party/chibicc/chibicc.mk @@ -44,7 +44,6 @@ THIRD_PARTY_CHIBICC_A_CHECKS = \ THIRD_PARTY_CHIBICC_A_DIRECTDEPS = \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/third_party/chibicc/dox2.c b/third_party/chibicc/dox2.c index 2fa461d49..64cd55eec 100644 --- a/third_party/chibicc/dox2.c +++ b/third_party/chibicc/dox2.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/sysv/consts/map.h" #include "libc/sysv/consts/o.h" #include "libc/sysv/consts/prot.h" diff --git a/third_party/chibicc/pybind.c b/third_party/chibicc/pybind.c index 2b8bf360c..48bccc0b4 100644 --- a/third_party/chibicc/pybind.c +++ b/third_party/chibicc/pybind.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/conv.h" #include "libc/log/libfatal.internal.h" #include "libc/mem/mem.h" diff --git a/third_party/dlmalloc/dlmalloc.c b/third_party/dlmalloc/dlmalloc.c index 0e87369fd..c5210effe 100644 --- a/third_party/dlmalloc/dlmalloc.c +++ b/third_party/dlmalloc/dlmalloc.c @@ -1,6 +1,6 @@ #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/third_party/dlmalloc/dlmalloc.mk b/third_party/dlmalloc/dlmalloc.mk index 002a3e39b..ce95c5843 100644 --- a/third_party/dlmalloc/dlmalloc.mk +++ b/third_party/dlmalloc/dlmalloc.mk @@ -25,7 +25,6 @@ THIRD_PARTY_DLMALLOC_A_CHECKS = \ $(THIRD_PARTY_DLMALLOC_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_DLMALLOC_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_INTRIN \ LIBC_FMT \ diff --git a/third_party/dlmalloc/dlmalloc_abort.greg.c b/third_party/dlmalloc/dlmalloc_abort.greg.c index d2b2fd17a..a9fa884d3 100644 --- a/third_party/dlmalloc/dlmalloc_abort.greg.c +++ b/third_party/dlmalloc/dlmalloc_abort.greg.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/log/log.h" #include "libc/runtime/runtime.h" diff --git a/third_party/double-conversion/wrapper.cc b/third_party/double-conversion/wrapper.cc index 068408051..73f07d13c 100644 --- a/third_party/double-conversion/wrapper.cc +++ b/third_party/double-conversion/wrapper.cc @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "third_party/double-conversion/double-conversion.h" #include "third_party/double-conversion/double-to-string.h" diff --git a/third_party/linenoise/linenoise.c b/third_party/linenoise/linenoise.c index ba0354283..0c50ffc61 100644 --- a/third_party/linenoise/linenoise.c +++ b/third_party/linenoise/linenoise.c @@ -126,7 +126,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/sig.internal.h" #include "libc/calls/strace.internal.h" diff --git a/third_party/lua/ldo.c b/third_party/lua/ldo.c index 1ae82ec13..0412dc463 100644 --- a/third_party/lua/ldo.c +++ b/third_party/lua/ldo.c @@ -27,7 +27,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #define ldo_c #define LUA_CORE -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/log/log.h" #include "libc/runtime/gc.h" #include "libc/runtime/internal.h" diff --git a/third_party/lua/luaencodejsondata.c b/third_party/lua/luaencodejsondata.c index 7fe96af4d..a2d7be164 100644 --- a/third_party/lua/luaencodejsondata.c +++ b/third_party/lua/luaencodejsondata.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/critbit0.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "libc/fmt/itoa.h" #include "libc/log/log.h" #include "libc/log/rop.h" diff --git a/third_party/lua/luaencodeluadata.c b/third_party/lua/luaencodeluadata.c index 5b4cc9e08..bcd613e87 100644 --- a/third_party/lua/luaencodeluadata.c +++ b/third_party/lua/luaencodeluadata.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/critbit0.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/itoa.h" #include "libc/log/rop.h" #include "libc/math.h" diff --git a/third_party/lua/lunix.c b/third_party/lua/lunix.c index 5493d49bc..c3f527011 100644 --- a/third_party/lua/lunix.c +++ b/third_party/lua/lunix.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/makedev.h" diff --git a/third_party/lz4cli/bench.c b/third_party/lz4cli/bench.c index a924bf9bb..00874389f 100644 --- a/third_party/lz4cli/bench.c +++ b/third_party/lz4cli/bench.c @@ -43,7 +43,7 @@ #include "libc/stdio/stdio.h" /* fprintf, fopen, ftello */ #include "libc/time/time.h" /* clock_t, clock, CLOCKS_PER_SEC */ #include "libc/assert.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "libc/runtime/runtime.h" /* assert */ #include "third_party/lz4cli/datagen.h" /* RDG_genBuffer */ diff --git a/third_party/lz4cli/lz4io.c b/third_party/lz4cli/lz4io.c index 3ade722fa..0d1c7323b 100644 --- a/third_party/lz4cli/lz4io.c +++ b/third_party/lz4cli/lz4io.c @@ -54,7 +54,7 @@ #include "third_party/lz4cli/lz4hc.h" /* still required for legacy format */ #define LZ4F_STATIC_LINKING_ONLY #include "libc/runtime/runtime.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/initializer.internal.h" #include "third_party/lz4cli/lz4frame.h" diff --git a/third_party/make/getprogname.c b/third_party/make/getprogname.c index 861330f07..c953906d8 100644 --- a/third_party/make/getprogname.c +++ b/third_party/make/getprogname.c @@ -17,7 +17,7 @@ /* clang-format off */ #include "third_party/make/config.h" #include "third_party/make/getprogname.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "third_party/make/dirname.h" char const * diff --git a/third_party/make/job.c b/third_party/make/job.c index d61b3c209..6dc9cb239 100644 --- a/third_party/make/job.c +++ b/third_party/make/job.c @@ -28,15 +28,15 @@ this program. If not, see . */ #include "libc/runtime/stack.h" #include "libc/calls/calls.h" #include "libc/x/x.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/x/x.h" #include "libc/runtime/runtime.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/elf/struct/ehdr.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/kprintf.h" #include "libc/intrin/kprintf.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/runtime/runtime.h" #include "libc/elf/def.h" #include "libc/intrin/kprintf.h" diff --git a/third_party/maxmind/maxminddb.c b/third_party/maxmind/maxminddb.c index 2e4537654..04d3df90c 100644 --- a/third_party/maxmind/maxminddb.c +++ b/third_party/maxmind/maxminddb.c @@ -16,7 +16,7 @@ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/calls/weirdtypes.h" diff --git a/third_party/mbedtls/aes.c b/third_party/mbedtls/aes.c index 462d43e56..797a4d90a 100644 --- a/third_party/mbedtls/aes.c +++ b/third_party/mbedtls/aes.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/nexgen32e/x86feature.h" #include "libc/str/str.h" #include "third_party/mbedtls/aes.h" diff --git a/third_party/mbedtls/aesni.c b/third_party/mbedtls/aesni.c index 526348f94..4acf62a86 100644 --- a/third_party/mbedtls/aesni.c +++ b/third_party/mbedtls/aesni.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "third_party/mbedtls/aesni.h" #include "third_party/mbedtls/common.h" diff --git a/third_party/mbedtls/bigmul.c b/third_party/mbedtls/bigmul.c index 202663738..0ad521491 100644 --- a/third_party/mbedtls/bigmul.c +++ b/third_party/mbedtls/bigmul.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/log/backtrace.internal.h" #include "libc/log/check.h" #include "libc/macros.internal.h" diff --git a/third_party/mbedtls/bignum.c b/third_party/mbedtls/bignum.c index bd6cc4a7b..756334edc 100644 --- a/third_party/mbedtls/bignum.c +++ b/third_party/mbedtls/bignum.c @@ -16,8 +16,8 @@ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" #include "libc/log/backtrace.internal.h" #include "libc/log/check.h" #include "libc/log/log.h" diff --git a/third_party/mbedtls/chacha20.c b/third_party/mbedtls/chacha20.c index 44d3441cb..3fec6a6d8 100644 --- a/third_party/mbedtls/chacha20.c +++ b/third_party/mbedtls/chacha20.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/stdio/stdio.h" #include "libc/str/str.h" #include "third_party/mbedtls/chacha20.h" diff --git a/third_party/mbedtls/everest.c b/third_party/mbedtls/everest.c index 5ad53b302..764681b31 100644 --- a/third_party/mbedtls/everest.c +++ b/third_party/mbedtls/everest.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "third_party/mbedtls/endian.h" asm(".ident\t\"\\n\\n\ diff --git a/third_party/mbedtls/formatclientciphers.c b/third_party/mbedtls/formatclientciphers.c index 7c253027f..0d8bcef01 100644 --- a/third_party/mbedtls/formatclientciphers.c +++ b/third_party/mbedtls/formatclientciphers.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/stdio/append.internal.h" #include "third_party/mbedtls/iana.h" diff --git a/third_party/mbedtls/gcm.c b/third_party/mbedtls/gcm.c index f800ea983..b16aeb153 100644 --- a/third_party/mbedtls/gcm.c +++ b/third_party/mbedtls/gcm.c @@ -15,8 +15,8 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "libc/log/log.h" #include "libc/nexgen32e/x86feature.h" #include "libc/runtime/runtime.h" diff --git a/third_party/mbedtls/mbedtls.mk b/third_party/mbedtls/mbedtls.mk index 52c0ea862..90f35ab9f 100644 --- a/third_party/mbedtls/mbedtls.mk +++ b/third_party/mbedtls/mbedtls.mk @@ -16,7 +16,6 @@ THIRD_PARTY_MBEDTLS_A_CHECKS = \ $(THIRD_PARTY_MBEDTLS_A_HDRS:%=o/$(MODE)/%.ok) THIRD_PARTY_MBEDTLS_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_FMT \ diff --git a/third_party/mbedtls/md5.c b/third_party/mbedtls/md5.c index 362465b6c..ce67a44e1 100644 --- a/third_party/mbedtls/md5.c +++ b/third_party/mbedtls/md5.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "third_party/mbedtls/common.h" #include "third_party/mbedtls/error.h" diff --git a/third_party/mbedtls/platform.h b/third_party/mbedtls/platform.h index 1dd97bd63..cc8db6620 100644 --- a/third_party/mbedtls/platform.h +++ b/third_party/mbedtls/platform.h @@ -1,7 +1,7 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_ #define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_ #include "libc/assert.h" -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/weirdtypes.h" #include "libc/fmt/fmt.h" #include "libc/mem/mem.h" diff --git a/third_party/mbedtls/poly1305.c b/third_party/mbedtls/poly1305.c index 565e022b0..06ac0b8f0 100644 --- a/third_party/mbedtls/poly1305.c +++ b/third_party/mbedtls/poly1305.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/str/str.h" #include "third_party/mbedtls/common.h" #include "third_party/mbedtls/error.h" diff --git a/third_party/mbedtls/profile.h b/third_party/mbedtls/profile.h index 75899a34a..9d492d690 100644 --- a/third_party/mbedtls/profile.h +++ b/third_party/mbedtls/profile.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PROFILE_H_ #define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PROFILE_H_ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/log/log.h" #include "libc/nexgen32e/bench.h" #include "libc/nexgen32e/rdtsc.h" diff --git a/third_party/mbedtls/san.c b/third_party/mbedtls/san.c index 534899705..11b8dc0e9 100644 --- a/third_party/mbedtls/san.c +++ b/third_party/mbedtls/san.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/sock/sock.h" #include "libc/sysv/consts/af.h" #include "third_party/mbedtls/asn1.h" diff --git a/third_party/mbedtls/sha1.c b/third_party/mbedtls/sha1.c index 94a416a6e..7efe84d7c 100644 --- a/third_party/mbedtls/sha1.c +++ b/third_party/mbedtls/sha1.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/asan.internal.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/sha.h" diff --git a/third_party/mbedtls/test/everest_unravaged.c b/third_party/mbedtls/test/everest_unravaged.c index 665eca830..c26a029c3 100644 --- a/third_party/mbedtls/test/everest_unravaged.c +++ b/third_party/mbedtls/test/everest_unravaged.c @@ -1,4 +1,4 @@ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/limits.h" #include "third_party/mbedtls/asn1.h" #include "third_party/mbedtls/bignum.h" diff --git a/third_party/mbedtls/test/lib.c b/third_party/mbedtls/test/lib.c index aa05669d6..ba39d5f1b 100644 --- a/third_party/mbedtls/test/lib.c +++ b/third_party/mbedtls/test/lib.c @@ -15,8 +15,8 @@ * limitations under the License. */ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/fmt/conv.h" diff --git a/third_party/mbedtls/test/test_suite_ssl.c b/third_party/mbedtls/test/test_suite_ssl.c index eb6529aaa..093cc3d8b 100644 --- a/third_party/mbedtls/test/test_suite_ssl.c +++ b/third_party/mbedtls/test/test_suite_ssl.c @@ -20,7 +20,7 @@ #include "libc/testlib/testlib.h" #include "libc/log/log.h" #include "libc/rand/rand.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "third_party/mbedtls/test/test.inc" /* * *** THIS FILE WAS MACHINE GENERATED *** diff --git a/third_party/mbedtls/x509_crt.c b/third_party/mbedtls/x509_crt.c index 5805eadde..01a3f0027 100644 --- a/third_party/mbedtls/x509_crt.c +++ b/third_party/mbedtls/x509_crt.c @@ -15,7 +15,7 @@ │ See the License for the specific language governing permissions and │ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/stat.h" diff --git a/third_party/python/Include/ceval.h b/third_party/python/Include/ceval.h index 6b31bc5a0..cf6d14c14 100644 --- a/third_party/python/Include/ceval.h +++ b/third_party/python/Include/ceval.h @@ -1,6 +1,6 @@ #ifndef Py_CEVAL_H #define Py_CEVAL_H -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/dce.h" #include "libc/runtime/stack.h" #include "third_party/python/Include/object.h" diff --git a/third_party/python/Modules/_randommodule.c b/third_party/python/Modules/_randommodule.c index f18fcf6a3..e543efd90 100644 --- a/third_party/python/Modules/_randommodule.c +++ b/third_party/python/Modules/_randommodule.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/nexgen32e/x86feature.h" #include "libc/rand/rand.h" diff --git a/third_party/python/Modules/posixmodule.c b/third_party/python/Modules/posixmodule.c index 1f88d3916..b54e3124b 100644 --- a/third_party/python/Modules/posixmodule.c +++ b/third_party/python/Modules/posixmodule.c @@ -7,7 +7,7 @@ #define PY_SSIZE_T_CLEAN #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/makedev.h" diff --git a/third_party/python/Modules/unicodedata.c b/third_party/python/Modules/unicodedata.c index 97c5290bb..156137906 100644 --- a/third_party/python/Modules/unicodedata.c +++ b/third_party/python/Modules/unicodedata.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define PY_SSIZE_T_CLEAN -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/fmt.h" #include "libc/nexgen32e/kompressor.h" #include "third_party/python/Include/floatobject.h" diff --git a/third_party/python/Modules/unicodedata_getcode.c b/third_party/python/Modules/unicodedata_getcode.c index de300fcaf..52d027bce 100644 --- a/third_party/python/Modules/unicodedata_getcode.c +++ b/third_party/python/Modules/unicodedata_getcode.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/fmt.h" #include "third_party/python/Include/pyctype.h" #include "third_party/python/Include/pyerrors.h" diff --git a/third_party/python/Modules/unicodedata_getdecomprecord.c b/third_party/python/Modules/unicodedata_getdecomprecord.c index 01c9113d5..de741665a 100644 --- a/third_party/python/Modules/unicodedata_getdecomprecord.c +++ b/third_party/python/Modules/unicodedata_getdecomprecord.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "third_party/python/Modules/unicodedata.h" #include "third_party/python/Modules/unicodedata_unidata.h" /* clang-format off */ diff --git a/third_party/python/Modules/unicodedata_nfcnfkc.c b/third_party/python/Modules/unicodedata_nfcnfkc.c index 4ebaa8219..1de589140 100644 --- a/third_party/python/Modules/unicodedata_nfcnfkc.c +++ b/third_party/python/Modules/unicodedata_nfcnfkc.c @@ -4,8 +4,8 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "third_party/python/Include/pyerrors.h" #include "third_party/python/Include/pymem.h" #include "third_party/python/Modules/unicodedata.h" diff --git a/third_party/python/Modules/unicodedata_nfdnfkd.c b/third_party/python/Modules/unicodedata_nfdnfkd.c index 45b4fed36..81fe4f822 100644 --- a/third_party/python/Modules/unicodedata_nfdnfkd.c +++ b/third_party/python/Modules/unicodedata_nfdnfkd.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "third_party/python/Include/pyerrors.h" #include "third_party/python/Include/pymem.h" #include "third_party/python/Modules/unicodedata.h" diff --git a/third_party/python/Modules/zipimport.c b/third_party/python/Modules/zipimport.c index dfcf8d8f4..ca53ee54c 100644 --- a/third_party/python/Modules/zipimport.c +++ b/third_party/python/Modules/zipimport.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/weirdtypes.h" #include "libc/sysv/consts/s.h" diff --git a/third_party/python/Objects/dictobject.c b/third_party/python/Objects/dictobject.c index cae1ff315..45c25343b 100644 --- a/third_party/python/Objects/dictobject.c +++ b/third_party/python/Objects/dictobject.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/calls.h" #include "libc/log/countbranch.h" #include "libc/runtime/runtime.h" diff --git a/third_party/python/Objects/frameobject.c b/third_party/python/Objects/frameobject.c index 0d08ace6c..452421568 100644 --- a/third_party/python/Objects/frameobject.c +++ b/third_party/python/Objects/frameobject.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "third_party/python/Include/abstract.h" #include "third_party/python/Include/cellobject.h" #include "third_party/python/Include/code.h" diff --git a/third_party/python/Objects/longobject.c b/third_party/python/Objects/longobject.c index 543465d3f..e84469210 100644 --- a/third_party/python/Objects/longobject.c +++ b/third_party/python/Objects/longobject.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/fmt/conv.h" #include "libc/limits.h" #include "libc/log/check.h" diff --git a/third_party/python/Objects/object.c b/third_party/python/Objects/object.c index 53365f731..844aead36 100644 --- a/third_party/python/Objects/object.c +++ b/third_party/python/Objects/object.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/log/countbranch.h" #include "third_party/python/Include/abstract.h" #include "third_party/python/Include/boolobject.h" diff --git a/third_party/python/Objects/obmalloc.c b/third_party/python/Objects/obmalloc.c index 1bc8d17dd..bd45b7785 100644 --- a/third_party/python/Objects/obmalloc.c +++ b/third_party/python/Objects/obmalloc.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/fmt/fmt.h" diff --git a/third_party/python/Objects/typeobject.c b/third_party/python/Objects/typeobject.c index c23c1ea1f..7b3603f41 100644 --- a/third_party/python/Objects/typeobject.c +++ b/third_party/python/Objects/typeobject.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/fmt/fmt.h" #include "libc/log/countbranch.h" #include "third_party/python/Include/abstract.h" diff --git a/third_party/python/Objects/unicodeobject.c b/third_party/python/Objects/unicodeobject.c index 260b398c1..99b53d570 100644 --- a/third_party/python/Objects/unicodeobject.c +++ b/third_party/python/Objects/unicodeobject.c @@ -6,8 +6,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #define PY_SSIZE_T_CLEAN #include "libc/assert.h" -#include "libc/bits/likely.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/weaken.h" #include "libc/errno.h" #include "libc/fmt/fmt.h" #include "libc/log/countbranch.h" diff --git a/third_party/python/Python/ceval.c b/third_party/python/Python/ceval.c index 9fe51442c..4458fe5bb 100644 --- a/third_party/python/Python/ceval.c +++ b/third_party/python/Python/ceval.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define PY_LOCAL_AGGRESSIVE -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "third_party/python/Include/abstract.h" #include "third_party/python/Include/boolobject.h" #include "third_party/python/Include/bytesobject.h" diff --git a/third_party/python/Python/codecs.c b/third_party/python/Python/codecs.c index d410b299e..2766ce93f 100644 --- a/third_party/python/Python/codecs.c +++ b/third_party/python/Python/codecs.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/stdio/stdio.h" #include "third_party/python/Include/abstract.h" #include "third_party/python/Include/bytesobject.h" diff --git a/third_party/python/Python/cosmomodule.c b/third_party/python/Python/cosmomodule.c index e72819505..dc3caae29 100644 --- a/third_party/python/Python/cosmomodule.c +++ b/third_party/python/Python/cosmomodule.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #define PY_SSIZE_T_CLEAN #include "dsp/scale/cdecimate2xuint8x8.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/dce.h" #include "libc/errno.h" diff --git a/third_party/python/Python/fatality.c b/third_party/python/Python/fatality.c index 51100e271..db61ba09c 100644 --- a/third_party/python/Python/fatality.c +++ b/third_party/python/Python/fatality.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/log/log.h" #include "libc/stdio/stdio.h" #include "third_party/python/Include/abstract.h" diff --git a/third_party/python/Python/getcopyright.c b/third_party/python/Python/getcopyright.c index 360273ce5..854fe3b8b 100644 --- a/third_party/python/Python/getcopyright.c +++ b/third_party/python/Python/getcopyright.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/intrin/cmpxchg.h" #include "libc/stdio/append.internal.h" #include "libc/str/str.h" diff --git a/third_party/python/Python/import.c b/third_party/python/Python/import.c index ce10ef249..262b98798 100644 --- a/third_party/python/Python/import.c +++ b/third_party/python/Python/import.c @@ -5,7 +5,7 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/calls/struct/stat.macros.h" diff --git a/third_party/python/Python/pystate.c b/third_party/python/Python/pystate.c index 57ba86bce..2426d5706 100644 --- a/third_party/python/Python/pystate.c +++ b/third_party/python/Python/pystate.c @@ -4,7 +4,7 @@ │ Python 3 │ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/pushpop.h" +#include "libc/intrin/pushpop.h" #include "libc/runtime/dlfcn.h" #include "third_party/python/Include/ceval.h" #include "third_party/python/Include/dictobject.h" diff --git a/third_party/python/pycomp.c b/third_party/python/pycomp.c index c6ee9677c..8ce97e3cf 100644 --- a/third_party/python/pycomp.c +++ b/third_party/python/pycomp.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/calls/struct/stat.h" diff --git a/third_party/python/pyobj.c b/third_party/python/pyobj.c index 2ae36011e..d17783441 100644 --- a/third_party/python/pyobj.c +++ b/third_party/python/pyobj.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/calls/struct/stat.h" diff --git a/third_party/python/python.mk b/third_party/python/python.mk index bccae6c86..6e2e97b4f 100644 --- a/third_party/python/python.mk +++ b/third_party/python/python.mk @@ -442,7 +442,6 @@ THIRD_PARTY_PYTHON_STAGE1_A_SRCS = \ THIRD_PARTY_PYTHON_STAGE1_A_DIRECTDEPS = \ DSP_SCALE \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ @@ -1123,7 +1122,6 @@ THIRD_PARTY_PYTHON_STAGE2_A_DATA = \ THIRD_PARTY_PYTHON_STAGE2_A_DIRECTDEPS = \ DSP_CORE \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_FMT \ @@ -4358,7 +4356,7 @@ o/$(MODE)/third_party/python/freeze.com.dbg: \ o/$(MODE)/third_party/python/chibicc.inc: \ third_party/python/chibicc.inc \ libc/assert.h \ - libc/bits/likely.h \ + libc/intrin/likely.h \ libc/calls/struct/stat.h \ libc/calls/struct/timespec.h \ libc/dce.h \ diff --git a/third_party/python/runpythonmodule.c b/third_party/python/runpythonmodule.c index 22c139eb7..b5862f428 100644 --- a/third_party/python/runpythonmodule.c +++ b/third_party/python/runpythonmodule.c @@ -5,9 +5,9 @@ │ https://docs.python.org/3/license.html │ ╚─────────────────────────────────────────────────────────────────────────────*/ #define PY_SSIZE_T_CLEAN -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/weaken.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/weaken.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/struct/siginfo.h" diff --git a/third_party/quickjs/cutils.h b/third_party/quickjs/cutils.h index c2fd6010f..a27b52c02 100644 --- a/third_party/quickjs/cutils.h +++ b/third_party/quickjs/cutils.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_QUICKJS_CUTILS_H_ #define COSMOPOLITAN_THIRD_PARTY_QUICKJS_CUTILS_H_ -#include "libc/bits/bswap.h" +#include "libc/intrin/bswap.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) COSMOPOLITAN_C_START_ /* clang-format off */ diff --git a/third_party/quickjs/leb128.c b/third_party/quickjs/leb128.c index 13020e057..2528a2827 100644 --- a/third_party/quickjs/leb128.c +++ b/third_party/quickjs/leb128.c @@ -22,7 +22,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "third_party/quickjs/leb128.h" asm(".ident\t\"\\n\\n\ diff --git a/third_party/quickjs/libbf.c b/third_party/quickjs/libbf.c index 24668f82e..5abb3b147 100644 --- a/third_party/quickjs/libbf.c +++ b/third_party/quickjs/libbf.c @@ -22,8 +22,8 @@ * THE SOFTWARE. */ #include "libc/assert.h" -#include "libc/bits/avxintrin.internal.h" -#include "libc/bits/likely.h" +#include "libc/intrin/avxintrin.internal.h" +#include "libc/intrin/likely.h" #include "libc/inttypes.h" #include "libc/runtime/runtime.h" #include "libc/stdio/stdio.h" diff --git a/third_party/quickjs/libregexp.c b/third_party/quickjs/libregexp.c index 89b9374de..b390548e1 100644 --- a/third_party/quickjs/libregexp.c +++ b/third_party/quickjs/libregexp.c @@ -22,7 +22,7 @@ * THE SOFTWARE. */ #include "libc/assert.h" -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/fmt/fmt.h" #include "libc/limits.h" #include "libc/mem/alloca.h" diff --git a/third_party/quickjs/quickjs.h b/third_party/quickjs/quickjs.h index 9a4be142b..5af4890de 100644 --- a/third_party/quickjs/quickjs.h +++ b/third_party/quickjs/quickjs.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_QUICKJS_QUICKJS_H_ #define COSMOPOLITAN_THIRD_PARTY_QUICKJS_QUICKJS_H_ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/math.h" #include "libc/stdio/stdio.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) diff --git a/third_party/regex/regerror.c b/third_party/regex/regerror.c index 152fb630d..0e2f2ca60 100644 --- a/third_party/regex/regerror.c +++ b/third_party/regex/regerror.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/str/str.h" #include "third_party/regex/regex.h" diff --git a/third_party/smallz4/smallz4.hh b/third_party/smallz4/smallz4.hh index abf9b5683..5adda1dc5 100644 --- a/third_party/smallz4/smallz4.hh +++ b/third_party/smallz4/smallz4.hh @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_THIRD_PARTY_SMALLZ4_SMALLZ4_H_ #define COSMOPOLITAN_THIRD_PARTY_SMALLZ4_SMALLZ4_H_ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "third_party/libcxx/vector" /** diff --git a/third_party/sqlite3/sqlite3.mk b/third_party/sqlite3/sqlite3.mk index eb110bf3d..542b3dfbe 100644 --- a/third_party/sqlite3/sqlite3.mk +++ b/third_party/sqlite3/sqlite3.mk @@ -44,7 +44,6 @@ THIRD_PARTY_SQLITE3_A_CHECKS = \ THIRD_PARTY_SQLITE3_A_DIRECTDEPS = \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/third_party/stb/stb.mk b/third_party/stb/stb.mk index 775b881b2..a56dc38ba 100644 --- a/third_party/stb/stb.mk +++ b/third_party/stb/stb.mk @@ -27,7 +27,6 @@ THIRD_PARTY_STB_A_OBJS = \ THIRD_PARTY_STB_A_DIRECTDEPS = \ DSP_CORE \ LIBC_ALG \ - LIBC_BITS \ LIBC_FMT \ LIBC_INTRIN \ LIBC_LOG \ diff --git a/third_party/stb/stb_image.c b/third_party/stb/stb_image.c index 31fb1bac7..8c284e5cf 100644 --- a/third_party/stb/stb_image.c +++ b/third_party/stb/stb_image.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/fmt/conv.h" #include "libc/limits.h" diff --git a/third_party/stb/stb_truetype.c b/third_party/stb/stb_truetype.c index 3ab18baa9..5f392e318 100644 --- a/third_party/stb/stb_truetype.c +++ b/third_party/stb/stb_truetype.c @@ -26,8 +26,8 @@ │ │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "libc/macros.internal.h" #include "libc/math.h" #include "libc/mem/mem.h" diff --git a/third_party/stb/stb_vorbis.c b/third_party/stb/stb_vorbis.c index 75c964d7c..4149aabe0 100644 --- a/third_party/stb/stb_vorbis.c +++ b/third_party/stb/stb_vorbis.c @@ -34,7 +34,7 @@ // #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/fmt/conv.h" #include "libc/limits.h" diff --git a/third_party/xed/x86ild.greg.c b/third_party/xed/x86ild.greg.c index af7feefa7..db9589136 100644 --- a/third_party/xed/x86ild.greg.c +++ b/third_party/xed/x86ild.greg.c @@ -17,7 +17,7 @@ │ limitations under the License. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/bsr.h" diff --git a/third_party/zlib/adler32simd.c b/third_party/zlib/adler32simd.c index 91ff6e670..999a8fdde 100644 --- a/third_party/zlib/adler32simd.c +++ b/third_party/zlib/adler32simd.c @@ -5,8 +5,8 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/emmintrin.internal.h" -#include "libc/bits/tmmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" +#include "libc/intrin/tmmintrin.internal.h" #include "third_party/zlib/internal.h" asm(".ident\t\"\\n\\n\ diff --git a/third_party/zlib/chunkcopy.internal.h b/third_party/zlib/chunkcopy.internal.h index f8532d3c4..db0d53e61 100644 --- a/third_party/zlib/chunkcopy.internal.h +++ b/third_party/zlib/chunkcopy.internal.h @@ -1,6 +1,6 @@ #ifndef THIRD_PARTY_ZLIB_CHUNKCOPY_H #define THIRD_PARTY_ZLIB_CHUNKCOPY_H -#include "libc/bits/emmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" #include "third_party/zlib/zutil.internal.h" asm(".ident\t\"\\n\\n\ diff --git a/third_party/zlib/crc32.c b/third_party/zlib/crc32.c index 42e2b67bf..30970c160 100644 --- a/third_party/zlib/crc32.c +++ b/third_party/zlib/crc32.c @@ -5,7 +5,7 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/dce.h" #include "libc/nexgen32e/x86feature.h" #include "libc/str/str.h" diff --git a/third_party/zlib/crcfold.c b/third_party/zlib/crcfold.c index 6dde29627..fcc456758 100644 --- a/third_party/zlib/crcfold.c +++ b/third_party/zlib/crcfold.c @@ -5,10 +5,10 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/emmintrin.internal.h" -#include "libc/bits/smmintrin.internal.h" -#include "libc/bits/tmmintrin.internal.h" -#include "libc/bits/wmmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" +#include "libc/intrin/smmintrin.internal.h" +#include "libc/intrin/tmmintrin.internal.h" +#include "libc/intrin/wmmintrin.internal.h" #include "libc/runtime/runtime.h" #include "libc/str/str.h" #include "third_party/zlib/deflate.internal.h" diff --git a/third_party/zlib/deflate.c b/third_party/zlib/deflate.c index 50bbc1186..03861d2e5 100644 --- a/third_party/zlib/deflate.c +++ b/third_party/zlib/deflate.c @@ -5,7 +5,7 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/dce.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/third_party/zlib/deflatesse.c b/third_party/zlib/deflatesse.c index 631142c6e..816802157 100644 --- a/third_party/zlib/deflatesse.c +++ b/third_party/zlib/deflatesse.c @@ -5,7 +5,7 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/emmintrin.internal.h" +#include "libc/intrin/emmintrin.internal.h" #include "libc/str/str.h" #include "third_party/zlib/deflate.internal.h" #include "third_party/zlib/internal.h" diff --git a/third_party/zlib/inffastchunk.c b/third_party/zlib/inffastchunk.c index 737a0f6c7..89a79bd34 100644 --- a/third_party/zlib/inffastchunk.c +++ b/third_party/zlib/inffastchunk.c @@ -5,7 +5,7 @@ │ Use of this source code is governed by the BSD-style licenses that can │ │ be found in the third_party/zlib/LICENSE file. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "third_party/zlib/chunkcopy.internal.h" #include "third_party/zlib/inffast.internal.h" #include "third_party/zlib/inflate.internal.h" diff --git a/third_party/zlib/zalloc.c b/third_party/zlib/zalloc.c index 6007da99b..d10c0891d 100644 --- a/third_party/zlib/zalloc.c +++ b/third_party/zlib/zalloc.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/weaken.h" +#include "libc/intrin/weaken.h" #include "libc/mem/mem.h" #include "third_party/zlib/zutil.internal.h" diff --git a/tool/build/ar.c b/tool/build/ar.c index b691e22bd..ef444e20c 100644 --- a/tool/build/ar.c +++ b/tool/build/ar.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist2.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/calls/struct/stat.h" diff --git a/tool/build/assimilate.c b/tool/build/assimilate.c index 87209d262..8515d8728 100644 --- a/tool/build/assimilate.c +++ b/tool/build/assimilate.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/dce.h" diff --git a/tool/build/blinkenlights.c b/tool/build/blinkenlights.c index 6bdc99e08..8826bb40b 100644 --- a/tool/build/blinkenlights.c +++ b/tool/build/blinkenlights.c @@ -20,8 +20,8 @@ #include "dsp/tty/tty.h" #include "libc/alg/arraylist2.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/struct/iovec.h" diff --git a/tool/build/build.mk b/tool/build/build.mk index ec030a328..c15f79586 100644 --- a/tool/build/build.mk +++ b/tool/build/build.mk @@ -38,7 +38,6 @@ TOOL_BUILD_DIRECTDEPS = \ DSP_SCALE \ DSP_TTY \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_ELF \ diff --git a/tool/build/calculator.c b/tool/build/calculator.c index e61d80aeb..aabc49ce3 100644 --- a/tool/build/calculator.c +++ b/tool/build/calculator.c @@ -10,9 +10,9 @@ #include "dsp/tty/tty.h" #include "libc/alg/arraylist2.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/morton.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/morton.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/fmt/conv.h" diff --git a/tool/build/compile.c b/tool/build/compile.c index fac44778f..79939fb79 100644 --- a/tool/build/compile.c +++ b/tool/build/compile.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/copyfile.h" #include "libc/calls/ioctl.h" diff --git a/tool/build/dd.c b/tool/build/dd.c index da1f0a608..61dc2556a 100644 --- a/tool/build/dd.c +++ b/tool/build/dd.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/errno.h" #include "libc/fmt/conv.h" diff --git a/tool/build/emubin/metalsha256.c b/tool/build/emubin/metalsha256.c index 39a49c1ee..e27dc861f 100644 --- a/tool/build/emubin/metalsha256.c +++ b/tool/build/emubin/metalsha256.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/intrin/repstosb.h" #include "tool/build/emubin/metalsha256.h" diff --git a/tool/build/fixupobj.c b/tool/build/fixupobj.c index 7f05df626..1d1ed235f 100644 --- a/tool/build/fixupobj.c +++ b/tool/build/fixupobj.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/dce.h" diff --git a/tool/build/helpop.c b/tool/build/helpop.c index d5c0ec44b..f956d02c5 100644 --- a/tool/build/helpop.c +++ b/tool/build/helpop.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/conv.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" diff --git a/tool/build/lib/buildlib.mk b/tool/build/lib/buildlib.mk index e667b43b7..496292617 100644 --- a/tool/build/lib/buildlib.mk +++ b/tool/build/lib/buildlib.mk @@ -33,7 +33,6 @@ TOOL_BUILD_LIB_A_OBJS = \ TOOL_BUILD_LIB_A_DIRECTDEPS = \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_ELF \ LIBC_FMT \ diff --git a/tool/build/lib/demangle.c b/tool/build/lib/demangle.c index 257178598..f0a7b4a67 100644 --- a/tool/build/lib/demangle.c +++ b/tool/build/lib/demangle.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/macros.internal.h" diff --git a/tool/build/lib/dis.c b/tool/build/lib/dis.c index 71510836b..6e58a8a12 100644 --- a/tool/build/lib/dis.c +++ b/tool/build/lib/dis.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/alg/arraylist2.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/bing.internal.h" #include "libc/fmt/fmt.h" #include "libc/fmt/itoa.h" diff --git a/tool/build/lib/disarg.c b/tool/build/lib/disarg.c index 6c56d5e43..a06b60196 100644 --- a/tool/build/lib/disarg.c +++ b/tool/build/lib/disarg.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/itoa.h" #include "libc/limits.h" #include "libc/log/check.h" diff --git a/tool/build/lib/elfwriter_zip.c b/tool/build/lib/elfwriter_zip.c index 9edf233de..93c5ccce6 100644 --- a/tool/build/lib/elfwriter_zip.c +++ b/tool/build/lib/elfwriter_zip.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/timespec.h" #include "libc/dos.h" diff --git a/tool/build/lib/interner.c b/tool/build/lib/interner.c index b468c5a68..91d92b6b8 100644 --- a/tool/build/lib/interner.c +++ b/tool/build/lib/interner.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist.internal.h" #include "libc/alg/arraylist2.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/mem/mem.h" #include "libc/nexgen32e/crc32.h" #include "libc/runtime/runtime.h" diff --git a/tool/build/lib/isnocompressext.c b/tool/build/lib/isnocompressext.c index 7311d5daf..d6dcf3151 100644 --- a/tool/build/lib/isnocompressext.c +++ b/tool/build/lib/isnocompressext.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/bswap.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/bswap.h" #include "libc/macros.internal.h" #include "libc/str/str.h" #include "tool/build/lib/isnocompressext.h" diff --git a/tool/build/lib/loader.c b/tool/build/lib/loader.c index 5c164e44b..abf0b6d20 100644 --- a/tool/build/lib/loader.c +++ b/tool/build/lib/loader.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/elf/elf.h" diff --git a/tool/build/lib/panel.c b/tool/build/lib/panel.c index 1baf63f26..005899482 100644 --- a/tool/build/lib/panel.c +++ b/tool/build/lib/panel.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/conv.h" #include "libc/mem/mem.h" #include "libc/str/str.h" diff --git a/tool/build/lib/pty.c b/tool/build/lib/pty.c index da27b8099..3a421077c 100644 --- a/tool/build/lib/pty.c +++ b/tool/build/lib/pty.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist2.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/conv.h" #include "libc/fmt/itoa.h" #include "libc/log/check.h" diff --git a/tool/build/mkdeps.c b/tool/build/mkdeps.c index 4fb17184e..ba889d918 100644 --- a/tool/build/mkdeps.c +++ b/tool/build/mkdeps.c @@ -21,8 +21,8 @@ #include "libc/alg/arraylist2.internal.h" #include "libc/alg/bisectcarleft.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/calls/sysparam.h" diff --git a/tool/build/package.c b/tool/build/package.c index c31c3e4f9..84545345f 100644 --- a/tool/build/package.c +++ b/tool/build/package.c @@ -18,8 +18,8 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/alg/arraylist.internal.h" -#include "libc/bits/bswap.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bswap.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/elf/elf.h" diff --git a/tool/build/pledge.c b/tool/build/pledge.c index 9fece19dc..84947b8dc 100644 --- a/tool/build/pledge.c +++ b/tool/build/pledge.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/landlock.h" #include "libc/calls/pledge.h" diff --git a/tool/build/pstrace.c b/tool/build/pstrace.c index c7efc8edd..78bb2c572 100644 --- a/tool/build/pstrace.c +++ b/tool/build/pstrace.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigaction.h" #include "libc/calls/struct/sigset.h" diff --git a/tool/build/refactor.c b/tool/build/refactor.c index 9cab31e3e..ba6ca7b24 100644 --- a/tool/build/refactor.c +++ b/tool/build/refactor.c @@ -18,7 +18,7 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/alg.h" #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/dirent.h" #include "libc/calls/struct/stat.h" diff --git a/tool/build/runit.c b/tool/build/runit.c index afa0a8174..4bf076c39 100644 --- a/tool/build/runit.c +++ b/tool/build/runit.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/dns/dns.h" diff --git a/tool/build/runitd.c b/tool/build/runitd.c index 4dd34494d..efeca08db 100644 --- a/tool/build/runitd.c +++ b/tool/build/runitd.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/calls/struct/timeval.h" diff --git a/tool/build/strace.c b/tool/build/strace.c index bbafc8696..52c285524 100644 --- a/tool/build/strace.c +++ b/tool/build/strace.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/iovec.h" #include "libc/calls/struct/sigaction.h" diff --git a/tool/decode/ar.c b/tool/decode/ar.c index 1066ef70a..ed19bb81a 100644 --- a/tool/decode/ar.c +++ b/tool/decode/ar.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/conv.h" diff --git a/tool/decode/elf.c b/tool/decode/elf.c index 0c29166c9..7a1a032c9 100644 --- a/tool/decode/elf.c +++ b/tool/decode/elf.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/elf/def.h" diff --git a/tool/decode/lib/asmcodegen.c b/tool/decode/lib/asmcodegen.c index c5a6b03e2..8ce7634e1 100644 --- a/tool/decode/lib/asmcodegen.c +++ b/tool/decode/lib/asmcodegen.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/intrin/kprintf.h" #include "libc/mem/mem.h" diff --git a/tool/decode/lib/bitabuilder.c b/tool/decode/lib/bitabuilder.c index 1174607c1..9652b36b6 100644 --- a/tool/decode/lib/bitabuilder.c +++ b/tool/decode/lib/bitabuilder.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/log/check.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" diff --git a/tool/decode/macho.c b/tool/decode/macho.c index a587a374d..5283e35d6 100644 --- a/tool/decode/macho.c +++ b/tool/decode/macho.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/conv.h" diff --git a/tool/decode/mkcombos.c b/tool/decode/mkcombos.c index 6dacc1e02..21c393d7b 100644 --- a/tool/decode/mkcombos.c +++ b/tool/decode/mkcombos.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/fmt/conv.h" #include "libc/log/check.h" diff --git a/tool/decode/mkwides.c b/tool/decode/mkwides.c index 062bbe3b8..3f4c712c3 100644 --- a/tool/decode/mkwides.c +++ b/tool/decode/mkwides.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/fmt.h" #include "libc/log/check.h" #include "libc/mem/mem.h" diff --git a/tool/decode/pe2.c b/tool/decode/pe2.c index 03aec1c28..d59e29216 100644 --- a/tool/decode/pe2.c +++ b/tool/decode/pe2.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/conv.h" diff --git a/tool/decode/x86opinfo.c b/tool/decode/x86opinfo.c index b88017720..6d9c0a681 100644 --- a/tool/decode/x86opinfo.c +++ b/tool/decode/x86opinfo.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/macros.internal.h" #include "libc/runtime/runtime.h" #include "libc/stdio/stdio.h" diff --git a/tool/decode/zip.c b/tool/decode/zip.c index c735143b3..66ec4d443 100644 --- a/tool/decode/zip.c +++ b/tool/decode/zip.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/conv.h" diff --git a/tool/decode/zip2.c b/tool/decode/zip2.c index a596c6a9c..2bfd656ac 100644 --- a/tool/decode/zip2.c +++ b/tool/decode/zip2.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/conv.h" diff --git a/tool/hash/crctab.c b/tool/hash/crctab.c index 2a69b564a..a111abb5e 100644 --- a/tool/hash/crctab.c +++ b/tool/hash/crctab.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/fmt/conv.h" #include "libc/macros.internal.h" #include "libc/nexgen32e/crc32.h" diff --git a/tool/lambda/lib/lib.mk b/tool/lambda/lib/lib.mk index aaa37939a..765161006 100644 --- a/tool/lambda/lib/lib.mk +++ b/tool/lambda/lib/lib.mk @@ -24,7 +24,6 @@ TOOL_LAMBDA_LIB_A_OBJS = \ $(TOOL_LAMBDA_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) TOOL_LAMBDA_LIB_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_INTRIN \ LIBC_LOG \ diff --git a/tool/net/lfuncs.c b/tool/net/lfuncs.c index 6b486dc9e..36d52afac 100644 --- a/tool/net/lfuncs.c +++ b/tool/net/lfuncs.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/scale/cdecimate2xuint8x8.h" -#include "libc/bits/bits.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/popcnt.h" #include "libc/calls/calls.h" #include "libc/calls/struct/rusage.h" #include "libc/calls/struct/stat.h" diff --git a/tool/net/ljson.c b/tool/net/ljson.c index 3dd5e68fe..5d3780fb3 100644 --- a/tool/net/ljson.c +++ b/tool/net/ljson.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/likely.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/likely.h" #include "libc/intrin/kprintf.h" #include "libc/log/check.h" #include "libc/log/log.h" diff --git a/tool/net/net.mk b/tool/net/net.mk index c1c550a8f..e95f9c556 100644 --- a/tool/net/net.mk +++ b/tool/net/net.mk @@ -30,7 +30,6 @@ TOOL_NET_CHECKS = \ TOOL_NET_DIRECTDEPS = \ DSP_SCALE \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_FMT \ diff --git a/tool/net/redbean.c b/tool/net/redbean.c index e02f56704..7ef129757 100644 --- a/tool/net/redbean.c +++ b/tool/net/redbean.c @@ -16,9 +16,9 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/atomic.h" -#include "libc/bits/likely.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/atomic.h" +#include "libc/intrin/likely.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/pledge.h" diff --git a/tool/plinko/lib/gc.c b/tool/plinko/lib/gc.c index f4622a5eb..43f840fb5 100644 --- a/tool/plinko/lib/gc.c +++ b/tool/plinko/lib/gc.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/popcnt.h" +#include "libc/intrin/popcnt.h" #include "libc/limits.h" #include "libc/log/check.h" #include "libc/log/countbranch.h" diff --git a/tool/plinko/lib/iswide.c b/tool/plinko/lib/iswide.c index 1f6c33288..fa4e297c8 100644 --- a/tool/plinko/lib/iswide.c +++ b/tool/plinko/lib/iswide.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/midpoint.h" +#include "libc/intrin/midpoint.h" #include "libc/macros.internal.h" #include "tool/plinko/lib/char.h" diff --git a/tool/plinko/lib/lib.mk b/tool/plinko/lib/lib.mk index 03dd22203..1f3b6de8d 100644 --- a/tool/plinko/lib/lib.mk +++ b/tool/plinko/lib/lib.mk @@ -24,7 +24,6 @@ TOOL_PLINKO_LIB_A_OBJS = \ $(TOOL_PLINKO_LIB_A_SRCS_C:%.c=o/$(MODE)/%.o) TOOL_PLINKO_LIB_A_DIRECTDEPS = \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/tool/plinko/lib/plinko.c b/tool/plinko/lib/plinko.c index 5035420b3..d086b2303 100644 --- a/tool/plinko/lib/plinko.c +++ b/tool/plinko/lib/plinko.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/likely.h" +#include "libc/intrin/likely.h" #include "libc/calls/calls.h" #include "libc/calls/strace.internal.h" #include "libc/calls/struct/sigaction.h" diff --git a/tool/viz/bf.c b/tool/viz/bf.c index fa1a46eef..df23ff88c 100644 --- a/tool/viz/bf.c +++ b/tool/viz/bf.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/fmt/itoa.h" diff --git a/tool/viz/cpuid.c b/tool/viz/cpuid.c index 3ba6ab3ba..c7e724bad 100644 --- a/tool/viz/cpuid.c +++ b/tool/viz/cpuid.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/intrin/kprintf.h" #include "libc/log/color.internal.h" #include "libc/log/log.h" diff --git a/tool/viz/deathstar.c b/tool/viz/deathstar.c index 9f56c8916..2fd3729cd 100644 --- a/tool/viz/deathstar.c +++ b/tool/viz/deathstar.c @@ -1,5 +1,5 @@ #include "dsp/tty/tty.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/termios.h" #include "libc/log/check.h" diff --git a/tool/viz/fold.c b/tool/viz/fold.c index 233475520..6e715f554 100644 --- a/tool/viz/fold.c +++ b/tool/viz/fold.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/errno.h" #include "libc/fmt/conv.h" #include "libc/runtime/runtime.h" diff --git a/tool/viz/generatematrix.c b/tool/viz/generatematrix.c index 3fb237913..2a2493b34 100644 --- a/tool/viz/generatematrix.c +++ b/tool/viz/generatematrix.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/conv.h" #include "libc/fmt/fmt.h" #include "libc/limits.h" diff --git a/tool/viz/lib/convolve.h b/tool/viz/lib/convolve.h index 892af17f3..832276b3d 100644 --- a/tool/viz/lib/convolve.h +++ b/tool/viz/lib/convolve.h @@ -1,6 +1,6 @@ #ifndef COSMOPOLITAN_TOOL_VIZ_LIB_CONVOLVE_H_ #define COSMOPOLITAN_TOOL_VIZ_LIB_CONVOLVE_H_ -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/str/str.h" #include "tool/viz/lib/graphic.h" #if !(__ASSEMBLER__ + __LINKER__ + 0) diff --git a/tool/viz/lib/dither.c b/tool/viz/lib/dither.c index 6dff31597..ad82b9818 100644 --- a/tool/viz/lib/dither.c +++ b/tool/viz/lib/dither.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/quant.h" -#include "libc/bits/hilbert.h" -#include "libc/bits/morton.h" +#include "libc/intrin/hilbert.h" +#include "libc/intrin/morton.h" #include "libc/log/check.h" #include "libc/log/log.h" #include "libc/macros.internal.h" diff --git a/tool/viz/lib/formatstringtable-assembly.c b/tool/viz/lib/formatstringtable-assembly.c index 2aa23929c..b7f9f7a89 100644 --- a/tool/viz/lib/formatstringtable-assembly.c +++ b/tool/viz/lib/formatstringtable-assembly.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/itoa.h" #include "libc/runtime/gc.internal.h" #include "libc/str/str.h" diff --git a/tool/viz/lib/formatstringtable-code.c b/tool/viz/lib/formatstringtable-code.c index a4612a790..9041e099e 100644 --- a/tool/viz/lib/formatstringtable-code.c +++ b/tool/viz/lib/formatstringtable-code.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/itoa.h" #include "tool/viz/lib/formatstringtable.h" diff --git a/tool/viz/lib/formatstringtable.c b/tool/viz/lib/formatstringtable.c index 96f1f2ac1..59fe879e2 100644 --- a/tool/viz/lib/formatstringtable.c +++ b/tool/viz/lib/formatstringtable.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/unicode/unicode.h" #include "tool/viz/lib/formatstringtable.h" diff --git a/tool/viz/lib/gaussian.c b/tool/viz/lib/gaussian.c index 46568a792..bc6f19356 100644 --- a/tool/viz/lib/gaussian.c +++ b/tool/viz/lib/gaussian.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/macros.internal.h" #include "libc/mem/mem.h" #include "libc/str/str.h" diff --git a/tool/viz/lib/getxtermcodes.c b/tool/viz/lib/getxtermcodes.c index 2214ce773..f320875ab 100644 --- a/tool/viz/lib/getxtermcodes.c +++ b/tool/viz/lib/getxtermcodes.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/quant.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/macros.internal.h" #include "tool/viz/lib/graphic.h" diff --git a/tool/viz/lib/perlin3.c b/tool/viz/lib/perlin3.c index 18bf13d64..1e08e32f5 100644 --- a/tool/viz/lib/perlin3.c +++ b/tool/viz/lib/perlin3.c @@ -16,8 +16,8 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" -#include "libc/bits/initializer.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/initializer.internal.h" #include "libc/macros.internal.h" #include "libc/math.h" #include "tool/viz/lib/graphic.h" diff --git a/tool/viz/lib/resizegraphic.c b/tool/viz/lib/resizegraphic.c index fdc03e795..c0fcf7163 100644 --- a/tool/viz/lib/resizegraphic.c +++ b/tool/viz/lib/resizegraphic.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/assert.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/runtime/buffer.h" #include "tool/viz/lib/graphic.h" diff --git a/tool/viz/lib/vizlib.mk b/tool/viz/lib/vizlib.mk index 4a6013713..cc46ea216 100644 --- a/tool/viz/lib/vizlib.mk +++ b/tool/viz/lib/vizlib.mk @@ -28,7 +28,6 @@ TOOL_VIZ_LIB_A_DIRECTDEPS = \ DSP_SCALE \ DSP_TTY \ LIBC_ALG \ - LIBC_BITS \ LIBC_CALLS \ LIBC_FMT \ LIBC_INTRIN \ diff --git a/tool/viz/lib/ycbcr2rgb3.c b/tool/viz/lib/ycbcr2rgb3.c index dd157bfba..88ad860f0 100644 --- a/tool/viz/lib/ycbcr2rgb3.c +++ b/tool/viz/lib/ycbcr2rgb3.c @@ -25,7 +25,7 @@ #include "dsp/core/illumination.h" #include "dsp/core/q.h" #include "dsp/scale/scale.h" -#include "libc/bits/xmmintrin.internal.h" +#include "libc/intrin/xmmintrin.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/sigset.h" #include "libc/intrin/pmulhrsw.h" diff --git a/tool/viz/life.c b/tool/viz/life.c index bb507cd9b..fcfba8df2 100644 --- a/tool/viz/life.c +++ b/tool/viz/life.c @@ -18,10 +18,10 @@ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/core/gamma.h" #include "dsp/scale/scale.h" -#include "libc/bits/bits.h" -#include "libc/bits/popcnt.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/popcnt.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/xchg.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/struct/stat.h" diff --git a/tool/viz/maxmind.c b/tool/viz/maxmind.c index cb26599d3..baa1b52d6 100644 --- a/tool/viz/maxmind.c +++ b/tool/viz/maxmind.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/calls.h" #include "libc/log/check.h" #include "libc/log/log.h" diff --git a/tool/viz/memplan.c b/tool/viz/memplan.c index 676036e55..904606431 100644 --- a/tool/viz/memplan.c +++ b/tool/viz/memplan.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/calls/internal.h" #include "libc/fmt/itoa.h" #include "libc/macros.internal.h" diff --git a/tool/viz/memzoom.c b/tool/viz/memzoom.c index 481fc5630..3eb082b53 100644 --- a/tool/viz/memzoom.c +++ b/tool/viz/memzoom.c @@ -17,10 +17,10 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/scale/cdecimate2xuint8x8.h" -#include "libc/bits/bits.h" -#include "libc/bits/hilbert.h" -#include "libc/bits/morton.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/hilbert.h" +#include "libc/intrin/morton.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/struct/sigaction.h" diff --git a/tool/viz/printansi.c b/tool/viz/printansi.c index 55406bd64..e754587aa 100644 --- a/tool/viz/printansi.c +++ b/tool/viz/printansi.c @@ -22,8 +22,8 @@ #include "dsp/tty/quant.h" #include "dsp/tty/tty.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/ioctl.h" #include "libc/calls/struct/stat.h" diff --git a/tool/viz/printpeb.c b/tool/viz/printpeb.c index 43eb84d26..a9d81660c 100644 --- a/tool/viz/printpeb.c +++ b/tool/viz/printpeb.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/dce.h" diff --git a/tool/viz/printvideo.c b/tool/viz/printvideo.c index bd3fa0679..546062391 100644 --- a/tool/viz/printvideo.c +++ b/tool/viz/printvideo.c @@ -26,9 +26,9 @@ #include "libc/alg/alg.h" #include "libc/alg/arraylist.internal.h" #include "libc/assert.h" -#include "libc/bits/bits.h" -#include "libc/bits/safemacros.internal.h" -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/safemacros.internal.h" +#include "libc/intrin/xchg.internal.h" #include "libc/calls/calls.h" #include "libc/calls/internal.h" #include "libc/calls/ioctl.h" diff --git a/tool/viz/tabalign.c b/tool/viz/tabalign.c index 9c1f52e0b..1b8a9ed7c 100644 --- a/tool/viz/tabalign.c +++ b/tool/viz/tabalign.c @@ -17,7 +17,7 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "libc/alg/arraylist.internal.h" -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/fmt/conv.h" #include "libc/limits.h" #include "libc/log/check.h" diff --git a/tool/viz/tailf.c b/tool/viz/tailf.c index b8d004518..364f38a2d 100644 --- a/tool/viz/tailf.c +++ b/tool/viz/tailf.c @@ -16,7 +16,7 @@ │ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR │ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ -#include "libc/bits/safemacros.internal.h" +#include "libc/intrin/safemacros.internal.h" #include "libc/calls/calls.h" #include "libc/calls/struct/stat.h" #include "libc/macros.internal.h" diff --git a/tool/viz/tcp.c b/tool/viz/tcp.c index 0032049c3..8a3c6559a 100644 --- a/tool/viz/tcp.c +++ b/tool/viz/tcp.c @@ -7,7 +7,7 @@ │ • http://creativecommons.org/publicdomain/zero/1.0/ │ ╚─────────────────────────────────────────────────────────────────*/ #endif -#include "libc/bits/bits.h" +#include "libc/intrin/bits.h" #include "libc/stdio/stdio.h" // clang-format off diff --git a/tool/viz/viz.mk b/tool/viz/viz.mk index ed6677ee3..2c7a98e06 100644 --- a/tool/viz/viz.mk +++ b/tool/viz/viz.mk @@ -20,7 +20,6 @@ TOOL_VIZ_DIRECTDEPS = \ DSP_MPEG \ DSP_SCALE \ DSP_TTY \ - LIBC_BITS \ LIBC_CALLS \ LIBC_DNS \ LIBC_FMT \ diff --git a/tool/viz/xterm256effective.c b/tool/viz/xterm256effective.c index f0b223b02..35001c0cc 100644 --- a/tool/viz/xterm256effective.c +++ b/tool/viz/xterm256effective.c @@ -17,8 +17,8 @@ │ PERFORMANCE OF THIS SOFTWARE. │ ╚─────────────────────────────────────────────────────────────────────────────*/ #include "dsp/tty/quant.h" -#include "libc/bits/bits.h" -#include "libc/bits/xchg.internal.h" +#include "libc/intrin/bits.h" +#include "libc/intrin/xchg.internal.h" #include "libc/fmt/fmt.h" #include "libc/math.h" #include "libc/runtime/runtime.h"