Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
441 commits
Select commit Hold shift + click to select a range
967c08a
amd64: decode and validate 128-bit lane permutes
cpunion Sep 20, 2026
6f4f958
amd64: preserve address-sensitive raw text
cpunion Sep 20, 2026
89878f3
amd64: decode EVEX packed scalar broadcasts
cpunion Sep 20, 2026
849e36b
amd64: decode EVEX packed logical family
cpunion Sep 20, 2026
85d1302
amd64: decode EVEX packed insert family
cpunion Sep 20, 2026
6dac921
corpus: preserve asmdecl timeout failures
cpunion Sep 20, 2026
39a226e
amd64: decode packed scalar extract family
cpunion Sep 20, 2026
7113ad2
amd64: decode packed scalar insert family
cpunion Sep 20, 2026
0ec7a51
amd64: decode floating unpack family
cpunion Sep 20, 2026
f517040
amd64: decode immediate packed blend family
cpunion Sep 20, 2026
c368f28
amd64: decode in-lane floating permutes
cpunion Sep 20, 2026
bf4a8ea
amd64: decode duplicate move family
cpunion Sep 20, 2026
a33c816
amd64: decode scalar precision conversions
cpunion Sep 20, 2026
8791225
arm64: complete scalar float integer conversions
cpunion Sep 20, 2026
eaa102d
arm64: decode floating pairwise minmax family
cpunion Sep 20, 2026
69c3c3b
arm64: decode half precision binary float family
cpunion Sep 20, 2026
966819c
arm64: decode half precision unary float family
cpunion Sep 20, 2026
dce2c2d
arm64: complete vector absolute difference family
cpunion Sep 20, 2026
0964966
arm64: model writable ABI0 parameter slots
cpunion Sep 20, 2026
7306dd0
arm64: split all conditional branch terminators
cpunion Sep 20, 2026
cf824ee
arm64: complete scalar divide remainder family
cpunion Sep 20, 2026
39aafc7
arm64: complete inverted logical family
cpunion Sep 20, 2026
b8e4945
arm64: support vector test bits family
cpunion Sep 20, 2026
93908ac
arm64: lower integer matrix multiply family
cpunion Sep 20, 2026
33a5327
arm64: complete widening multiply element forms
cpunion Sep 20, 2026
1f54fec
arm64: load ABI0 tail arguments from call frame
cpunion Sep 20, 2026
b2ce685
arm64: complete floating conditional select family
cpunion Sep 20, 2026
e77284c
tests: align arm64 helper coverage with strict lowering
cpunion Sep 20, 2026
e0c558d
arm64: complete fp16 multiply families
cpunion Sep 20, 2026
bd46395
corpus: allow complete multi-target candidates
cpunion Sep 20, 2026
03ecbd9
go: avoid generic go_asm layout panics
cpunion Sep 20, 2026
dda6c92
test: refresh reviewed Go 1.27 coverage
cpunion Sep 20, 2026
47c01b2
docs: refresh ecosystem coverage checkpoint
cpunion Sep 20, 2026
f1818c2
test: refresh reviewed arm64 decoder coverage
cpunion Sep 20, 2026
f44f406
go: preserve older toolchain and Windows source support
cpunion Sep 20, 2026
6f9c4b6
test: scope Go 1.27 DIT corpus coverage
cpunion Sep 20, 2026
aa59caa
docs: record final local validation state
cpunion Sep 20, 2026
65876a3
test: refresh legacy Go coverage baselines
cpunion Sep 20, 2026
ec936c6
amd64: lower raw AMD system-management family
cpunion Sep 20, 2026
742f90b
ci: budget complete discovery candidates
cpunion Sep 20, 2026
ad45746
test: correct ARM raw SXTB reserved encoding
cpunion Sep 20, 2026
953a3a2
arm: lower signed byte and halfword move aliases
cpunion Sep 20, 2026
d4a9450
arm: lower reverse subtract with carry family
cpunion Sep 20, 2026
822dbb5
arm: lower reverse bit and byte families
cpunion Sep 20, 2026
0489e6e
arm: lower bitfield instruction families
cpunion Sep 20, 2026
422e921
arm: lower extend-and-add instruction families
cpunion Sep 20, 2026
16434d5
arm: complete signed and unsigned hardware divide forms
cpunion Sep 20, 2026
132e667
arm: lower signed and DSP multiply families
cpunion Sep 20, 2026
06a737e
arm: lower atomic swap instruction family
cpunion Sep 20, 2026
064b012
arm: lower branch exchange and coprocessor writes
cpunion Sep 20, 2026
6c53944
arm: classify privileged and raw directives safely
cpunion Sep 20, 2026
bafa674
test: classify layout-dependent official forms
cpunion Sep 20, 2026
f834a18
arm64: complete LSE atomic RMW families
cpunion Sep 20, 2026
676f041
arm64: complete LSE compare-and-swap families
cpunion Sep 20, 2026
f430d94
arm64: complete exclusive load-store families
cpunion Sep 20, 2026
88e4784
arm64: complete acquire-release load-store widths
cpunion Sep 20, 2026
3c4643f
arm64: complete add-subtract with carry family
cpunion Sep 20, 2026
c37c494
arm64: complete CRC register formats
cpunion Sep 20, 2026
a66407b
arm64: complete move-keep immediate family
cpunion Sep 20, 2026
ff3d3b6
arm64: complete general extract widths
cpunion Sep 20, 2026
da807ec
arm64: complete conditional compare formats
cpunion Sep 20, 2026
6fee5aa
arm64: complete integer load-store pair family
cpunion Sep 20, 2026
4493566
arm64: handle official noop and end directives
cpunion Sep 20, 2026
e09f7c6
test: classify ARM64 PC-relative address context
cpunion Sep 20, 2026
4a53ee3
test: classify ARM64 privileged execution forms
cpunion Sep 20, 2026
b30a4d1
arm64: lower branch-target and pointer-auth hints
cpunion Sep 20, 2026
cefab49
arm64: lower complete vector bit-reverse family
cpunion Sep 20, 2026
0f1e116
arm64: lower complete saturating shift family
cpunion Sep 20, 2026
aed6ec9
arm64: lower complete SVE add-subtract family
cpunion Sep 20, 2026
b3d0554
arm64: complete SVE base shift family
cpunion Sep 20, 2026
979ca09
arm64: lower complete SVE floating add-subtract family
cpunion Sep 20, 2026
c349208
arm64: lower complete SVE comparison families
cpunion Sep 20, 2026
ab644f1
arm64: lower complete SVE integer min-max family
cpunion Sep 20, 2026
d66439f
arm64: lower complete SVE floating min-max family
cpunion Sep 20, 2026
8023ee3
arm64: lower complete SVE floating unary family
cpunion Sep 20, 2026
c5c8561
arm64: lower complete SVE integer unary family
cpunion Sep 20, 2026
55d61df
arm64: lower complete SVE predicate logical family
cpunion Sep 20, 2026
dff4797
arm64: lower complete SVE predicate break family
cpunion Sep 20, 2026
b42babe
arm64: lower complete SVE predicate permute family
cpunion Sep 20, 2026
ff5da78
arm64: lower complete SVE predicate select family
cpunion Sep 20, 2026
4e46ad0
arm64: lower SVE predicate false and test family
cpunion Sep 20, 2026
4418296
arm64: lower complete SVE predicate iterate family
cpunion Sep 20, 2026
7e4ecb2
arm64: lower complete SVE predicate position family
cpunion Sep 20, 2026
0a7a0d9
arm64: lower complete SVE predicate counter family
cpunion Sep 20, 2026
cb0a14e
arm64: lower complete SVE predicate while family
cpunion Sep 20, 2026
299c365
arm64: lower complete SVE FFR state family
cpunion Sep 20, 2026
1d17791
arm64: lower complete SVE predicate incdec family
cpunion Sep 20, 2026
ae0fd99
arm64: lower complete SVE predicate memory family
cpunion Sep 20, 2026
7e5584c
test: use valid ARM64 carry arithmetic forms
cpunion Sep 20, 2026
b8d49d9
arm64: lower complete SVE whole-vector memory family
cpunion Sep 20, 2026
e564e90
arm64: lower complete SVE vector prefetch family
cpunion Sep 20, 2026
fbfd4da
arm64: lower complete SVE predicate vector move family
cpunion Sep 20, 2026
60e3213
arm64: lower complete SVE index family
cpunion Sep 20, 2026
cdd8369
arm64: lower complete SVE insert family
cpunion Sep 20, 2026
d733846
arm64: lower complete SVE last-active family
cpunion Sep 20, 2026
0d298c5
arm64: lower complete SVE conditional-last family
cpunion Sep 20, 2026
a501962
arm64: lower complete SVE compact family
cpunion Sep 20, 2026
11f8d55
arm64: lower complete SVE move-prefix family
cpunion Sep 20, 2026
928964b
arm64: lower complete SVE extract family
cpunion Sep 20, 2026
1033091
arm64: complete SVE extract family with EXTQ
cpunion Sep 20, 2026
c124a4b
arm64: lower complete SVE splice family
cpunion Sep 20, 2026
b17689c
arm64: lower complete SVE copy family
cpunion Sep 20, 2026
6a1bdba
arm64: lower complete SVE conversion family
cpunion Sep 20, 2026
d427270
arm64: lower SVE top-half conversion families
cpunion Sep 20, 2026
4e6c1be
arm64: expand complete SVE integer unary family
cpunion Sep 20, 2026
f44eb95
arm64: lower complete SVE multiply-high family
cpunion Sep 20, 2026
f34ed1a
arm64: lower complete SVE saturating shift family
cpunion Sep 20, 2026
e5058f5
arm64: lower complete SVE floating multiply family
cpunion Sep 20, 2026
b2a1d30
arm64: lower complete SVE floating multiply-accumulate family
cpunion Sep 20, 2026
84bf327
arm64: lower complete SVE multiply-accumulate family
cpunion Sep 20, 2026
8ee39b7
arm64: lower complete SVE saturating multiply-high family
cpunion Sep 20, 2026
4a200b6
arm64: lower complete SVE negative floating multiply-accumulate family
cpunion Sep 20, 2026
40ba869
arm64: lower complete SVE floating multiply-extended family
cpunion Sep 20, 2026
9e61bcf
arm64: lower complete SVE floating multiply-addend family
cpunion Sep 20, 2026
c6ee27c
arm64: lower complete SVE floating trigonometric multiply family
cpunion Sep 20, 2026
c31b575
arm64: lower complete SVE floating trigonometric select family
cpunion Sep 20, 2026
330d8a7
arm64: lower complete SVE floating trigonometric multiply-add family
cpunion Sep 20, 2026
8122616
arm64: lower complete SVE floating complex multiply-accumulate family
cpunion Sep 20, 2026
ed0dd98
arm64: lower complete SVE integer complex multiply-accumulate family
cpunion Sep 20, 2026
5ba18f5
arm64: lower complete SVE saturating rounding multiply-accumulate-hig…
cpunion Sep 20, 2026
18033ac
arm64: lower complete SVE address-generation family
cpunion Sep 20, 2026
9ce0c76
arm64: lower complete range-prefetch family
cpunion Sep 20, 2026
c28909e
arm64: lower complete non-temporal SVE memory family
cpunion Sep 20, 2026
c3402da
arm64: lower complete SVE first-fault load family
cpunion Sep 20, 2026
b26882b
arm64: lower complete ordinary SVE memory family
cpunion Sep 20, 2026
1cf9178
arm64: lower complete structured SVE memory family
cpunion Sep 20, 2026
f2397bc
arm64: lower complete SVE non-faulting load family
cpunion Sep 20, 2026
ff0cded
arm64: lower complete SVE replicate load family
cpunion Sep 20, 2026
755e897
arm64: lower complete CTERM family
cpunion Sep 20, 2026
13947fd
arm64: lower complete SVE integer reduction family
cpunion Sep 20, 2026
e01b3cb
arm64: lower complete SVE add reduction family
cpunion Sep 20, 2026
30f2e8a
arm64: lower complete SVE widening add/sub family
cpunion Sep 20, 2026
27a272f
arm64: lower complete SVE absolute difference family
cpunion Sep 20, 2026
80bc7dc
arm64: lower complete SVE halving add/sub family
cpunion Sep 20, 2026
d2948f5
arm64: lower complete SVE divide family
cpunion Sep 20, 2026
d52add0
arm64: lower complete SVE ternary bitwise family
cpunion Sep 20, 2026
d4cab94
arm64: lower complete SVE bit permutation family
cpunion Sep 20, 2026
9f4e3d8
arm64: lower complete SVE carry long family
cpunion Sep 20, 2026
0f98410
arm64: lower complete SVE clamp family
cpunion Sep 20, 2026
72ac4ac
arm64: lower complete SVE unpack family
cpunion Sep 20, 2026
a1763b9
arm64: lower complete SVE saturating narrow family
cpunion Sep 20, 2026
52ab63e
arm64: lower complete SVE shift narrow family
cpunion Sep 20, 2026
d1ca99d
arm64: lower complete SVE saturating shift narrow family
cpunion Sep 20, 2026
92dbcb7
arm64: lower complete SVE variable rounding shift family
cpunion Sep 20, 2026
9e564ee
arm64: lower complete SVE mad/msb family
cpunion Sep 20, 2026
a63badf
arm64: lower complete SVE bfdot family
cpunion Sep 20, 2026
de14fd7
arm64: lower complete SVE integer dot family
cpunion Sep 20, 2026
6789b99
arm64: lower complete SVE AES mix family
cpunion Sep 20, 2026
c0b39e0
test: keep new SVE coverage visible to llgo
cpunion Sep 20, 2026
ec62447
arm64: lower complete SVE EOR interleave family
cpunion Sep 20, 2026
3662fb1
arm64: lower complete SVE revd family
cpunion Sep 20, 2026
0af92e5
arm64: lower complete SVE Q permute family
cpunion Sep 20, 2026
b56c751
arm64: lower complete SVE table extension family
cpunion Sep 20, 2026
5f815b1
arm64: lower complete SVE pmul family
cpunion Sep 20, 2026
b0a408a
arm64: lower complete SVE pmull bottom top family
cpunion Sep 20, 2026
7294c93
arm64: lower complete SVE pmull pair family
cpunion Sep 20, 2026
1dbf8e1
arm64: lower complete SVE AES round family
cpunion Sep 21, 2026
cb949f9
arm64: lower complete SVE optional crypto family
cpunion Sep 21, 2026
10cf1cc
arm64: lower complete SVE extra shift family
cpunion Sep 21, 2026
aac84ae
arm64: complete SVE2 multiply-long family
cpunion Sep 21, 2026
4d145b5
arm64: lower complete SVE matrix multiply family
cpunion Sep 21, 2026
f3cbc0c
arm64: lower complete SVE pairwise tail family
cpunion Sep 21, 2026
63b320c
arm64: lower complete SVE vector predicate incdec family
cpunion Sep 21, 2026
05bd2c6
arm64: lower complete SVE shift-long family
cpunion Sep 21, 2026
59e3407
arm64: lower complete SVE reciprocal-step family
cpunion Sep 21, 2026
346a2c9
arm64: lower complete SVE predicated float pairwise family
cpunion Sep 21, 2026
7181ef1
arm64: lower complete SVE character-match family
cpunion Sep 21, 2026
d42ca4c
arm64: lower complete SVE2 histogram family
cpunion Sep 21, 2026
1b29162
arm64: lower complete CPA multiply-add-tail family
cpunion Sep 21, 2026
485be57
arm64: lower complete SVE2 complex-add family
cpunion Sep 21, 2026
d0167f7
arm64: lower complete SVE2 XAR family
cpunion Sep 21, 2026
889d91a
arm64: lower complete SVE2.2 expand family
cpunion Sep 21, 2026
c00b73b
arm64: lower complete SVE floating exponent family
cpunion Sep 21, 2026
f175681
arm64: lower complete SVE floating immediate family
cpunion Sep 21, 2026
7f36099
arm64: lower complete SVE floating divide scale family
cpunion Sep 21, 2026
0517a24
arm64: lower complete SVE2 mixed saturating add family
cpunion Sep 21, 2026
8281ca6
arm64: lower complete SVE2 floating complex add family
cpunion Sep 21, 2026
ec6e0e3
arm64: lower complete SVE DUPW family
cpunion Sep 21, 2026
fd95fe7
arm64: lower complete SVE2.1 DUPQ family
cpunion Sep 21, 2026
a1c1c91
arm64: lower complete SVE DUPM family
cpunion Sep 21, 2026
968306f
arm64: lower complete SVE floating dot family
cpunion Sep 21, 2026
5dfda56
arm64: lower complete SVE2 complex dot family
cpunion Sep 21, 2026
056d9eb
arm64: lower complete SVE lookup table family
cpunion Sep 21, 2026
e1b3afe
arm64: lower complete widening floating MLA family
cpunion Sep 21, 2026
24163c3
arm64: lower complete SVE2.1 multi-vector narrow family
cpunion Sep 21, 2026
7db8c5b
arm64: lower complete SVE floating narrow conversion family
cpunion Sep 21, 2026
f0cfe8b
arm64: lower complete SVE BF16 arithmetic family
cpunion Sep 21, 2026
02ca1e3
arm64: lower complete SVE BF16 multiply-accumulate family
cpunion Sep 21, 2026
77a7326
amd64: lower complete XADD family
cpunion Sep 21, 2026
c95d536
amd64: lower complete XCHG family
cpunion Sep 21, 2026
bbfe82d
amd64: lower complete NEG family
cpunion Sep 21, 2026
b944c9b
amd64: lower complete BMI2 variable shifts
cpunion Sep 21, 2026
9d939c7
amd64: lower complete LZCNT family
cpunion Sep 21, 2026
1d12d2c
amd64: lower complete ADX carry chains
cpunion Sep 21, 2026
f27286e
amd64: lower complete BEXTR family
cpunion Sep 21, 2026
d70f424
amd64: lower complete BZHI family
cpunion Sep 21, 2026
1206a69
amd64: lower complete CRC32 family
cpunion Sep 21, 2026
71c2c95
amd64: lower complete CMPS family
cpunion Sep 21, 2026
c8de915
amd64: lower complete LODS family
cpunion Sep 21, 2026
c38cf11
amd64: lower complete sized NOP family
cpunion Sep 21, 2026
3008adb
amd64: lower complete MOVBE family
cpunion Sep 21, 2026
2cd6c17
amd64: lower complete MOVNTI family
cpunion Sep 21, 2026
74021d1
amd64: complete accumulator sign extensions
cpunion Sep 21, 2026
0577e70
amd64: lower complete x87 conditional moves
cpunion Sep 21, 2026
6ea1749
amd64: complete LEA width family
cpunion Sep 21, 2026
ec38349
amd64: complete scalar reciprocal estimates
cpunion Sep 21, 2026
55dfe57
amd64: lower complete mask unpack family
cpunion Sep 21, 2026
5b60e13
amd64: complete legacy packed logical forms
cpunion Sep 21, 2026
37b71d2
amd64: model complete packed add grammar
cpunion Sep 21, 2026
34997fc
amd64: lower complete floating dot grammar
cpunion Sep 21, 2026
1e41611
amd64: model complete packed sad grammar
cpunion Sep 21, 2026
b43741f
amd64: model complete half move grammar
cpunion Sep 21, 2026
ae3587c
amd64: lower complete unaligned load grammar
cpunion Sep 21, 2026
2166a55
amd64: lower complete mask broadcast grammar
cpunion Sep 21, 2026
a1a7be8
amd64: model complete vector test grammar
cpunion Sep 21, 2026
446c61f
amd64: model complete packed conflict grammar
cpunion Sep 21, 2026
a9a1438
amd64: model complete packed expand grammar
cpunion Sep 21, 2026
c8e5a69
amd64: unify packed bit-count grammar
cpunion Sep 21, 2026
060bfde
amd64: extend mask-blend grammar to floating forms
cpunion Sep 21, 2026
0062854
amd64: model complete GFNI grammar
cpunion Sep 21, 2026
2ca0459
amd64: unify indexed permute grammar
cpunion Sep 21, 2026
d9c43b1
amd64: model qword bit lookup grammar
cpunion Sep 21, 2026
30de002
amd64: model floating range grammar
cpunion Sep 21, 2026
05f827a
amd64: model explicit mask move grammar
cpunion Sep 21, 2026
a5f5a53
amd64: model floating point class grammar
cpunion Sep 21, 2026
e9952df
amd64: model floating exponent grammar
cpunion Sep 21, 2026
2cf79e5
amd64: model floating mantissa grammar
cpunion Sep 21, 2026
dbc50f9
amd64: model scaled rounding grammar
cpunion Sep 21, 2026
fca326c
amd64: model floating scale grammar
cpunion Sep 21, 2026
9564bed
amd64: type packed numeric conversion grammar
cpunion Sep 21, 2026
f57a219
amd64: complete double block byte SAD
cpunion Sep 21, 2026
7c8a622
amd64: type fixup immediate grammar
cpunion Sep 21, 2026
3726bec
amd64: type AVX512ER approximate math grammar
cpunion Sep 21, 2026
c8c6679
amd64: type packed string compare grammar
cpunion Sep 21, 2026
01ebaec
amd64: type stack-width grammar
cpunion Sep 21, 2026
91a0ffb
amd64: type four-source vector grammar
cpunion Sep 21, 2026
1473820
amd64: type scalar-extract grammar
cpunion Sep 21, 2026
4c8b06e
amd64: type segment query grammar
cpunion Sep 21, 2026
5ca99bb
amd64: extend segment query grammar
cpunion Sep 21, 2026
b3ca543
amd64: type segment state grammar
cpunion Sep 21, 2026
3d83ed3
amd64: type extended-state grammar
cpunion Sep 21, 2026
f63a7bd
amd64: type segment-base grammar
cpunion Sep 21, 2026
19470e2
amd64: complete typed VSIB prefetch grammar
cpunion Sep 21, 2026
129748a
amd64: complete legacy MMX grammar
cpunion Sep 21, 2026
5a62c15
amd64: type system-address grammar
cpunion Sep 21, 2026
355eb54
amd64: type implicit-system grammar
cpunion Sep 21, 2026
f8d9643
amd64: type transactional-memory grammar
cpunion Sep 21, 2026
61cf157
amd64: type fixed system grammar
cpunion Sep 21, 2026
6fdad16
amd64: type far-return grammar
cpunion Sep 21, 2026
322eaa4
amd64: type system-transfer grammar
cpunion Sep 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
100 changes: 99 additions & 1 deletion .github/workflows/go-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,43 @@ jobs:
- name: ARM64 Plan 9 reference corpus
run: scripts/check-arm64-plan9-corpus.sh

benchmark:
name: compile benchmark (Go 1.27, LLVM 22)
runs-on: ${{ github.repository_owner == 'xgo-dev' && fromJSON('["qiniu", "ubuntu-24.04-large"]') || 'ubuntu-24.04' }}
timeout-minutes: 20

steps:
- name: Checkout
uses: actions/checkout@v7

- name: Install LLVM 22
run: |
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-22 main" | sudo tee /etc/apt/sources.list.d/llvm.list
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/llvm-snapshot.asc >/dev/null
sudo apt-get update
sudo apt-get install -y llvm-22-dev clang-22 libclang-22-dev lld-22 libunwind-22-dev libc++-22-dev
echo "PATH=/usr/lib/llvm-22/bin:$PATH" >> "$GITHUB_ENV"

- name: Setup Go
uses: ./.github/actions/setup-go
with:
go-version: '1.27.x'
cache: true

- name: Translate and compile standard-library assembly
env:
PLAN9ASM_BENCHMARK_MAX_TARGET_SECONDS: '300'
PLAN9ASM_BENCHMARK_MAX_TOTAL_SECONDS: '900'
run: scripts/benchmark-compile.sh

- name: Upload benchmark report
if: always()
uses: actions/upload-artifact@v6
with:
name: compile-benchmark
path: _out/compile-benchmark
if-no-files-found: error

reported_library_list:
name: Third-party corpus matrix
runs-on: ${{ github.repository_owner == 'xgo-dev' && fromJSON('["qiniu", "ubuntu-24.04-large"]') || 'ubuntu-24.04' }}
Expand Down Expand Up @@ -128,6 +165,67 @@ jobs:
REPORTED_LIBRARY: ${{ matrix.library }}
run: scripts/check-reported-library-corpus.sh "$REPORTED_LIBRARY"

discovered_library_corpus:
name: discovered-corpus (shard ${{ matrix.shard }}/32)
runs-on: ${{ github.repository_owner == 'xgo-dev' && fromJSON('["qiniu", "ubuntu-24.04-large"]') || 'ubuntu-24.04' }}
strategy:
fail-fast: false
matrix:
shard: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]

steps:
- name: Checkout
uses: actions/checkout@v7

- name: Install LLVM 22
run: |
echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-22 main" | sudo tee /etc/apt/sources.list.d/llvm.list
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/llvm-snapshot.asc >/dev/null
sudo apt-get update
sudo apt-get install -y llvm-22-dev clang-22 libclang-22-dev lld-22 libunwind-22-dev libc++-22-dev
echo "PATH=/usr/lib/llvm-22/bin:$PATH" >> "$GITHUB_ENV"

- name: Setup Go
uses: ./.github/actions/setup-go
with:
go-version: '1.27.x'
cache: true

- name: Translate and compile discovered assembly
run: scripts/check-discovered-library-corpus.sh "${{ matrix.shard }}" 32

- name: Upload shard report
if: always()
uses: actions/upload-artifact@v6
with:
name: discovered-corpus-shard-${{ matrix.shard }}
path: _out/discovered-library-corpus/shard-${{ matrix.shard }}.json
if-no-files-found: error

discovered_library_corpus_verify:
name: discovered-corpus aggregate verification
needs: discovered_library_corpus
runs-on: ${{ github.repository_owner == 'xgo-dev' && fromJSON('["qiniu", "ubuntu-24.04-large"]') || 'ubuntu-24.04' }}
steps:
- name: Checkout
uses: actions/checkout@v7

- name: Setup Go
uses: ./.github/actions/setup-go
with:
go-version: '1.27.x'
cache: true

- name: Download shard reports
uses: actions/download-artifact@v8
with:
pattern: discovered-corpus-shard-*
path: _out/discovered-library-corpus
merge-multiple: true

- name: Verify complete ledger coverage
run: scripts/verify-discovered-library-corpus.sh

stdlib-corpus:
name: stdlib-corpus (${{ matrix.os }}, Go ${{ matrix.go-version }})
runs-on: ${{ github.repository_owner == 'xgo-dev' && matrix.runner || matrix.os }}
Expand Down Expand Up @@ -428,7 +526,7 @@ jobs:
echo "PATH=/usr/lib/llvm-22/bin:$PATH" >> "$GITHUB_ENV"

- name: Go test (race)
run: go test -race ./...
run: go test -race -timeout=20m ./...

coverage:
runs-on: ${{ github.repository_owner == 'xgo-dev' && fromJSON('["qiniu", "ubuntu-24.04-large"]') || 'ubuntu-24.04' }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/_out/
Loading