Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Question to the Article "Coq: The world’s best macro assembler?"

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Question to the Article "Coq: The world’s best macro assembler?"


Chronological Thread 
  • From: Pierre-Evariste Dagand <pierre AT evr.ist>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Question to the Article "Coq: The world’s best macro assembler?"
  • Date: Sun, 13 Aug 2023 06:40:15 +0200
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=pierre AT evr.ist; spf=Pass smtp.mailfrom=pierre AT evr.ist; spf=None smtp.helo=postmaster AT 4.mo582.mail-out.ovh.net
  • Ironport-data: A9a23:qBEJ6qJlbyuLINExFE+RdZMlxSXFcZb7ZxGr2PjKsXjdYENS0z0Cz zAaUGmAOPvfY2SgfN0iboi2p01Uu5PXn9JgSVMd+CA2RRqmi+KVXIXDdh+Y0wC6d5CYEho/t 63yTvGacajYm1eF/k/F3oDJ9CU6j+fSLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtHR7zml4 LsemOWBfgf8s9JIGjhMsfnb+Eo05K2aVA4w5zTSW9gb5DcyqFFOVPrzFYnpR1PkT49dGPKNR uqr5NlVKUuEl/uFIorNfofTKiXmcJaKVeS9oiY+t5yZv/R3jndaPpDXmxYrQRw/Zz2hx7idw TjW3HC6YV9B0qbkwIzxX/TEes3X0GIvFLLveBCCXcKvI0LuV17L5dN1LRAPZaIq+8lGWV1Mz d8JJ2VYBvyDr7reLLOTFq9pgZlzdo/uNYIb/3Z90XfeE/ZgR53fK0nIzY8HmmZgwJkeQbCHO ptxhTlHNHwsZzVXO1oNEp8WkfmywHjkb1W0rXrM//JmuDOKklwZPL7FD4rcRd+IXJhstxyEl nnmoUbBLikeHYnKodaC2jf27gPVpgvwX5tXH7ml/NZxkViLzyoSDgcXXB21u5GEZlWWB5RaL BFEoGwrpKk2sUu2Up/6QR3+pnOY1vIBZ+dt/yQBwFnl4sLpD8yxXwDolxYRNoJ0h9x8XjEwy F6CkvXgADEl4vXfSmuQ+v3Q5Xm+MDQcZz1KLyIVbxo30/+6qqEKjzXLUolCFoyxhYbLAj3e+ W2BgxU/oLQxtvQ18ZuH02rJuB+Sg6TYbxUU41zXV1217wkia4+CYZep2Gfh7v1BDdi4TGCct kdUwu+yzf0EMr+VngfUXuk9JayjvMSCFDiBhVJEPoIA8g618CWJZrFg4zBZJWZoPP0beDTvX lThhANJ6LJXP1qodaVScavoL+gLlI/OTc/EUNLQZfpwOqlBTheNpnxSVBTBzlLTn1gJuoBhH 5WiKOKHL2sQUIZjxxqIH9Yt66chnH0C9DmCVKLA7kqV1JSFbySoUpYDClyFa9454I6ioAn49 9V+NdOA+y5AUd/RMzXmzooOEW8kdXQLJ4j6i8hyRN6xJgBLHGIACfiIz4gxJK1jvaBezdnT8 l+HB0R39VvYhF/8EzusVExNUr3VYMtAnSoJBhB0ZVeM8Fo/ULmr95YaJscWf6F41elNzsxUb vgieueEDvJuVz333Ww8bIb8nqNmZh+ElQKDBAv7QTkdLrpLZR3Fxc/gRSTrrBIxNyuQsdcyh 5aCxzHra8MPaCo6BfmHdc/16U26uEYsvd5bXmzKE4F1Q1rt+o07EB7BpKY7DO9UICqS2wbA8 RidBCoZguz/o4UV1t3troLcpqeLF9pOJGZrL1P5352XaxaDpnGCxLVeWtmmZTreDWP42Juzb NVvks3TDqc1o0ZogaFdTZBblbkz9vn+lY98lw5EJkjGX36vK7FnI0SF4/Vxi71w9udZlDayC 22y+Yh8GLSWOcnaPkYbCyg7Y8+ii/wFuDngws4kAUf95R1HzqujVEFAMzKtkw1YFqN+a6k+8 NciuekXyg2xsQUrOdC4lRJp93yAA3gDcqc/vKEhH47gjzQ0xmF4YZDzDjH85LeNYY5uNnYGD yC1hq2YoZhh3WvHLmQOEEbS0dpnhZghvA5AyHkALQ+rnvvHnvoG4w1Dww8oTwh6zgR17MwrA zJFb3ZKHKSp+ytkoONhXGr2QgFIO0C/y3zLklAMkDXUclmsWmnzN1YCAOeq/n5Iw1IEK3Ift PudxX3+WDnnQNDp02FgEQR5ovjkVppq+heEhMmjGN+fEoInZSb+xJWjfncMtwCtFPZZaJcrf gW21L0YhWzH2S8sT2kTV8+f0ulAElaBLW1GBPZ84OUOA2GafjyusdRLx4ZdZesVT8EmM2fhY yCtGi6LfxmgzmCPtSxz6WskPepvhPBwjDYdUuqDGIPF2odzahJkroiW9zPi7IPurxOCju5lQ r7sm/m+/qB8SJead6IhbCWJB4ZgXeQ5WQ==
  • Ironport-hdrordr: A9a23:qle12q9TJsyWWqFcxwJuk+BtI+orL9Y04lQ7vn2ZKSY4TiX+rb HToB17726ItN9/YgBHpTntAtjmfZqYz+8Q3WBzB8bBYOCFghrREGgK1+KLqFeMdREWtNQtsJ uIGJIOc+EYY2IK9/oSIzPYL/8QhPeC+KCswcHEz3lsSgluL4Vt9R1wBAreMmAefng+OXP0Lv qhz/sCgQWgPV4Tbsi9G1kdNtKtm/T70LT4YFo6HBYs5BLLrT7A0s+EL/FQ5GZ8bxp/hYgYtV L9uyjSzpmYn5iAu2/h/l6W0K8TouLI7uFoIveh4/JlWwnEu0KWX8BaYpWnhg0cnc3H0idVrO Xx
  • Ironport-phdr: A9a23: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 WolG6uohrCO92VZmektQwR8
  • Ironport-sdr: 64d85ec6_lHaGeBmQslxJn8xLYBIRFLY1/xqHb3j/fJcGm0Z7oA7BwVO DsTM1XktR13hxTs16luk0myk7TE3TypIBFKeR/A==

Hi folks,

> Several years ago, I discussed this paper with one of its coauthors, namely
> Pierre-Évariste Dagand (two plausible email addresses in the cc). He said
> that he would find it interesting to port this work to the amd64 instruction
> set, using Iris as a framework for separation logic. Or, in general, port it
> to a more modern separation logic framework and prevent further bitrot.
> However, he added that the amount of engineering work required would call
> for a decent scientific motivation.

Yep, I still believe this to be true.


Note that, in the meantime, Intel has released Xed

https://intelxed.github.io/

which can be used to obtain the encoding/decoding of instructions from
Intel's declarative specification. A few years back, a student of mine
"kind of almost" extracted all AVX-512 instructions as a Coq datatype,
through a hacky Python script.


Alternatively, one could have a look at "high-level assembly
languages", such as Jasmin

https://github.com/jasmin-lang/jasmin

> Hope that Pierre-Évariste is fine with this public summary of his
> stance back then; not sure if it has changed since.

No problem. I only take issue when you rob me of the last slice of
chocolate cake at a conference. Only then do I hold a grudge forever
after :)

> Now, what I find interesting is that the git repo maintained by Maxime Dénès
> (also cc'd) found by Mukesh actually does mention amd64, at least in its
> title.

Andrew Kennedy had started a 64-bit version. However, there were some
significant performance issues with instruction decoding, so it
remains very partial wrt. full amd64.


If I can be of any help, don't hesitate to ping me.


Regards,

--
Pierre



Archive powered by MHonArc 2.6.19+.

Top of Page