llvm / llvm/llvm-project

[x86-64] Clang trunk turns `shr r, 3`+ `and rsi, -128` into `and rsi, -1024`+ `shr rsi, 3`

Open
#201,767 2 comments 0 reactions 1 assignee Claimed by @iamaayushrivastava View on GitHub
backend:X86 missed-optimization
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

Not sure if this is an accidental regression or a trick to change the alignment of subsequent code. (`and rsi, -1024` takes more bytes to encode than `and rsi, -128`)

[Godbolt](https://llvm.godbo.lt/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1C1aANxakl9ZATwDKjdAGFUtAK4sGexwBk8DTAA5DwAjTGIQACYANgBmUgAHVAVCOwYXd089JJTbAT8A4JYwiJj4q0wbNKECJmICDI8vLktMazyGGrqCAqDQ8Ki4y1r6xqyWhRGe/z7igbKASktUN2Jkdg4AUliAIQBqAFkMN3oASQARPe3LsA4WJn9bzY0AQQUVtcwAfRp6ZjYrrFLptIpF7v4QZFni8RsBMAQ9ugmLUDABPFYI65XUGYAC0LBAeISkQA7BoQLFIhTIrjiSSuNTqbTSVTopIQGzcXg2RzJFyuJEABwSIW4qiC8kCwW4hjCrjRRmcoRSyHQ2HwvYEYh4BL0QHA0GqQXRL6ctwMADWDFQAHcGLjaP43KoAKwAOi4GjdGnxbgUtFVr2hIJdkPBDDdQkqRGIAHkEh0FBA3GzSG7NiT9m6xHhgAw2IJ9XtU3s3X8vjm8wXMUC9oKuABOSKkUuYVRaphfP5FjQtt1oBiTItatyYK4k84LSHD1EJMcZ/YJsh7bmScfnYOvAACITcdFsEYxCTcBC%2BLAw89r/gI4WYtD25v%2BmHQFfQ6GIewHk0MCLwkT2LR7JWDAAS2YBgOgITAHs4EaNCO57rQB5lv4FpnheRbXreYgPgwT4vkwb4fl%2BtSFngXB7FQYhKC2wGgTBEFQQxXDwWGDwRlGNgkPGibJqm6aZqWwHVkWJZlowFaOlWjA1pc9ZNn2bYdl2jA9n2JHDsQo7rgs/YCJM05YlhxB3rh%2BGvu%2Bn76aRv4USOmC0VJIGAeBkHQeBULbmx/iRtG3EJmkSYptIAlZsJMmidIpbluFhZYvJzatu2xCdt2WK9qWGlYvZOnZk51aGVegjYfej6sM%2BFnEdZP4rpEDbFlFdFRa5THgbErGguGvlcXGAX6XxIULkJ%2BURViYkxSNcW1glinJalqnpep1madpGaTuJDCSbm%2BYyYVlzGaZZVsARRFWYONkrmydaNoldGCmBjHuWAkgdWC7HdTGPGBQNaZDXl20iWNUUbVt0lTXJN2zcpaW1hlennSt84TrpSkpSpDB7SuxUmThR0VYRlkkTVq57Bld0PW5DGhkG25IvwqBFjmTAKJda4QKuLarksexLnsW5dXTqCoJuLzbPsABi5pVAIewwlqCggHs1rmja/joA%2BNq1CE9DQlgNABFjN44/eJP8%2B9guoOzV0hhlJMhlwCxmeVJ2WSCsQaEBTkAQxlPgdE447NC2CCMQqIgNCezYi6/5YmItCoKIrOOdtdYR1HsSMyYCdMAHPNapz1sTsneap68kchmusdZ4nIbeRxfm9bxwW/YJ/1g7JDV9hNAOjdNkNJdDC2w0tCPZVpSOTpCxcgYKachi6mfxzXsROIKeyqKz2zYNPDVz5ELr%2B1XS857XnXvZxn19YOP2hcNPfg530USbFHczQPaMw5ccNZbWOVrVOoId6zzLlHEki9s5XBdDseU68VyzxdOcIBadJgkDHHbfeGVeYhhJEgkBIY15YjhDeeg1Zeb%2BBCCsBg6AWZ4HunnD82CC5rmAS8SOKDiBoOtvvQCWD950LumnUQJg9imFQHgdWW4TDmDdG5GRlQDAcIgGwWoSJaj0NAS2ZRhFkQ53AnQrRqjdFgHOKcbAqgEgcIUCkAQEAFjcxak9Ekgi44iLERIqRLA3RsBYMgBIqI3QJC9IEt0q4IC8zulHaILZwlewIfvHBrMAJRJXBRKitAlD2MegxJxID2GXlXrA1cW89gAC9whiIYKkHMZTly8JdC6HeJYHEMQbM44RojxF8w8TIqCcjkAKMwEo%2BE2i1F1IaXsAxOjmIZUmWo8CJizEWMwFYtItjMm%2BzAK0kBQj7wdPcWYTx3jfH%2BOCcE0JMSU5xJdFFC5JcrnJJJvKTmqTqKYHWa1MAXAWJ4P3vVLEOzKLMwIMgZAuclxMPXHzOuH1/JN34n9F%2BkUu7P0mq/fubpUbzRAotTKy0x6rWRnlY%2BN4Xz%2BjwOsSEYStSe0uXsDhhEBC0FRErAQDATj3gru8p6Xy94uk9EWTFNhTBiAJYufOiS1pRwbC2DKzTwICl5V8gVc0hUiqRmK5cdsJxSpbC5LJ8rPKsKjgKIsbh8CmD2G2JgNgJXcMAnQuVnzDXl24RnIyg5wgEGFe4dV9CIWSqSHgd4DBonUvthlWV%2BqnWKsrkVJQ9RvWir9RK7V9t4i2r5YlPVGyFW5JjL68FKaDR8puWG/e6byY%2Bw%2Bbmo1AK9ldIOT04AbpE2DNmSfQShatXFqkJo4ZhjmLpvbQxBZ5jLHWIYGsim1bnXGoXoQ%2BEbRMCkOpeQyh1C4GhoYeWiFDqo1SEVYfWs8dCJJ3UfbcZlbHUHp%2BXysBRlkAsASErThlduHJMjTml62yXFUUmCC1xnStxYF3M25m8aCDswovbEkXLmLUyNXkxJmCy3RyAdO7lCGXV8oIbWQVXq1VgvFd241UVs3VuiGnEIH4DBhA5fvHwQsEgYeYjk0WrwdhLwtOHW9jYiwnvVtsApG8imxG3ue/el6vZNP3Sw7DkQPb/JcabbppgG5ug4egNw6xsxvhbYKUJQm14ibZMU%2B2DY4Pyrk3SjU6Do6furSw6EjHUAJB40akMkRoPHtQKejmEm0M0ruSx%2BVWyPP71BJhR9z6Ti/i4dHQC9s90bIU1Rj85Eo6AL2LRtoUcAAqCBGAthy/Rl02B0kOSrU9VLNMXicYThaBkvLIhutrATJWbgbQZq87qkLYAvPIPzd19NdTbqxL6wNkB1HstMDo1HFzzGqsMUm%2Bxl4BXGDufk7Gy4%2BHW1Ec1YXHtUUHPVdnZ5%2BdtYiFLpXelhgFDzQbs2FAq6In4GIIC5EKKdmetLY8mdiLR7LgCcBMJzeYmt2ZakynGTKXZ11rcQ26RsjW1DJUVMozhTTNicy8k4dHkh39qmfM0xY7lkTqnb9/r/3o73p86ejHJmXrg4C1DkuMOPmfea7hy47W2VdYZ2D7AmWEmeeSY6/eg3UEg%2BM4LzLdCxmNOalGiXU2aOzdyyGeryBGsTco7V8rShNt7GmyVqOWuLQTe%2BaLCcIsxZ7ElgwaWIE5bEAViylWas9gKDnMgE4OjtZjlViYDhBBVggWtFQDhY5rQKFRI7llOyQjWotBM5dJBUQQGtAEKcrwsD9LqGOetkjG2yLzwM1HIyT4YL7WjtR9sa%2BV8y47N2Vvgy7Ht1LDossCDy0VsrBgqsqF7CD7QEPYeWWR8wNH7OJgk/a9T%2BeUOEA6jAG8Yrel6AbTahvDnl4ZeC%2BAf2dIo5fiAlBK9Oc6l1omYs2tKIBMqxA/b8wIy5lNsIfX8dMzBPTAH8cJswygwEysav6hFs8iuCwPcMQNBCGLEM3i1oam3hLJ3mkN3r3u7gPp7t7pUH7lrHqCPmPiZBPlHiyrHvHnfnHHPint4unpngIG8rrPIgfkXt0sjmqhXgOu/qnrXlXnyg3pwRFvAbEK3kGO3g7k7mga7n3pQoPurNgb7gYHgYHnQKPvCOPhHiQTHnHqChQbPsngvrQVngwbnkwf/ipo2mpj1Bps%2BNppgLpugPpoZivDLqJkLjbEISIaLGISgTLC7m7v3rIRrEoYwfrGgtjKZH%2BsCqCkNF2odlCmfD5BfLCt9M3LfG3DtA/ONCivfGigpO/FimpLiqPL/OPLlHHNnCSl8GShSqCFSh%2BBEhvq/iynhOylHBoI7HjC7Nuu7EFs5JTqSAHEHCHGHIquAjXBLgkfXD1F9P1KkQiqikik/JtIivFOipiujIUfDEOPihPAAmNpcs1mMbwdCkkY3CkfCq3CsbWFkcsQsasXkRinNBsTilsR3H/MjFPL0aXLWi4iwSXr0vvoosOnUjMoTnMv1tKtwY3sTosuOqsnYhNtZvDkBt0ificufiEmyHUV8VcolLcjPG0RCk8ikoChVpZv1kib8QjsXsfsuscmfgyZfvUbEiAeohEp5kSQ8i8mSX1u7Lyq1pcACpEQBqbCcQ3DMdfHMZcXcdccDN3O3EWG/I8YPNisPEUdsSUQSutOUaIJUX8JSviXWAAegE0VnmysIvbOSXybetttlr5urIWqNuhpTsIbyhdpcFdiQjJGQnduuizE9jsC4W9hDhXBCidgxK6beoDl7m4CEB1l1nZumuGW1FbthrTvtB6gmoRjEcRnEYGsGiGZJjKryamVHNzljBBntjmQdpXKmvEqAQfL1i6aWSHvtv6nWS6Mlh8pSMGDbrVnbuIV3n4dIR7kPp1koaQYYKkGUl8GgGpilHCF7haDqBYqgL8JgCETMIbCVICv%2BqCkXiBm4GBlYp6lBm0R0XhM7JVNiLEBnHRBRI6reYMa8MHFqCMT%2Bu0tSawb0ijsOhllwXjmALEOMoBaOksisjYgiS6d%2BuFnykWKoCQCSVwfZLyXrkatNv%2BdwsVurqVutiGjNnNiGAbpVo%2BWhdCObkbq2XsryWxtCHhUbuaPSsgAgLNvQLyU5i%2BRVkbibjhWblxjRb2RuP2d4Y7kOT3lIRgYEeOaxRuSYaEducbLuVEYkluGKdMVfEFBcWFDKZcDcaDBkbkYlMqR/EPF/CPBqZcO8dqdXMiBVPqbUYaWvI0UAcymaa0e4U7MdNeW7B7PeS6X8pmEMW%2BUbvbEcVHGpZfHCoNNKTkYsSDFcRDA8esZ/KTOZW8aUf/J8QIh%2Bbsl%2Bf8c2oCW2mCTnCCfwUTs9IBKBSTuBeTlBY6pIHBDlYfojocnSafqchfliY5ayd1VwY8lyaSRkn1g1W0rlSiflS2uwX%2BVdJ6C1mVeCZIATjwSOtVXCZBeSZINTjHJdoul6YID6fdlQjQvLqhoBCTF2U9JIDBdhgKXaX5iWE6TicNddVHLae1omcWZTldaNc1TSZ4mwT6hwVMnZlFIBZICBcVStbCWTvCRtS9fPIzG%2BBmmRhoHNV9WhdhtGYYOrHZuMriLNUrhspIBjTZnFm%2Bo2ejYJSLMiFqHgLuDeP6S1oprWENAEZ7tJQHtiJEJHuVLSBUkbKqECJCHHIZKCOqAQLiL4m4ILRuKCCUgwPOaGJFpCOLWKJgMiI/goDLaqJEDsGyCEIQKQCCDsIRKoEbbrUwMsubSbVnDaA6LmAgBLfvNELiAbQQNbUwKYGbcbZ7aoM2D7V7ZmiEFQE8gHa6AKG7WIMAB7YHRHTaDHeHZEMgOgAnZmugAAI6p0ChUBZ2RB4BUD3C52mAhAsB4BF0l1/hF20BF14Rl1h2ZqmDEjGRKA2BF1JAJDICCAZ0J2mC13W0V392l3%2B263UaGDMVUB%2BhpDW39JUDuAKAICubu3G39I2ghDT20A1KoDT3nimDT1rCUjT2qCh263IBGjW0h3RDIDn1Ar40ughCog3jWjMbG2RGu2ozX2TC4joAJA2hWIp0v0314CQHH07Cv0b2d1L262v071hAf0S0KBCJ1BigKDp31BwO4gINiBIPz350S33AKAWgKDoPCragyW0jhAGABAYMIBuBUCz0OQAOf2WExjIOoOQOgOF0v0KDAAKBJ40RcPEAWAv2qAKBkDG3ABUCVLW3iJ4CmDp24hEBf2yPV3G3%2BCN3IDiLW3gOCDW33DIDEBrmT0CC6MsDe260wMMPmOoCmD4DED626PWO2N13mM2gPAEBmM7BP0qO60d20AsAnDW0JAWhuCBOuYQOBMcJUDwjMXOM7AWJUDMXx3G3EDf2aPJPf1aTW0pMmT/260pNKDPjW0KBMAIA53G28MhBf2YAJCu30rLlGBFMsWNOTAW7lP8O60nnD07AnnxBtOYCSAehFNKADNdMnmSBMBDNKC9O63CpW3G3qN%2BMnDp3d3zOb1uAJBzhiO62r3WhqO5M7BGg4LG0iOe2WMHPFOWHW0nNqaL1XMXNW343RBu34gXikC4iUjPPnhYBvOsCqC4i%2B2Zo/OmOu0X1At/NoBPr0Bm3/PAtUAJBPIwt/Nwv3SItciCAou/MvOmCu5gsKNUAH2ou2BsX/Ne2eiDMktH1ejNgUuZpwsIu%2B352F0UsBADjznu0Uu92VLXj0te2ct4DXgouj2O4IC4gIDXhvMgpPoSs52S20BYDng3gStPogqqAExvOYDAAWLqsMDp2Pop24jhAsC8NvNpJKBVMJAKC4hEL3A6NiivLmuWvaMS0EAlLhN2sVYOu%2Bi0BX3utmtYAWteu0CZ2%2Bt4j%2BuWubMWAhuevt1uumuhvVOWspRGAOR2uf1fL32P2uYms30kgZuMBZupsS3ADIiFZkCFuiuuZEPlvz1yu4gGO1CKvlskN4BkP6PJD%2BiGB4jz20P0PZtMMNzUO4P4jMyEN9tGyDtUDOssX2jdt0PEsF1MDSCit1BYAzvpJcjaBSvLspOMAYPrsh5vMICWLwhvMyOmC0AKOoBKPF2ntAEzD/MKAsC4h%2Bh4iavEAEsWjV0Ojq0YPMbftMDPtKCWtMDR0OimB4CS00BvNmAQcCbburv%2BCge0A2h/s704syhvhvMMAyvWiu2zjgZVNohYdXv30JAEdYBoiu1/D6u4ekfkdtBMCohYvEd4dkdWKEeMfUM9vEtkfoDUMkAS0T2iWBRvMd0CA0CgcbPQtLJRPED42ihu2ieRPhC4jO2u2G20jKdyf0DFvIBMdKBRFKeYCyfDsEN1satBpGxVsycqc71GsWi4jWMqemAM3ss2dye4fFsECltGcme4eYM97hCicEBb6EApvHjz2RDt3UspT81vMh5JCOgBDxfwiJf3tKQlQKM0OWgpcEBpdUNqx4AcI2C1Nj2FZVsJeuD3uFfFcS07IVcECRvxotuOhlJvNAcPPcPQvz1MCAt7u2jvOVv/vtfxx23%2BDJ2VAjcDf0ATP9d20JD3Bvg2j6v%2BgDcLfsoreje0j%2BMmDBurd201ubcDchdXveKOcWtTd23mjATPj4jLqPOXfPt3jbS3dncEuPvxAYMsBLvvCTtignrssnlPc3d8feJvO1DABwh8fADxxJ7pLg8l3g8KCqBytagW4KPmiIfltANPvMMkATvst7ghxvMvtWt%2BPXsYNsOS3JAEBVuk/%2BhPt1CEAitoCTB0/xpGtluuOEBBOgeqxYCftvMIV/slLS3K19kvA03aj03LI3nebAiCRs1D7yG4EyXD4qGEHh5rmaHJDaE/56Hz40FL5GHN4S9S900niy9uzbUK/7BK/qwEFqFEEaFT76%2B0BUEGFL4r5r7Gmhc77rjQjm8y%2BM1PlYis0yHs2axq8x5Tm2AzlznhAgdjgEMrkGPrlc081sB83GTa2ggi3K1i0r7wiS3Hi5%2BRDy2K2i2RCq1RMa2WJl/G362G0%2B3oAeOW1EM%2B22323ACO2qcHzqfsO%2B0J1dMAsR2gv10R2EBR250hBJMW2x1J37Oj%2BRArPz%2BJ1lNr%2BZqMsTMT%2BRDF2l3l1D1V011SO7%2BN153Ywt2D8L%2BN1hNd2Z1h18uD2xMV1dNCvj1GMhrL20Cz1%2BgL0Jjr1V669TetvWsZ71kAB9ZekfSiRQD7oL9eUFfUYYS0uAd9B%2Bvm2fpQMb6YQZKOg2/q/0FA%2BzV%2BjjxAZgNXWOjJAVi1gYUDMGCiVhmg2oGIM5OODP7vg1HYUDm2ZDTZpQy7Y0M52ZzV%2Bnjzk5UAUG9AqBpwygbcNeGzMfgaIyEZQMRGWzHYBI1P660z28jRRuam8Y7A1GHdNJrrSda6NrUafT/iYw8YWMHGNjIrvY2No70nGujbnu42tpeNAm/SHboE2CahMO65Anxsp2BRisImCTBAHPx2ApMEgegkIRkxCbpMcmWTahFPn2bFNSmRTEIJU39a1N1a9TaOuUyabZCWmQzM5p03yHTNumwzQZn0xGb5DxmkzTAMUNmYd8ZmvjHbsswf4zM1mGzILsbR2YVIbGVzQUEc11rXMzmgwxAQMPua3Njm9zKtvKE%2BavN3mkQGYd81RbL9cWwdelsCwha6g2wuLOllElRbItcWArXFmhyraYsCA%2BLalqcLoAptfaZLFoBSzJYXCF%2BOwn5l7W34vDVALLAQGy3eF8tuWuw32r8PRZvN3%2BIrMVra0lZ/tkAMrfpPK1QCNtosKrNVgazfbatdWLAfVoa2NZRsw2VreEDa3ZZxtPWTrBRmQIJH2scRO3H1oSIpHspg21IhNuQ0EbZsPWOImNra3pEBsk2cIMdvjS4B5sn6PI3NmgIFHlsvOPnctv/yrav1DudbOEbZR5EcCA8ktAxlYm4Fcc%2BBCogdswLwYjspRQKFTtqKy6GB1RvbMUPcCXYsUd2a7S1ngE3Z/tLRq7PdomxPaitj27LM9hew0GyM16aLJLniGZhPtSeb7D9l%2Bxm6/toOP7F9sByQ7gdIOZdMDrB3tLwdGAiHaDihzebHCsOmHGUDhxI74d2OFHRjixzo4FiGOTHAPFQmLH5jLWhYpjjvSrFscaxZYk0Tx0Ij8d6gYoHwoOFE4DgJOonBINJy07ydpQinTTsZxU5qdRx7nb9rp307RMfW041geZ2ACWdwg1nIcXZzM5Oc5OLnZZG5yHGecS2QXMcX5yvYBcjYwXP3uFz/5RdXMMXJgHF3M55cquyXJ8flzxAZdjYWXc0Oj0q5%2Bi0WtjaMKV2FYPM/x1XKhEVyAn1d4ujXdruEBa54A2uGDZZJ12ADdcWKfXfboNwDYzdHu43PPI91wlzdtuBMZbo93W4mAju83HbkG0e6HdHuJ3O7k%2B0raPdruTkV7vdwRZYS2JL3UHvd3e4sBPuj7H7muUE4A92uZrHiXmA4mRsIeUPMnqgDh5VsCAiPBRsj1R7EB0eoeSpEYGx6QFcQgggniT2vBlsgx5Pc1JTw7Gs9aeJPM1gz3%2Bbb4WeNPdnpiK55uNeebzfnpgEF64hhebzUXoZAl7QhwI35ZtL7iLDgQFw4ESQE4gl4hTG0XzE4HYVnogd/StYSKZmGil7pJArSIKa8FggRTjEpwAAOKw8xAAANSZ4yVoaEFSdCQ0VjgQXQGUNsBYgalFSaptVXfPKkKkmJSpikiqVVIDwdTVk9UqmIBBakRAoapOWqWsmCn9YepJUsqbQEqmkMhp008nKNMamJQJpbUsCmtUnR2I5pt1YnH1Lh4rSW2a0mqiNLqBtSXQ6aHaVNKunrU5ptpE6UtPOnVT1p10yaY1KigPSYSX056flLADukVqp0gaatPoDDSbEm0kGeMn%2BntTAZB0rqWAGjL4BJg43BEMTiECxlVywAFKCwEzzlRFYkIC2J8SS4Wgk%2BgQYmVzQFhMB6YnxBBq5nYBUxkk65W6ckj9GKxe0moWcCzMakJImZc4XoNzISQpSeGisExOLAMDAAugtgZAAcGXQlAWw3uaWalMlmnAhAygNWcAEYxCI8sqAOQJUkxAkgnAewExFrJ1nnBjO/gVIDLAzBmyLZ2smWV9FLplIU6uEQgG1Jikoz0yK1PWciFWRcyAICSNAJkC8B7BISQs/majM5gKBTgkLclIQBcBYBFYcbFGeWWJwBzlpg0%2BgETLYAkzQQWtLLCvm5kqy0Ac4NqWzKuEczisMwUWS2AIB8zbpgoFGX8nSlFSA5HQCAMHK4B0Iw5TQRWOMmjlVy45Cc3UEnIaAXg05ryFGfyixBZyZ8H0gPPnJZnC0QUjMiuTHOrniBWZdcgINzLoRNzK5VMCzHNKVQLzO5FRIOfXIAiQkB5WQPYCSCigjyGIDyeOYnI0ZTzU5g1Ywi8ANQLSu5N8g%2BXfJbAPyI5kgOhK/L9hjzP5yc6eb/LnnHSr5QiZeXnKfCFy86N4I1pvOZmjzKINcvedllvmNhG5zct%2Be0XPmvSUFgcmxMHIUxgLXAg8kOeXLwVvzYFE8r%2BSnJZnpzz5oMxebqWAUsyGFVkcOdzMAjQLY5K4D%2BZwvgU/zeFwMmBJfJMRAK6Ft8n7OAu5kZRJF788eY6C4UIKFF/8z5H7IEW0LJ09CwCJooAjaKt5Vcs6jIv0VyKeFs88%2BZnJoXdz6FiUaxcPLsXsLpFeiyedwpnlklz57cm4B4qEWKwNFTCx%2BZ6FYUny/YiUINIEoMXyLXFwMhTIAuvlqKQFMSsRTYoSXbz00KSuBd/JcWhLMl8vf2TkosXqKrFsSiOcISKVVyvsjioJYYoyXGLlaHclRbUp7n1LGFBS%2BJV7j8V%2BxxkpS2ReUpCUZI5pLWbJagtzmDIMFXNMLiwFwWJLUZ4ydmUQssVkLNlLoM%2BZkuoV9LBFuS4RQ0oKWfYWlb8iZe0rSUVLZlmS/hZEvOXRLLlzCoUDcvGUcKnF0yxBXMujJmLPFgy0RcwuaWjK2FPygJWUuCUArMlfs9GQeBtTYzcZBjfGawFXmYKdStlUlPoo3JZYKZVMmmRFWSKzEtKd8BUkDGRS3FYq9xIyslVMqpV1S6VLUrpBxWVFqiBKxKJIopo7LGpnM2%2BbECur7Lt5ySaOSLL2DCqoo4st3FLJllyzyUisuYMuFVkyy5Vms52SB2zkGyjZhAccI7M1VWybZxs1Ag7PNlGqXZAUN2YU09kEBvZsGOZe4tOXmKBlIC6VUMuYVfIX5Yy/rAkkmV/K4VRijyOEpqWLLIZyyklUXLaBUAsq0BMuZCs2WkgWw/KkGYKvdUireZBy1uUdOZoRKXVIKjNeMh8W2KoVfq35R0vSWVLjFwhBZa6uDnCri1jS6JVAt9XJqYVUyoNV0rag28w19aoVeDU9VxL00ki9tQGsrWPK/5bUW6kisxkrUcZIQPGQTKxVc1wMnqcmahGJUFyuah5Y8hBg2XbyxZhCv2AkmDmbVAIx87ea2uZmSrz1Ka9VRrJ1mKqFZSsoLl7gSA6yNVlsmWTqsNnGyDVFq79SB2tn6w7Z2KU2YBq1XABXZiE21Zj3tUMQfZR0k5acFUV1KQFd6sFY/PdjfKgKJS%2B5c4pmVTqgKLyl1TnIjUrrIQqAC0HGtAD0RJFt5FNcetRmnrb5mGy9VXKOU1qgVry9DSzM2rpprFUc31WSArUPKiNKM2IKYt41ur%2BNaNaxTzMkX0gxNhG%2BFTWudWob%2BlZ6%2BTc2oAg%2Bqy1JIZJQRv%2BXBqgKoa2daJXnVorUAGKwmSsuFo2U9SjADdZaC3VrzJiMKM4uSuiraU6VspGlfpUBh9wkqTxFKt/DxSaldiRKConZWc1ZZeVO8mORTQbWxAj55C8CCSBHVbzJVt5OhLKsfUKqG2Sq19aqo/UPrINOs39XqpNmGqgNwAEDbbK7zmqnZOsmDe7JbDwaHVKMhqnWsLUszctQ6iOXwUTUxzYgkJcdeJrU3RTqlZi8jRdPQVRrIgVgWNSXPjX0bfVY2pjbvIFX7z%2BtqW0VS3O629rgVUSqVZtqw0RyuAWWstedom2qbTNi1OtXNpkqUa8%2B7E4gAerannbU1yWoVedo43ZJJA3WlDWhtk2KxhVGUaxThpG1fbxtxmrtdWuimkbNN4a%2BbZGu3XC0iIn2iMpCR%2B3pr%2BtDVA7YDu608aC1p24VR8uHW4bbt8OzpYjueiIrLOc64nC4CfRXDqtPcwwMADcBJ9JZAAdS%2BA%2BAXggQYqV8CcANhcdzGkkOMlXJaZ1gk0yECUlzCkwPQJIb0J8SDRtbnwisFCnSnNC2A2A5UtcWkEVjNTS6tUgANJqxFYksEwNbNAwthGAHgN3BluSQw9%2Bp6SNqSSEFkTyCA9uo8qcDvY6S6ND29xQuDwCUg9giUSKaCH93QRA9/APYEbtdxpANdke9qHFOeihqMp2gyPQkhj2RBzgrjYgFQCT3G6BAae/8C9Ez1NSiwFmlFUVPBnPaV59m0EEeBPDoQsALmymXCGpkY7QQu4fcD5Hb2ngvm3K3DSSDy1S66EwctLZspJBw7s5Ou8eHHIa2mr7AmoceCjLgpYh69WMxve9KWWvbIgFMzvePuIWube9i2wfUhB8in6x92OjLVPu21gBJ9u2xWJCQB16JbYCgJfZvtHCr6TVYG5faOG329q99YMw/RRtb1J1rI3etzZgq6inEJSmlHzZSoMpxV5SGB%2BlVDBMqqkzKLKxGLlBIiP601W2pLfjvB0aAEkX%2B1GYvpnwgHKsQaNfcAf/3Ea7pdepnZZreke60F6O9zZEBfjwGr9/et6IkXFIaUb48xPzbpTlLZEqVwWhlaFqZXhbiillDKoSiEPxbfVfK5jb9vdUaBxktB%2BsHHL/267mDQBjoIwe322kIDPBs6UfpgNYGCohKzdSIYENIGJDUVFuL5oUOyGAtCVa6CFpVKbEf46htlfFVRSkHdDL%2B/Q/1o0DJJaDz80wwwbYOAHQNVhtg9vtBl2GD9vBxw4tsZUYxXDl%2BoIIts8PqVvDaRQI3pUCNKkijoRiLeEai1FHojiW2uRfviNz6Y5yR6RWYZX3SKWDmR%2ByNvtJ2nBxYVw6gFcJgNdQldwAT4oBJ6hhwuaAAekUBriVjg4MQEbBWPnAE4HgGSAoBWMeIDWxAYgCsdEbIBIQ2%2B6TRbNjIGMTwMwPLHzIgCXqXdYAQUJEG30abWdOQMLs8bnCvGQO/Or4HlheCi7JgWkGwI/i%2BCXqWwMx8%2BF4fOJoH0iQW/w0sUC29xEqShkIy8TCNsGdIbRlWbBu5lfLeiisEsNdkONtTBQcBOaYcoWm/Hkg/xl4xDxBNgnRddQFKKiFhN8z4Ti2rcEbp6gQA6EwUPYrhpiktg%2BGmAAEzHMFAvySTewQFuSaVMChHde1WnjSZdAozogealakydyAynWTwJ82QLo5NVERw0JjhLybnD8nRDAZJ7OcA0iCmG4IpjrWyHFMw7ENgsxU1KGngUm/pGp948aB1PVLcjKitsOSjEDm4IAOi8gx0b2UXatFOp8A1wYb0RnVAUZ2gDGZ0WAQ8d7%2BqPZTsu2ULgZcQTgxjO4OdzIzQiHM76uiCJR8znR95YNuTNzTrYtYcM6hurPRmuMsZus%2BmkbOJmodDsNszkbTP76MzWZ2s2WqGAELYjlBwsy2ZsU6mxjC6h4weCNOAm3jNJx1aWduPjHJj65GA7urdBzGFjkEpY5grWPxojjWxpCOEBWNlgZ8KxxeisbmMGSvQXANXT6CwCmA3QwFSjLrWEINUQgUml0FQGON00LjBAdANcbbMaa1zGIJ46yb5nBmc1pZ7PUVJNopBkAsp4/RQlcCMzFTdCRgGgHwBGAQTa2bAF8AIszcGAvsvU52Z8DdnszvZhjQOeY3RBWNGGnTQUq40Zawz45/2SxenPz6MoqariwWYE1LmpAvs1MxWfTNdnMzNZtiyJvEucXuLcmwTbpv4uv7kFdx6jEhYCB4XtzDEQULpefkLTsL5KPCzAcnplIiLZSAM47sdwYBEOlFvLNRfNApBpJ6AX2cjomN5yjz5R9iOedq7p4rz6x13JseKb3nzjex33NWCOMnHwg5xy43BeBkkgeNUUj45GgX1rQ5p3uwqTlcjR6po9QFB6ErlDCZ7J9C0wK4MmCuiGb9yEM81lkWMxhljkIa8xsbvM7H%2Bw1qQrG%2BdzArGQgKx9ABoCYDUG3wDYS%2BsBRBToBBQLoZABoEwB3TBQxnJgPWZCAkhkArSUEL7MwsmIDTLJrcyafOBmnwTXwJ3WwBSgdAbTlWJw1zrdCxgTwx4AgEcC73aGy1DYDKNKdlNtSGwEi4i/6brDqnl01JlpF8bmkShGTqAJ9MyZvAmWzrF10XddcT53W4TSsRbZQ2bQFALQH18/ZIp%2BtSnpB/1lpCOuBsqmSLQZgG0DuhszasLzMGyy8bst1RHL/W7aa5fIt0bzrXwKi18G8u8SM5x2sADlYbDjJwIM1gq8DNpPFXMpmyfPZslniZ75TVlpm7hZZsCmhTMYN0w%2BA9Ps3nLlqLm%2B5dNN83PLAtwcELehsvKxbuUoSsYuNBy2dg8qDQKVY0AsQVb0mnK7NQehS2VbYe%2BW56HTR%2Bw7b0NzCzld6OS3KMmen63VcPPTHsbT11q4lHasRXVjUV287Fb6vHxaAL5hMENeAAfnVd3oKpn%2BYAvG1gLGgUC9LoguOhRrkwWC/tbmmA21bOF2y4trcBQh4tlN0i25Youm3%2Bbgt3y23JFve2NASuT0BLc%2BQJHpbxihsPpdODWWNbgJuyyxG7tOXQbRtsiybd5uD3Lbw95u9QrHuK3PQyt%2B25LeR1L327oh4KAbcfi93ubHlry/vYCB%2BXm7Yx62dqDUzoAkbPNlG18EDTYx7rdpgQwACoNIFRyKsiZ8PoG0Tj8SIzIaCM4m8DjRtQwScypfXNlkp43KTfS0gyoFipksMBADNtz9zn92Rs%2BF/vsnLr3iZWVjdENLhojdCP63g89BRzCHjUJyCQ%2BbsabyH39qh6bfNO0O31ThuLTyp0PMPcH8%2BhUxvaIdcPH4a5YQfCG4fAyJdC0tc1zsGRoB9disGfbaHCA7B10puuea7YWl8PKHxpv%2B6CZoclaQHmCxh5g%2B3m/WpHMcr5Noo4cg39bii922Y/gn8PLH1D0XcI%2BXCiPij4jmc846UBk2MtMjlmXI%2B2iG3FHBnFR8Ytmqw34bhpgR7zfNOQntMoea05jZgMOmEEwECAB6bOhDhb7jjh1cSY3t%2BmVTlJmm8xC%2BQmOF7V9zW6Ib2R33mpxt/u7vfNs%2BXX7JjlDcHAOO3WSAx%2BsxOftbSm645RswZ9rqyPnzDDC00ZzdeRATOYDfgEIJ8Rmf0Qg08z3idYeWdjG1n6NzZ4ttjAhBtAuztVNErmcv3FnIx5Z/ubOfjPiAx%2B78PLNuc%2BpZn0iw575eOfeONNbzjZx8%2BPNx5WA5KH56OATUHPHn6AIF6k40CHWLgfjix6dasfmnAHRsYB/Q4EMBlQHjp0p%2BU40hVPwnWDhJCw82Xi3ancTzhwk4ahzz55vStF1/YxeDI2Tgjy6zi/CB4uinUCIlwgmdPa2Jnop/W9U%2B9Mk2oneDw5XS8NvEOmX58i%2BR3O9tqnmnGe8%2B58hNTKK2XFDn%2BwE%2B5dBPbH%2BL%2Bx1qFIM%2B2cHMrzZWw/lePxFXXj1J1dt8fsuDXmLwJ2eBNehOLXqNaV5uZ6OxOFX8jksEk%2BUdKvXgHAJYLQE4AuheAXgDgFoFICoBOAPgHwOVIOB7BTgAAJS9wfB1gcvXgPaoTeRulg3GJqW6GiANhFr8prK7EHrPXJmw0bjgJIF4AEhPQvYeN4m%2BTccBeACsXsEW60BLA4AsAGAIgBQBw2wh9AMgBQAgAbCrhEQIrvniMCgh4lvwKzpQBCCaBeABtZgKHE4A8BSAO7uoKiCufaBow%2B73gBC2rCxgXKW70gLuqcBxwFY3AXgPKy53iBi397i87YDUzPvE3bYHAjeAvfkBioTbxN3XZSihxgln72mgSBfekB5yFCJQNbJtYw93LxbpYLKvKl4BMANoeMBtng/8BBAIgMQOwF7REf5ASgNQHe90AtAcbIADxPoDpoKxIASwReoFE4C4hYwGcYdmsAQDXAK%2B4QBeGKDhuEAxQBMokPzXCC8Btx2oLACx9sStB2gJuiAI4DGBeA0MvgGYEUBKAihEgCNtIOp5ABoY/jHQXoDp4GBqmKgTuLoKMGbVoZrPHQWz9MEKD9AIgVnqYEZ4c9TBzPbnkUEsHeCrB1gEgKNzG7jd3vu3n4HG1HsiAehvQewCALgEICIUW8CwQt1u4RLcYcp/5925IBQEtY4gz8w5Q0ibctvSABIJqaQE7cyfOAvbkAP24y%2BkBh3Y7ud1O/ICUBWvAwRdzjZHA5c13a4jd3e6Pd7v4Pw3k99c/Pfwer3MkG90yjvcPun3wHt90YA/eJv2rFDv97wAA%2B%2B4gP8HrCGB94AQfj30HxN7B%2BA%2BIfkgmAFD%2B%2B/Q%2BDu%2BA6q7D7h/w/xuD3FHkj%2BIHI%2ByB1j1Hz97oEbdc6GPByJjyEAU9seNKnH7j3sF4/MUBPCtIT1D/4Cl1BOEn7PtjBk/zk5PyyeAAF6XRO4HAVCIz8mq0%2BueVVIAHBKZ8M/Nrk1FP/INp7884JHP1QTz1T4Z%2B4%2BnPPnun6T4Z/M%2BxFya78PUF89c%2BAvebsj6F44CxuqvEXzgFF650JfevFoR2Il/wAxg5eaX0gAO5LekBCshEAYIp9K%2BtvjPHbqXz28sD1f1fGX0tyAGy/uwpA%2BXut1JvBq0um3sQcL5%2B%2B7fpeMPYvyIK767e1fzfnvhD%2BXq8CSAgAA%3D%3D%3D)

clang 22.1.0:

```asm
main.dafoo:
push rbp
mov rbp, rsp
add rsi, 1023
add rdi, 448
vpxor xmm0, xmm0, xmm0
shr rsi, 3
and rsi, -128 ; Good :)
.LBB0_1:
vpaddq zmm0, zmm0, zmmword ptr [rdi - 448]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 384]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 320]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 256]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 192]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 128]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 64]
vpaddq zmm0, zmm0, zmmword ptr [rdi]
add rdi, 512
add rsi, -8
jne .LBB0_1
vextracti64x4 ymm1, zmm0, 1
vpaddq zmm0, zmm0, zmm1
vextracti128 xmm1, ymm0, 1
vpaddq xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 238
vpaddq xmm0, xmm0, xmm1
vmovq rax, xmm0
pop rbp
vzeroupper
ret

dafoo = main.dafoo
```

trunk:

```asm
main.dafoo:
push rbp
mov rbp, rsp
add rsi, 1023
add rdi, 448
vpxor xmm0, xmm0, xmm0
and rsi, -1024 ; Bad :(
shr rsi, 3
.LBB0_1:
vpaddq zmm0, zmm0, zmmword ptr [rdi - 448]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 384]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 320]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 256]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 192]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 128]
vpaddq zmm0, zmm0, zmmword ptr [rdi - 64]
vpaddq zmm0, zmm0, zmmword ptr [rdi]
add rdi, 512
add rsi, -8
jne .LBB0_1
vextracti64x4 ymm1, zmm0, 1
vpaddq zmm0, zmm0, zmm1
vextracti128 xmm1, ymm0, 1
vpaddq xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 238
vpaddq xmm0, xmm0, xmm1
vmovq rax, xmm0
pop rbp
vzeroupper
ret

dafoo = main.dafoo
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.