Repository navigation
Commit bbcf12d
committed
[x86] Lift BEXTR with concise intrinsics and correct flags
Use __bextr32 and __bextr64 with named value, start, and length parameters
to keep decompilation compact for both constant and variable controls.
Use the flag system to set ZF from the result, clear CF/OF, and model
AF/SF/PF as unknown. Separate ZF updates to prevent SF from being
incorrectly inferred from the result. Preserve APX flag suppression.1 parent 5a6196f commit bbcf12d
4 files changed
Lines changed: 61 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2137 | 2137 | | |
2138 | 2138 | | |
2139 | 2139 | | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
| 2143 | + | |
| 2144 | + | |
| 2145 | + | |
| 2146 | + | |
| 2147 | + | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
| 2153 | + | |
| 2154 | + | |
| 2155 | + | |
2140 | 2156 | | |
2141 | 2157 | | |
2142 | 2158 | | |
| |||
2935 | 2951 | | |
2936 | 2952 | | |
2937 | 2953 | | |
| 2954 | + | |
| 2955 | + | |
| 2956 | + | |
| 2957 | + | |
2938 | 2958 | | |
2939 | 2959 | | |
2940 | 2960 | | |
| |||
2962 | 2982 | | |
2963 | 2983 | | |
2964 | 2984 | | |
2965 | | - | |
| 2985 | + | |
2966 | 2986 | | |
2967 | 2987 | | |
2968 | 2988 | | |
| |||
3190 | 3210 | | |
3191 | 3211 | | |
3192 | 3212 | | |
| 3213 | + | |
| 3214 | + | |
| 3215 | + | |
| 3216 | + | |
3193 | 3217 | | |
3194 | 3218 | | |
3195 | 3219 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
40 | 44 | | |
41 | 45 | | |
42 | 46 | | |
| |||
5112 | 5116 | | |
5113 | 5117 | | |
5114 | 5118 | | |
5115 | | - | |
| 5119 | + | |
5116 | 5120 | | |
5117 | 5121 | | |
5118 | 5122 | | |
| |||
5134 | 5138 | | |
5135 | 5139 | | |
5136 | 5140 | | |
| 5141 | + | |
| 5142 | + | |
| 5143 | + | |
| 5144 | + | |
| 5145 | + | |
| 5146 | + | |
5137 | 5147 | | |
5138 | 5148 | | |
5139 | 5149 | | |
| |||
5196 | 5206 | | |
5197 | 5207 | | |
5198 | 5208 | | |
| 5209 | + | |
| 5210 | + | |
| 5211 | + | |
| 5212 | + | |
5199 | 5213 | | |
5200 | 5214 | | |
5201 | 5215 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
982 | 982 | | |
983 | 983 | | |
984 | 984 | | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
| 989 | + | |
| 990 | + | |
| 991 | + | |
| 992 | + | |
| 993 | + | |
| 994 | + | |
| 995 | + | |
| 996 | + | |
| 997 | + | |
| 998 | + | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
985 | 1002 | | |
986 | 1003 | | |
987 | 1004 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| 60 | + | |
| 61 | + | |
60 | 62 | | |
61 | 63 | | |
62 | 64 | | |
| |||
114 | 116 | | |
115 | 117 | | |
116 | 118 | | |
| 119 | + | |
| 120 | + | |
117 | 121 | | |
118 | 122 | | |
119 | 123 | | |
| |||
0 commit comments