Skip to content

Commit 62ff543

Browse files
committed
Simplify register name output for x86
1 parent 5a20f39 commit 62ff543

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/librustc_target/asm/x86.rs

+7-8
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ impl X86InlineAsmReg {
297297
_ => unreachable!(),
298298
}
299299
} else if self as u32 <= Self::di as u32 {
300-
let root = ["si", "di"][self as usize - Self::si as usize];
300+
let root = self.name();
301301
match modifier.unwrap_or(reg_default_modifier) {
302302
'l' => write!(out, "{}l", root),
303303
'x' => write!(out, "{}", root),
@@ -306,12 +306,12 @@ impl X86InlineAsmReg {
306306
_ => unreachable!(),
307307
}
308308
} else if self as u32 <= Self::r15 as u32 {
309-
let index = self as u32 - Self::r8 as u32 + 8;
309+
let root = self.name();
310310
match modifier.unwrap_or(reg_default_modifier) {
311-
'l' => write!(out, "r{}b", index),
312-
'x' => write!(out, "r{}w", index),
313-
'e' => write!(out, "r{}d", index),
314-
'r' => write!(out, "r{}", index),
311+
'l' => write!(out, "{}b", root),
312+
'x' => write!(out, "{}w", root),
313+
'e' => write!(out, "{}d", root),
314+
'r' => out.write_str(root),
315315
_ => unreachable!(),
316316
}
317317
} else if self as u32 <= Self::r15b as u32 {
@@ -329,8 +329,7 @@ impl X86InlineAsmReg {
329329
let index = self as u32 - Self::zmm0 as u32;
330330
write!(out, "{}{}", prefix, index)
331331
} else {
332-
let index = self as u32 - Self::k1 as u32 + 1;
333-
write!(out, "k{}", index)
332+
out.write_str(self.name())
334333
}
335334
}
336335

0 commit comments

Comments
 (0)