* Convert a register into a canonical register. */
| 171 | * Convert a register into a canonical register. |
| 172 | */ |
| 173 | Register getCanonicalReg(Register reg) |
| 174 | { |
| 175 | switch (reg) |
| 176 | { |
| 177 | case REGISTER_DI: case REGISTER_DIL: case REGISTER_EDI: |
| 178 | case REGISTER_RDI: |
| 179 | return REGISTER_RDI; |
| 180 | case REGISTER_SI: case REGISTER_SIL: case REGISTER_ESI: |
| 181 | case REGISTER_RSI: |
| 182 | return REGISTER_RSI; |
| 183 | case REGISTER_DH: case REGISTER_DL: |
| 184 | case REGISTER_DX: case REGISTER_EDX: case REGISTER_RDX: |
| 185 | return REGISTER_RDX; |
| 186 | case REGISTER_CH: case REGISTER_CL: |
| 187 | case REGISTER_CX: case REGISTER_ECX: case REGISTER_RCX: |
| 188 | return REGISTER_RCX; |
| 189 | case REGISTER_R8B: case REGISTER_R8W: case REGISTER_R8D: |
| 190 | case REGISTER_R8: |
| 191 | return REGISTER_R8; |
| 192 | case REGISTER_R9B: case REGISTER_R9W: case REGISTER_R9D: |
| 193 | case REGISTER_R9: |
| 194 | return REGISTER_R9; |
| 195 | case REGISTER_AH: case REGISTER_AL: |
| 196 | case REGISTER_AX: case REGISTER_EAX: case REGISTER_RAX: |
| 197 | return REGISTER_RAX; |
| 198 | case REGISTER_R10B: case REGISTER_R10W: case REGISTER_R10D: |
| 199 | case REGISTER_R10: |
| 200 | return REGISTER_R10; |
| 201 | case REGISTER_R11B: case REGISTER_R11W: case REGISTER_R11D: |
| 202 | case REGISTER_R11: |
| 203 | return REGISTER_R11; |
| 204 | case REGISTER_BH: case REGISTER_BL: |
| 205 | case REGISTER_BX: case REGISTER_EBX: case REGISTER_RBX: |
| 206 | return REGISTER_RBX; |
| 207 | case REGISTER_BP: case REGISTER_BPL: case REGISTER_EBP: |
| 208 | case REGISTER_RBP: |
| 209 | return REGISTER_RBP; |
| 210 | case REGISTER_R12B: case REGISTER_R12W: case REGISTER_R12D: |
| 211 | case REGISTER_R12: |
| 212 | return REGISTER_R12; |
| 213 | case REGISTER_R13B: case REGISTER_R13W: case REGISTER_R13D: |
| 214 | case REGISTER_R13: |
| 215 | return REGISTER_R13; |
| 216 | case REGISTER_R14B: case REGISTER_R14W: case REGISTER_R14D: |
| 217 | case REGISTER_R14: |
| 218 | return REGISTER_R14; |
| 219 | case REGISTER_R15B: case REGISTER_R15W: case REGISTER_R15D: |
| 220 | case REGISTER_R15: |
| 221 | return REGISTER_R15; |
| 222 | case REGISTER_SP: case REGISTER_SPL: case REGISTER_ESP: |
| 223 | case REGISTER_RSP: |
| 224 | return REGISTER_RSP; |
| 225 | case REGISTER_IP: case REGISTER_EIP: case REGISTER_RIP: |
| 226 | return REGISTER_RIP; |
| 227 | default: |
| 228 | return reg; |
| 229 | } |
| 230 | } |
no outgoing calls
no test coverage detected