3 ms·
Clang emits a warning if you ask it to vectorize a loop and it can't; you can then promote that to an error. But even if the loop vectorizes, that doesn't mean
by charleslmunger 2y ago
Clang emits a warning if you ask it to vectorize a loop and it can't; you can then promote that to an error. But even if the loop vectorizes, that doesn't mean that it vectorizes in the optimal way - my understanding is that pros write their loops with intrinsics specifying the operations they want for this reason.
https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1DIApACYAQuYukl9ZATwDKjdAGFUtAK4sGISVykrgAyeAyYAHI%2BAEaYxBIAzKQADqgKhE4MHt6%2B/oGp6Y4CoeFRLLHxXEl2mA6ZQgRMxATZPn4Btpj2RQwNTQQlkTFxibaNza25HQrjA2FD5SNVAJS2qF7EyOwcAPQ7ANQAKgCeyZj7x%2BvE%2B2hY%2BwhxmKT7JPu0qEzo%2B4b7mKqsyXoADoTBoAIJhAj7dIsdAKHwQSEAKn26CYjWekJu60Ey32JgA7FZwftSfssfCWPiEgARfYaEwJYlgsn4swJZLEJjAFhMG4GIxvVCoZL7AButSIxDwAC9MBBGExovRlqCWWT%2BNdEYJydS6QymbrGW5sV5BIyLOTrNY8YTmazWZS2VZaaj0UwTABWCx4L00i1q1mE/0ksnETAEDYMaE%2BAPg4NqtUU0QGYiU7UEFFojHknVoM0EW1EwNkik%2BPX0uPq0nmDlcnl85AC4BCkXiyUkWXyxXKzCq0OkzX7DNG10Gy14akm/Pmw2%2Byw2/HFgcOp3W13Zj3e32e/1MksO8lUYebr0%2Bv16xl0hJF%2B2Hh3hyPEaNcKv3pch6sfg/7R9RmMsFWwYcKstCcJ6vB%2BNwvCoJwbjWpY0JXFsbIJDwpAEJoIGrAA1iACQJECBHESRpEAGz6JwkiQVhpCwRwvAKCAGgYVhqxwLASBoCwyR0HE5CUNxvH0PETQsGKAAcAC0VBeLQtBSU2hjAFJBDEGaOF8HQBBxExEDRLR0RhE0xycOhRnMMQxwAPLRNokpmbw3FsII1kMLQpkcFopBYNEXjAG4Yi0Ex0E%2BZgvJGOIXm8Pg4Z1BKIXeX8tReDpjnkIIXS0bQeDRFyVkeFgtFqXgLDpRKxDRGkmA0uFyk5UYbF8AYwAKAAangmAAO7WWcUHofwggiGI7BSDIgiKCo6jRaQuiBM2KAITYOXRExkCrCKPQhVJ1kJPsUkAOpxMQJBXskTAKAoMlMHx6AwRV0pYGtECrDUdTOAqDDuJ4bR6CE8xlBUegFBkAiTH4%2BRpKDDCDIDSydN09SzODehvT0fTNLDwyVGM/Qo4EMz9FjiyVK9yGjaB4E0TN9HfMQ4nSY2zbDkFdPIAghCShsYj7FQmDohsmAKM8akaXiEC4IQry1lwyy8Jh0XLLh%2BGEaRavERRYEcNRpBQd59GMcxrGK6QHGICA6wEMkqUCRAQl8cQESsNsYmSVJTPKSz8lsxzOkONztC8/zT5CyL6kMDhctBPgUp4OgeiDcIKajdIieTWotFzaQXVcskjmUxwEG67R9HWal1tQqgx6u4z/KexArNNOznP%2B1ygd8wL4bC/sosR%2BLHg8Q7qGy/LbHKwRRHq2rlHa9T%2BucIbLEK1oSsz2Yc8wQvxsr6sFXpM4khAA%3D https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaP...
- kookamamie 2y agoWarn-to-error promotion is a good point. I kind of wish something like this would exist on the language level.