"X % C == 0" is optimized to "X & C-1 == 0" (where C is a power-of-two)

However, "X % Y" can also be represented as "X - (X / Y) * Y" so if I rewrite the initial expression:

"X - (X / C) * C == 0" it's not currently optimized to "X & C-1 == 0", see godbolt: https://godbolt.org/z/KzuXUj

This is my first contribution to LLVM so I hope I didn't mess things up