riscv_test!(riscv_unoptimized_rv32ua_amoadd_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoadd_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amoadd_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoadd_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amoand_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoand_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amoand_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoand_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amomax_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomax_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amomax_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomax_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amomaxu_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomaxu_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amomaxu_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomaxu_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amomin_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomin_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amomin_w, "../../../guest-programs/riscv-tests/output/rv32ua/amomin_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amominu_w, "../../../guest-programs/riscv-tests/output/rv32ua/amominu_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amominu_w, "../../../guest-programs/riscv-tests/output/rv32ua/amominu_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amoor_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoor_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amoor_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoor_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amoswap_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoswap_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amoswap_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoswap_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ua_amoxor_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoxor_w.elf", S0, false);
riscv_test!(riscv_optimized_rv32ua_amoxor_w, "../../../guest-programs/riscv-tests/output/rv32ua/amoxor_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uc_rvc, "../../../guest-programs/riscv-tests/output/rv32uc/rvc.elf", A4, false);
riscv_test!(riscv_optimized_rv32uc_rvc, "../../../guest-programs/riscv-tests/output/rv32uc/rvc.elf", A4, true);
riscv_test!(riscv_unoptimized_rv32ui_add, "../../../guest-programs/riscv-tests/output/rv32ui/add.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_add, "../../../guest-programs/riscv-tests/output/rv32ui/add.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_addi, "../../../guest-programs/riscv-tests/output/rv32ui/addi.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_addi, "../../../guest-programs/riscv-tests/output/rv32ui/addi.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_and, "../../../guest-programs/riscv-tests/output/rv32ui/and.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_and, "../../../guest-programs/riscv-tests/output/rv32ui/and.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_andi, "../../../guest-programs/riscv-tests/output/rv32ui/andi.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_andi, "../../../guest-programs/riscv-tests/output/rv32ui/andi.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_beq, "../../../guest-programs/riscv-tests/output/rv32ui/beq.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_beq, "../../../guest-programs/riscv-tests/output/rv32ui/beq.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_bge, "../../../guest-programs/riscv-tests/output/rv32ui/bge.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_bge, "../../../guest-programs/riscv-tests/output/rv32ui/bge.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_bgeu, "../../../guest-programs/riscv-tests/output/rv32ui/bgeu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_bgeu, "../../../guest-programs/riscv-tests/output/rv32ui/bgeu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_blt, "../../../guest-programs/riscv-tests/output/rv32ui/blt.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_blt, "../../../guest-programs/riscv-tests/output/rv32ui/blt.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_bltu, "../../../guest-programs/riscv-tests/output/rv32ui/bltu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_bltu, "../../../guest-programs/riscv-tests/output/rv32ui/bltu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_bne, "../../../guest-programs/riscv-tests/output/rv32ui/bne.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_bne, "../../../guest-programs/riscv-tests/output/rv32ui/bne.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_jal, "../../../guest-programs/riscv-tests/output/rv32ui/jal.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_jal, "../../../guest-programs/riscv-tests/output/rv32ui/jal.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_jalr, "../../../guest-programs/riscv-tests/output/rv32ui/jalr.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_jalr, "../../../guest-programs/riscv-tests/output/rv32ui/jalr.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lb, "../../../guest-programs/riscv-tests/output/rv32ui/lb.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lb, "../../../guest-programs/riscv-tests/output/rv32ui/lb.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lbu, "../../../guest-programs/riscv-tests/output/rv32ui/lbu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lbu, "../../../guest-programs/riscv-tests/output/rv32ui/lbu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lh, "../../../guest-programs/riscv-tests/output/rv32ui/lh.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lh, "../../../guest-programs/riscv-tests/output/rv32ui/lh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lhu, "../../../guest-programs/riscv-tests/output/rv32ui/lhu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lhu, "../../../guest-programs/riscv-tests/output/rv32ui/lhu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lui, "../../../guest-programs/riscv-tests/output/rv32ui/lui.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lui, "../../../guest-programs/riscv-tests/output/rv32ui/lui.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_lw, "../../../guest-programs/riscv-tests/output/rv32ui/lw.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_lw, "../../../guest-programs/riscv-tests/output/rv32ui/lw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_ma_data, "../../../guest-programs/riscv-tests/output/rv32ui/ma_data.elf", A5, false);
riscv_test!(riscv_optimized_rv32ui_ma_data, "../../../guest-programs/riscv-tests/output/rv32ui/ma_data.elf", A5, true);
riscv_test!(riscv_unoptimized_rv32ui_or, "../../../guest-programs/riscv-tests/output/rv32ui/or.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_or, "../../../guest-programs/riscv-tests/output/rv32ui/or.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_ori, "../../../guest-programs/riscv-tests/output/rv32ui/ori.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_ori, "../../../guest-programs/riscv-tests/output/rv32ui/ori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sb, "../../../guest-programs/riscv-tests/output/rv32ui/sb.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sb, "../../../guest-programs/riscv-tests/output/rv32ui/sb.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sh, "../../../guest-programs/riscv-tests/output/rv32ui/sh.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sh, "../../../guest-programs/riscv-tests/output/rv32ui/sh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_simple, "../../../guest-programs/riscv-tests/output/rv32ui/simple.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_simple, "../../../guest-programs/riscv-tests/output/rv32ui/simple.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sll, "../../../guest-programs/riscv-tests/output/rv32ui/sll.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sll, "../../../guest-programs/riscv-tests/output/rv32ui/sll.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_slli, "../../../guest-programs/riscv-tests/output/rv32ui/slli.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_slli, "../../../guest-programs/riscv-tests/output/rv32ui/slli.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_slt, "../../../guest-programs/riscv-tests/output/rv32ui/slt.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_slt, "../../../guest-programs/riscv-tests/output/rv32ui/slt.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_slti, "../../../guest-programs/riscv-tests/output/rv32ui/slti.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_slti, "../../../guest-programs/riscv-tests/output/rv32ui/slti.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sltiu, "../../../guest-programs/riscv-tests/output/rv32ui/sltiu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sltiu, "../../../guest-programs/riscv-tests/output/rv32ui/sltiu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sltu, "../../../guest-programs/riscv-tests/output/rv32ui/sltu.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sltu, "../../../guest-programs/riscv-tests/output/rv32ui/sltu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sra, "../../../guest-programs/riscv-tests/output/rv32ui/sra.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sra, "../../../guest-programs/riscv-tests/output/rv32ui/sra.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_srai, "../../../guest-programs/riscv-tests/output/rv32ui/srai.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_srai, "../../../guest-programs/riscv-tests/output/rv32ui/srai.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_srl, "../../../guest-programs/riscv-tests/output/rv32ui/srl.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_srl, "../../../guest-programs/riscv-tests/output/rv32ui/srl.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_srli, "../../../guest-programs/riscv-tests/output/rv32ui/srli.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_srli, "../../../guest-programs/riscv-tests/output/rv32ui/srli.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sub, "../../../guest-programs/riscv-tests/output/rv32ui/sub.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sub, "../../../guest-programs/riscv-tests/output/rv32ui/sub.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_sw, "../../../guest-programs/riscv-tests/output/rv32ui/sw.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_sw, "../../../guest-programs/riscv-tests/output/rv32ui/sw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_xor, "../../../guest-programs/riscv-tests/output/rv32ui/xor.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_xor, "../../../guest-programs/riscv-tests/output/rv32ui/xor.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32ui_xori, "../../../guest-programs/riscv-tests/output/rv32ui/xori.elf", S0, false);
riscv_test!(riscv_optimized_rv32ui_xori, "../../../guest-programs/riscv-tests/output/rv32ui/xori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_div, "../../../guest-programs/riscv-tests/output/rv32um/div.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_div, "../../../guest-programs/riscv-tests/output/rv32um/div.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_divu, "../../../guest-programs/riscv-tests/output/rv32um/divu.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_divu, "../../../guest-programs/riscv-tests/output/rv32um/divu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_mul, "../../../guest-programs/riscv-tests/output/rv32um/mul.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_mul, "../../../guest-programs/riscv-tests/output/rv32um/mul.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_mulh, "../../../guest-programs/riscv-tests/output/rv32um/mulh.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_mulh, "../../../guest-programs/riscv-tests/output/rv32um/mulh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_mulhsu, "../../../guest-programs/riscv-tests/output/rv32um/mulhsu.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_mulhsu, "../../../guest-programs/riscv-tests/output/rv32um/mulhsu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_mulhu, "../../../guest-programs/riscv-tests/output/rv32um/mulhu.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_mulhu, "../../../guest-programs/riscv-tests/output/rv32um/mulhu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_rem, "../../../guest-programs/riscv-tests/output/rv32um/rem.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_rem, "../../../guest-programs/riscv-tests/output/rv32um/rem.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32um_remu, "../../../guest-programs/riscv-tests/output/rv32um/remu.elf", S0, false);
riscv_test!(riscv_optimized_rv32um_remu, "../../../guest-programs/riscv-tests/output/rv32um/remu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_andn, "../../../guest-programs/riscv-tests/output/rv32uzbb/andn.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_andn, "../../../guest-programs/riscv-tests/output/rv32uzbb/andn.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_clz, "../../../guest-programs/riscv-tests/output/rv32uzbb/clz.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_clz, "../../../guest-programs/riscv-tests/output/rv32uzbb/clz.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_cpop, "../../../guest-programs/riscv-tests/output/rv32uzbb/cpop.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_cpop, "../../../guest-programs/riscv-tests/output/rv32uzbb/cpop.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_ctz, "../../../guest-programs/riscv-tests/output/rv32uzbb/ctz.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_ctz, "../../../guest-programs/riscv-tests/output/rv32uzbb/ctz.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_max, "../../../guest-programs/riscv-tests/output/rv32uzbb/max.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_max, "../../../guest-programs/riscv-tests/output/rv32uzbb/max.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_maxu, "../../../guest-programs/riscv-tests/output/rv32uzbb/maxu.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_maxu, "../../../guest-programs/riscv-tests/output/rv32uzbb/maxu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_min, "../../../guest-programs/riscv-tests/output/rv32uzbb/min.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_min, "../../../guest-programs/riscv-tests/output/rv32uzbb/min.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_minu, "../../../guest-programs/riscv-tests/output/rv32uzbb/minu.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_minu, "../../../guest-programs/riscv-tests/output/rv32uzbb/minu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_orc_b, "../../../guest-programs/riscv-tests/output/rv32uzbb/orc_b.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_orc_b, "../../../guest-programs/riscv-tests/output/rv32uzbb/orc_b.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_orn, "../../../guest-programs/riscv-tests/output/rv32uzbb/orn.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_orn, "../../../guest-programs/riscv-tests/output/rv32uzbb/orn.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_rev8, "../../../guest-programs/riscv-tests/output/rv32uzbb/rev8.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_rev8, "../../../guest-programs/riscv-tests/output/rv32uzbb/rev8.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_rol, "../../../guest-programs/riscv-tests/output/rv32uzbb/rol.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_rol, "../../../guest-programs/riscv-tests/output/rv32uzbb/rol.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_ror, "../../../guest-programs/riscv-tests/output/rv32uzbb/ror.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_ror, "../../../guest-programs/riscv-tests/output/rv32uzbb/ror.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_rori, "../../../guest-programs/riscv-tests/output/rv32uzbb/rori.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_rori, "../../../guest-programs/riscv-tests/output/rv32uzbb/rori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_sext_b, "../../../guest-programs/riscv-tests/output/rv32uzbb/sext_b.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_sext_b, "../../../guest-programs/riscv-tests/output/rv32uzbb/sext_b.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_sext_h, "../../../guest-programs/riscv-tests/output/rv32uzbb/sext_h.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_sext_h, "../../../guest-programs/riscv-tests/output/rv32uzbb/sext_h.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_xnor, "../../../guest-programs/riscv-tests/output/rv32uzbb/xnor.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_xnor, "../../../guest-programs/riscv-tests/output/rv32uzbb/xnor.elf", S0, true);
riscv_test!(riscv_unoptimized_rv32uzbb_zext_h, "../../../guest-programs/riscv-tests/output/rv32uzbb/zext_h.elf", S0, false);
riscv_test!(riscv_optimized_rv32uzbb_zext_h, "../../../guest-programs/riscv-tests/output/rv32uzbb/zext_h.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoadd_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoadd_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoadd_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoadd_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoadd_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoadd_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoadd_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoadd_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoand_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoand_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoand_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoand_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoand_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoand_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoand_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoand_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomax_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomax_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomax_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomax_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomax_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomax_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomax_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomax_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomaxu_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomaxu_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomaxu_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomaxu_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomaxu_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomaxu_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomaxu_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomaxu_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomin_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomin_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomin_d, "../../../guest-programs/riscv-tests/output/rv64ua/amomin_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amomin_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomin_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amomin_w, "../../../guest-programs/riscv-tests/output/rv64ua/amomin_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amominu_d, "../../../guest-programs/riscv-tests/output/rv64ua/amominu_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amominu_d, "../../../guest-programs/riscv-tests/output/rv64ua/amominu_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amominu_w, "../../../guest-programs/riscv-tests/output/rv64ua/amominu_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amominu_w, "../../../guest-programs/riscv-tests/output/rv64ua/amominu_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoor_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoor_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoor_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoor_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoor_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoor_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoor_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoor_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoswap_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoswap_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoswap_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoswap_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoswap_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoswap_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoswap_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoswap_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoxor_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoxor_d.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoxor_d, "../../../guest-programs/riscv-tests/output/rv64ua/amoxor_d.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ua_amoxor_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoxor_w.elf", S0, false);
riscv_test!(riscv_optimized_rv64ua_amoxor_w, "../../../guest-programs/riscv-tests/output/rv64ua/amoxor_w.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uc_rvc, "../../../guest-programs/riscv-tests/output/rv64uc/rvc.elf", A4, false);
riscv_test!(riscv_optimized_rv64uc_rvc, "../../../guest-programs/riscv-tests/output/rv64uc/rvc.elf", A4, true);
riscv_test!(riscv_unoptimized_rv64ui_add, "../../../guest-programs/riscv-tests/output/rv64ui/add.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_add, "../../../guest-programs/riscv-tests/output/rv64ui/add.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_addi, "../../../guest-programs/riscv-tests/output/rv64ui/addi.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_addi, "../../../guest-programs/riscv-tests/output/rv64ui/addi.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_addiw, "../../../guest-programs/riscv-tests/output/rv64ui/addiw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_addiw, "../../../guest-programs/riscv-tests/output/rv64ui/addiw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_addw, "../../../guest-programs/riscv-tests/output/rv64ui/addw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_addw, "../../../guest-programs/riscv-tests/output/rv64ui/addw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_and, "../../../guest-programs/riscv-tests/output/rv64ui/and.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_and, "../../../guest-programs/riscv-tests/output/rv64ui/and.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_andi, "../../../guest-programs/riscv-tests/output/rv64ui/andi.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_andi, "../../../guest-programs/riscv-tests/output/rv64ui/andi.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_beq, "../../../guest-programs/riscv-tests/output/rv64ui/beq.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_beq, "../../../guest-programs/riscv-tests/output/rv64ui/beq.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_bge, "../../../guest-programs/riscv-tests/output/rv64ui/bge.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_bge, "../../../guest-programs/riscv-tests/output/rv64ui/bge.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_bgeu, "../../../guest-programs/riscv-tests/output/rv64ui/bgeu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_bgeu, "../../../guest-programs/riscv-tests/output/rv64ui/bgeu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_blt, "../../../guest-programs/riscv-tests/output/rv64ui/blt.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_blt, "../../../guest-programs/riscv-tests/output/rv64ui/blt.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_bltu, "../../../guest-programs/riscv-tests/output/rv64ui/bltu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_bltu, "../../../guest-programs/riscv-tests/output/rv64ui/bltu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_bne, "../../../guest-programs/riscv-tests/output/rv64ui/bne.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_bne, "../../../guest-programs/riscv-tests/output/rv64ui/bne.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_jal, "../../../guest-programs/riscv-tests/output/rv64ui/jal.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_jal, "../../../guest-programs/riscv-tests/output/rv64ui/jal.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_jalr, "../../../guest-programs/riscv-tests/output/rv64ui/jalr.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_jalr, "../../../guest-programs/riscv-tests/output/rv64ui/jalr.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lb, "../../../guest-programs/riscv-tests/output/rv64ui/lb.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lb, "../../../guest-programs/riscv-tests/output/rv64ui/lb.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lbu, "../../../guest-programs/riscv-tests/output/rv64ui/lbu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lbu, "../../../guest-programs/riscv-tests/output/rv64ui/lbu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_ld, "../../../guest-programs/riscv-tests/output/rv64ui/ld.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_ld, "../../../guest-programs/riscv-tests/output/rv64ui/ld.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lh, "../../../guest-programs/riscv-tests/output/rv64ui/lh.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lh, "../../../guest-programs/riscv-tests/output/rv64ui/lh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lhu, "../../../guest-programs/riscv-tests/output/rv64ui/lhu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lhu, "../../../guest-programs/riscv-tests/output/rv64ui/lhu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lui, "../../../guest-programs/riscv-tests/output/rv64ui/lui.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lui, "../../../guest-programs/riscv-tests/output/rv64ui/lui.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lw, "../../../guest-programs/riscv-tests/output/rv64ui/lw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lw, "../../../guest-programs/riscv-tests/output/rv64ui/lw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_lwu, "../../../guest-programs/riscv-tests/output/rv64ui/lwu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_lwu, "../../../guest-programs/riscv-tests/output/rv64ui/lwu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_ma_data, "../../../guest-programs/riscv-tests/output/rv64ui/ma_data.elf", A5, false);
riscv_test!(riscv_optimized_rv64ui_ma_data, "../../../guest-programs/riscv-tests/output/rv64ui/ma_data.elf", A5, true);
riscv_test!(riscv_unoptimized_rv64ui_or, "../../../guest-programs/riscv-tests/output/rv64ui/or.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_or, "../../../guest-programs/riscv-tests/output/rv64ui/or.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_ori, "../../../guest-programs/riscv-tests/output/rv64ui/ori.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_ori, "../../../guest-programs/riscv-tests/output/rv64ui/ori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sb, "../../../guest-programs/riscv-tests/output/rv64ui/sb.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sb, "../../../guest-programs/riscv-tests/output/rv64ui/sb.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sd, "../../../guest-programs/riscv-tests/output/rv64ui/sd.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sd, "../../../guest-programs/riscv-tests/output/rv64ui/sd.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sh, "../../../guest-programs/riscv-tests/output/rv64ui/sh.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sh, "../../../guest-programs/riscv-tests/output/rv64ui/sh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_simple, "../../../guest-programs/riscv-tests/output/rv64ui/simple.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_simple, "../../../guest-programs/riscv-tests/output/rv64ui/simple.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sll, "../../../guest-programs/riscv-tests/output/rv64ui/sll.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sll, "../../../guest-programs/riscv-tests/output/rv64ui/sll.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_slli, "../../../guest-programs/riscv-tests/output/rv64ui/slli.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_slli, "../../../guest-programs/riscv-tests/output/rv64ui/slli.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_slliw, "../../../guest-programs/riscv-tests/output/rv64ui/slliw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_slliw, "../../../guest-programs/riscv-tests/output/rv64ui/slliw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sllw, "../../../guest-programs/riscv-tests/output/rv64ui/sllw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sllw, "../../../guest-programs/riscv-tests/output/rv64ui/sllw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_slt, "../../../guest-programs/riscv-tests/output/rv64ui/slt.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_slt, "../../../guest-programs/riscv-tests/output/rv64ui/slt.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_slti, "../../../guest-programs/riscv-tests/output/rv64ui/slti.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_slti, "../../../guest-programs/riscv-tests/output/rv64ui/slti.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sltiu, "../../../guest-programs/riscv-tests/output/rv64ui/sltiu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sltiu, "../../../guest-programs/riscv-tests/output/rv64ui/sltiu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sltu, "../../../guest-programs/riscv-tests/output/rv64ui/sltu.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sltu, "../../../guest-programs/riscv-tests/output/rv64ui/sltu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sra, "../../../guest-programs/riscv-tests/output/rv64ui/sra.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sra, "../../../guest-programs/riscv-tests/output/rv64ui/sra.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_srai, "../../../guest-programs/riscv-tests/output/rv64ui/srai.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_srai, "../../../guest-programs/riscv-tests/output/rv64ui/srai.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sraiw, "../../../guest-programs/riscv-tests/output/rv64ui/sraiw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sraiw, "../../../guest-programs/riscv-tests/output/rv64ui/sraiw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sraw, "../../../guest-programs/riscv-tests/output/rv64ui/sraw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sraw, "../../../guest-programs/riscv-tests/output/rv64ui/sraw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_srl, "../../../guest-programs/riscv-tests/output/rv64ui/srl.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_srl, "../../../guest-programs/riscv-tests/output/rv64ui/srl.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_srli, "../../../guest-programs/riscv-tests/output/rv64ui/srli.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_srli, "../../../guest-programs/riscv-tests/output/rv64ui/srli.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_srliw, "../../../guest-programs/riscv-tests/output/rv64ui/srliw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_srliw, "../../../guest-programs/riscv-tests/output/rv64ui/srliw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_srlw, "../../../guest-programs/riscv-tests/output/rv64ui/srlw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_srlw, "../../../guest-programs/riscv-tests/output/rv64ui/srlw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sub, "../../../guest-programs/riscv-tests/output/rv64ui/sub.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sub, "../../../guest-programs/riscv-tests/output/rv64ui/sub.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_subw, "../../../guest-programs/riscv-tests/output/rv64ui/subw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_subw, "../../../guest-programs/riscv-tests/output/rv64ui/subw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_sw, "../../../guest-programs/riscv-tests/output/rv64ui/sw.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_sw, "../../../guest-programs/riscv-tests/output/rv64ui/sw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_xor, "../../../guest-programs/riscv-tests/output/rv64ui/xor.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_xor, "../../../guest-programs/riscv-tests/output/rv64ui/xor.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64ui_xori, "../../../guest-programs/riscv-tests/output/rv64ui/xori.elf", S0, false);
riscv_test!(riscv_optimized_rv64ui_xori, "../../../guest-programs/riscv-tests/output/rv64ui/xori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_div, "../../../guest-programs/riscv-tests/output/rv64um/div.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_div, "../../../guest-programs/riscv-tests/output/rv64um/div.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_divu, "../../../guest-programs/riscv-tests/output/rv64um/divu.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_divu, "../../../guest-programs/riscv-tests/output/rv64um/divu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_divuw, "../../../guest-programs/riscv-tests/output/rv64um/divuw.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_divuw, "../../../guest-programs/riscv-tests/output/rv64um/divuw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_divw, "../../../guest-programs/riscv-tests/output/rv64um/divw.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_divw, "../../../guest-programs/riscv-tests/output/rv64um/divw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_mul, "../../../guest-programs/riscv-tests/output/rv64um/mul.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_mul, "../../../guest-programs/riscv-tests/output/rv64um/mul.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_mulh, "../../../guest-programs/riscv-tests/output/rv64um/mulh.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_mulh, "../../../guest-programs/riscv-tests/output/rv64um/mulh.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_mulhsu, "../../../guest-programs/riscv-tests/output/rv64um/mulhsu.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_mulhsu, "../../../guest-programs/riscv-tests/output/rv64um/mulhsu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_mulhu, "../../../guest-programs/riscv-tests/output/rv64um/mulhu.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_mulhu, "../../../guest-programs/riscv-tests/output/rv64um/mulhu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_mulw, "../../../guest-programs/riscv-tests/output/rv64um/mulw.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_mulw, "../../../guest-programs/riscv-tests/output/rv64um/mulw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_rem, "../../../guest-programs/riscv-tests/output/rv64um/rem.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_rem, "../../../guest-programs/riscv-tests/output/rv64um/rem.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_remu, "../../../guest-programs/riscv-tests/output/rv64um/remu.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_remu, "../../../guest-programs/riscv-tests/output/rv64um/remu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_remuw, "../../../guest-programs/riscv-tests/output/rv64um/remuw.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_remuw, "../../../guest-programs/riscv-tests/output/rv64um/remuw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64um_remw, "../../../guest-programs/riscv-tests/output/rv64um/remw.elf", S0, false);
riscv_test!(riscv_optimized_rv64um_remw, "../../../guest-programs/riscv-tests/output/rv64um/remw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_andn, "../../../guest-programs/riscv-tests/output/rv64uzbb/andn.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_andn, "../../../guest-programs/riscv-tests/output/rv64uzbb/andn.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_clz, "../../../guest-programs/riscv-tests/output/rv64uzbb/clz.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_clz, "../../../guest-programs/riscv-tests/output/rv64uzbb/clz.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_clzw, "../../../guest-programs/riscv-tests/output/rv64uzbb/clzw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_clzw, "../../../guest-programs/riscv-tests/output/rv64uzbb/clzw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_cpop, "../../../guest-programs/riscv-tests/output/rv64uzbb/cpop.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_cpop, "../../../guest-programs/riscv-tests/output/rv64uzbb/cpop.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_cpopw, "../../../guest-programs/riscv-tests/output/rv64uzbb/cpopw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_cpopw, "../../../guest-programs/riscv-tests/output/rv64uzbb/cpopw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_ctz, "../../../guest-programs/riscv-tests/output/rv64uzbb/ctz.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_ctz, "../../../guest-programs/riscv-tests/output/rv64uzbb/ctz.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_ctzw, "../../../guest-programs/riscv-tests/output/rv64uzbb/ctzw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_ctzw, "../../../guest-programs/riscv-tests/output/rv64uzbb/ctzw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_max, "../../../guest-programs/riscv-tests/output/rv64uzbb/max.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_max, "../../../guest-programs/riscv-tests/output/rv64uzbb/max.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_maxu, "../../../guest-programs/riscv-tests/output/rv64uzbb/maxu.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_maxu, "../../../guest-programs/riscv-tests/output/rv64uzbb/maxu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_min, "../../../guest-programs/riscv-tests/output/rv64uzbb/min.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_min, "../../../guest-programs/riscv-tests/output/rv64uzbb/min.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_minu, "../../../guest-programs/riscv-tests/output/rv64uzbb/minu.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_minu, "../../../guest-programs/riscv-tests/output/rv64uzbb/minu.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_orc_b, "../../../guest-programs/riscv-tests/output/rv64uzbb/orc_b.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_orc_b, "../../../guest-programs/riscv-tests/output/rv64uzbb/orc_b.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_orn, "../../../guest-programs/riscv-tests/output/rv64uzbb/orn.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_orn, "../../../guest-programs/riscv-tests/output/rv64uzbb/orn.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_rev8, "../../../guest-programs/riscv-tests/output/rv64uzbb/rev8.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_rev8, "../../../guest-programs/riscv-tests/output/rv64uzbb/rev8.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_rol, "../../../guest-programs/riscv-tests/output/rv64uzbb/rol.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_rol, "../../../guest-programs/riscv-tests/output/rv64uzbb/rol.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_rolw, "../../../guest-programs/riscv-tests/output/rv64uzbb/rolw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_rolw, "../../../guest-programs/riscv-tests/output/rv64uzbb/rolw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_ror, "../../../guest-programs/riscv-tests/output/rv64uzbb/ror.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_ror, "../../../guest-programs/riscv-tests/output/rv64uzbb/ror.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_rori, "../../../guest-programs/riscv-tests/output/rv64uzbb/rori.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_rori, "../../../guest-programs/riscv-tests/output/rv64uzbb/rori.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_roriw, "../../../guest-programs/riscv-tests/output/rv64uzbb/roriw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_roriw, "../../../guest-programs/riscv-tests/output/rv64uzbb/roriw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_rorw, "../../../guest-programs/riscv-tests/output/rv64uzbb/rorw.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_rorw, "../../../guest-programs/riscv-tests/output/rv64uzbb/rorw.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_sext_b, "../../../guest-programs/riscv-tests/output/rv64uzbb/sext_b.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_sext_b, "../../../guest-programs/riscv-tests/output/rv64uzbb/sext_b.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_sext_h, "../../../guest-programs/riscv-tests/output/rv64uzbb/sext_h.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_sext_h, "../../../guest-programs/riscv-tests/output/rv64uzbb/sext_h.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_xnor, "../../../guest-programs/riscv-tests/output/rv64uzbb/xnor.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_xnor, "../../../guest-programs/riscv-tests/output/rv64uzbb/xnor.elf", S0, true);
riscv_test!(riscv_unoptimized_rv64uzbb_zext_h, "../../../guest-programs/riscv-tests/output/rv64uzbb/zext_h.elf", S0, false);
riscv_test!(riscv_optimized_rv64uzbb_zext_h, "../../../guest-programs/riscv-tests/output/rv64uzbb/zext_h.elf", S0, true);