x64: fix pretty-printing argument order for XmmRmR instructions. (#4094)

The pretty-printing had swapped dst and src2; this was introduced when
we moved to RA2 (sorry about that! IMHO we should do something to
automate the mapping between regalloc arg collection and pretty
printing/emission).

`src2` comes at the end because it has a variable number of register
mentions; this is in line with how many of the other inst formats work.

Actual emitted code was never incorrect, just the pretty-printing.

Updated test golden outputs look correct to me now, including the one
that we saw was incorrect in #3945.
This commit is contained in:
Chris Fallin
2022-05-03 10:12:58 -07:00
committed by GitHub
parent 2122337112
commit 019ebf47b1
7 changed files with 63 additions and 63 deletions

View File

@@ -1108,8 +1108,8 @@ impl PrettyPrint for Inst {
..
} => {
let src1 = pretty_print_reg(src1.to_reg(), 8, allocs);
let src2 = src2.pretty_print(8, allocs);
let dst = pretty_print_reg(dst.to_reg().to_reg(), 8, allocs);
let src2 = src2.pretty_print(8, allocs);
format!("{} {}, {}, {}", ljustify(op.to_string()), src1, src2, dst)
}