Open
Description
define dso_local zeroext i1 @greaterThan1(<8 x i64> %0) local_unnamed_addr {
Entry:
%1 = icmp ugt <8 x i64> %0, <i64 1, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0, i64 0>
%2 = bitcast <8 x i1> %1 to i8
%3 = icmp ne i8 %2, 0
ret i1 %3
}
Compiled with -O3 -march=znver5
:
.LCPI0_1:
.byte 1
.byte 0
greaterThan1:
.LgreaterThan1$local:
vpmovsxbq xmm1, word ptr [rip + .LCPI0_1]
vpcmpnleuq k0, zmm0, zmm1
kortestb k0, k0
setne al
vzeroupper
ret
Should be:
.LCPI0_0:
.quad 1
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
.quad 0
greaterThan1:
.LgreaterThan1$local:
vpcmpnleuq k0, zmm0, zmmword ptr [rip + .LCPI0_0]
kortestb k0, k0
setne al
vzeroupper
ret