Merge pull request #2414 from jgouly/extend-refactor
arm64: Refactor Inst::Extend handling
This commit is contained in:
@@ -1846,6 +1846,22 @@ fn test_aarch64_binemit() {
|
||||
"EFB79F9A",
|
||||
"cset x15, ge",
|
||||
));
|
||||
insns.push((
|
||||
Inst::CSetm {
|
||||
rd: writable_xreg(0),
|
||||
cond: Cond::Eq,
|
||||
},
|
||||
"E0139FDA",
|
||||
"csetm x0, eq",
|
||||
));
|
||||
insns.push((
|
||||
Inst::CSetm {
|
||||
rd: writable_xreg(16),
|
||||
cond: Cond::Vs,
|
||||
},
|
||||
"F0739FDA",
|
||||
"csetm x16, vs",
|
||||
));
|
||||
insns.push((
|
||||
Inst::CCmpImm {
|
||||
size: OperandSize::Size64,
|
||||
@@ -3952,6 +3968,50 @@ fn test_aarch64_binemit() {
|
||||
"vcsel v5.16b, v10.16b, v19.16b, gt (if-then-else diamond)",
|
||||
));
|
||||
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
rd: writable_xreg(3),
|
||||
rn: xreg(5),
|
||||
signed: false,
|
||||
from_bits: 1,
|
||||
to_bits: 32,
|
||||
},
|
||||
"A3000012",
|
||||
"and w3, w5, #1",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
rd: writable_xreg(3),
|
||||
rn: xreg(5),
|
||||
signed: false,
|
||||
from_bits: 1,
|
||||
to_bits: 64,
|
||||
},
|
||||
"A3000012",
|
||||
"and w3, w5, #1",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
rd: writable_xreg(10),
|
||||
rn: xreg(21),
|
||||
signed: true,
|
||||
from_bits: 1,
|
||||
to_bits: 32,
|
||||
},
|
||||
"AA020013",
|
||||
"sbfx w10, w21, #0, #1",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
rd: writable_xreg(1),
|
||||
rn: xreg(2),
|
||||
signed: true,
|
||||
from_bits: 1,
|
||||
to_bits: 64,
|
||||
},
|
||||
"41004093",
|
||||
"sbfx x1, x2, #0, #1",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
rd: writable_xreg(1),
|
||||
@@ -4005,7 +4065,7 @@ fn test_aarch64_binemit() {
|
||||
to_bits: 64,
|
||||
},
|
||||
"411C0053",
|
||||
"uxtb x1, w2",
|
||||
"uxtb w1, w2",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
@@ -4027,7 +4087,7 @@ fn test_aarch64_binemit() {
|
||||
to_bits: 64,
|
||||
},
|
||||
"413C0053",
|
||||
"uxth x1, w2",
|
||||
"uxth w1, w2",
|
||||
));
|
||||
insns.push((
|
||||
Inst::Extend {
|
||||
|
||||
Reference in New Issue
Block a user