[llvm] [AVX-512] make vpternlogq more aggressive for longer chains of bitmanipulations (PR #189971)

Niles Salter via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 19:12:47 PDT 2026


Validark wrote:

Here is a schedule Claude came up with for my real-world use-case:

```
[~[[
  [[a | b] & (c | d)] &
  [[e | f] & (g | h)] &
  [[i | j] & (k | l)]
] & [[m | n] & (o | p)] & q] & ~r & s]
```

The `[ ... ]` is like a parenthesis, but also represents things done in a single instruction. [You can see a live compile of this schedule here](https://zig.godbo.lt/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXAGx8BBAKoBnTAAUAHpwAMvAFYTStJg1AAvPMFJL6yAngGVG6AMKpaAVxYMQAZgBMpBwAyeAyYAHLuAEaYxN4apAAOqAqEtgzObh7efonJNgJBIeEsUTFecZaY1qlCBEzEBOnunr4WmFZ5DDV1BAVhkdGxFrX1jZktCsM9wX3FA2UAlBaorsTI7BxoDBMA1BPo2wCkXgAi2wACeCyJ9RAHPj57dz7zRwBCBxoAgps7Ea50NgYhxO50u1wIt3ufwBwSeLy87y%2BPwI2yYCiU9WBpz2ADosH9gDi0RiCG8Pp9yfFXBFtsjtgAVT4AJQA4th6QB9AASnyEHM%2BADUABocgCsXB8ADFtljttDaICccNgJgCDjkFSiasEFijqccaoABySDmSAAsqIY%2B3litMwA5ESYyAA1g5tmAwHrtjiJkwVT4OUaTebLftcfS6iq1UGcVRMEwCCtMEJVVy0RAbcElZHVerNXGE0mFKRvUwAG6qcU%2BKjwxGfKk0umM1ns7m8/nCsUSgUBWXNtmcnl8wUiqvSwxhgjoHER4hRg3G2PxxPEZOp9OZhjZue5jWuJeF1fF0sVqtl2i18l0gWys4CypEYgQPzbVzmy9fcmYVTg7ZUIERGYHIENEDAcq4GK3F8MoykwIDbAKpDkjBcrwYhyEwcgaFIdBMHoNhGEyuwCE4Z8KFUARuEyqAJGEdsSC0VR2wUIxZEwborEoc6lFsTKtA8ShLACTBnicTBqDCTK8SSdsACOMkxGJMoKDx8wIYcADsdYoWcSgENgZZiK8xCGMgCAAIquKgtQQFwGj2Q5H68dsq4rgBhBlpUHKYIZtAQDiBxaXRKFMCWEQlsgJboCWmAllQJbmPRJZ4CW2gls6Ja0CWLAlgwJaoCW8QlrJJZkLspEoYFxwVShMEHKKjj1Y42wAH71e8orabVMpNU1tXte1TCac1ET1acdySNsEDIMN2zoC8orjT4kjBXVDV9ZVnXtZgs1UGNhzLVNwCzQgC1LStTGbY1DX9VtnV4LN2j7RNU3OrNF5jatPXrTdz2HQNnUsLNDB/ZNECoLN8RnQdk2yaDrXEDDux0U5VXkuSAD0GPbEErrbCBxB5ds35rPEKIAJ7LLShivkocomS6qoKB62zGU6roEAoqKrtstB4Hj8R1IwBAIJgyTHiTmBk/jovk9sLAQSiUS05g%2BxEMTP588ghC0HLCjxJUeBUOTmPYwA7ggeBmbs1IALTfvER7JAIXMKAgyy0NaO0%2BWIrgJqrtPBMdQ0HJIGgEyDYfU7QtAsxAoTWcRACSVDbJTrjbIL6LMUCQ2uMwxByyQcrBHUcsO07qT46gpv46ByUogEAQCgAstsZt0LQqKuEQLAJlbYi63NqBm0YJlYGnVNUMQqBA0NArKPS2BMqEAQAPIstHXfqzTnyhMcGNr0yGNCkfGMMNZltGMxqc5MkET0PMAVfA2f7uQQnnIN5vkQJGKmWuTAg5MDYRVnmTS43sfyKQBscOkrhDRqTOPSYBmA15UF/nOBQ7UNBjTUoFLqMo0BXBsGwbYhlEbIBWPBGBcDDSyieANe4B13g%2BFeBrR2zC7hsIYYtJqqh7IMIRHRVyKwgREPiHQTArxCAt0MHgeIXI2gGyfHEGGlCypIJQWgjBwAsGdRwYtRY3NdGow0scdGXwsbYwjK6LmwQqQok/o%2BLmocNBMFcSWVxo0w4lgnIcMOyBXGhlRLSMBJCdoTGIEHdhlcBDbFQKnd2Ztq6hOKNMGWmAgYQAgtEwWq5BCi3FsEkWYsdqoGUQmEg/9GErQ0tdbATU2qGOfp8Kx2wmSqlEVzIaZYyagVoKgYAv8woRRLEnFuLcEHt1FjzcZkzmJcxKaieIjtylRP9vjYgPcdS1AfjtfgiMlnADwJ5IEkTokVzFs7LcptsbYBxISOuhMICqBLOTEsxhPH3BaiHQ6GZZrIBePcWs2wsb%2BLcR48F3jVF%2BNcYEqOQsMmZzqKwVU0QuZm0gQbawOckXnOvhfeWCYCbTITAs5F6IA7BFRN0uc7hhYKBaa/YIfMQhvyeQwX%2B8FDCAJQWFeCmiDbaKYEYrC5xkFCvQSK0BxCIExOoXdWBLsUTwMQRK1BUq8FBSYkbKaHoLhpDCRAiAak/EQF0ngYwGrzXquFfMPBJwvQhj8f2VsQ4OyjglNKYurrBzthHF2HwPZTVWl2B3Ag1tzWAWEJa61grrUivtZpAhtUJSGhLD4UU0hthVl1F4bAmzXCxS%2BsTWgdM9RHALVQMQSgao9TMVqlNKFxHhLIXUZiLAWCGngvA2UOChGXUwka0h%2BCS3kWLhADQOIcRTMCo4PAc7k1ju6m2ihVDDiKtobKCunDWEHR8HwgR9wySDpXUOrYKJDAuJBOIyR0iCCyIYPIxRtBlGTq%2BZIdRJZXBcE8Z1LwY0f34POAQLZDBRAgQgA9StlbtjPBLGcUD%2BcIOYCg8CBp%2BbthcCMYhsDKG0MwcwxoLVxwnJnrPbifErhCTEmiBCLgebTjqJxPQXOob1HYOeo6kExGT3OXIzBS4XbhpejOOmeBvitgOsal4ZqC6B38ZXWjU9mlzEqZEYTc40bHBoghAocNkazjRqELG7R8a7VJtHSplCaa80Fsia4HFVnFMCe/BHdlZwngxzLCwBckgiSnglDiPphMBmElkjiNNTxzX3msCQZ8373wIdi4%2BBLr4kvnBS/Fl8b4zRGLwL4RBWWnw5ffHxgT9bjg4k8/cbzvmYzlkrEFkLDAws4gi1F%2B4UbCA6YmL/HD2ndMZgGz1obgLkqdoQXW8jmbJoVsww5pz2qXPkbc6BDzXnaA%2Bb8wFprPhgsRzaxF2b0W7wPni2aRLeXkvnafJd9L13Mu3YgPd3L%2BXCtPbi3dq7ZGKtVWq5t7bDXAv7Za0dnEJ2utGdG316VWmYcQgiCNhoY38uTcWMumUub5v2aQ0tptFW1uaf/OcQH9XFyNarAd/pgz2s4irKd4rEB00PZw0zlnb2btfeZz95KH2zvc452VhTFXVMA9q1t8n/nKfNcO7TiLDOoeDdh8j3riPVeo4m12jH1mYJtHLdxgtZxb30GwMQGeT5cRUBYGqFtEDlBRMEJCB4lxpzubwFzC%2BKIwT0DYIIAOByl1mKeCWAKWlzOaqqva6blUG3lbqsHz8TEwUp3bjtdAAgwAcBRAgcsO1c/EHQGbIWGNHSM1DQoVwKySAEFSorVJEj6BIsueiKuaJtgX2IH3fidE7ekPIbSddNDlWvjoV6HdXCuH7sPTg49IuYIabEWAu9Mi5EKKUdEd9aiVgIdtZq0PwHQpygiqp0xamKRfBZekknJvkzUjZozAgL630V3ggAKmHxe0fMrwGkPpPBIBEBYxf%2BHlQAzANSekJdJiAfOCcVLRKVTBTjQxWUfOLAGgEIdAePGUAfCIAVPfHRPRV4AxUjFAq0TAdA1WLA1dWkPA%2BAggpAkgr0VA8g6YTAhTXvYdHaAfSvCIbyKBBVDqJVL/XtL0BhOfFNPvLg9tdRDkegAgElL0LPJgLPKgyQ6gpQRgDkMyOoapTdEfEQkEMQg9dgnVVrdJC2SRKaJDcAqAlbOkMyRGcfKBHED/fRT6efbqCuFw7dZw1w14LgaddwgnZSAzHUaaBAYgRtTHd0DgdqLPOzWw0XZtEfI8VwBUWUW/IQe/BmDmZ/TfCuEsekXxTBX7JIsNQgSNGQuQgmKI3XATJQ%2BInHEJL0VIhUGPMomIiIRow3OUWUVo2vaIs9LPZAbo8xTDGaFosWNIgYuo1bMtHaJo43ZfU3c3eLJ4ekVACGPuBgOWchPAJgPZOxIEAQLFYgOEdogTZTFbCjakPgjhL0Hgu4xw1hKfdqLgQDQ0fBKo1UAmNGDwpI74%2BQ6IThEEd4/4s9KqC42qBojgadHELPYwUY2DZzDo0JL/MQVcJgdAcmDkDQoEL0NQwPCAPErQgvBQLVRwWgRdFE1EwTVOcIxw7jU4C8emeMN6awqg0XKqUtOmateYzkirXVX%2BWgTE7E3EzARgWo64irR4ifEEWUqBXdbhTqd4xaeBL4iIv44I8jbk/XBY5bWk89HYfo2UP%2BdqBw7YW2GI5Q2I3hcEjokk7Q4ga9bECUsCJ0lxF4vdN4j4jUs44Pe0so/TCosIwEmoxIw06EjgG0hIkOEEfoqE1ErPLojgBImkSYyvNowYirYYpE8YvoqYrM2Y0XPUhIpYq4SRM3C3Z3DYrYnlVdfYw43FE4mJc47M7qK4yMm2XguU7EW4ifL05U/w30rSMM6ILU9s2qMc5494UEgUy4xPaUyrRMmCeIrPEsFQhqBgdcmIpqAgHczcxwYgA8jgFqE8iAE8%2BYE8iaa80UbAa8upPMgtGkoM/sxUh4t8%2B4wcjdYctUz40czUgM7U2PaqaIzc44J8iMsoxfDlYZY/WkEsBUx2UonUsxFcmUDQMs2/KstY%2B4JOBgXyPAfYBwNs2Y0sxY7C1Yp8J4fCwi/YJ00ilbTshPc/K425bYMiQEOWaNW2bY%2BRGJK5KuW/YgFpK/NlG/ZYqRVfJ9dfV9TfR2SoBwRgNYHtc0GKfg7YPwsaWhH/Vtf/fGPlYA7lHYsAiAqCnOVlHaCwpvYk0IqaLwvw4gqUoY1M28xwbc3gXchqfczyw8481Mpo6wqE8inovk2tOiKPGJbwpwx2Fwt4wIu0usDgr/egKgAgUkxk04Byhgqghynw2KvwgIgKRKuiAfVKlEB4uyiAcqjK5yldLPM8gKno2/e9R9Z9Dfb7GJQo4okxKEmEuEhEyCs0zqGqi0q0mEsaPqjgDQLPAajgAATiGsQJGvIPSrGpiJmttNApU03NeEgsyOyPZlTA6ogAKIZB6vJKmovKarGILRaukvarkpUXUsdm6uAJ1xWxCtuvOEourJooIrECIoEtbziSziUDVghnuofTXzyLOOBWmwnKT2cmDIjTCNGoiLqu6gasgvKtlBanKquv2s4PMrPSFOyrcMWndE9BBCzyvI4EQV%2Btwp8FosBuIqgUEtBtowhobxX2hpkthrhHnNqjypipEsKoSrGO1MhJLS%2BuRKCjQoisXLojEqssthsusMxtqhVumUsNspDPst8IYM1pcpiI3NtPcrcp8rNqan8oSKCuiNlswzCuLRU0ipFpBHJv8IlqFrpHKXyrFpypMJWyxnLMb0wACEGWJKnFjBt3VE4Id2CAhAYVHLRnuAPy0nKSj1RhU19viA5AUrWCwHAwWJBDEwUGyTUvKNRqmnKWNpXUwqaLiDAvpsgqbtmJUOWkgq8HQq8vvJutgz8GbrnUgt/QdvmKwskpwuorwoBr5jZoUpBqBDBoDnVihratkuUUYohLjyDtJvpILqUuLvQy9HKXztXELuUpsIiExOdD4xlt8P9ripVO9sDLRONLMAQAqvlKqtrpJvqtiM7v7vGMktaphpOu7q6vOvep7s3L7oSLXrAaerSzOqKOgaHsfKAbupAYeo3s31/UgdQb/g%2BpLPHoosnqoudxZrnuBuuQpXBpSQQf5o6q3qUyAosRW1xsqv1vBihj/qxoAckBxtWqRiiWAE/pgdtLgaaM4bvJcg/pmKXN3IwYSM4bqTkbEYUZIYN2%2BtDsrIof%2BropoarmXu5sYces3vhpLURucjYqYhgvKrvrMXpv0E4FFF4E8Gmt4Akg4AAC0zBdhlhVgFifAvAeBSACBNB6bFhuJRQp0zR5qvBfBRRRR5qzRDR5rlpM0XGOAzR3HInSBvHeAVI4gInPHFg4BYAkBhLyBKBhKQBjANAuBRQ/AaAFR0VKBcDPHSBAIC5yZOAwmemy414IhtAHx%2BneAiE/cCA15Ws%2BmumqNgAdMY4VJuBeAsBtjgBxB5m8Bz6bBPIVmtB/BVBKge51gwnE62h8m%2BZr6y5nAsB8nQNLhxnSBPJiAIgkhMBjhMlDBNmg5InFgqADBdEBQ8BMAzY14DYPGwn%2BBBARAxB2ApAZBBBFAVB1AundBf0DAjB6mzB9A8AIgVJIBFhykOgVnbZlRVRtggxTQzRbZWVXBVBLSWA9w9RjACLohRRLS152k2h4wlBJRdNLT%2BAWBCBbZp5UVbZEgLniAvHXmoksBCWTVWh2hUh7ArRRhPBf1AhpgigSg9AcgUgBANX9WkhDWGBehdWBhf0KgqgBAugRgXAmg9AbWOh7WphCh%2BgYhrXJhjXvXugLXPWJBFgFBAmVLsNsm3HSAPHDnvHtg7Rtgp0mmIcppcBCBi47hQn5heBSmtBo9uJ4n6cNBJBJANIzQzQNBxQNANIvANJRRsncnSAhI7I4ho2vHOAimQASn/nFh%2BIOAfA8munCnwnu2Xn0VVWzQgA). It would be cool to see what your code comes up with!

https://github.com/llvm/llvm-project/pull/189971


More information about the llvm-commits mailing list