MCPcopy Index your code
hub / github.com/encounter/objdiff / opcode_to_u16

Function opcode_to_u16

objdiff-core/src/arch/arm64.rs:2286–2847  ·  view source on GitHub ↗

Opcode is #[repr(u16)], but the tuple variants negate that, so we have to do this instead.

(opcode: Opcode)

Source from the content-addressed store, hash-verified

2284
2285// Opcode is #[repr(u16)], but the tuple variants negate that, so we have to do this instead.
2286const fn opcode_to_u16(opcode: Opcode) -> u16 {
2287 match opcode {
2288 Opcode::Invalid => OPCODE_INVALID,
2289 Opcode::UDF => 0,
2290 Opcode::MOVN => 1,
2291 Opcode::MOVK => 2,
2292 Opcode::MOVZ => 3,
2293 Opcode::ADC => 4,
2294 Opcode::ADCS => 5,
2295 Opcode::SBC => 6,
2296 Opcode::SBCS => 7,
2297 Opcode::AND => 8,
2298 Opcode::ORR => 9,
2299 Opcode::ORN => 10,
2300 Opcode::EOR => 11,
2301 Opcode::EON => 12,
2302 Opcode::BIC => 13,
2303 Opcode::BICS => 14,
2304 Opcode::ANDS => 15,
2305 Opcode::ADDS => 16,
2306 Opcode::ADD => 17,
2307 Opcode::SUBS => 18,
2308 Opcode::SUB => 19,
2309 Opcode::BFM => 20,
2310 Opcode::UBFM => 21,
2311 Opcode::SBFM => 22,
2312 Opcode::ADR => 23,
2313 Opcode::ADRP => 24,
2314 Opcode::EXTR => 25,
2315 Opcode::LDAR => 26,
2316 Opcode::LDLAR => 27,
2317 Opcode::LDARB => 28,
2318 Opcode::LDLARB => 29,
2319 Opcode::LDAXRB => 30,
2320 Opcode::LDARH => 31,
2321 Opcode::LDLARH => 32,
2322 Opcode::LDAXP => 33,
2323 Opcode::LDAXR => 34,
2324 Opcode::LDAXRH => 35,
2325 Opcode::LDP => 36,
2326 Opcode::LDPSW => 37,
2327 Opcode::LDR => 38,
2328 Opcode::LDRB => 39,
2329 Opcode::LDRSB => 40,
2330 Opcode::LDRSW => 41,
2331 Opcode::LDRSH => 42,
2332 Opcode::LDRH => 43,
2333 Opcode::LDTR => 44,
2334 Opcode::LDTRB => 45,
2335 Opcode::LDTRH => 46,
2336 Opcode::LDTRSB => 47,
2337 Opcode::LDTRSH => 48,
2338 Opcode::LDTRSW => 49,
2339 Opcode::LDUR => 50,
2340 Opcode::LDURB => 51,
2341 Opcode::LDURSB => 52,
2342 Opcode::LDURSW => 53,
2343 Opcode::LDURSH => 54,

Callers 2

branch_destFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected