sorear changed the topic of #riscv to: RISC-V instruction set architecture | https://riscv.org | Logs: https://libera.irclog.whitequark.org/riscv
aerkiaga has quit [Remote host closed the connection]
EchelonX has quit [Quit: Leaving]
aburgess has quit [Remote host closed the connection]
aburgess has joined #riscv
dramforever__ has joined #riscv
dramforever_ has quit [Ping timeout: 244 seconds]
jacklsw has joined #riscv
dramforever__ has quit [Quit: Leaving]
dramforever has joined #riscv
radu242 has quit [Ping timeout: 244 seconds]
dramforever has quit [Quit: dramforever]
dramforever has joined #riscv
BootLayer has joined #riscv
joev has quit [*.net *.split]
DoubleJ has quit [*.net *.split]
mcfrdy has quit [*.net *.split]
hl has quit [*.net *.split]
dlan has quit [*.net *.split]
mlaga97 has quit [*.net *.split]
la_mettrie has quit [*.net *.split]
mlaga97 has joined #riscv
dlan has joined #riscv
dlan has quit [Changing host]
dlan has joined #riscv
la_mettrie has joined #riscv
joev has joined #riscv
DoubleJ has joined #riscv
hl has joined #riscv
mcfrdy has joined #riscv
CYKS has quit [*.net *.split]
ikke has quit [*.net *.split]
nelnire has quit [*.net *.split]
courmisch has quit [*.net *.split]
nelnire has joined #riscv
courmisch has joined #riscv
ikke has joined #riscv
loggervicky has joined #riscv
loggervicky has quit [Ping timeout: 272 seconds]
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #riscv
handsome_feng has joined #riscv
Trifton_ has quit [Read error: Connection reset by peer]
loggervicky has joined #riscv
bauruine has joined #riscv
ldevulder has joined #riscv
ssb has joined #riscv
prabhakarlad has joined #riscv
loggervicky has quit [Ping timeout: 272 seconds]
loggervicky has joined #riscv
loggervicky has quit [Client Quit]
dor has joined #riscv
CYKS has joined #riscv
ChengjunXie has quit [Quit: ZNC 1.8.2 - https://znc.in]
dor has quit [Remote host closed the connection]
cousteau has joined #riscv
Andre_H has joined #riscv
jacklsw has quit [Ping timeout: 244 seconds]
jmdaemon has quit [Ping timeout: 255 seconds]
emacs_pprentice_ has quit [Quit: Leaving]
aerkiaga has joined #riscv
raym has quit [Remote host closed the connection]
raym has joined #riscv
BootLayer has quit [Quit: Leaving]
BootLayer has joined #riscv
eroux has quit [Ping timeout: 272 seconds]
eroux has joined #riscv
wingsorc has joined #riscv
elastic_dog has quit [Ping timeout: 240 seconds]
elastic_dog has joined #riscv
Andre_H has quit [Ping timeout: 245 seconds]
BootLayer has quit [Quit: Leaving]
wingsorc has quit [Quit: Leaving]
wingsorc has joined #riscv
radu242 has joined #riscv
dramforever has quit [Remote host closed the connection]
radu242 has quit [Read error: Connection reset by peer]
radu2424 has joined #riscv
Andre_H has joined #riscv
jacklsw has joined #riscv
<la_mettrie> it looks like those register offsets such as JH7100_RESET_STATUS3 are not used anywhere (???) https://github.com/starfive-tech/linux/blob/311c58e5efd42d71dc4ab20931650be4fad67d33/drivers/reset/starfive/reset-starfive-jh7100.c
Andre_H has quit [Quit: Leaving.]
<Esmil> la_mettrie: the register is used, just not through this macro definition directly. the driver uses the fact that the status registers are layed out one after another after STATUS0, and then calculates which bit in which register from the reset index
BootLayer has joined #riscv
motherfsck has quit [Ping timeout: 240 seconds]
indy has quit [Quit: ZNC 1.8.2 - https://znc.in]
indy has joined #riscv
indy has quit [Ping timeout: 240 seconds]
motherfsck has joined #riscv
indy has joined #riscv
tsraoien has quit [Ping timeout: 268 seconds]
<mort> how does large adds work in risc-v? I can't see an add with carry operation
<jrtc27> see the non-normative text in 2.4 Integer Computational Instructions
<jrtc27> but the TL;DR is to just compute it separately with a sltu
<mort> aha
<mort> curious that 64-bit addition is considered so rare in rv32 that it's worth making it 4 instructions rather than 2
<cousteau> I thought it was just one more
<mort> https://godbolt.org/z/rqYsEqxWq 4 instructions to add long longs
<mort> change T to int and you see adding ints is 1 instr
<mort> I don't know if this is clang's codegen missing a trick or if it has to be that way
Andre_H has joined #riscv
BootLayer has quit [Ping timeout: 252 seconds]
<cousteau> maybe it was 2 and not 1
<cousteau> in any case, yeah it seems that they didn't consider it common enough to add it to the base instruction set. I think the justification was that languages such as C don't use that sort of thing anyway.
<cousteau> I think the B extension adds carry operations though
<jrtc27> the three adds can be compressed
<jrtc27> as can the ret
<jrtc27> so it's not so awful
<mort> hmm should clang have done that here or will the assembler take care of that
tsraoien has joined #riscv
Andre_H has quit [Client Quit]
<jrtc27> compression is done by the assembler (though a smart compiler will choose instructions that are compressible where possible e.g. via register allocation heuristics)
<jrtc27> if you enable Compile to binary you can see the disassembly along with the raw instruction bytes
<cousteau> as in, choose registers that have a compressed instruction?
<jrtc27> yes
<jrtc27> and in some cases prefer one instruction sequence to another equivalent one because it can be compressed
Andre_H has joined #riscv
handsome_feng has quit [Quit: Connection closed for inactivity]
zx2c4 has quit []
zx2c4 has joined #riscv
BootLayer has joined #riscv
Jovan has left #riscv [#riscv]
peeps[zen] has joined #riscv
peepsalot has quit [Ping timeout: 240 seconds]
sm2n has quit [Remote host closed the connection]
jleightcap has quit [Remote host closed the connection]
sumoon has quit [Remote host closed the connection]
shreyasminocha has quit [Remote host closed the connection]
yyp has quit [Write error: Connection reset by peer]
ddevault has quit [Remote host closed the connection]
Guest8555 has joined #riscv
Guest8555 has quit [Changing host]
Guest8555 has joined #riscv
sumoon has joined #riscv
shreyasminocha has joined #riscv
yyp has joined #riscv
Guest8555 is now known as Trifton_
sm2n has joined #riscv
jleightcap has joined #riscv
matoro has quit [Ping timeout: 272 seconds]
Andre_H has quit [Quit: Leaving.]
sumoon has quit [Remote host closed the connection]
sm2n has quit [Remote host closed the connection]
yyp has quit [Remote host closed the connection]
shreyasminocha has quit [Remote host closed the connection]
jleightcap has quit [Remote host closed the connection]
yyp has joined #riscv
ddevault has joined #riscv
shreyasminocha has joined #riscv
sumoon has joined #riscv
sm2n has joined #riscv
jleightcap has joined #riscv
cousteau has quit [Quit: ♫ I can't forget the day I shot that network down ♫]
TMM_ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM_ has joined #riscv
Raito_Bezarius has quit [Ping timeout: 240 seconds]
jacklsw has quit [Read error: Connection reset by peer]
jacklsw has joined #riscv
jacklsw has quit [Ping timeout: 244 seconds]
Raito_Bezarius has joined #riscv
matoro has joined #riscv
matoro has quit [Changing host]
matoro has joined #riscv
sumoon has quit [Remote host closed the connection]
jleightcap has quit [Write error: Broken pipe]
sm2n has quit [Write error: Connection reset by peer]
yyp has quit [Remote host closed the connection]
shreyasminocha has quit [Remote host closed the connection]
ddevault has quit [Remote host closed the connection]
sm2n has joined #riscv
yyp has joined #riscv
ddevault has joined #riscv
shreyasminocha has joined #riscv
sumoon has joined #riscv
jleightcap has joined #riscv
Andre_H has joined #riscv
tsraoien has quit [Ping timeout: 252 seconds]
tsraoien has joined #riscv
tsraoien has quit [Ping timeout: 252 seconds]
pecastro has joined #riscv
motherfsck has quit [Quit: quit]
<muurkha> mort: I was surprised by RISC-V's weak support for multiprecision math too, but consider that it trades off against simplicity for small implementations and performance for large ones
<muurkha> and multi-precision math is definitely a lot less important for a 32-bit instruction set than it is for, say, an 8-bit instruction set
<mort> if it's true that it can basically be written as 4 compressed expressions (with proper register allocation), then it won't be larger than two "proper" adc instructions; and if all compilers produce the same code for two-register adds, the big CPUs could probably macro-op fuse something
<mort> so it kinda makes sense
<muurkha> yeah. and mulh/mulhs/mulhu/mulhsu *is* present
jmdaemon has joined #riscv
jmdaemon has quit [Remote host closed the connection]
jmdaemon has joined #riscv
zjason` has joined #riscv
zjason has quit [Read error: Connection reset by peer]
jmdaemon has quit [Quit: ZNC 1.8.2 - https://znc.in]
ZipCPU has quit [Quit: ZNC 1.7.5+deb4 - https://znc.in]
ZipCPU has joined #riscv
tsraoien has joined #riscv
BootLayer has quit [Quit: Leaving]
catern has joined #riscv
<conchuod> btw palmer I see there's been nothing further on that canaan dt stuff you put on riscv-canaan_dt_schema, so I assume you can just take it /shrug
vagrantc has joined #riscv
esv has joined #riscv
wingsorc has quit [Quit: Leaving]
crabbedhaloablut has joined #riscv
bauruine has quit [Remote host closed the connection]
Andre_H has quit [Quit: Leaving.]
clandmeter has quit [Remote host closed the connection]
clandmeter has joined #riscv
clandmeter has quit [Remote host closed the connection]
clandmeter has joined #riscv
clandmeter has quit [Remote host closed the connection]
clandmeter has joined #riscv
clandmeter has quit [Remote host closed the connection]
clandmeter has joined #riscv
wingsorc has joined #riscv
bjoto has quit [Ping timeout: 244 seconds]
bjoto has joined #riscv
littlebobeep has joined #riscv
littlebobeep has quit [Remote host closed the connection]
littlebobeep has joined #riscv
vagrantc has quit [Quit: leaving]
Trifton_ has quit [Read error: Connection reset by peer]
pecastro has quit [Ping timeout: 245 seconds]