@@ -98,45 +98,10 @@ pub fn translate(riscv_instr: RiscVInstruction) -> ArmInstruction {
9898 }
9999}
100100
101- fn map_register ( riscv_reg : RiscVRegister ) -> ArmRegister {
102- match riscv_reg {
103- RiscVRegister :: X0 => todo ! ( "Arm doesn't have a zero register" ) ,
104- // RiscVRegister::RA => ArmRegister::Lr,
105- // RiscVRegister::SP => ArmRegister::Sp,
106- // RiscVRegister::GP => ArmRegister::,
107- // RiscVRegister::TP => ArmRegister::,
108- // RiscVRegister::T0 => ArmRegister::,
109- // RiscVRegister::T1 => ArmRegister::,
110- // RiscVRegister::T2 => ArmRegister::,
111- // RiscVRegister::S0FP => ArmRegister::,
112- // RiscVRegister::S1 => ArmRegister::,
113- // RiscVRegister::A0 => ArmRegister::,
114- // RiscVRegister::A1 => ArmRegister::,
115- // RiscVRegister::A2 => ArmRegister::,
116- // RiscVRegister::A3 => ArmRegister::,
117- // RiscVRegister::A4 => ArmRegister::,
118- // RiscVRegister::A5 => ArmRegister::,
119- // RiscVRegister::A6 => ArmRegister::,
120- // RiscVRegister::A7 => ArmRegister::,
121- // RiscVRegister::S2 => ArmRegister::,
122- // RiscVRegister::S3 => ArmRegister::,
123- // RiscVRegister::S4 => ArmRegister::,
124- // RiscVRegister::S5 => ArmRegister::,
125- // RiscVRegister::S6 => ArmRegister::,
126- // RiscVRegister::S7 => ArmRegister::,
127- // RiscVRegister::S8 => ArmRegister::,
128- // RiscVRegister::S9 => ArmRegister::,
129- // RiscVRegister::S10 => ArmRegister::,
130- // RiscVRegister::S11 => ArmRegister::,
131- // RiscVRegister::T3 => ArmRegister::,
132- // RiscVRegister::T4 => ArmRegister::,
133- // RiscVRegister::T5 => ArmRegister::,
134- // RiscVRegister::T6 => ArmRegister::,
135- // FIXME: do real implementation
136- _ => ArmRegister {
137- width : ArmWidth :: Double ,
138- name : ArmRegisterName :: Sp ,
139- } ,
101+ fn map_register ( riscv_reg : RiscVRegister , riscv_width : RiscVWidth ) -> ArmRegister {
102+ ArmRegister {
103+ width : map_width ( riscv_width) ,
104+ name : map_register_name ( riscv_reg)
140105 }
141106}
142107
0 commit comments