See below for methodology.
Flags | Working? |
---|---|
-march=x86-64-v2 |
✅ |
-march=x86-64-v3 |
✅ |
-march=x86-64-v4 |
❌ |
-march=rocketlake |
❌ |
-march=rocketlake -mabm |
❌ |
-march=rocketlake -mabm --param=l1-cache-line-size=64 |
❌ |
-march=rocketlake -mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 |
❌ |
-march=rocketlake -mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=16384 (same as -march=native ) |
❌ |
-march=rocketlake -mabm --param=l1-cache-line-size=64 --param=l2-cache-size=16384 |
❌ |
-march=rocketlake -mabm --param=l1-cache-size=48 |
❌ |
-march=rocketlake -mabm --param=l1-cache-size=48 --param=l2-cache-size=16384 |
❌ |
-march=rocketlake -mabm --param=l2-cache-size=16384 |
❌ |
-march=rocketlake --param=l1-cache-line-size=64 |
❌ |
-march=rocketlake --param=l1-cache-line-size=64 --param=l1-cache-size=48 |
❌ |
-march=rocketlake --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=16384 |
❌ |
-march=rocketlake --param=l1-cache-line-size=64 --param=l2-cache-size=16384 |
❌ |
-march=rocketlake --param=l1-cache-size=48 |
❌ |
-march=rocketlake --param=l1-cache-size=48 --param=l2-cache-size=16384 |
❌ |
-march=rocketlake --param=l2-cache-size=16384 |
❌ |
-mabm |
✅ |
-mabm --param=l1-cache-size=48 |
✅ |
-mabm --param=l2-cache-size=16384 |
✅ |
-mabm --param=l1-cache-line-size=64 |
✅ |
-mabm --param=l1-cache-size=48 --param=l2-cache-size=16384 |
✅ |
-mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 |
✅ |
-mabm --param=l1-cache-line-size=64 --param=l2-cache-size=16384 |
✅ |
-mabm --param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=16384 |
✅ |
--param=l1-cache-line-size=64 |
✅ |
--param=l1-cache-line-size=64 --param=l1-cache-size=48 |
✅ |
--param=l1-cache-line-size=64 --param=l1-cache-size=48 --param=l2-cache-size=16384 |
✅ |
--param=l1-cache-line-size=64 --param=l2-cache-size=16384 |
✅ |
--param=l1-cache-size=48 |
✅ |
--param=l1-cache-size=48 --param=l2-cache-size=16384 |
✅ |
--param=l2-cache-size=16384 |
✅ |
(no flags) | ✅ |
Flag permutation generation script is attached.
- Build every variant into a binpkg:
while IFS=$'\n' read -r flags; do echo "$flags" && rm -fR ./kde-plasma && env FEATURES=-getbinpkg "CFLAGS=$flags" "CXXFLAGS=$flags" emerge --usepkg=n -1 kwin && qpkg -P "$(pwd -P)" kwin && cp -v ./kde-plasma/kwin/*.tbz2 "${OUTDIR}/kwin_x11.${flags// /.}" done < <(python generate-flag-permutations.py.py)
- Install every binpkg, pausing to test each one by running
kwin_x11 --replace
in another terminal.cd "$OUTDIR" for i in *.tbz2; do flags="${i:12}" && flags="${flags/.tbz2}" && echo "${flags//./ }" && rm -f /var/cache/binpkgs/kde-plasma/kwin/* && cp "$i" "/var/cache/binpkgs/kde-plasma/kwin/${i:0:11}-1.xpak" && emerge --usepkgonly -1 kwin && echo 'Test!' && read done