instcountci: Fix quiet and signalling nan propagation

This commit is contained in:
Paulo Matos committed 2025-09-23 13:48:45 +02:00
1 parent c480b0ba41
commit eee0cffa57
6 files changed
+6755 -78

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -14,7 +14,7 @@
"Instructions": {
"Block1": {
"x86InstructionCount": 70,
"ExpectedInstructionCount": 412,
"ExpectedInstructionCount": 432,
"x86Insts": [
"sub esp,0x2c",
"mov ecx,dword [esp + 0x34]",
@@ -88,7 +88,7 @@
"fucomi st0,st1"
],
"ExpectedArm64ASM": [
"subs w20, w8, #0x2c (44)",
"sub w20, w8, #0x2c (44)",
"mov x27, x8",
"mov x8, x20",
"ldr w7, [x8, #52]",
@@ -149,6 +149,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s7, s0",
"mov x20, v7.d[0]",
"fcmp d7, d7",
"orr x20, x20, #0x8000000000000",
"fmov d8, x20",
"fcsel d7, d8, d7, vs",
"str s7, [x8, #16]",
"ldr s7, [x7, #8]",
"str x30, [sp, #-16]!",
@@ -181,6 +186,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s9, s0",
"mov x20, v9.d[0]",
"fcmp d9, d9",
"orr x20, x20, #0x8000000000000",
"fmov d10, x20",
"fcsel d9, d10, d9, vs",
"str s9, [x8, #20]",
"ldr s9, [x4]",
"str x30, [sp, #-16]!",
@@ -206,6 +216,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d10, x20",
"fcsel d2, d10, d2, vs",
"str s2, [x8, #24]",
"ldr s2, [x4, #4]",
"str x30, [sp, #-16]!",
@@ -231,6 +246,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s5, s0",
"mov x20, v5.d[0]",
"fcmp d5, d5",
"orr x20, x20, #0x8000000000000",
"fmov d10, x20",
"fcsel d5, d10, d5, vs",
"str s5, [x8, #28]",
"ldr s5, [x4, #8]",
"str x30, [sp, #-16]!",
@@ -762,7 +782,7 @@
},
"Block3": {
"x86InstructionCount": 32,
"ExpectedInstructionCount": 231,
"ExpectedInstructionCount": 236,
"x86Insts": [
"fld dword [ecx]",
"fld dword [edx + 0x4]",
@@ -1022,6 +1042,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s4, s0",
"mov x23, v4.d[0]",
"fcmp d4, d4",
"orr x23, x23, #0x8000000000000",
"fmov d5, x23",
"fcsel d4, d5, d4, vs",
"str s4, [x10]",
"add w21, w21, #0x1 (1)",
"and w21, w21, #0x7",
@@ -1033,7 +1058,7 @@
},
"Block4": {
"x86InstructionCount": 54,
"ExpectedInstructionCount": 75,
"ExpectedInstructionCount": 85,
"x86Insts": [
"push ebp",
"push edi",
@@ -1093,7 +1118,7 @@
"ExpectedArm64ASM": [
"stp w11, w9, [x8, #-8]!",
"stp w6, w10, [x8, #-8]!",
"subs w26, w8, #0x4c (76)",
"sub w26, w8, #0x4c (76)",
"mov x27, x8",
"mov x8, x26",
"ldr w4, [x8, #104]",
@@ -1138,6 +1163,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str s2, [x8, #44]",
"ldr s2, [x8, #44]",
"str x30, [sp, #-16]!",
@@ -1154,6 +1184,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d2, d0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str d2, [x8]",
"mov w20, #0x44",
"movk w20, #0x1, lsl #16",
@@ -1170,7 +1205,7 @@
},
"Block5": {
"x86InstructionCount": 49,
"ExpectedInstructionCount": 300,
"ExpectedInstructionCount": 325,
"x86Insts": [
"fld dword [esp + 0x80]",
"fsub dword [esp + 0x7c]",
@@ -1258,6 +1293,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s3, s0",
"mov x20, v3.d[0]",
"fcmp d3, d3",
"orr x20, x20, #0x8000000000000",
"fmov d4, x20",
"fcsel d3, d4, d3, vs",
"str s3, [x8, #52]",
"ldr s3, [x8, #36]",
"str x30, [sp, #-16]!",
@@ -1299,6 +1339,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d4, x20",
"fcsel d2, d4, d2, vs",
"str s2, [x8, #44]",
"ldr s2, [x4]",
"str x30, [sp, #-16]!",
@@ -1356,6 +1401,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d4, x20",
"fcsel d2, d4, d2, vs",
"str s2, [x8, #68]",
"ldr s2, [x4, #4]",
"str x30, [sp, #-16]!",
@@ -1412,6 +1462,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d4, x20",
"fcsel d2, d4, d2, vs",
"str s2, [x8, #72]",
"ldr s2, [x4, #8]",
"str x30, [sp, #-16]!",
@@ -1474,6 +1529,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str s2, [x8, #76]",
"movi v2.2d, #0x0",
"ldr s3, [x8, #40]",
@@ -1868,7 +1928,7 @@
},
"Block7": {
"x86InstructionCount": 25,
"ExpectedInstructionCount": 244,
"ExpectedInstructionCount": 249,
"x86Insts": [
"fld dword [ebx + 0x4]",
"fld dword [ebx]",
@@ -2131,6 +2191,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s3, s0",
"mov x22, v3.d[0]",
"fcmp d3, d3",
"orr x22, x22, #0x8000000000000",
"fmov d4, x22",
"fcsel d3, d4, d3, vs",
"str s3, [x11]",
"strb w21, [x28, #1019]",
"str q2, [x20, #1040]",
@@ -2145,7 +2210,7 @@
},
"Block8": {
"x86InstructionCount": 25,
"ExpectedInstructionCount": 72,
"ExpectedInstructionCount": 92,
"x86Insts": [
"fstp st0",
"fstp st3",
@@ -2204,6 +2269,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s5, s0",
"mov x12, v5.d[0]",
"fcmp d5, d5",
"orr x12, x12, #0x8000000000000",
"fmov d6, x12",
"fcsel d5, d6, d5, vs",
"str s5, [x8, #56]",
"strb wzr, [x28, #1017]",
"str x30, [sp, #-16]!",
@@ -2213,6 +2283,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s5, s0",
"mov x12, v5.d[0]",
"fcmp d5, d5",
"orr x12, x12, #0x8000000000000",
"fmov d6, x12",
"fcsel d5, d6, d5, vs",
"str s5, [x8, #44]",
"add w20, w20, #0x1 (1)",
"and w20, w20, #0x7",
@@ -2226,6 +2301,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s6, s0",
"mov x13, v6.d[0]",
"fcmp d6, d6",
"orr x13, x13, #0x8000000000000",
"fmov d7, x13",
"fcsel d6, d7, d6, vs",
"str s6, [x8, #40]",
"str x30, [sp, #-16]!",
"mov v0.16b, v2.16b",
@@ -2234,6 +2314,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d6, d0",
"mov x13, v6.d[0]",
"fcmp d6, d6",
"orr x13, x13, #0x8000000000000",
"fmov d7, x13",
"fcsel d6, d7, d6, vs",
"str d6, [x8]",
"add w20, w20, #0x1 (1)",
"and w20, w20, #0x7",
@@ -2250,7 +2335,7 @@
},
"Block9": {
"x86InstructionCount": 25,
"ExpectedInstructionCount": 72,
"ExpectedInstructionCount": 92,
"x86Insts": [
"fstp st0",
"fstp st3",
@@ -2309,6 +2394,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s5, s0",
"mov x12, v5.d[0]",
"fcmp d5, d5",
"orr x12, x12, #0x8000000000000",
"fmov d6, x12",
"fcsel d5, d6, d5, vs",
"str s5, [x8, #56]",
"strb wzr, [x28, #1017]",
"str x30, [sp, #-16]!",
@@ -2318,6 +2408,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s5, s0",
"mov x12, v5.d[0]",
"fcmp d5, d5",
"orr x12, x12, #0x8000000000000",
"fmov d6, x12",
"fcsel d5, d6, d5, vs",
"str s5, [x8, #44]",
"add w20, w20, #0x1 (1)",
"and w20, w20, #0x7",
@@ -2331,6 +2426,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s6, s0",
"mov x13, v6.d[0]",
"fcmp d6, d6",
"orr x13, x13, #0x8000000000000",
"fmov d7, x13",
"fcsel d6, d7, d6, vs",
"str s6, [x8, #40]",
"str x30, [sp, #-16]!",
"mov v0.16b, v2.16b",
@@ -2339,6 +2439,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d6, d0",
"mov x13, v6.d[0]",
"fcmp d6, d6",
"orr x13, x13, #0x8000000000000",
"fmov d7, x13",
"fcsel d6, d7, d6, vs",
"str d6, [x8]",
"add w20, w20, #0x1 (1)",
"and w20, w20, #0x7",
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+24 -4
View File
@@ -2001,7 +2001,7 @@
]
},
"fst dword [rax]": {
"ExpectedInstructionCount": 11,
"ExpectedInstructionCount": 16,
"Comment": [
"0xd9 !11b /2"
],
@@ -2016,11 +2016,16 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str s2, [x4]"
]
},
"fstp dword [rax]": {
"ExpectedInstructionCount": 19,
"ExpectedInstructionCount": 24,
"Comment": [
"0xd9 !11b /3"
],
@@ -2035,6 +2040,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x21, v2.d[0]",
"fcmp d2, d2",
"orr x21, x21, #0x8000000000000",
"fmov d3, x21",
"fcsel d2, d3, d2, vs",
"str s2, [x4]",
"add w21, w20, #0x1 (1)",
"and w21, w21, #0x7",
@@ -6736,7 +6746,7 @@
]
},
"fst qword [rax]": {
"ExpectedInstructionCount": 11,
"ExpectedInstructionCount": 16,
"Comment": [
"0xdd !11b /2"
],
@@ -6751,11 +6761,16 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d2, d0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str d2, [x4]"
]
},
"fstp qword [rax]": {
"ExpectedInstructionCount": 19,
"ExpectedInstructionCount": 24,
"Comment": [
"0xdd !11b /3"
],
@@ -6770,6 +6785,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d2, d0",
"mov x21, v2.d[0]",
"fcmp d2, d2",
"orr x21, x21, #0x8000000000000",
"fmov d3, x21",
"fcsel d2, d3, d2, vs",
"str d2, [x4]",
"add w21, w20, #0x1 (1)",
"and w21, w21, #0x7",
+24 -4
View File
@@ -2000,7 +2000,7 @@
]
},
"fst dword [rax]": {
"ExpectedInstructionCount": 11,
"ExpectedInstructionCount": 16,
"Comment": [
"0xd9 !11b /2"
],
@@ -2015,11 +2015,16 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str s2, [x4]"
]
},
"fstp dword [rax]": {
"ExpectedInstructionCount": 19,
"ExpectedInstructionCount": 24,
"Comment": [
"0xd9 !11b /3"
],
@@ -2034,6 +2039,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov s2, s0",
"mov x21, v2.d[0]",
"fcmp d2, d2",
"orr x21, x21, #0x8000000000000",
"fmov d3, x21",
"fcsel d2, d3, d2, vs",
"str s2, [x4]",
"add w21, w20, #0x1 (1)",
"and w21, w21, #0x7",
@@ -6767,7 +6777,7 @@
]
},
"fst qword [rax]": {
"ExpectedInstructionCount": 11,
"ExpectedInstructionCount": 16,
"Comment": [
"0xdd !11b /2"
],
@@ -6782,11 +6792,16 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d2, d0",
"mov x20, v2.d[0]",
"fcmp d2, d2",
"orr x20, x20, #0x8000000000000",
"fmov d3, x20",
"fcsel d2, d3, d2, vs",
"str d2, [x4]"
]
},
"fstp qword [rax]": {
"ExpectedInstructionCount": 19,
"ExpectedInstructionCount": 24,
"Comment": [
"0xdd !11b /3"
],
@@ -6801,6 +6816,11 @@
"blr x0",
"ldr x30, [sp], #16",
"fmov d2, d0",
"mov x21, v2.d[0]",
"fcmp d2, d2",
"orr x21, x21, #0x8000000000000",
"fmov d3, x21",
"fcsel d2, d3, d2, vs",
"str d2, [x4]",
"add w21, w20, #0x1 (1)",
"and w21, w21, #0x7",