# SPDX-License-Identifier: GPL-3.0-or-later schema: rcc-target-description-v2 target: namespace: riscv name: RISCV triple: riscv64-unknown-linux-gnu cpu: generic-rv64gc abi: lp64d data_layout: e-m:e-p:64:64-i64:64-i128:128-n32:64-S128 features: [i, m, a, f, d, c, zicsr, zifencei] register_units: - { id: 1, symbol: U_X0, name: x0.unit } - { id: 2, symbol: U_X1, name: x1.unit } - { id: 3, symbol: U_X2, name: x2.unit } - { id: 4, symbol: U_X3, name: x3.unit } - { id: 5, symbol: U_X4, name: x4.unit } - { id: 6, symbol: U_X5, name: x5.unit } - { id: 7, symbol: U_X6, name: x6.unit } - { id: 8, symbol: U_X7, name: x7.unit } - { id: 9, symbol: U_X8, name: x8.unit } - { id: 10, symbol: U_X9, name: x9.unit } - { id: 11, symbol: U_X10, name: x10.unit } - { id: 12, symbol: U_X11, name: x11.unit } - { id: 13, symbol: U_X12, name: x12.unit } - { id: 14, symbol: U_X13, name: x13.unit } - { id: 15, symbol: U_X14, name: x14.unit } - { id: 16, symbol: U_X15, name: x15.unit } - { id: 17, symbol: U_X16, name: x16.unit } - { id: 18, symbol: U_X17, name: x17.unit } - { id: 19, symbol: U_X18, name: x18.unit } - { id: 20, symbol: U_X19, name: x19.unit } - { id: 21, symbol: U_X20, name: x20.unit } - { id: 22, symbol: U_X21, name: x21.unit } - { id: 23, symbol: U_X22, name: x22.unit } - { id: 24, symbol: U_X23, name: x23.unit } - { id: 25, symbol: U_X24, name: x24.unit } - { id: 26, symbol: U_X25, name: x25.unit } - { id: 27, symbol: U_X26, name: x26.unit } - { id: 28, symbol: U_X27, name: x27.unit } - { id: 29, symbol: U_X28, name: x28.unit } - { id: 30, symbol: U_X29, name: x29.unit } - { id: 31, symbol: U_X30, name: x30.unit } - { id: 32, symbol: U_X31, name: x31.unit } - { id: 33, symbol: U_F0, name: f0.unit } - { id: 34, symbol: U_F1, name: f1.unit } - { id: 35, symbol: U_F2, name: f2.unit } - { id: 36, symbol: U_F3, name: f3.unit } - { id: 37, symbol: U_F4, name: f4.unit } - { id: 38, symbol: U_F5, name: f5.unit } - { id: 39, symbol: U_F6, name: f6.unit } - { id: 40, symbol: U_F7, name: f7.unit } - { id: 41, symbol: U_F8, name: f8.unit } - { id: 42, symbol: U_F9, name: f9.unit } - { id: 43, symbol: U_F10, name: f10.unit } - { id: 44, symbol: U_F11, name: f11.unit } - { id: 45, symbol: U_F12, name: f12.unit } - { id: 46, symbol: U_F13, name: f13.unit } - { id: 47, symbol: U_F14, name: f14.unit } - { id: 48, symbol: U_F15, name: f15.unit } - { id: 49, symbol: U_F16, name: f16.unit } - { id: 50, symbol: U_F17, name: f17.unit } - { id: 51, symbol: U_F18, name: f18.unit } - { id: 52, symbol: U_F19, name: f19.unit } - { id: 53, symbol: U_F20, name: f20.unit } - { id: 54, symbol: U_F21, name: f21.unit } - { id: 55, symbol: U_F22, name: f22.unit } - { id: 56, symbol: U_F23, name: f23.unit } - { id: 57, symbol: U_F24, name: f24.unit } - { id: 58, symbol: U_F25, name: f25.unit } - { id: 59, symbol: U_F26, name: f26.unit } - { id: 60, symbol: U_F27, name: f27.unit } - { id: 61, symbol: U_F28, name: f28.unit } - { id: 62, symbol: U_F29, name: f29.unit } - { id: 63, symbol: U_F30, name: f30.unit } - { id: 64, symbol: U_F31, name: f31.unit } - { id: 65, symbol: U_FFLAGS, name: fflags.unit } - { id: 66, symbol: U_FRM, name: frm.unit } registers: - { id: 1, symbol: X0, name: x0, encoding: 0, dwarf_register: 0, units: [{ unit: U_X0, lanes: 1 }], constant: true, reserved: true, aliases: [zero] } - { id: 2, symbol: X1, name: x1, encoding: 1, dwarf_register: 1, units: [{ unit: U_X1, lanes: 1 }], aliases: [ra] } - { id: 3, symbol: X2, name: x2, encoding: 2, dwarf_register: 2, units: [{ unit: U_X2, lanes: 1 }], reserved: true, aliases: [sp] } - { id: 4, symbol: X3, name: x3, encoding: 3, dwarf_register: 3, units: [{ unit: U_X3, lanes: 1 }], reserved: true, aliases: [gp] } - { id: 5, symbol: X4, name: x4, encoding: 4, dwarf_register: 4, units: [{ unit: U_X4, lanes: 1 }], reserved: true, aliases: [tp] } - { id: 6, symbol: X5, name: x5, encoding: 5, dwarf_register: 5, units: [{ unit: U_X5, lanes: 1 }], aliases: [t0] } - { id: 7, symbol: X6, name: x6, encoding: 6, dwarf_register: 6, units: [{ unit: U_X6, lanes: 1 }], aliases: [t1] } - { id: 8, symbol: X7, name: x7, encoding: 7, dwarf_register: 7, units: [{ unit: U_X7, lanes: 1 }], aliases: [t2] } - { id: 9, symbol: X8, name: x8, encoding: 8, dwarf_register: 8, units: [{ unit: U_X8, lanes: 1 }], aliases: [s0, fp] } - { id: 10, symbol: X9, name: x9, encoding: 9, dwarf_register: 9, units: [{ unit: U_X9, lanes: 1 }], aliases: [s1] } - { id: 11, symbol: X10, name: x10, encoding: 10, dwarf_register: 10, units: [{ unit: U_X10, lanes: 1 }], aliases: [a0] } - { id: 12, symbol: X11, name: x11, encoding: 11, dwarf_register: 11, units: [{ unit: U_X11, lanes: 1 }], aliases: [a1] } - { id: 13, symbol: X12, name: x12, encoding: 12, dwarf_register: 12, units: [{ unit: U_X12, lanes: 1 }], aliases: [a2] } - { id: 14, symbol: X13, name: x13, encoding: 13, dwarf_register: 13, units: [{ unit: U_X13, lanes: 1 }], aliases: [a3] } - { id: 15, symbol: X14, name: x14, encoding: 14, dwarf_register: 14, units: [{ unit: U_X14, lanes: 1 }], aliases: [a4] } - { id: 16, symbol: X15, name: x15, encoding: 15, dwarf_register: 15, units: [{ unit: U_X15, lanes: 1 }], aliases: [a5] } - { id: 17, symbol: X16, name: x16, encoding: 16, dwarf_register: 16, units: [{ unit: U_X16, lanes: 1 }], aliases: [a6] } - { id: 18, symbol: X17, name: x17, encoding: 17, dwarf_register: 17, units: [{ unit: U_X17, lanes: 1 }], aliases: [a7] } - { id: 19, symbol: X18, name: x18, encoding: 18, dwarf_register: 18, units: [{ unit: U_X18, lanes: 1 }], aliases: [s2] } - { id: 20, symbol: X19, name: x19, encoding: 19, dwarf_register: 19, units: [{ unit: U_X19, lanes: 1 }], aliases: [s3] } - { id: 21, symbol: X20, name: x20, encoding: 20, dwarf_register: 20, units: [{ unit: U_X20, lanes: 1 }], aliases: [s4] } - { id: 22, symbol: X21, name: x21, encoding: 21, dwarf_register: 21, units: [{ unit: U_X21, lanes: 1 }], aliases: [s5] } - { id: 23, symbol: X22, name: x22, encoding: 22, dwarf_register: 22, units: [{ unit: U_X22, lanes: 1 }], aliases: [s6] } - { id: 24, symbol: X23, name: x23, encoding: 23, dwarf_register: 23, units: [{ unit: U_X23, lanes: 1 }], aliases: [s7] } - { id: 25, symbol: X24, name: x24, encoding: 24, dwarf_register: 24, units: [{ unit: U_X24, lanes: 1 }], aliases: [s8] } - { id: 26, symbol: X25, name: x25, encoding: 25, dwarf_register: 25, units: [{ unit: U_X25, lanes: 1 }], aliases: [s9] } - { id: 27, symbol: X26, name: x26, encoding: 26, dwarf_register: 26, units: [{ unit: U_X26, lanes: 1 }], aliases: [s10] } - { id: 28, symbol: X27, name: x27, encoding: 27, dwarf_register: 27, units: [{ unit: U_X27, lanes: 1 }], aliases: [s11] } - { id: 29, symbol: X28, name: x28, encoding: 28, dwarf_register: 28, units: [{ unit: U_X28, lanes: 1 }], aliases: [t3] } - { id: 30, symbol: X29, name: x29, encoding: 29, dwarf_register: 29, units: [{ unit: U_X29, lanes: 1 }], aliases: [t4] } - { id: 31, symbol: X30, name: x30, encoding: 30, dwarf_register: 30, units: [{ unit: U_X30, lanes: 1 }], aliases: [t5] } - { id: 32, symbol: X31, name: x31, encoding: 31, dwarf_register: 31, units: [{ unit: U_X31, lanes: 1 }], aliases: [t6] } - { id: 33, symbol: F0_D, name: f0_d, encoding: 0, dwarf_register: 32, units: [{ unit: U_F0, lanes: 1 }], aliases: [ft0] } - { id: 34, symbol: F1_D, name: f1_d, encoding: 1, dwarf_register: 33, units: [{ unit: U_F1, lanes: 1 }], aliases: [ft1] } - { id: 35, symbol: F2_D, name: f2_d, encoding: 2, dwarf_register: 34, units: [{ unit: U_F2, lanes: 1 }], aliases: [ft2] } - { id: 36, symbol: F3_D, name: f3_d, encoding: 3, dwarf_register: 35, units: [{ unit: U_F3, lanes: 1 }], aliases: [ft3] } - { id: 37, symbol: F4_D, name: f4_d, encoding: 4, dwarf_register: 36, units: [{ unit: U_F4, lanes: 1 }], aliases: [ft4] } - { id: 38, symbol: F5_D, name: f5_d, encoding: 5, dwarf_register: 37, units: [{ unit: U_F5, lanes: 1 }], aliases: [ft5] } - { id: 39, symbol: F6_D, name: f6_d, encoding: 6, dwarf_register: 38, units: [{ unit: U_F6, lanes: 1 }], aliases: [ft6] } - { id: 40, symbol: F7_D, name: f7_d, encoding: 7, dwarf_register: 39, units: [{ unit: U_F7, lanes: 1 }], aliases: [ft7] } - { id: 41, symbol: F8_D, name: f8_d, encoding: 8, dwarf_register: 40, units: [{ unit: U_F8, lanes: 1 }], aliases: [fs0] } - { id: 42, symbol: F9_D, name: f9_d, encoding: 9, dwarf_register: 41, units: [{ unit: U_F9, lanes: 1 }], aliases: [fs1] } - { id: 43, symbol: F10_D, name: f10_d, encoding: 10, dwarf_register: 42, units: [{ unit: U_F10, lanes: 1 }], aliases: [fa0] } - { id: 44, symbol: F11_D, name: f11_d, encoding: 11, dwarf_register: 43, units: [{ unit: U_F11, lanes: 1 }], aliases: [fa1] } - { id: 45, symbol: F12_D, name: f12_d, encoding: 12, dwarf_register: 44, units: [{ unit: U_F12, lanes: 1 }], aliases: [fa2] } - { id: 46, symbol: F13_D, name: f13_d, encoding: 13, dwarf_register: 45, units: [{ unit: U_F13, lanes: 1 }], aliases: [fa3] } - { id: 47, symbol: F14_D, name: f14_d, encoding: 14, dwarf_register: 46, units: [{ unit: U_F14, lanes: 1 }], aliases: [fa4] } - { id: 48, symbol: F15_D, name: f15_d, encoding: 15, dwarf_register: 47, units: [{ unit: U_F15, lanes: 1 }], aliases: [fa5] } - { id: 49, symbol: F16_D, name: f16_d, encoding: 16, dwarf_register: 48, units: [{ unit: U_F16, lanes: 1 }], aliases: [fa6] } - { id: 50, symbol: F17_D, name: f17_d, encoding: 17, dwarf_register: 49, units: [{ unit: U_F17, lanes: 1 }], aliases: [fa7] } - { id: 51, symbol: F18_D, name: f18_d, encoding: 18, dwarf_register: 50, units: [{ unit: U_F18, lanes: 1 }], aliases: [fs2] } - { id: 52, symbol: F19_D, name: f19_d, encoding: 19, dwarf_register: 51, units: [{ unit: U_F19, lanes: 1 }], aliases: [fs3] } - { id: 53, symbol: F20_D, name: f20_d, encoding: 20, dwarf_register: 52, units: [{ unit: U_F20, lanes: 1 }], aliases: [fs4] } - { id: 54, symbol: F21_D, name: f21_d, encoding: 21, dwarf_register: 53, units: [{ unit: U_F21, lanes: 1 }], aliases: [fs5] } - { id: 55, symbol: F22_D, name: f22_d, encoding: 22, dwarf_register: 54, units: [{ unit: U_F22, lanes: 1 }], aliases: [fs6] } - { id: 56, symbol: F23_D, name: f23_d, encoding: 23, dwarf_register: 55, units: [{ unit: U_F23, lanes: 1 }], aliases: [fs7] } - { id: 57, symbol: F24_D, name: f24_d, encoding: 24, dwarf_register: 56, units: [{ unit: U_F24, lanes: 1 }], aliases: [fs8] } - { id: 58, symbol: F25_D, name: f25_d, encoding: 25, dwarf_register: 57, units: [{ unit: U_F25, lanes: 1 }], aliases: [fs9] } - { id: 59, symbol: F26_D, name: f26_d, encoding: 26, dwarf_register: 58, units: [{ unit: U_F26, lanes: 1 }], aliases: [fs10] } - { id: 60, symbol: F27_D, name: f27_d, encoding: 27, dwarf_register: 59, units: [{ unit: U_F27, lanes: 1 }], aliases: [fs11] } - { id: 61, symbol: F28_D, name: f28_d, encoding: 28, dwarf_register: 60, units: [{ unit: U_F28, lanes: 1 }], aliases: [ft8] } - { id: 62, symbol: F29_D, name: f29_d, encoding: 29, dwarf_register: 61, units: [{ unit: U_F29, lanes: 1 }], aliases: [ft9] } - { id: 63, symbol: F30_D, name: f30_d, encoding: 30, dwarf_register: 62, units: [{ unit: U_F30, lanes: 1 }], aliases: [ft10] } - { id: 64, symbol: F31_D, name: f31_d, encoding: 31, dwarf_register: 63, units: [{ unit: U_F31, lanes: 1 }], aliases: [ft11] } - { id: 65, symbol: F0_F, name: f0_f, encoding: 0, dwarf_register: 32, units: [{ unit: U_F0, lanes: 1 }] } - { id: 66, symbol: F1_F, name: f1_f, encoding: 1, dwarf_register: 33, units: [{ unit: U_F1, lanes: 1 }] } - { id: 67, symbol: F2_F, name: f2_f, encoding: 2, dwarf_register: 34, units: [{ unit: U_F2, lanes: 1 }] } - { id: 68, symbol: F3_F, name: f3_f, encoding: 3, dwarf_register: 35, units: [{ unit: U_F3, lanes: 1 }] } - { id: 69, symbol: F4_F, name: f4_f, encoding: 4, dwarf_register: 36, units: [{ unit: U_F4, lanes: 1 }] } - { id: 70, symbol: F5_F, name: f5_f, encoding: 5, dwarf_register: 37, units: [{ unit: U_F5, lanes: 1 }] } - { id: 71, symbol: F6_F, name: f6_f, encoding: 6, dwarf_register: 38, units: [{ unit: U_F6, lanes: 1 }] } - { id: 72, symbol: F7_F, name: f7_f, encoding: 7, dwarf_register: 39, units: [{ unit: U_F7, lanes: 1 }] } - { id: 73, symbol: F8_F, name: f8_f, encoding: 8, dwarf_register: 40, units: [{ unit: U_F8, lanes: 1 }] } - { id: 74, symbol: F9_F, name: f9_f, encoding: 9, dwarf_register: 41, units: [{ unit: U_F9, lanes: 1 }] } - { id: 75, symbol: F10_F, name: f10_f, encoding: 10, dwarf_register: 42, units: [{ unit: U_F10, lanes: 1 }] } - { id: 76, symbol: F11_F, name: f11_f, encoding: 11, dwarf_register: 43, units: [{ unit: U_F11, lanes: 1 }] } - { id: 77, symbol: F12_F, name: f12_f, encoding: 12, dwarf_register: 44, units: [{ unit: U_F12, lanes: 1 }] } - { id: 78, symbol: F13_F, name: f13_f, encoding: 13, dwarf_register: 45, units: [{ unit: U_F13, lanes: 1 }] } - { id: 79, symbol: F14_F, name: f14_f, encoding: 14, dwarf_register: 46, units: [{ unit: U_F14, lanes: 1 }] } - { id: 80, symbol: F15_F, name: f15_f, encoding: 15, dwarf_register: 47, units: [{ unit: U_F15, lanes: 1 }] } - { id: 81, symbol: F16_F, name: f16_f, encoding: 16, dwarf_register: 48, units: [{ unit: U_F16, lanes: 1 }] } - { id: 82, symbol: F17_F, name: f17_f, encoding: 17, dwarf_register: 49, units: [{ unit: U_F17, lanes: 1 }] } - { id: 83, symbol: F18_F, name: f18_f, encoding: 18, dwarf_register: 50, units: [{ unit: U_F18, lanes: 1 }] } - { id: 84, symbol: F19_F, name: f19_f, encoding: 19, dwarf_register: 51, units: [{ unit: U_F19, lanes: 1 }] } - { id: 85, symbol: F20_F, name: f20_f, encoding: 20, dwarf_register: 52, units: [{ unit: U_F20, lanes: 1 }] } - { id: 86, symbol: F21_F, name: f21_f, encoding: 21, dwarf_register: 53, units: [{ unit: U_F21, lanes: 1 }] } - { id: 87, symbol: F22_F, name: f22_f, encoding: 22, dwarf_register: 54, units: [{ unit: U_F22, lanes: 1 }] } - { id: 88, symbol: F23_F, name: f23_f, encoding: 23, dwarf_register: 55, units: [{ unit: U_F23, lanes: 1 }] } - { id: 89, symbol: F24_F, name: f24_f, encoding: 24, dwarf_register: 56, units: [{ unit: U_F24, lanes: 1 }] } - { id: 90, symbol: F25_F, name: f25_f, encoding: 25, dwarf_register: 57, units: [{ unit: U_F25, lanes: 1 }] } - { id: 91, symbol: F26_F, name: f26_f, encoding: 26, dwarf_register: 58, units: [{ unit: U_F26, lanes: 1 }] } - { id: 92, symbol: F27_F, name: f27_f, encoding: 27, dwarf_register: 59, units: [{ unit: U_F27, lanes: 1 }] } - { id: 93, symbol: F28_F, name: f28_f, encoding: 28, dwarf_register: 60, units: [{ unit: U_F28, lanes: 1 }] } - { id: 94, symbol: F29_F, name: f29_f, encoding: 29, dwarf_register: 61, units: [{ unit: U_F29, lanes: 1 }] } - { id: 95, symbol: F30_F, name: f30_f, encoding: 30, dwarf_register: 62, units: [{ unit: U_F30, lanes: 1 }] } - { id: 96, symbol: F31_F, name: f31_f, encoding: 31, dwarf_register: 63, units: [{ unit: U_F31, lanes: 1 }] } - { id: 97, symbol: FFLAGS, name: fflags, encoding: 0, dwarf_register: 65, units: [{ unit: U_FFLAGS, lanes: 1 }], artificial: true, reserved: true } - { id: 98, symbol: FRM, name: frm, encoding: 0, dwarf_register: 66, units: [{ unit: U_FRM, lanes: 1 }], artificial: true, reserved: true } register_banks: - { id: 1, symbol: GPR, name: GPRB, maximum_size_bits: 64 } - { id: 2, symbol: FPR, name: FPRB, maximum_size_bits: 64 } - { id: 3, symbol: CSR, name: CSRB, maximum_size_bits: 32 } register_classes: - id: 1 symbol: GPR name: GPR bank: GPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X28, X29, X30, X31] allocation_order: [X5, X6, X7, X28, X29, X30, X31, X10, X11, X12, X13, X14, X15, X16, X17, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X1] - id: 2 symbol: GPRC name: GPRC bank: GPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [X8, X9, X10, X11, X12, X13, X14, X15] allocation_order: [X10, X11, X12, X13, X14, X15, X8, X9] - id: 3 symbol: FPR64 name: FPR64 bank: FPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [F0_D, F1_D, F2_D, F3_D, F4_D, F5_D, F6_D, F7_D, F8_D, F9_D, F10_D, F11_D, F12_D, F13_D, F14_D, F15_D, F16_D, F17_D, F18_D, F19_D, F20_D, F21_D, F22_D, F23_D, F24_D, F25_D, F26_D, F27_D, F28_D, F29_D, F30_D, F31_D] allocation_order: [F10_D, F11_D, F12_D, F13_D, F14_D, F15_D, F16_D, F17_D, F0_D, F1_D, F2_D, F3_D, F4_D, F5_D, F6_D, F7_D, F28_D, F29_D, F30_D, F31_D, F8_D, F9_D, F18_D, F19_D, F20_D, F21_D, F22_D, F23_D, F24_D, F25_D, F26_D, F27_D] - id: 4 symbol: FPR64C name: FPR64C bank: FPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [F8_D, F9_D, F10_D, F11_D, F12_D, F13_D, F14_D, F15_D] allocation_order: [F10_D, F11_D, F12_D, F13_D, F14_D, F15_D, F8_D, F9_D] - id: 5 symbol: FPR32 name: FPR32 bank: FPR size_bits: 32 spill_size_bits: 32 spill_alignment_bits: 32 lanes: 1 registers: [F0_F, F1_F, F2_F, F3_F, F4_F, F5_F, F6_F, F7_F, F8_F, F9_F, F10_F, F11_F, F12_F, F13_F, F14_F, F15_F, F16_F, F17_F, F18_F, F19_F, F20_F, F21_F, F22_F, F23_F, F24_F, F25_F, F26_F, F27_F, F28_F, F29_F, F30_F, F31_F] allocation_order: [F10_F, F11_F, F12_F, F13_F, F14_F, F15_F, F16_F, F17_F, F0_F, F1_F, F2_F, F3_F, F4_F, F5_F, F6_F, F7_F, F28_F, F29_F, F30_F, F31_F, F8_F, F9_F, F18_F, F19_F, F20_F, F21_F, F22_F, F23_F, F24_F, F25_F, F26_F, F27_F] - id: 6 symbol: FPR32C name: FPR32C bank: FPR size_bits: 32 spill_size_bits: 32 spill_alignment_bits: 32 lanes: 1 registers: [F8_F, F9_F, F10_F, F11_F, F12_F, F13_F, F14_F, F15_F] allocation_order: [F10_F, F11_F, F12_F, F13_F, F14_F, F15_F, F8_F, F9_F] - id: 7 symbol: GPR_NX0 name: GPR_NX0 bank: GPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X28, X29, X30, X31] allocation_order: [X5, X6, X7, X28, X29, X30, X31, X10, X11, X12, X13, X14, X15, X16, X17, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X1] - id: 8 symbol: GPR_NX0_NX2 name: GPR_NX0_NX2 bank: GPR size_bits: 64 spill_size_bits: 64 spill_alignment_bits: 64 lanes: 1 registers: [X1, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14, X15, X16, X17, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X28, X29, X30, X31] allocation_order: [X5, X6, X7, X28, X29, X30, X31, X10, X11, X12, X13, X14, X15, X16, X17, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, X1] - id: 9 symbol: FFLAGS name: FFLAGS bank: CSR size_bits: 32 spill_size_bits: 32 spill_alignment_bits: 32 lanes: 1 registers: [FFLAGS] allocation_order: [] allocatable: false - id: 10 symbol: FRM name: FRM bank: CSR size_bits: 32 spill_size_bits: 32 spill_alignment_bits: 32 lanes: 1 registers: [FRM] allocation_order: [] allocatable: false register_masks: - name: CSR_ILP32_LP64 preserved: [X1, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27] - name: CSR_ILP32D_LP64D preserved: [X1, X8, X9, X18, X19, X20, X21, X22, X23, X24, X25, X26, X27, F8_D, F9_D, F18_D, F19_D, F20_D, F21_D, F22_D, F23_D, F24_D, F25_D, F26_D, F27_D, F8_F, F9_F, F18_F, F19_F, F20_F, F21_F, F22_F, F23_F, F24_F, F25_F, F26_F, F27_F] mir_operand_flags: direct_mask: 127 direct: - { name: riscv-call, value: 1 } - { name: riscv-pcrel-hi, value: 2 } - { name: riscv-pcrel-lo, value: 4 } - { name: riscv-copy-f32, value: 8 } - { name: riscv-copy-f64, value: 16 } - { name: riscv-hi, value: 32 } - { name: riscv-lo, value: 64 } bitmask: [] calling_conventions: - id: 2 symbol: LP64 name: lp64 integer_register_class: GPR floating_register_class: FPR64 integer_argument_registers: [X10, X11, X12, X13, X14, X15, X16, X17] floating_argument_registers: [] integer_return_registers: [X10, X11] floating_return_registers: [] preserved_mask: CSR_ILP32_LP64 stack_alignment_bytes: 16 stack_argument_alignment_bytes: 16 shadow_space_bytes: 0 supports_varargs: true supports_tail_calls: true - id: 1 symbol: LP64D name: lp64d integer_register_class: GPR floating_register_class: FPR64 integer_argument_registers: [X10, X11, X12, X13, X14, X15, X16, X17] floating_argument_registers: [F10_D, F11_D, F12_D, F13_D, F14_D, F15_D, F16_D, F17_D] integer_return_registers: [X10, X11] floating_return_registers: [F10_D, F11_D] preserved_mask: CSR_ILP32D_LP64D stack_alignment_bytes: 16 stack_argument_alignment_bytes: 16 shadow_space_bytes: 0 supports_varargs: true supports_tail_calls: true named_operands: - { id: 1, symbol: RD, name: rd } - { id: 2, symbol: RS1, name: rs1 } - { id: 3, symbol: RS2, name: rs2 } - { id: 4, symbol: IMM, name: imm } - { id: 5, symbol: TARGET, name: target } - { id: 6, symbol: CSR, name: csr } - { id: 7, symbol: ZIMM, name: zimm } - { id: 8, symbol: PRED, name: pred } - { id: 9, symbol: SUCC, name: succ } - { id: 10, symbol: FRD, name: frd } - { id: 11, symbol: FRS1, name: frs1 } - { id: 12, symbol: FRS2, name: frs2 } - { id: 13, symbol: FRS3, name: frs3 } - { id: 14, symbol: RM, name: rm } immediate_predicates: - { id: 1, symbol: SIMM12, name: simm12, kind: signed, bits: 12 } - { id: 2, symbol: SIMM20, name: simm20, kind: signed, bits: 20 } - { id: 3, symbol: UIMM5, name: uimm5, kind: unsigned, bits: 5 } - { id: 4, symbol: UIMM6, name: uimm6, kind: unsigned, bits: 6 } - { id: 5, symbol: UIMM12, name: uimm12, kind: unsigned, bits: 12 } - { id: 6, symbol: UIMM4, name: uimm4, kind: unsigned, bits: 4 } - { id: 7, symbol: RM, name: rm, kind: unsigned, bits: 3, allowed_values: [0, 1, 2, 3, 4, 7] } - { id: 8, symbol: C_UIMM10_NZ_A4, name: c-uimm10-nz-a4, kind: unsigned, bits: 10, alignment: 4, nonzero: true } - { id: 9, symbol: C_UIMM7_A4, name: c-uimm7-a4, kind: unsigned, bits: 7, alignment: 4 } - { id: 10, symbol: C_UIMM8_A8, name: c-uimm8-a8, kind: unsigned, bits: 8, alignment: 8 } - { id: 11, symbol: C_UIMM8_A4, name: c-uimm8-a4, kind: unsigned, bits: 8, alignment: 4 } - { id: 12, symbol: C_UIMM9_A8, name: c-uimm9-a8, kind: unsigned, bits: 9, alignment: 8 } - { id: 13, symbol: C_SIMM6, name: c-simm6, kind: signed, bits: 6 } - { id: 14, symbol: C_SIMM6_NZ, name: c-simm6-nz, kind: signed, bits: 6, nonzero: true } - { id: 15, symbol: C_SIMM9_A2, name: c-simm9-a2, kind: signed, bits: 9, alignment: 2 } - { id: 16, symbol: C_SIMM12_A2, name: c-simm12-a2, kind: signed, bits: 12, alignment: 2 } - { id: 17, symbol: C_SIMM10_A16_NZ, name: c-simm10-a16-nz, kind: signed, bits: 10, alignment: 16, nonzero: true } scheduling_classes: - { id: 1, symbol: ALU, name: alu, micro_ops: 1, latency: 1 } - { id: 2, symbol: LOAD, name: load, micro_ops: 1, latency: 3 } - { id: 3, symbol: STORE, name: store, micro_ops: 1, latency: 1 } - { id: 4, symbol: BRANCH, name: branch, micro_ops: 1, latency: 1 } - { id: 5, symbol: SYSTEM, name: system, micro_ops: 1, latency: 1 } - { id: 6, symbol: MUL, name: mul, micro_ops: 1, latency: 3 } - { id: 7, symbol: DIV, name: div, micro_ops: 1, latency: 20 } - { id: 8, symbol: FENCE, name: fence, micro_ops: 1, latency: 1 } - { id: 9, symbol: ATOMIC, name: atomic, micro_ops: 1, latency: 4 } - { id: 10, symbol: FP_ADD, name: fp-add, micro_ops: 1, latency: 4 } - { id: 11, symbol: FP_MUL, name: fp-mul, micro_ops: 1, latency: 4 } - { id: 12, symbol: FP_DIV, name: fp-div, micro_ops: 1, latency: 20 } - { id: 13, symbol: FP_SQRT, name: fp-sqrt, micro_ops: 1, latency: 20 } - { id: 14, symbol: FP_CONVERT, name: fp-convert, micro_ops: 1, latency: 4 } - { id: 15, symbol: COMPRESSED, name: compressed, micro_ops: 1, latency: 1 } encoding_categories: - { id: 1, symbol: R, name: r, size_bytes: 4 } - { id: 2, symbol: I, name: i, size_bytes: 4 } - { id: 3, symbol: S, name: s, size_bytes: 4 } - { id: 4, symbol: B, name: b, size_bytes: 4 } - { id: 5, symbol: U, name: u, size_bytes: 4 } - { id: 6, symbol: J, name: j, size_bytes: 4 } - { id: 7, symbol: SYSTEM, name: system, size_bytes: 4 } - { id: 8, symbol: AMO, name: amo, size_bytes: 4 } - { id: 9, symbol: R4, name: r4, size_bytes: 4 } - { id: 10, symbol: C, name: c, size_bytes: 2 } assembly_formats: - { id: 1, symbol: RD_IMM, name: rd-imm } - { id: 2, symbol: RD_RS1_IMM, name: rd-rs1-imm } - { id: 3, symbol: RD_RS1_RS2, name: rd-rs1-rs2 } - { id: 4, symbol: RD_OFFSET_RS1, name: rd-offset-rs1 } - { id: 5, symbol: RS2_OFFSET_RS1, name: rs2-offset-rs1 } - { id: 6, symbol: RS1_RS2_TARGET, name: rs1-rs2-target } - { id: 7, symbol: RD_TARGET, name: rd-target } - { id: 8, symbol: NONE, name: none } - { id: 9, symbol: IMM_IMM, name: imm-imm } - { id: 10, symbol: RD_CSR_RS1, name: rd-csr-rs1 } - { id: 11, symbol: RD_CSR_IMM, name: rd-csr-imm } - { id: 12, symbol: RD_PAREN_RS1, name: rd-paren-rs1 } - { id: 13, symbol: RD_RS2_PAREN_RS1, name: rd-rs2-paren-rs1 } - { id: 14, symbol: FRD_OFFSET_RS1, name: frd-offset-rs1 } - { id: 15, symbol: FRS2_OFFSET_RS1, name: frs2-offset-rs1 } - { id: 16, symbol: FRD_FRS1_FRS2_RM, name: frd-frs1-frs2-rm } - { id: 17, symbol: FRD_FRS1_FRS2_FRS3_RM, name: frd-frs1-frs2-frs3-rm } - { id: 18, symbol: FRD_FRS1_RM, name: frd-frs1-rm } - { id: 19, symbol: FRD_FRS1_FRS2, name: frd-frs1-frs2 } - { id: 20, symbol: RD_FRS1_RM, name: rd-frs1-rm } - { id: 21, symbol: RD_FRS1, name: rd-frs1 } - { id: 22, symbol: RD_FRS1_FRS2, name: rd-frs1-frs2 } - { id: 23, symbol: FRD_RS1_RM, name: frd-rs1-rm } - { id: 24, symbol: FRD_RS1, name: frd-rs1 } - { id: 25, symbol: TARGET, name: target } - { id: 26, symbol: RS1_TARGET, name: rs1-target } - { id: 27, symbol: RS1, name: rs1 } - { id: 28, symbol: RD_RS2, name: rd-rs2 } - { id: 29, symbol: IMM_SP, name: imm-sp } - { id: 30, symbol: RD_IMM_SP, name: rd-imm-sp } - { id: 31, symbol: RD_OFFSET_SP, name: rd-offset-sp } - { id: 32, symbol: RS2_OFFSET_SP, name: rs2-offset-sp } - { id: 33, symbol: FRD_OFFSET_SP, name: frd-offset-sp } - { id: 34, symbol: FRS2_OFFSET_SP, name: frs2-offset-sp } instructions: - id: 1024 symbol: LUI name: LUI assembly_mnemonic: lui encoding: 5175 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM20, allowed_target_flags: 32, name: IMM } num_explicit_defs: 1 flags: [produces_code, rematerializable] scheduling_class: ALU encoding_category: U assembly_format: RD_IMM - id: 1025 symbol: AUIPC name: AUIPC assembly_mnemonic: auipc encoding: 5143 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate, basic_block, global_symbol, external_symbol, mc_symbol], immediate_predicate: SIMM20, allowed_target_flags: 3, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: U assembly_format: RD_IMM - id: 1026 symbol: ADDI name: ADDI assembly_mnemonic: addi encoding: 1344531 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, allowed_target_flags: 68, name: IMM } num_explicit_defs: 1 flags: [produces_code, rematerializable] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1042 symbol: SRLI name: SRLI assembly_mnemonic: srli encoding: 1365011 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1043 symbol: SRAI name: SRAI assembly_mnemonic: srai encoding: 1075106835 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1044 symbol: ADDIW name: ADDIW assembly_mnemonic: addiw encoding: 1344539 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code, rematerializable] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1045 symbol: SLLIW name: SLLIW assembly_mnemonic: slliw encoding: 1348635 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM5, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1046 symbol: SRLIW name: SRLIW assembly_mnemonic: srliw encoding: 1365019 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM5, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1047 symbol: SRAIW name: SRAIW assembly_mnemonic: sraiw encoding: 1075106843 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM5, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1048 symbol: SLL name: SLL assembly_mnemonic: sll encoding: 10785843 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1049 symbol: SLT name: SLT assembly_mnemonic: slt encoding: 10789939 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1050 symbol: SLTU name: SLTU assembly_mnemonic: sltu encoding: 10794035 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1051 symbol: XOR name: XOR assembly_mnemonic: xor encoding: 10798131 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1052 symbol: SRL name: SRL assembly_mnemonic: srl encoding: 10802227 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1053 symbol: SRA name: SRA assembly_mnemonic: sra encoding: 1084544051 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1054 symbol: OR name: OR assembly_mnemonic: or encoding: 10806323 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1055 symbol: AND name: AND assembly_mnemonic: and encoding: 10810419 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1056 symbol: ADDW name: ADDW assembly_mnemonic: addw encoding: 10781755 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1057 symbol: SUBW name: SUBW assembly_mnemonic: subw encoding: 1084523579 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1058 symbol: SLLW name: SLLW assembly_mnemonic: sllw encoding: 10785851 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1059 symbol: SRLW name: SRLW assembly_mnemonic: srlw encoding: 10802235 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1060 symbol: SRAW name: SRAW assembly_mnemonic: sraw encoding: 1084544059 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1061 symbol: LB name: LB assembly_mnemonic: lb encoding: 8684547 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1062 symbol: LH name: LH assembly_mnemonic: lh encoding: 8688643 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1063 symbol: LW name: LW assembly_mnemonic: lw encoding: 8692739 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1064 symbol: LBU name: LBU assembly_mnemonic: lbu encoding: 8700931 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1065 symbol: LHU name: LHU assembly_mnemonic: lhu encoding: 8705027 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1066 symbol: LWU name: LWU assembly_mnemonic: lwu encoding: 8709123 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1067 symbol: SB name: SB assembly_mnemonic: sb encoding: 10781731 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1068 symbol: SH name: SH assembly_mnemonic: sh encoding: 10785827 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1069 symbol: SW name: SW assembly_mnemonic: sw encoding: 10789923 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1070 symbol: BLT name: BLT assembly_mnemonic: blt encoding: 9715811 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1071 symbol: BGE name: BGE assembly_mnemonic: bge encoding: 9719907 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1072 symbol: BLTU name: BLTU assembly_mnemonic: bltu encoding: 9724003 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1073 symbol: BGEU name: BGEU assembly_mnemonic: bgeu encoding: 9728099 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1074 symbol: JALR name: JALR assembly_mnemonic: jalr encoding: 1344615 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate, basic_block, global_symbol, external_symbol, mc_symbol], immediate_predicate: SIMM12, allowed_target_flags: 4, name: IMM } num_explicit_defs: 1 flags: [terminator, branch, indirect_branch, produces_code] scheduling_class: BRANCH encoding_category: I assembly_format: RD_RS1_IMM - id: 1075 symbol: FENCE name: FENCE assembly_mnemonic: fence encoding: 15 operands: - { kinds: [immediate], immediate_predicate: UIMM4, name: PRED } - { kinds: [immediate], immediate_predicate: UIMM4, name: SUCC } num_explicit_defs: 0 flags: [has_side_effects, produces_code] scheduling_class: FENCE encoding_category: I assembly_format: IMM_IMM - id: 1076 symbol: FENCE_I name: FENCE_I assembly_mnemonic: fence.i encoding: 4111 operands: [] num_explicit_defs: 0 flags: [has_side_effects, produces_code] scheduling_class: FENCE encoding_category: I assembly_format: NONE - id: 1077 symbol: CSRRW name: CSRRW assembly_mnemonic: csrrw encoding: 1348723 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_RS1 - id: 1078 symbol: CSRRS name: CSRRS assembly_mnemonic: csrrs encoding: 1352819 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_RS1 - id: 1079 symbol: CSRRC name: CSRRC assembly_mnemonic: csrrc encoding: 1356915 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } num_explicit_defs: 1 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_RS1 - id: 1080 symbol: CSRRWI name: CSRRWI assembly_mnemonic: csrrwi encoding: 1102963 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [immediate], immediate_predicate: UIMM5, name: ZIMM } num_explicit_defs: 1 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_IMM - id: 1083 symbol: MUL name: MUL assembly_mnemonic: mul encoding: 44336179 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code, commutable] scheduling_class: MUL encoding_category: R assembly_format: RD_RS1_RS2 - id: 1084 symbol: MULH name: MULH assembly_mnemonic: mulh encoding: 44340275 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code, commutable] scheduling_class: MUL encoding_category: R assembly_format: RD_RS1_RS2 - id: 1085 symbol: MULHSU name: MULHSU assembly_mnemonic: mulhsu encoding: 44344371 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: MUL encoding_category: R assembly_format: RD_RS1_RS2 - id: 1086 symbol: MULHU name: MULHU assembly_mnemonic: mulhu encoding: 44348467 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code, commutable] scheduling_class: MUL encoding_category: R assembly_format: RD_RS1_RS2 - id: 1087 symbol: DIV name: DIV assembly_mnemonic: div encoding: 44352563 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1088 symbol: DIVU name: DIVU assembly_mnemonic: divu encoding: 44356659 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1089 symbol: REM name: REM assembly_mnemonic: rem encoding: 44360755 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1090 symbol: REMU name: REMU assembly_mnemonic: remu encoding: 44364851 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1091 symbol: MULW name: MULW assembly_mnemonic: mulw encoding: 44336187 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code, commutable] scheduling_class: MUL encoding_category: R assembly_format: RD_RS1_RS2 - id: 1092 symbol: DIVW name: DIVW assembly_mnemonic: divw encoding: 44352571 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1093 symbol: DIVUW name: DIVUW assembly_mnemonic: divuw encoding: 44356667 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1094 symbol: REMW name: REMW assembly_mnemonic: remw encoding: 44360763 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1095 symbol: REMUW name: REMUW assembly_mnemonic: remuw encoding: 44364859 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: DIV encoding_category: R assembly_format: RD_RS1_RS2 - id: 1081 symbol: CSRRSI name: CSRRSI assembly_mnemonic: csrrsi encoding: 1107059 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [immediate], immediate_predicate: UIMM5, name: ZIMM } num_explicit_defs: 1 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_IMM - id: 1082 symbol: CSRRCI name: CSRRCI assembly_mnemonic: csrrci encoding: 1111155 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM12, name: CSR } - { kinds: [immediate], immediate_predicate: UIMM5, name: ZIMM } num_explicit_defs: 1 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: RD_CSR_IMM - id: 1027 symbol: ADD name: ADD assembly_mnemonic: add encoding: 10781747 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1028 symbol: SUB name: SUB assembly_mnemonic: sub encoding: 1084523571 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: R assembly_format: RD_RS1_RS2 - id: 1029 symbol: LD name: LD assembly_mnemonic: ld encoding: 8696835 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1030 symbol: SD name: SD assembly_mnemonic: sd encoding: 10794019 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1031 symbol: BEQ name: BEQ assembly_mnemonic: beq encoding: 9699427 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1032 symbol: BNE name: BNE assembly_mnemonic: bne encoding: 9703523 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS2 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: B assembly_format: RS1_RS2_TARGET - id: 1033 symbol: JAL name: JAL assembly_mnemonic: jal encoding: 1135 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 1 flags: [terminator, branch, produces_code] scheduling_class: BRANCH encoding_category: J assembly_format: RD_TARGET - id: 1034 symbol: ECALL name: ECALL assembly_mnemonic: ecall encoding: 115 operands: [] num_explicit_defs: 0 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: NONE - id: 1035 symbol: EBREAK name: EBREAK assembly_mnemonic: ebreak encoding: 1048691 operands: [] num_explicit_defs: 0 flags: [has_side_effects, produces_code] scheduling_class: SYSTEM encoding_category: SYSTEM assembly_format: NONE - id: 1036 symbol: SLTI name: SLTI assembly_mnemonic: slti encoding: 1352723 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1037 symbol: SLTIU name: SLTIU assembly_mnemonic: sltiu encoding: 1356819 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1038 symbol: XORI name: XORI assembly_mnemonic: xori encoding: 1360915 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1039 symbol: ORI name: ORI assembly_mnemonic: ori encoding: 1369107 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1040 symbol: ANDI name: ANDI assembly_mnemonic: andi encoding: 1373203 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1041 symbol: SLLI name: SLLI assembly_mnemonic: slli encoding: 1348627 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: ALU encoding_category: I assembly_format: RD_RS1_IMM - id: 1096 symbol: LR_W name: LR_W assembly_mnemonic: lr.w encoding: 268739631 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_PAREN_RS1 requires_memory_operands: true - id: 1097 symbol: SC_W name: SC_W assembly_mnemonic: sc.w encoding: 413443119 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1098 symbol: AMOSWAP_W name: AMOSWAP_W assembly_mnemonic: amoswap.w encoding: 145007663 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1118 symbol: FLW name: FLW assembly_mnemonic: flw encoding: 8692743 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, memory_role: value, name: FRD } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: FRD_OFFSET_RS1 requires_memory_operands: true - id: 1119 symbol: FSW name: FSW assembly_mnemonic: fsw encoding: 10789927 operands: - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, memory_role: value, name: FRS2 } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: FRS2_OFFSET_RS1 requires_memory_operands: true - id: 1120 symbol: FMADD_S name: FMADD_S assembly_mnemonic: fmadd.s encoding: 1487176771 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1121 symbol: FMSUB_S name: FMSUB_S assembly_mnemonic: fmsub.s encoding: 1487176775 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1122 symbol: FNMSUB_S name: FNMSUB_S assembly_mnemonic: fnmsub.s encoding: 1487176779 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1123 symbol: FNMADD_S name: FNMADD_S assembly_mnemonic: fnmadd.s encoding: 1487176783 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1124 symbol: FADD_S name: FADD_S assembly_mnemonic: fadd.s encoding: 10781779 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1125 symbol: FSUB_S name: FSUB_S assembly_mnemonic: fsub.s encoding: 144999507 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1126 symbol: FMUL_S name: FMUL_S assembly_mnemonic: fmul.s encoding: 279217235 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1127 symbol: FDIV_S name: FDIV_S assembly_mnemonic: fdiv.s encoding: 413434963 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_DIV encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1128 symbol: FSQRT_S name: FSQRT_S assembly_mnemonic: fsqrt.s encoding: 1476691027 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_SQRT encoding_category: R assembly_format: FRD_FRS1_RM - id: 1129 symbol: FSGNJ_S name: FSGNJ_S assembly_mnemonic: fsgnj.s encoding: 547652691 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1130 symbol: FSGNJN_S name: FSGNJN_S assembly_mnemonic: fsgnjn.s encoding: 547656787 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1131 symbol: FSGNJX_S name: FSGNJX_S assembly_mnemonic: fsgnjx.s encoding: 547660883 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1132 symbol: FMIN_S name: FMIN_S assembly_mnemonic: fmin.s encoding: 681870419 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1133 symbol: FMAX_S name: FMAX_S assembly_mnemonic: fmax.s encoding: 681874515 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1134 symbol: FCVT_W_S name: FCVT_W_S assembly_mnemonic: fcvt.w.s encoding: 3221521491 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1135 symbol: FCVT_WU_S name: FCVT_WU_S assembly_mnemonic: fcvt.wu.s encoding: 3222570067 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1136 symbol: FCVT_L_S name: FCVT_L_S assembly_mnemonic: fcvt.l.s encoding: 3223618643 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1137 symbol: FCVT_LU_S name: FCVT_LU_S assembly_mnemonic: fcvt.lu.s encoding: 3224667219 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1138 symbol: FMV_X_W name: FMV_X_W assembly_mnemonic: fmv.x.w encoding: 3758392403 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1 - id: 1139 symbol: FEQ_S name: FEQ_S assembly_mnemonic: feq.s encoding: 2695144531 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1140 symbol: FLT_S name: FLT_S assembly_mnemonic: flt.s encoding: 2695140435 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1141 symbol: FLE_S name: FLE_S assembly_mnemonic: fle.s encoding: 2695136339 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1142 symbol: FCLASS_S name: FCLASS_S assembly_mnemonic: fclass.s encoding: 3758396499 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1 - id: 1143 symbol: FCVT_S_W name: FCVT_S_W assembly_mnemonic: fcvt.s.w encoding: 3489956947 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1144 symbol: FCVT_S_WU name: FCVT_S_WU assembly_mnemonic: fcvt.s.wu encoding: 3491005523 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1145 symbol: FCVT_S_L name: FCVT_S_L assembly_mnemonic: fcvt.s.l encoding: 3492054099 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1146 symbol: FCVT_S_LU name: FCVT_S_LU assembly_mnemonic: fcvt.s.lu encoding: 3493102675 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1147 symbol: FMV_W_X name: FMV_W_X assembly_mnemonic: fmv.w.x encoding: 4026827859 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1 - id: 1148 symbol: FLD name: FLD assembly_mnemonic: fld encoding: 8696839 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, memory_role: value, name: FRD } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: I assembly_format: FRD_OFFSET_RS1 requires_memory_operands: true - id: 1149 symbol: FSD name: FSD assembly_mnemonic: fsd encoding: 10794023 operands: - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, memory_role: value, name: FRS2 } - { kinds: [register, frame_index], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate, constant_pool_index, jump_table_index, global_symbol, external_symbol, block_address, mc_symbol], immediate_predicate: SIMM12, name: IMM, allowed_target_flags: 68 } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: S assembly_format: FRS2_OFFSET_RS1 requires_memory_operands: true - id: 1150 symbol: FMADD_D name: FMADD_D assembly_mnemonic: fmadd.d encoding: 1520731203 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1151 symbol: FMSUB_D name: FMSUB_D assembly_mnemonic: fmsub.d encoding: 1520731207 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1152 symbol: FNMSUB_D name: FNMSUB_D assembly_mnemonic: fnmsub.d encoding: 1520731211 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1153 symbol: FNMADD_D name: FNMADD_D assembly_mnemonic: fnmadd.d encoding: 1520731215 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS3 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R4 assembly_format: FRD_FRS1_FRS2_FRS3_RM - id: 1154 symbol: FADD_D name: FADD_D assembly_mnemonic: fadd.d encoding: 44336211 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1155 symbol: FSUB_D name: FSUB_D assembly_mnemonic: fsub.d encoding: 178553939 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1156 symbol: FMUL_D name: FMUL_D assembly_mnemonic: fmul.d encoding: 312771667 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_MUL encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1157 symbol: FDIV_D name: FDIV_D assembly_mnemonic: fdiv.d encoding: 446989395 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_DIV encoding_category: R assembly_format: FRD_FRS1_FRS2_RM - id: 1158 symbol: FSQRT_D name: FSQRT_D assembly_mnemonic: fsqrt.d encoding: 1510245459 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_SQRT encoding_category: R assembly_format: FRD_FRS1_RM - id: 1159 symbol: FSGNJ_D name: FSGNJ_D assembly_mnemonic: fsgnj.d encoding: 581207123 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1160 symbol: FSGNJN_D name: FSGNJN_D assembly_mnemonic: fsgnjn.d encoding: 581211219 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1161 symbol: FSGNJX_D name: FSGNJX_D assembly_mnemonic: fsgnjx.d encoding: 581215315 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1162 symbol: FMIN_D name: FMIN_D assembly_mnemonic: fmin.d encoding: 715424851 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1163 symbol: FMAX_D name: FMAX_D assembly_mnemonic: fmax.d encoding: 715428947 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: FRD_FRS1_FRS2 - id: 1164 symbol: FCVT_W_D name: FCVT_W_D assembly_mnemonic: fcvt.w.d encoding: 3255075923 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1165 symbol: FCVT_WU_D name: FCVT_WU_D assembly_mnemonic: fcvt.wu.d encoding: 3256124499 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1166 symbol: FCVT_L_D name: FCVT_L_D assembly_mnemonic: fcvt.l.d encoding: 3257173075 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1167 symbol: FCVT_LU_D name: FCVT_LU_D assembly_mnemonic: fcvt.lu.d encoding: 3258221651 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1_RM - id: 1168 symbol: FMV_X_D name: FMV_X_D assembly_mnemonic: fmv.x.d encoding: 3791946835 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1 - id: 1169 symbol: FEQ_D name: FEQ_D assembly_mnemonic: feq.d encoding: 2728698963 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1170 symbol: FLT_D name: FLT_D assembly_mnemonic: flt.d encoding: 2728694867 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1171 symbol: FLE_D name: FLE_D assembly_mnemonic: fle.d encoding: 2728690771 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_ADD encoding_category: R assembly_format: RD_FRS1_FRS2 - id: 1172 symbol: FCLASS_D name: FCLASS_D assembly_mnemonic: fclass.d encoding: 3791950931 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: RD_FRS1 - id: 1173 symbol: FCVT_D_W name: FCVT_D_W assembly_mnemonic: fcvt.d.w encoding: 3523511379 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1174 symbol: FCVT_D_WU name: FCVT_D_WU assembly_mnemonic: fcvt.d.wu encoding: 3524559955 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1175 symbol: FCVT_D_L name: FCVT_D_L assembly_mnemonic: fcvt.d.l encoding: 3525608531 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1176 symbol: FCVT_D_LU name: FCVT_D_LU assembly_mnemonic: fcvt.d.lu encoding: 3526657107 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1_RM - id: 1177 symbol: FMV_D_X name: FMV_D_X assembly_mnemonic: fmv.d.x encoding: 4060382291 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_RS1 - id: 1178 symbol: FCVT_S_D name: FCVT_S_D assembly_mnemonic: fcvt.s.d encoding: 1075086419 operands: - { kinds: [register], role: def, register_class: FPR32, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_FRS1_RM - id: 1180 symbol: C_ADDI4SPN name: C_ADDI4SPN assembly_mnemonic: c.addi4spn encoding: 2048 operands: - { kinds: [register], role: def, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_UIMM10_NZ_A4, name: IMM } num_explicit_defs: 1 flags: [produces_code] implicit_uses: [{ register: X2 }] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM_SP - id: 1181 symbol: C_FLD name: C_FLD assembly_mnemonic: c.fld encoding: 9344 operands: - { kinds: [register], role: def, register_class: FPR64C, register_bank: FPR, memory_role: value, name: FRD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM8_A8, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: C assembly_format: FRD_OFFSET_RS1 requires_memory_operands: true - id: 1182 symbol: C_LW name: C_LW assembly_mnemonic: c.lw encoding: 17536 operands: - { kinds: [register], role: def, register_class: GPRC, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM7_A4, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: C assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1183 symbol: C_LD name: C_LD assembly_mnemonic: c.ld encoding: 25728 operands: - { kinds: [register], role: def, register_class: GPRC, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM8_A8, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: LOAD encoding_category: C assembly_format: RD_OFFSET_RS1 requires_memory_operands: true - id: 1184 symbol: C_FSD name: C_FSD assembly_mnemonic: c.fsd encoding: 42120 operands: - { kinds: [register], role: use, register_class: FPR64C, register_bank: FPR, memory_role: value, name: FRS2 } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM8_A8, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: C assembly_format: FRS2_OFFSET_RS1 requires_memory_operands: true - id: 1185 symbol: C_SW name: C_SW assembly_mnemonic: c.sw encoding: 50312 operands: - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM7_A4, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: C assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1186 symbol: C_SD name: C_SD assembly_mnemonic: c.sd encoding: 58504 operands: - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, memory_role: address, name: RS1 } - { kinds: [immediate], immediate_predicate: C_UIMM8_A8, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] scheduling_class: STORE encoding_category: C assembly_format: RS2_OFFSET_RS1 requires_memory_operands: true - id: 1187 symbol: C_ADDI name: C_ADDI assembly_mnemonic: c.addi encoding: 1029 operands: - { kinds: [register], role: def_use, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_SIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1188 symbol: C_ADDIW name: C_ADDIW assembly_mnemonic: c.addiw encoding: 9221 operands: - { kinds: [register], role: def_use, register_class: GPR_NX0, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_SIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1189 symbol: C_LI name: C_LI assembly_mnemonic: c.li encoding: 17413 operands: - { kinds: [register], role: def, register_class: GPR_NX0, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_SIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1190 symbol: C_ADDI16SP name: C_ADDI16SP assembly_mnemonic: c.addi16sp encoding: 24897 operands: - { kinds: [immediate], immediate_predicate: C_SIMM10_A16_NZ, name: IMM } num_explicit_defs: 0 flags: [produces_code] implicit_defs: [{ register: X2 }] implicit_uses: [{ register: X2 }] scheduling_class: COMPRESSED encoding_category: C assembly_format: IMM_SP - id: 1191 symbol: C_LUI name: C_LUI assembly_mnemonic: c.lui encoding: 25605 operands: - { kinds: [register], role: def, register_class: GPR_NX0_NX2, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_SIMM6_NZ, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1192 symbol: C_SRLI name: C_SRLI assembly_mnemonic: c.srli encoding: 32773 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1193 symbol: C_SRAI name: C_SRAI assembly_mnemonic: c.srai encoding: 33797 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1194 symbol: C_ANDI name: C_ANDI assembly_mnemonic: c.andi encoding: 34821 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: C_SIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1195 symbol: C_SUB name: C_SUB assembly_mnemonic: c.sub encoding: 35845 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1196 symbol: C_XOR name: C_XOR assembly_mnemonic: c.xor encoding: 35877 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1197 symbol: C_OR name: C_OR assembly_mnemonic: c.or encoding: 35909 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1198 symbol: C_AND name: C_AND assembly_mnemonic: c.and encoding: 35941 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1199 symbol: C_SUBW name: C_SUBW assembly_mnemonic: c.subw encoding: 39941 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1200 symbol: C_ADDW name: C_ADDW assembly_mnemonic: c.addw encoding: 39973 operands: - { kinds: [register], role: def_use, register_class: GPRC, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1201 symbol: C_J name: C_J assembly_mnemonic: c.j encoding: 40961 operands: - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: TARGET - id: 1202 symbol: C_BEQZ name: C_BEQZ assembly_mnemonic: c.beqz encoding: 49153 operands: - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS1 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RS1_TARGET - id: 1203 symbol: C_BNEZ name: C_BNEZ assembly_mnemonic: c.bnez encoding: 57345 operands: - { kinds: [register], role: use, register_class: GPRC, register_bank: GPR, name: RS1 } - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [terminator, branch, produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RS1_TARGET - id: 1204 symbol: C_SLLI name: C_SLLI assembly_mnemonic: c.slli encoding: 1030 operands: - { kinds: [register], role: def_use, register_class: GPR_NX0, register_bank: GPR, name: RD } - { kinds: [immediate], immediate_predicate: UIMM6, name: IMM } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_IMM - id: 1205 symbol: C_FLDSP name: C_FLDSP assembly_mnemonic: c.fldsp encoding: 9250 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, memory_role: value, name: FRD } - { kinds: [immediate], immediate_predicate: C_UIMM9_A8, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: LOAD encoding_category: C assembly_format: FRD_OFFSET_SP requires_memory_operands: true - id: 1206 symbol: C_LWSP name: C_LWSP assembly_mnemonic: c.lwsp encoding: 17442 operands: - { kinds: [register], role: def, register_class: GPR_NX0, register_bank: GPR, memory_role: value, name: RD } - { kinds: [immediate], immediate_predicate: C_UIMM8_A4, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: LOAD encoding_category: C assembly_format: RD_OFFSET_SP requires_memory_operands: true - id: 1207 symbol: C_LDSP name: C_LDSP assembly_mnemonic: c.ldsp encoding: 25634 operands: - { kinds: [register], role: def, register_class: GPR_NX0, register_bank: GPR, memory_role: value, name: RD } - { kinds: [immediate], immediate_predicate: C_UIMM9_A8, name: IMM } num_explicit_defs: 1 flags: [may_load, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: LOAD encoding_category: C assembly_format: RD_OFFSET_SP requires_memory_operands: true - id: 1208 symbol: C_JR name: C_JR assembly_mnemonic: c.jr encoding: 33794 operands: - { kinds: [register], role: use, register_class: GPR_NX0, register_bank: GPR, name: RS1 } num_explicit_defs: 0 flags: [terminator, branch, indirect_branch, produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RS1 - id: 1209 symbol: C_MV name: C_MV assembly_mnemonic: c.mv encoding: 33830 operands: - { kinds: [register], role: def, register_class: GPR_NX0, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR_NX0, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1210 symbol: C_EBREAK name: C_EBREAK assembly_mnemonic: c.ebreak encoding: 36866 operands: [] num_explicit_defs: 0 flags: [has_side_effects, produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: NONE - id: 1211 symbol: C_JALR name: C_JALR assembly_mnemonic: c.jalr encoding: 37890 operands: - { kinds: [register], role: use, register_class: GPR_NX0, register_bank: GPR, name: RS1 } num_explicit_defs: 0 flags: [terminator, branch, indirect_branch, produces_code] implicit_defs: [{ register: X1 }] scheduling_class: COMPRESSED encoding_category: C assembly_format: RS1 - id: 1212 symbol: C_ADD name: C_ADD assembly_mnemonic: c.add encoding: 37926 operands: - { kinds: [register], role: def_use, register_class: GPR_NX0, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR_NX0, register_bank: GPR, name: RS2 } num_explicit_defs: 1 flags: [produces_code] scheduling_class: COMPRESSED encoding_category: C assembly_format: RD_RS2 - id: 1213 symbol: C_FSDSP name: C_FSDSP assembly_mnemonic: c.fsdsp encoding: 42018 operands: - { kinds: [register], role: use, register_class: FPR64, register_bank: FPR, memory_role: value, name: FRS2 } - { kinds: [immediate], immediate_predicate: C_UIMM9_A8, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: STORE encoding_category: C assembly_format: FRS2_OFFSET_SP requires_memory_operands: true - id: 1214 symbol: C_SWSP name: C_SWSP assembly_mnemonic: c.swsp encoding: 50210 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [immediate], immediate_predicate: C_UIMM8_A4, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: STORE encoding_category: C assembly_format: RS2_OFFSET_SP requires_memory_operands: true - id: 1215 symbol: C_SDSP name: C_SDSP assembly_mnemonic: c.sdsp encoding: 58402 operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [immediate], immediate_predicate: C_UIMM9_A8, name: IMM } num_explicit_defs: 0 flags: [may_store, produces_code] implicit_uses: [{ register: X2 }] scheduling_class: STORE encoding_category: C assembly_format: RS2_OFFSET_SP requires_memory_operands: true - id: 1179 symbol: FCVT_D_S name: FCVT_D_S assembly_mnemonic: fcvt.d.s encoding: 1107592275 operands: - { kinds: [register], role: def, register_class: FPR64, register_bank: FPR, name: FRD } - { kinds: [register], role: use, register_class: FPR32, register_bank: FPR, name: FRS1 } - { kinds: [immediate], immediate_predicate: RM, name: RM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [produces_code] scheduling_class: FP_CONVERT encoding_category: R assembly_format: FRD_FRS1_RM - id: 1099 symbol: AMOADD_W name: AMOADD_W assembly_mnemonic: amoadd.w encoding: 10789935 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1100 symbol: AMOXOR_W name: AMOXOR_W assembly_mnemonic: amoxor.w encoding: 547660847 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1101 symbol: AMOAND_W name: AMOAND_W assembly_mnemonic: amoand.w encoding: 1621402671 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1102 symbol: AMOOR_W name: AMOOR_W assembly_mnemonic: amoor.w encoding: 1084531759 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1103 symbol: AMOMIN_W name: AMOMIN_W assembly_mnemonic: amomin.w encoding: 2158273583 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1104 symbol: AMOMAX_W name: AMOMAX_W assembly_mnemonic: amomax.w encoding: 2695144495 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1105 symbol: AMOMINU_W name: AMOMINU_W assembly_mnemonic: amominu.w encoding: 3232015407 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1106 symbol: AMOMAXU_W name: AMOMAXU_W assembly_mnemonic: amomaxu.w encoding: 3768886319 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1107 symbol: LR_D name: LR_D assembly_mnemonic: lr.d encoding: 268743727 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_PAREN_RS1 requires_memory_operands: true - id: 1108 symbol: SC_D name: SC_D assembly_mnemonic: sc.d encoding: 413447215 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1109 symbol: AMOSWAP_D name: AMOSWAP_D assembly_mnemonic: amoswap.d encoding: 145011759 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1110 symbol: AMOADD_D name: AMOADD_D assembly_mnemonic: amoadd.d encoding: 10794031 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1111 symbol: AMOXOR_D name: AMOXOR_D assembly_mnemonic: amoxor.d encoding: 547664943 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1112 symbol: AMOAND_D name: AMOAND_D assembly_mnemonic: amoand.d encoding: 1621406767 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1113 symbol: AMOOR_D name: AMOOR_D assembly_mnemonic: amoor.d encoding: 1084535855 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1114 symbol: AMOMIN_D name: AMOMIN_D assembly_mnemonic: amomin.d encoding: 2158277679 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1115 symbol: AMOMAX_D name: AMOMAX_D assembly_mnemonic: amomax.d encoding: 2695148591 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1116 symbol: AMOMINU_D name: AMOMINU_D assembly_mnemonic: amominu.d encoding: 3232019503 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1117 symbol: AMOMAXU_D name: AMOMAXU_D assembly_mnemonic: amomaxu.d encoding: 3768890415 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, memory_role: value, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: value, name: RS2 } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, memory_role: address, name: RS1 } num_explicit_defs: 1 flags: [may_load, may_store, produces_code] scheduling_class: ATOMIC encoding_category: AMO assembly_format: RD_RS2_PAREN_RS1 requires_memory_operands: true - id: 1229 symbol: G_SLLW name: G_SLLW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1230 symbol: G_SRAW name: G_SRAW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1231 symbol: G_DIVW name: G_DIVW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1232 symbol: G_CLZW name: G_CLZW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1233 symbol: G_CTZW name: G_CTZW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1234 symbol: G_FCVT_W_RV64 name: G_FCVT_W_RV64 operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [immediate] } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1235 symbol: G_FCLASS name: G_FCLASS operands: - { kinds: [register], role: def } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1236 symbol: G_ROLW name: G_ROLW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1237 symbol: G_SRLW name: G_SRLW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1238 symbol: G_DIVUW name: G_DIVUW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1239 symbol: G_REMUW name: G_REMUW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1240 symbol: G_RORW name: G_RORW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1241 symbol: G_BREV8 name: G_BREV8 operands: - { kinds: [register], role: def } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1242 symbol: G_FCVT_WU_RV64 name: G_FCVT_WU_RV64 operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [immediate] } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1243 symbol: G_CLSW name: G_CLSW operands: - { kinds: [register], role: def } - { kinds: [register], role: use } num_explicit_defs: 1 flags: [generic, pseudo, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1244 symbol: Select_GPR_Using_CC_GPR name: Select_GPR_Using_CC_GPR operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR } - { kinds: [immediate] } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR } num_explicit_defs: 1 flags: [pseudo, produces_code, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1245 symbol: ReadFFLAGS name: ReadFFLAGS operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR } num_explicit_defs: 1 implicit_uses: [{ register: FFLAGS }] flags: [pseudo, produces_code, allowed_pre_legalizer, has_side_effects] owner: post_ra_expansion deadline: post_ra_finalized - id: 1246 symbol: WriteFFLAGS name: WriteFFLAGS operands: - { kinds: [register], role: use, register_class: GPR, register_bank: GPR } num_explicit_defs: 0 implicit_defs: [{ register: FFLAGS }] flags: [pseudo, produces_code, allowed_pre_legalizer, has_side_effects] owner: post_ra_expansion deadline: post_ra_finalized - id: 1216 symbol: PseudoCC_COPY name: PseudoCC_COPY operands: - { kinds: [register], role: def } - { kinds: [register], role: use } - { kinds: [immediate] } num_explicit_defs: 1 flags: [pseudo, produces_code, allowed_pre_legalizer] owner: instruction_select deadline: selected - id: 1217 symbol: PseudoLOAD_STACK_ARG name: PseudoLOAD_STACK_ARG operands: - { kinds: [register], role: def, memory_role: value } - { kinds: [frame_index] } - { kinds: [immediate, integer_immediate] } - { kinds: [immediate] } num_explicit_defs: 1 flags: [pseudo, produces_code, allowed_pre_legalizer, may_load] requires_memory_operands: true owner: instruction_select deadline: selected - id: 1218 symbol: PseudoSTORE_STACK_ARG name: PseudoSTORE_STACK_ARG operands: - { kinds: [register], role: use, memory_role: value } - { kinds: [frame_index] } - { kinds: [immediate, integer_immediate] } - { kinds: [immediate] } num_explicit_defs: 0 flags: [pseudo, produces_code, allowed_pre_legalizer, may_store] requires_memory_operands: true owner: instruction_select deadline: selected - id: 1219 symbol: PseudoBYVAL_COPY name: PseudoBYVAL_COPY operands: - { kinds: [register], role: def } - { kinds: [register], role: use, memory_role: address } - { kinds: [frame_index] } - { kinds: [immediate, integer_immediate] } - { kinds: [immediate, integer_immediate] } num_explicit_defs: 1 flags: [pseudo, produces_code, allowed_pre_legalizer, may_load, may_store] requires_memory_operands: true owner: instruction_select deadline: selected - id: 1220 symbol: ADJCALLSTACKDOWN name: ADJCALLSTACKDOWN operands: - { kinds: [immediate, integer_immediate] } - { kinds: [immediate, integer_immediate] } num_explicit_defs: 0 implicit_defs: [{ register: X2 }] implicit_uses: [{ register: X2 }] flags: [pseudo, allowed_pre_legalizer, has_side_effects] owner: prologue_epilogue_insertion deadline: frame_finalized - id: 1221 symbol: ADJCALLSTACKUP name: ADJCALLSTACKUP operands: - { kinds: [immediate, integer_immediate] } - { kinds: [immediate, integer_immediate] } num_explicit_defs: 0 implicit_defs: [{ register: X2 }] implicit_uses: [{ register: X2 }] flags: [pseudo, allowed_pre_legalizer, has_side_effects] owner: prologue_epilogue_insertion deadline: frame_finalized - id: 1222 symbol: PseudoCALL name: PseudoCALL operands: - { kinds: [global_symbol, external_symbol, register], role: use, allowed_target_flags: 1 } - { kinds: [register_mask] } num_explicit_defs: 0 implicit_defs: [{ register: X1 }] allow_extra_implicit_operands: true flags: [pseudo, produces_code, allowed_pre_legalizer, call, may_load, may_store, has_side_effects, not_duplicable, unmodeled_side_effects] owner: post_ra_expansion deadline: post_ra_finalized - id: 1223 symbol: PseudoTAIL name: PseudoTAIL operands: - { kinds: [global_symbol, external_symbol, register], role: use, allowed_target_flags: 1 } - { kinds: [register_mask] } num_explicit_defs: 0 allow_extra_implicit_operands: true flags: [pseudo, produces_code, allowed_pre_legalizer, terminator, branch, call, barrier, may_load, may_store, has_side_effects, not_duplicable, unmodeled_side_effects] owner: post_ra_expansion deadline: post_ra_finalized - id: 1224 symbol: PseudoRET name: PseudoRET operands: [] num_explicit_defs: 0 allow_extra_implicit_operands: true flags: [pseudo, produces_code, allowed_pre_legalizer, terminator, return, barrier] owner: post_ra_expansion deadline: post_ra_finalized - id: 1225 symbol: JALR_CALL name: JALR_CALL assembly_mnemonic: jalr encoding: 1344615 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate, mc_symbol], immediate_predicate: SIMM12, allowed_target_flags: 4, name: IMM } - { kinds: [register_mask] } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [call, may_load, may_store, has_side_effects, produces_code, not_duplicable, unmodeled_side_effects] scheduling_class: BRANCH encoding_category: I assembly_format: RD_RS1_IMM - id: 1226 symbol: JALR_TAIL name: JALR_TAIL assembly_mnemonic: jalr encoding: 1344615 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate, mc_symbol], immediate_predicate: SIMM12, allowed_target_flags: 4, name: IMM } - { kinds: [register_mask] } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [terminator, branch, indirect_branch, call, barrier, may_load, may_store, has_side_effects, produces_code, not_duplicable, unmodeled_side_effects] scheduling_class: BRANCH encoding_category: I assembly_format: RD_RS1_IMM - id: 1227 symbol: JALR_RET name: JALR_RET assembly_mnemonic: jalr encoding: 1344615 operands: - { kinds: [register], role: def, register_class: GPR, register_bank: GPR, name: RD } - { kinds: [register], role: use, register_class: GPR, register_bank: GPR, name: RS1 } - { kinds: [immediate], immediate_predicate: SIMM12, name: IMM } num_explicit_defs: 1 allow_extra_implicit_operands: true flags: [terminator, return, barrier, produces_code] scheduling_class: BRANCH encoding_category: I assembly_format: RD_RS1_IMM - id: 1228 symbol: PseudoBR name: PseudoBR operands: - { kinds: [basic_block], name: TARGET } num_explicit_defs: 0 flags: [pseudo, produces_code, allowed_pre_legalizer, terminator, branch, barrier] owner: post_ra_expansion deadline: post_ra_finalized