aarch64: correctly display fpu loads and stores;
This commit is contained in:
@@ -2297,35 +2297,41 @@ impl ShowWithRRU for Inst {
|
|||||||
}
|
}
|
||||||
&Inst::FpuLoad32 { rd, ref mem, .. } => {
|
&Inst::FpuLoad32 { rd, ref mem, .. } => {
|
||||||
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size32);
|
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size32);
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 4);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("ldr {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}ldr {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::FpuLoad64 { rd, ref mem, .. } => {
|
&Inst::FpuLoad64 { rd, ref mem, .. } => {
|
||||||
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size64);
|
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size64);
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 8);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("ldr {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}ldr {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::FpuLoad128 { rd, ref mem, .. } => {
|
&Inst::FpuLoad128 { rd, ref mem, .. } => {
|
||||||
let rd = rd.to_reg().show_rru(mb_rru);
|
let rd = rd.to_reg().show_rru(mb_rru);
|
||||||
let rd = "q".to_string() + &rd[1..];
|
let rd = "q".to_string() + &rd[1..];
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 8);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("ldr {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}ldr {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::FpuStore32 { rd, ref mem, .. } => {
|
&Inst::FpuStore32 { rd, ref mem, .. } => {
|
||||||
let rd = show_freg_sized(rd, mb_rru, InstSize::Size32);
|
let rd = show_freg_sized(rd, mb_rru, InstSize::Size32);
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 4);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("str {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}str {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::FpuStore64 { rd, ref mem, .. } => {
|
&Inst::FpuStore64 { rd, ref mem, .. } => {
|
||||||
let rd = show_freg_sized(rd, mb_rru, InstSize::Size64);
|
let rd = show_freg_sized(rd, mb_rru, InstSize::Size64);
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 8);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("str {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}str {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::FpuStore128 { rd, ref mem, .. } => {
|
&Inst::FpuStore128 { rd, ref mem, .. } => {
|
||||||
let rd = rd.show_rru(mb_rru);
|
let rd = rd.show_rru(mb_rru);
|
||||||
let rd = "q".to_string() + &rd[1..];
|
let rd = "q".to_string() + &rd[1..];
|
||||||
let mem = mem.show_rru_sized(mb_rru, /* size = */ 8);
|
let (mem_str, mem) = mem_finalize_for_show(mem, mb_rru);
|
||||||
format!("str {}, {}", rd, mem)
|
let mem = mem.show_rru(mb_rru);
|
||||||
|
format!("{}str {}, {}", mem_str, rd, mem)
|
||||||
}
|
}
|
||||||
&Inst::LoadFpuConst32 { rd, const_data } => {
|
&Inst::LoadFpuConst32 { rd, const_data } => {
|
||||||
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size32);
|
let rd = show_freg_sized(rd.to_reg(), mb_rru, InstSize::Size32);
|
||||||
|
|||||||
Reference in New Issue
Block a user