@@ -2077,6 +2077,14 @@ func frequencyBenchmarkTableValues(outputs map[string]script.ScriptOutput) []Fie
20772077 if len (scalarIaddFreqs ) < len (specSSEFreqs ) {
20782078 specSSEFreqs = specSSEFreqs [:len (scalarIaddFreqs )]
20792079 }
2080+ // pad the spec frequencies with the last value if they are shorter than the scalar_iadd frequencies
2081+ // this can happen when the first die has fewer cores than other dies
2082+ if len (specSSEFreqs ) < len (scalarIaddFreqs ) {
2083+ diff := len (scalarIaddFreqs ) - len (specSSEFreqs )
2084+ for range diff {
2085+ specSSEFreqs = append (specSSEFreqs , specSSEFreqs [len (specSSEFreqs )- 1 ])
2086+ }
2087+ }
20802088 }
20812089 // create the fields
20822090 fields := []Field {
@@ -2107,16 +2115,32 @@ func frequencyBenchmarkTableValues(outputs map[string]script.ScriptOutput) []Fie
21072115 for i := range scalarIaddFreqs { // scalarIaddFreqs is required
21082116 fields [coresIdx ].Values = append (fields [coresIdx ].Values , fmt .Sprintf ("%d" , i + 1 ))
21092117 if specSSEFieldIdx > 0 {
2110- fields [specSSEFieldIdx ].Values = append (fields [specSSEFieldIdx ].Values , specSSEFreqs [i ])
2118+ if len (specSSEFreqs ) > i {
2119+ fields [specSSEFieldIdx ].Values = append (fields [specSSEFieldIdx ].Values , specSSEFreqs [i ])
2120+ } else {
2121+ fields [specSSEFieldIdx ].Values = append (fields [specSSEFieldIdx ].Values , "" )
2122+ }
21112123 }
21122124 if scalarIaddFieldIdx > 0 {
2113- fields [scalarIaddFieldIdx ].Values = append (fields [scalarIaddFieldIdx ].Values , fmt .Sprintf ("%.1f" , scalarIaddFreqs [i ]))
2125+ if len (scalarIaddFreqs ) > i {
2126+ fields [scalarIaddFieldIdx ].Values = append (fields [scalarIaddFieldIdx ].Values , fmt .Sprintf ("%.1f" , scalarIaddFreqs [i ]))
2127+ } else {
2128+ fields [scalarIaddFieldIdx ].Values = append (fields [scalarIaddFieldIdx ].Values , "" )
2129+ }
21142130 }
21152131 if avx2FieldIdx > 0 {
2116- fields [avx2FieldIdx ].Values = append (fields [avx2FieldIdx ].Values , fmt .Sprintf ("%.1f" , avx256FmaFreqs [i ]))
2132+ if len (avx256FmaFreqs ) > i {
2133+ fields [avx2FieldIdx ].Values = append (fields [avx2FieldIdx ].Values , fmt .Sprintf ("%.1f" , avx256FmaFreqs [i ]))
2134+ } else {
2135+ fields [avx2FieldIdx ].Values = append (fields [avx2FieldIdx ].Values , "" )
2136+ }
21172137 }
21182138 if avx512FieldIdx > 0 {
2119- fields [avx512FieldIdx ].Values = append (fields [avx512FieldIdx ].Values , fmt .Sprintf ("%.1f" , avx512FmaFreqs [i ]))
2139+ if len (avx512FmaFreqs ) > i {
2140+ fields [avx512FieldIdx ].Values = append (fields [avx512FieldIdx ].Values , fmt .Sprintf ("%.1f" , avx512FmaFreqs [i ]))
2141+ } else {
2142+ fields [avx512FieldIdx ].Values = append (fields [avx512FieldIdx ].Values , "" )
2143+ }
21202144 }
21212145 }
21222146 return fields
0 commit comments