rustc_trans: clobber $1 (aka $at) on mips

This copies what clang does. There is a long explanation as to why this
is needed in the clang source (tools/clang/lib/Basic/Targets/Mips.h).
This commit is contained in:
James Cowgill 2018-01-24 11:50:10 +00:00
parent fe7e1a45f3
commit d8e4142bd4
1 changed files with 3 additions and 2 deletions

View File

@ -59,8 +59,9 @@ pub fn trans_inline_asm<'a, 'tcx>(
// Default per-arch clobbers
// Basically what clang does
let arch_clobbers = match &bx.sess().target.target.arch[..] {
"x86" | "x86_64" => vec!["~{dirflag}", "~{fpsr}", "~{flags}"],
_ => Vec::new()
"x86" | "x86_64" => vec!["~{dirflag}", "~{fpsr}", "~{flags}"],
"mips" | "mips64" => vec!["~{$1}"],
_ => Vec::new()
};
let all_constraints =