* Get the storage size of a register. */
| 233 | * Get the storage size of a register. |
| 234 | */ |
| 235 | int32_t getRegSize(Register reg) |
| 236 | { |
| 237 | switch (reg) |
| 238 | { |
| 239 | case REGISTER_AH: case REGISTER_AL: case REGISTER_BH: |
| 240 | case REGISTER_BL: case REGISTER_CH: case REGISTER_CL: |
| 241 | case REGISTER_BPL: case REGISTER_DIL: case REGISTER_DL: |
| 242 | case REGISTER_DH: case REGISTER_SIL: case REGISTER_SPL: |
| 243 | case REGISTER_R8B: case REGISTER_R9B: case REGISTER_R10B: |
| 244 | case REGISTER_R11B: case REGISTER_R12B: case REGISTER_R13B: |
| 245 | case REGISTER_R14B: case REGISTER_R15B: |
| 246 | return sizeof(int8_t); |
| 247 | |
| 248 | case REGISTER_AX: case REGISTER_BP: case REGISTER_BX: |
| 249 | case REGISTER_CX: case REGISTER_DX: case REGISTER_DI: |
| 250 | case REGISTER_IP: case REGISTER_SI: case REGISTER_SP: |
| 251 | case REGISTER_R8W: case REGISTER_R9W: case REGISTER_R10W: |
| 252 | case REGISTER_R11W: case REGISTER_R12W: case REGISTER_R13W: |
| 253 | case REGISTER_R14W: case REGISTER_R15W: case REGISTER_FLAGS: |
| 254 | return sizeof(int16_t); |
| 255 | |
| 256 | case REGISTER_EAX: case REGISTER_EBP: case REGISTER_EBX: |
| 257 | case REGISTER_ECX: case REGISTER_EDI: case REGISTER_EDX: |
| 258 | case REGISTER_EIP: case REGISTER_ESI: case REGISTER_ESP: |
| 259 | case REGISTER_R8D: case REGISTER_R9D: case REGISTER_R10D: |
| 260 | case REGISTER_R11D: case REGISTER_R12D: case REGISTER_R13D: |
| 261 | case REGISTER_R14D: case REGISTER_R15D: |
| 262 | return sizeof(int32_t); |
| 263 | |
| 264 | case REGISTER_RAX: case REGISTER_RBP: case REGISTER_RBX: |
| 265 | case REGISTER_RCX: case REGISTER_RDI: case REGISTER_RDX: |
| 266 | case REGISTER_RIP: case REGISTER_RSI: case REGISTER_RSP: |
| 267 | case REGISTER_R8: case REGISTER_R9: case REGISTER_R10: |
| 268 | case REGISTER_R11: case REGISTER_R12: case REGISTER_R13: |
| 269 | case REGISTER_R14: case REGISTER_R15: case REGISTER_RFLAGS: |
| 270 | return sizeof(int64_t); |
| 271 | |
| 272 | case REGISTER_XMM0: case REGISTER_XMM1: case REGISTER_XMM2: |
| 273 | case REGISTER_XMM3: case REGISTER_XMM4: case REGISTER_XMM5: |
| 274 | case REGISTER_XMM6: case REGISTER_XMM7: case REGISTER_XMM8: |
| 275 | case REGISTER_XMM9: case REGISTER_XMM10: case REGISTER_XMM11: |
| 276 | case REGISTER_XMM12: case REGISTER_XMM13: case REGISTER_XMM14: |
| 277 | case REGISTER_XMM15: case REGISTER_XMM16: case REGISTER_XMM17: |
| 278 | case REGISTER_XMM18: case REGISTER_XMM19: case REGISTER_XMM20: |
| 279 | case REGISTER_XMM21: case REGISTER_XMM22: case REGISTER_XMM23: |
| 280 | case REGISTER_XMM24: case REGISTER_XMM25: case REGISTER_XMM26: |
| 281 | case REGISTER_XMM27: case REGISTER_XMM28: case REGISTER_XMM29: |
| 282 | case REGISTER_XMM30: case REGISTER_XMM31: |
| 283 | return 2 * sizeof(int64_t); |
| 284 | |
| 285 | case REGISTER_YMM0: case REGISTER_YMM1: case REGISTER_YMM2: |
| 286 | case REGISTER_YMM3: case REGISTER_YMM4: case REGISTER_YMM5: |
| 287 | case REGISTER_YMM6: case REGISTER_YMM7: case REGISTER_YMM8: |
| 288 | case REGISTER_YMM9: case REGISTER_YMM10: case REGISTER_YMM11: |
| 289 | case REGISTER_YMM12: case REGISTER_YMM13: case REGISTER_YMM14: |
| 290 | case REGISTER_YMM15: case REGISTER_YMM16: case REGISTER_YMM17: |
| 291 | case REGISTER_YMM18: case REGISTER_YMM19: case REGISTER_YMM20: |
| 292 | case REGISTER_YMM21: case REGISTER_YMM22: case REGISTER_YMM23: |
no outgoing calls
no test coverage detected