Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
751"xor %6,%10;"752"ror $0xb,%11;"753"and %6,%12;"754"xor %9,%11;"755"ror $0x6,%10;"756"xor %7,%12;"757"add %10,%12;"758"ror $0x2,%11;"759"add 4+%16,%12;"760"mov %9,%10;"761"add %12,%8;"762"mov %9,%12;"763"or %4,%10;"764"add %8,%5;"765"and %4,%12;"766"and %3,%10;"767"add %11,%8;"768"or %12,%10;"769"add %10,%8;"770"mov %5,%10;"771"ror $0xe,%10;"772"mov %8,%11;"773"xor %5,%10;"774"ror $0x9,%11;"775"mov %6,%12;"776"xor %8,%11;"777"ror $0x5,%10;"778"xor %k2,%12;"779"xor %5,%10;"780"ror $0xb,%11;"781"and %5,%12;"782"xor %8,%11;"783"ror $0x6,%10;"784"xor %k2,%12;"785"add %10,%12;"786"ror $0x2,%11;"787"add 8+%16,%12;"788"mov %8,%10;"789"add %12,%7;"790"mov %8,%12;"791"or %3,%10;"792"add %7,%4;"793"and %3,%12;"794"and %9,%10;"795"add %11,%7;"796"or %12,%10;"797"add %10,%7;"798"mov %4,%10;"799"ror $0xe,%10;"800"mov %7,%11;"801"xor %4,%10;"802"ror $0x9,%11;"803"mov %5,%12;"804"xor %7,%11;"805"ror $0x5,%10;"806"xor %6,%12;"807"xor %4,%10;"808"ror $0xb,%11;"809"and %4,%12;"810"xor %7,%11;"811"ror $0x6,%10;"812"xor %6,%12;"813"add %10,%12;"814"ror $0x2,%11;"815"add 12+%16,%12;"816"mov %7,%10;"817"add %12,%k2;"818"mov %7,%12;"819"or %9,%10;"820"add %k2,%3;"821"and %9,%12;"822"and %8,%10;"823"add %11,%k2;"824"or %12,%10;"825"add %10,%k2;"826"paddd 0x10(%13),%%xmm5;"827"movdqa %%xmm5,%16;"828"add $0x20,%13;"829"mov %3,%10;"830"ror $0xe,%10;"831"mov %k2,%11;"832"xor %3,%10;"833"ror $0x9,%11;"834"mov %4,%12;"835"xor %k2,%11;"836"ror $0x5,%10;"837"xor %5,%12;"838"xor %3,%10;"839"ror $0xb,%11;"840"and %3,%12;"841"xor %k2,%11;"842"ror $0x6,%10;"843"xor %5,%12;"844"add %10,%12;"845"ror $0x2,%11;"846"add %16,%12;"847"mov %k2,%10;"848"add %12,%6;"849"mov %k2,%12;"850"or %8,%10;"851"add %6,%9;"852"and %8,%12;"853"and %7,%10;"854"add %11,%6;"855"or %12,%10;"856"add %10,%6;"857"mov %9,%10;"858"ror $0xe,%10;"859"mov %6,%11;"860"xor %9,%10;"861"ror $0x9,%11;"862"mov %3,%12;"863"xor %6,%11;"864"ror $0x5,%10;"865"xor %4,%12;"866"xor %9,%10;"867"ror $0xb,%11;"868"and %9,%12;"869"xor %6,%11;"870"ror $0x6,%10;"871"xor %4,%12;"872"add %10,%12;"873"ror $0x2,%11;"874"add 4+%16,%12;"875"mov %6,%10;"876"add %12,%5;"877"mov %6,%12;"878"or %7,%10;"879"add %5,%8;"880"and %7,%12;"881"and %k2,%10;"882"add %11,%5;"883"or %12,%10;"884"add %10,%5;"885"mov %8,%10;"886"ror $0xe,%10;"887"mov %5,%11;"888"xor %8,%10;"889"ror $0x9,%11;"890"mov %9,%12;"891"xor %5,%11;"892"ror $0x5,%10;"893"xor %3,%12;"894"xor %8,%10;"895"ror $0xb,%11;"896"and %8,%12;"897"xor %5,%11;"898"ror $0x6,%10;"899"xor %3,%12;"900"add %10,%12;"901"ror $0x2,%11;"902"add 8+%16,%12;"903"mov %5,%10;"904"add %12,%4;"905"mov %5,%12;"906"or %k2,%10;"907"add %4,%7;"908"and %k2,%12;"909"and %6,%10;"910"add %11,%4;"911"or %12,%10;"912"add %10,%4;"913"mov %7,%10;"914"ror $0xe,%10;"915"mov %4,%11;"916"xor %7,%10;"917"ror $0x9,%11;"918"mov %8,%12;"919"xor %4,%11;"920"ror $0x5,%10;"921"xor %9,%12;"922"xor %7,%10;"923"ror $0xb,%11;"924"and %7,%12;"925"xor %4,%11;"926"ror $0x6,%10;"927"xor %9,%12;"928"add %10,%12;"929"ror $0x2,%11;"930"add 12+%16,%12;"931"mov %4,%10;"932"add %12,%3;"933"mov %4,%12;"934"or %6,%10;"935"add %3,%k2;"936"and %6,%12;"937"and %5,%10;"938"add %11,%3;"939"or %12,%10;"940"add %10,%3;"941"movdqa %%xmm6,%%xmm4;"942"movdqa %%xmm7,%%xmm5;"943"sub $0x1,%1;"944"jne Lloop2_%=;"945"add (%0),%3;"946"mov %3,(%0);"947"add 0x4(%0),%4;"948"mov %4,0x4(%0);"949"add 0x8(%0),%5;"950"mov %5,0x8(%0);"951"add 0xc(%0),%6;"952"mov %6,0xc(%0);"953"add 0x10(%0),%k2;"954"mov %k2,0x10(%0);"955"add 0x14(%0),%7;"956"mov %7,0x14(%0);"957"add 0x18(%0),%8;"958"mov %8,0x18(%0);"959"add 0x1c(%0),%9;"960"mov %9,0x1c(%0);"961"mov %15,%1;"962"add $0x40,%1;"963"cmp %14,%1;"964"jne Lloop0_%=;"966"Ldone_hash_%=:"968: "+r"(s), "+r"(chunk), "+r"(blocks), "=r"(a), "=r"(b), "=r"(c), "=r"(d), /* e = chunk */ "=r"(f), "=r"(g), "=r"(h), "=r"(y0), "=r"(y1), "=r"(y2), "=r"(tbl), "+m"(inp_end), "+m"(inp), "+m"(xfer)969: "m"(K256), "m"(FLIP_MASK), "m"(SHUF_00BA), "m"(SHUF_DC00)970: "cc", "memory", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7", "xmm8", "xmm9", "xmm10", "xmm11", "xmm12"971);972}973}975/*976;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;977; Copyright (c) 2012, Intel Corporation978;979; All rights reserved.980;981; Redistribution and use in source and binary forms, with or without982; modification, are permitted provided that the following conditions are983; met:984;985; * Redistributions of source code must retain the above copyright986; notice, this list of conditions and the following disclaimer.987;988; * Redistributions in binary form must reproduce the above copyright989; notice, this list of conditions and the following disclaimer in the990; documentation and/or other materials provided with the991; distribution.992;993; * Neither the name of the Intel Corporation nor the names of its994; contributors may be used to endorse or promote products derived from995; this software without specific prior written permission.996;997;998; THIS SOFTWARE IS PROVIDED BY INTEL CORPORATION "AS IS" AND ANY999; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE1000; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.