25 std::array<float*, 9 + 5> out;
29 std::array<int32_t, 2> buf;
32 case 0: *out[ 9]++ += narrow_cast<float>(buf[1] * 2);
break;
33 case 1: *out[10]++ += narrow_cast<float>(buf[1] * 2);
break;
34 case 2: *out[ 6]++ += narrow_cast<float>(buf[0]);
35 *out[11]++ += narrow_cast<float>(buf[1] * 2);
break;
36 case 3: *out[ 7]++ += narrow_cast<float>(buf[0]);
37 *out[12]++ += narrow_cast<float>(buf[1] * 2);
break;
38 case 4: *out[ 8]++ += narrow_cast<float>(buf[0]);
39 *out[13]++ += narrow_cast<float>(buf[1] * 2);
break;
40 case 8: *out[ 0]++ += narrow_cast<float>(buf[0]);
break;
41 case 9: *out[ 1]++ += narrow_cast<float>(buf[0]);
break;
42 case 10: *out[ 2]++ += narrow_cast<float>(buf[0]);
break;
43 case 14: *out[ 3]++ += narrow_cast<float>(buf[0]);
break;
44 case 15: *out[ 4]++ += narrow_cast<float>(buf[0]);
break;
45 case 16: *out[ 5]++ += narrow_cast<float>(buf[0]);
break;
50 for (
auto& write : writes) {
51 if (write.port != uint8_t(-1)) {
53 write.port = uint8_t(-1);
59 allowed_offset = std::max<int>(0, allowed_offset - 18);
65 if (speedUpHack) [[unlikely]] {
66 while (cycle_offset < allowed_offset) [[unlikely]] {
68 std::array<float*, 9 + 5> dummy;
72 allowed_offset = ((port ? 84 : 12) / 4) + cycle_offset;
75 writes[cycle_offset] = {port, value};