[SVE256] Remove unnecessary move in VCVTPS2PD

FCVTL will already perform the truncation, so the subsequent move
isn't necessary.
This commit is contained in:
LC committed 2026-06-21 05:03:59 -04:00
1 parent 37e32fbcb9
commit b7df1bc259
2 files changed
+33 -6

No files matched your search

@@ -2744,9 +2744,6 @@ void OpDispatchBuilder::Vector_CVT_Float_To_Float(OpcodeArgs, IR::OpSize DstElem
if (!IsFloatSrc && !Is128Bit) {
// VCVTPD2PS path
Result = _VMov(OpSize::i128Bit, Result);
} else if (IsFloatSrc && Is128Bit) {
// VCVTPS2PD path
Result = _VMov(OpSize::i128Bit, Result);
}
StoreResultFPR(Op, Result);
+33 -3
View File
@@ -3551,14 +3551,33 @@
"mov v16.d[0], v0.d[0]"
]
},
"vcvtps2pd xmm0, xmm1": {
"vcvtps2pd xmm0, [rax]": {
"ExpectedInstructionCount": 2,
"Comment": [
"Map 1 0b00 0x5a 128-bit"
],
"ExpectedArm64ASM": [
"fcvtl v2.2d, v17.2s",
"mov v16.16b, v2.16b"
"ldr d2, [x4]",
"fcvtl v16.2d, v2.2s"
]
},
"vcvtps2pd xmm0, xmm1": {
"ExpectedInstructionCount": 1,
"Comment": [
"Map 1 0b00 0x5a 128-bit"
],
"ExpectedArm64ASM": [
"fcvtl v16.2d, v17.2s"
]
},
"vcvtps2pd ymm0, xmm1": {
"ExpectedInstructionCount": 2,
"Comment": [
"Map 1 0b00 0x5a 128-bit"
],
"ExpectedArm64ASM": [
"zip1 z16.s, z17.s, z17.s",
"fcvtlt z16.d, p7/m, z16.s"
]
},
"vcvtpd2ps xmm0, [rax]": {
@@ -3571,6 +3590,17 @@
"fcvtn v16.2s, v2.2d"
]
},
"vcvtpd2ps xmm0, ymm1": {
"ExpectedInstructionCount": 3,
"Comment": [
"Map 1 0b01 0x5a 128-bit"
],
"ExpectedArm64ASM": [
"fcvtnt z2.s, p7/m, z17.d",
"uzp2 z2.s, z2.s, z2.s",
"mov v16.16b, v2.16b"
]
},
"vcvtpd2ps xmm0, yword [rax]": {
"ExpectedInstructionCount": 4,
"Comment": [