+ return ext >= 'A' && ext <= 'Z' && ((state.misa >> (ext - 'A')) & 1);
+ }
+ reg_t pc_alignment_mask() {
+ return ~(reg_t)(supports_extension('C') ? 0 : 2);
+ }
+ void check_pc_alignment(reg_t pc) {
+ if (unlikely(pc & ~pc_alignment_mask()))
+ throw trap_instruction_address_misaligned(pc);