MCPcopy Create free account
hub / github.com/capstone-engine/capstone / isSOImmTwoPartVal

Function isSOImmTwoPartVal

arch/ARM/ARMAddressingModes.h:203–213  ·  view source on GitHub ↗

isSOImmTwoPartVal - Return true if the specified value can be obtained by or'ing together two SOImmVal's.

Source from the content-addressed store, hash-verified

201/// isSOImmTwoPartVal - Return true if the specified value can be obtained by
202/// or'ing together two SOImmVal's.
203static inline bool isSOImmTwoPartVal(unsigned V)
204{
205 // If this can be handled with a single shifter_op, bail out.
206 V = rotr32(~255U, getSOImmValRotate(V)) & V;
207 if (V == 0)
208 return false;
209
210 // If this can be handled with two shifter_op's, accept.
211 V = rotr32(~255U, getSOImmValRotate(V)) & V;
212 return V == 0;
213}
214
215/// getSOImmTwoPartFirst - If V is a value that satisfies isSOImmTwoPartVal,
216/// return the first chunk of it.

Callers

nothing calls this directly

Calls 2

rotr32Function · 0.85
getSOImmValRotateFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…