https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117421
--- Comment #3 from Wojciech Mula <wojciech_mula at poczta dot onet.pl> ---
It's worth noting, that Clang first synthesizes a 32-bit word from individual
bytes, and then use a single comparison.
```
ext_is_gzip(std::basic_string_view<char, std::char_traits<char>>):
li a2, 4
bne a0, a2, .LBB0_2
lbu a0, 1(a1)
lbu a2, 0(a1)
lbu a3, 2(a1)
lb a1, 3(a1)
slli a0, a0, 8
or a0, a0, a2
slli a3, a3, 16
slli a1, a1, 24
or a1, a1, a3
or a0, a0, a1
lui a1, 460440
addiw a1, a1, -1433
xor a0, a0, a1
seqz a0, a0
ret
.LBB0_2:
li a0, 0
ret
```