Vagy csak fejlődött az AltiVec, az Assembler meg nem?
vperm 0,2,4,5
subi 10,10,31
vxor 17,8,23
vsrab 11,8,9
vaddubm 8,8,8
vand 11,11,10
vxor 7,0,17
xxlor 32+1, 0, 0
vpermxor 8, 8, 11, 1
- NevemTeve blogja
- A hozzászóláshoz be kell jelentkezni
- 423 megtekintés
Hozzászólások
Adtam neki egy ilyet:
-Wa,-mpower2
Természetesen ettől más gondja lett, közönséges C-programok fordítása sem sikerül:
Instruction ld is not implemented in the current assembly mode PPC64.
Instruction std is not implemented in the current assembly mode PPC64.
Egy másik üzemmódban meg ezt nem szereti:
bclr 14,0
Error: invalid conditional option
- A hozzászóláshoz be kell jelentkezni
https://hup.hu/comment/2649447#comment-2649447 Itten lehetne okulni, sajnos a megoldást nem írta oda a kolléga.
- A hozzászóláshoz be kell jelentkezni
Nem tudod letiltani (make opcio vagy egyeb configure/cmake/barmi opcioval) az *.s acceleratorokat? Vsz megvan ez C-ben is irva ottan...
- A hozzászóláshoz be kell jelentkezni
Azért adjunk egy halvány esélyt annak is, hogy a platform-specifikus Assembly gyorsabb lehet.
- A hozzászóláshoz be kell jelentkezni
Akkor valami -march=... opcio hianyzik es/vagy azt rontja el a configure/cmake/barmi. Raadasul ujabb gcc-k tudnak trukkosek lenni, en is futottam mar be teljesen hasonloba. Szoval siman lehet hogy egy regebbi configure/cmake/barmi mar nem jo kombinacioban generalja le a -march=... opciokat egy ujabb cc-nek.
- A hozzászóláshoz be kell jelentkezni
minek?
- A hozzászóláshoz be kell jelentkezni
Az SSL-nel maradva: 10Gbit-en nalam is ez a szuk keresztmetszet... kezzel beallitva az aes128-ctr ciphert mar egeszen jo a helyzet, es lehet hogy pont a hasonlo faradozasok miatt. Annyira nem mentem utana, meg annyira a gyakorlatban nem akkora problema ez az egesz, de azert absz merheto dolgokrol van itten szo.
De mas hasonlo problemaknal, pl GF-ek feletti stream-eken ertelmezett aritmetika eseten akar 3x szorzot is el lehet erni par joliranyzott/makrositott/noinline assembly rutinnal. Mert a gcc meg meg igy 2023-ban sem nem arra van optimalizalva hogy ilyeneket optimalizaljon. Ott is az volt hogy megneztem a disasm-t, baromira unhatekony lett a kod, megirtam rendesen, es ugy mar hatarozottan javult. Es 10-20-x kLOC mellett nem ezen a ~20 soron fog mulni az olvashatosag.
Ez van.
- A hozzászóláshoz be kell jelentkezni
honnan tudod hogy neki az a baj ahogy a 700 eves rendszeren 10gbit/snel koppan valami es ezert platform optimized assembly kell?
szerintem nincs itt semmifele problema, csak sok mazochizmus.
- A hozzászóláshoz be kell jelentkezni
Passz. Lehet "regi (de joesellyel jo) hw + uj sw" jellegu problema(?) is.
- A hozzászóláshoz be kell jelentkezni
Ami nem működik, az biztosan nem gyorsabb, mint ami működik.
- A hozzászóláshoz be kell jelentkezni
Az vajon lehetséges, hogy a "-B /usr/local/bin" opció figyelmen kívül marad, és fixen a /usr/bin/as fut?
Szerk: Bingó, hardkódolva van a /usr/bin/as
- A hozzászóláshoz be kell jelentkezni
.s helyett .S mennyire játszhat?
- A hozzászóláshoz be kell jelentkezni
És ez is feltámadt: https://hup.hu/node/176824
Valamilyen megmagyarázhatatlan okból a /usr/bin/X11/makedepend -et futtatja. Minek? Miért?
- A hozzászóláshoz be kell jelentkezni
Ez lesz a baratunk:
./config ... disable-makedepend...
- A hozzászóláshoz be kell jelentkezni
Ez most jó izgis lesz:
crypto/bio/bio_print.c: In function 'fmtfp':
crypto/bio/bio_print.c:824:1: error: unrecognizable insn:
}
^
(insn 371 370 372 61 (set (reg/v:DI 251 [ intpart ])
(unsigned_fix:DI (reg/v:DF 407 [ fvalue ]))) crypto/bio/bio_print.c:666 -1
(nil))
crypto/bio/bio_print.c:824:1: internal compiler error: in extract_insn, at recog.c:2343
Please submit a full bug report,
with preprocessed source if appropriate.
See for instructions.
- A hozzászóláshoz be kell jelentkezni
izgi!!!!!
ja, nem.
- A hozzászóláshoz be kell jelentkezni
De.
- A hozzászóláshoz be kell jelentkezni
osregi rendszerekre mi ertelme ezt felhakolni? NevemTeve nem mondott soha semmit, de el nem tudom kepzelni hol eri meg ez jobban mint venni egy uj szervert.
- A hozzászóláshoz be kell jelentkezni
Na jó, ez most én voltam: azt mondtam neki, hogy '-mcpu=native'. Jó hogy megsértődött, naná. (Egy gcc-5.4 volt egyébként.)
Bár még így is meg lehetett menteni ezzel a patch-csel:
--- crypto/bio/bio_print.bak 2023-11-23 14:20:19 +0100
+++ crypto/bio/bio_print.c 2023-11-27 16:21:45 +0100
@@ -663,7 +663,7 @@
(void)doapr_outch(sbuffer, buffer, currlen, maxlen, '\0');
return 0;
}
- intpart = (unsigned long)ufvalue;
+ intpart = (unsigned long)(long)ufvalue;
/*
* sorry, we only support 9 digits past the decimal because of our
- A hozzászóláshoz be kell jelentkezni
GCC 5.4 | June 3, 2016 |
- A hozzászóláshoz be kell jelentkezni
Pillanatnyi álláspontom, hogy visszacsavarunk ahhoz a megoldáshoz, hogy a gcc-t ezzel a wrapperrel hívjuk meg:
#!/bin/sh
f_asm=0
next=
outfile=
for i; do
d_arg=$(dirname -- "$i")
b_arg=$(basename -- "$i" .s)
if [ "$next" = 'o' ]; then
outfile="$i"
next=
elif [ "$i" = '-o' ]; then
next='obj'
elif [ "$d_arg/$b_arg.s" = "$i" ]; then
echo "local_64_gcc_ itt egy Assembly source: $d_arg/$b_arg.s"
src_asm="$d_arg/$b_arg.s"
if [ "$outfile" = '' ]; then
outfile="$d_arg/$b_arg.o"
fi
f_asm=1
next=
else
next=
fi
done
if [ $f_asm -eq 0 ]; then
set -x
exec gcc "$@"
else
set -x
exec /usr/local/bin/gas -a64 -mpower5 -o "$outfile" "$src_asm"
fi
- A hozzászóláshoz be kell jelentkezni
Ja és végül összeakadt az OpenSSH-val, tehát visszacsináltam.
- A hozzászóláshoz be kell jelentkezni
Ha valamiért régi OpenSSH-t akarok zlib-1.3-mal kombinálni, akkor configure megáll ezen a ponton:
int a=0, b=0, c=0, d=0, n, v;
n = sscanf(ZLIB_VERSION, "%d.%d.%d.%d", &a, &b, &c, &d);
if (n != 3 && n != 4)
exit(1);
Ugyanis ha ZLIB_VERSION "1.3", akkor sscanf válasza 2.
Szerk: a build-be tettem egy ilyen részt:
sed_repl 's/if (n != 3 && n != 4)/if (n<2)/' configure # zlib-1.3 verzioszama "1.3"
- A hozzászóláshoz be kell jelentkezni
Hát, itt konkrétan a zlib is hibás kicsit ám. 1996 májusa óta a.b.c.[d] a verziószámozási sémája, előtte volt csak a.b sémájú.
De idén augusztusban kitalálta a fejlesztő, hogy ne 1.3.0 legyen, hanem 1.3. Köszi.
- A hozzászóláshoz be kell jelentkezni
Most már 1.3.1 van, úgyhogy egy ideig jók vagyunk.
https://www.zlib.net/
- A hozzászóláshoz be kell jelentkezni
Ki tudja, lehet, hogy jókedvében a következő release 1.4 lesz.
- A hozzászóláshoz be kell jelentkezni
Az OpenSSL-3.3.0 csak ennyit hibát bírt generálni:
ld: 0711-317 ERROR: Undefined symbol: ._isnan
bővebben:
._isnan [18] ER PR ssl/quic/json_enc.c(ssl/quic/libssl-shlib-json_enc.o)
Szóval a számítástechnika is előre megy, nem hátra. De azért megnézem, van-e --without-quic opció valahol elrejtve.
- A hozzászóláshoz be kell jelentkezni
Még mindig újra kell fordítani utána az OpenSSH-t is. (Csak úgy emlékeztetőül mondom magamnak.)
- A hozzászóláshoz be kell jelentkezni