cranelift: Fix icmp.i128 eq for aarch64 (#4706)

* cranelift: Fix `icmp.i128 eq` for aarch64

* cranelift: Use ccmp in `icmp.i128 eq` for aarch64
This commit is contained in:
Afonso Bordado
2022-08-15 19:11:22 +01:00
committed by GitHub
parent e577a76c0d
commit 863cbc345c
7 changed files with 86 additions and 28 deletions

View File

@@ -2182,6 +2182,28 @@ fn test_aarch64_binemit() {
"F0739FDA",
"csetm x16, vs",
));
insns.push((
Inst::CCmp {
size: OperandSize::Size64,
rn: xreg(22),
rm: xreg(1),
nzcv: NZCV::new(false, false, true, true),
cond: Cond::Eq,
},
"C30241FA",
"ccmp x22, x1, #nzCV, eq",
));
insns.push((
Inst::CCmp {
size: OperandSize::Size32,
rn: xreg(3),
rm: xreg(28),
nzcv: NZCV::new(true, true, true, true),
cond: Cond::Gt,
},
"6FC05C7A",
"ccmp w3, w28, #NZCV, gt",
));
insns.push((
Inst::CCmpImm {
size: OperandSize::Size64,