1*61046927SAndroid Build Coastguard Worker /* 2*61046927SAndroid Build Coastguard Worker * Copyright © 2024 Igalia S.L. 3*61046927SAndroid Build Coastguard Worker * SPDX-License-Identifier: MIT 4*61046927SAndroid Build Coastguard Worker */ 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Worker #include "asm.h" 7*61046927SAndroid Build Coastguard Worker #include "isa.h" 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Worker struct encode_state { 10*61046927SAndroid Build Coastguard Worker }; 11*61046927SAndroid Build Coastguard Worker 12*61046927SAndroid Build Coastguard Worker static inline enum isa_opc __instruction_case(struct encode_state * s,const struct etna_inst * instr)13*61046927SAndroid Build Coastguard Worker__instruction_case(struct encode_state *s, const struct etna_inst *instr) 14*61046927SAndroid Build Coastguard Worker { 15*61046927SAndroid Build Coastguard Worker return instr->opcode; 16*61046927SAndroid Build Coastguard Worker } 17*61046927SAndroid Build Coastguard Worker 18*61046927SAndroid Build Coastguard Worker #include "encode.h" 19*61046927SAndroid Build Coastguard Worker isa_assemble_instruction(uint32_t * out,const struct etna_inst * instr)20*61046927SAndroid Build Coastguard Workervoid isa_assemble_instruction(uint32_t *out, const struct etna_inst *instr) 21*61046927SAndroid Build Coastguard Worker { 22*61046927SAndroid Build Coastguard Worker bitmask_t encoded = encode__instruction(NULL, NULL, instr); 23*61046927SAndroid Build Coastguard Worker 24*61046927SAndroid Build Coastguard Worker store_instruction(out, encoded); 25*61046927SAndroid Build Coastguard Worker } 26