Sintendo
83f38388a1
Jit64: divwx - Micro-optimize default case
Both the normal path and the overflow path end with the same
instruction, so their tails can be merged.
Before:
41 8B C7 mov eax,r15d
45 85 C0 test r8d,r8d
74 0D je overflow
3D 00 00 00 80 cmp eax,80000000h
75 0E jne normal_path
41 83 F8 FF cmp r8d,0FFFFFFFFh
75 08 jne normal_path
overflow:
C1 F8 1F sar eax,1Fh
44 8B F0 mov r14d,eax
EB 07 jmp done
normal_path:
99 cdq
41 F7 F8 idiv eax,r8d
44 8B F0 mov r14d,eax
done:
After:
41 8B C7 mov eax,r15d
45 85 C0 test r8d,r8d
74 0D je overflow
3D 00 00 00 80 cmp eax,80000000h
75 0B jne normal_path
41 83 F8 FF cmp r8d,0FFFFFFFFh
75 05 jne normal_path
overflow:
C1 F8 1F sar eax,1Fh
EB 04 jmp done
normal_path:
99 cdq
41 F7 F8 idiv eax,r8d
done:
44 8B F0 mov r14d,eax
2021-03-07 18:29:12 +01:00
..
2021-02-12 21:40:31 +01:00
2021-02-21 18:15:26 +04:00
2020-12-24 13:49:25 -06:00
2021-03-02 19:29:47 +04:00
2021-02-10 02:03:16 +01:00
2021-01-27 14:29:48 -08:00
2020-12-24 23:38:59 -06:00
2021-03-05 10:38:55 +01:00
2021-03-04 13:55:20 -06:00
2021-03-07 18:29:12 +01:00
2020-12-29 16:06:17 -05:00
2020-12-11 10:08:20 +01:00
2020-11-23 12:20:02 -05:00
2020-12-11 19:54:16 +01:00
2020-12-11 10:02:14 +01:00
2021-03-07 18:27:36 +01:00
2021-02-10 22:50:40 +01:00
2021-01-30 09:51:37 -05:00
2021-01-28 21:23:18 +04:00
2020-11-09 10:38:49 +01:00
2020-12-29 16:06:17 -05:00
2021-01-27 14:29:47 -08:00
2021-01-27 14:29:47 -08:00
2020-12-24 13:49:25 -06:00
2020-12-24 13:49:25 -06:00
2021-01-20 12:25:21 -06:00
2020-12-24 13:49:25 -06:00
2020-12-29 16:06:17 -05:00
2020-12-11 10:08:20 +01:00
2020-12-11 15:38:11 +01:00
2020-04-03 12:53:38 +02:00
2020-12-24 13:48:38 -06:00
2020-12-24 13:48:38 -06:00
2020-08-27 21:54:04 +01:00
2021-02-24 19:02:30 +01:00
2021-01-27 05:15:54 -08:00
2021-02-12 21:40:31 +01:00
2020-11-28 23:35:55 +01:00
2021-01-27 14:29:48 -08:00
2021-01-20 12:24:05 -05:00
2020-09-27 13:10:19 -05:00
2021-01-27 14:29:48 -08:00
2021-01-20 12:24:05 -05:00
2021-02-12 13:42:18 +04:00
2021-02-12 13:42:18 +04:00
2020-12-29 14:24:46 -08:00
2020-12-29 14:24:46 -08:00
2021-02-18 18:53:32 +01:00
2020-10-21 22:49:59 +02:00
2020-08-02 22:46:53 +02:00
2021-01-27 14:29:48 -08:00
2020-12-29 19:09:57 -05:00
2020-12-19 23:22:06 -05:00
2020-12-19 23:22:06 -05:00
2021-01-27 14:29:48 -08:00
2020-03-16 21:04:19 +01:00
2021-02-12 21:40:31 +01:00
2021-02-12 21:40:31 +01:00