diff --git a/unittests/InstructionCountCI/H0F3A.json b/unittests/InstructionCountCI/H0F3A.json index 103ca28a6..16b87fc6f 100644 --- a/unittests/InstructionCountCI/H0F3A.json +++ b/unittests/InstructionCountCI/H0F3A.json @@ -14,15 +14,13 @@ ], "Instructions": { "palignr mm0, mm1, 0": { - "ExpectedInstructionCount": 4, - "Optimal": "No", + "ExpectedInstructionCount": 2, + "Optimal": "Yes", "Comment": [ "NP 0x0f 0x3a 0x0f" ], "ExpectedArm64ASM": [ - "ldr d2, [x28, #752]", - "ldr d3, [x28, #768]", - "ext v2.8b, v3.8b, v2.8b, #0", + "ldr d2, [x28, #768]", "str d2, [x28, #752]" ] }, @@ -33,9 +31,9 @@ "NP 0x0f 0x3a 0x0f" ], "ExpectedArm64ASM": [ - "ldr d2, [x28, #752]", - "ldr d3, [x28, #768]", - "ext v2.8b, v3.8b, v2.8b, #1", + "ldr d2, [x28, #768]", + "ldr d3, [x28, #752]", + "ext v2.8b, v2.8b, v3.8b, #1", "str d2, [x28, #752]" ] }, @@ -542,12 +540,12 @@ }, "palignr xmm0, xmm1, 0": { "ExpectedInstructionCount": 1, - "Optimal": "No", + "Optimal": "Yes", "Comment": [ "0x66 0x0f 0x3a 0x0f" ], "ExpectedArm64ASM": [ - "ext v16.16b, v17.16b, v16.16b, #0" + "mov v16.16b, v17.16b" ] }, "palignr xmm0, xmm1, 1": { diff --git a/unittests/InstructionCountCI/VEX_map3.json b/unittests/InstructionCountCI/VEX_map3.json index bed794313..dadc6737c 100644 --- a/unittests/InstructionCountCI/VEX_map3.json +++ b/unittests/InstructionCountCI/VEX_map3.json @@ -2933,7 +2933,7 @@ "Map 3 0b01 0x0f 128-bit" ], "ExpectedArm64ASM": [ - "ext v16.16b, v18.16b, v17.16b, #0" + "mov v16.16b, v18.16b" ] }, "vpalignr xmm0, xmm1, xmm2, 1": { @@ -2968,24 +2968,13 @@ ] }, "vpalignr ymm0, ymm1, ymm2, 0": { - "ExpectedInstructionCount": 12, - "Optimal": "No", + "ExpectedInstructionCount": 1, + "Optimal": "Yes", "Comment": [ "Map 3 0b01 0x0f 256-bit" ], "ExpectedArm64ASM": [ - "ext v2.16b, v18.16b, v17.16b, #0", - "mov z1.q, z17.q[1]", - "mov z3.d, z17.d", - "mov z3.b, p6/m, z1.b", - "mov z1.q, z18.q[1]", - "mov z4.d, z18.d", - "mov z4.b, p6/m, z1.b", - "ext v3.16b, v4.16b, v3.16b, #0", - "mov z1.q, q3", - "mov z16.d, z2.d", - "not p0.b, p7/z, p6.b", - "mov z16.b, p0/m, z1.b" + "mov z16.d, p7/m, z18.d" ] }, "vpalignr ymm0, ymm1, ymm2, 1": {