arm64/arm64asm: fix argument order in FMADD/FMSUB/FNMADD/FNMSUB

The addends in FMADD/FMSUB/FNMADD/FNMSUB should come second, in
accordance with MADD/MSUB. This CL fixes that issue.

fixes golang/go#23775

Change-Id: I139397f38ba02901cf840ed34bb0d1180e9bba36
Reviewed-on: https://go-review.googlesource.com/93336
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Ben Shi 2018-02-12 01:51:23 +00:00 коммит произвёл Cherry Zhang
Родитель 7d04a2ea6b
Коммит 23d99967d0
2 изменённых файлов: 32 добавлений и 32 удалений

Просмотреть файл

@ -189,7 +189,7 @@ func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64), text
case TBNZ, TBZ:
args[0], args[1], args[2] = args[2], args[0], args[1]
case MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL:
case MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL, FMADD, FMSUB, FNMADD, FNMSUB:
if r, ok := inst.Args[0].(Reg); ok {
rno := uint16(r)
if rno <= uint16(WZR) {

62
arm64/arm64asm/testdata/cases.txt поставляемый
Просмотреть файл

@ -5146,8 +5146,8 @@ c200799e| plan9 FCVTZUD F6, R2
ebfe346e| plan9 FDIV V20.S4, V23.S4, V11.S4
c918371e| plan9 FDIVS F23, F6, F9
911a7f1e| plan9 FDIVD F31, F20, F17
a81f0c1f| plan9 FMADD F7, F12, F29, F8
d0404a1f| plan9 FMADD F16, F10, F6, F16
a81f0c1f| plan9 FMADD F12, F7, F29, F8
d0404a1f| plan9 FMADD F10, F16, F6, F16
7ff6324e| plan9 FMAX V18.S4, V19.S4, V31.S4
b84b351e| plan9 FMAXS F21, F29, F24
d64b621e| plan9 FMAXD F2, F30, F22
@ -5182,8 +5182,8 @@ ef03669e| plan9 FMOVD F31, R15
7101ae9e| plan9 FMOV V11.D[1], R17
0e103d1e| plan9 FMOVS $-0.75, F14
1e50761e| plan9 FMOVD $-18., F30
d2b4121f| plan9 FMSUB F13, F18, F6, F18
0a9c4c1f| plan9 FMSUB F7, F12, F0, F10
d2b4121f| plan9 FMSUB F18, F13, F6, F18
0a9c4c1f| plan9 FMSUB F12, F7, F0, F10
0d99b35f| plan9 FMULS V19.S[3], F8, F13
a89b9b0f| plan9 FMUL V27.S[2], V29.S2, V8.S2
75dc376e| plan9 FMUL V23.S4, V3.S4, V21.S4
@ -5194,10 +5194,10 @@ d7096b1e| plan9 FMULD F11, F14, F23
c8dc284e| plan9 VFMULX V8.S4, V6.S4, V8.S4
c043211e| plan9 FNEGS F30, F0
4742611e| plan9 FNEGD F18, F7
9c51251f| plan9 FNMADD F20, F5, F12, F28
e407771f| plan9 FNMADD F1, F23, F31, F4
fbfa3a1f| plan9 FNMSUB F30, F26, F23, F27
bbb0691f| plan9 FNMSUB F12, F9, F5, F27
9c51251f| plan9 FNMADD F5, F20, F12, F28
e407771f| plan9 FNMADD F23, F1, F31, F4
fbfa3a1f| plan9 FNMSUB F26, F30, F23, F27
bbb0691f| plan9 FNMSUB F9, F12, F5, F27
6a8b3f1e| plan9 FNMULS F31, F27, F10
1a8b751e| plan9 FNMULD F21, F24, F26
57d8e15e| plan9 FRECPE F2, F23
@ -6136,8 +6136,8 @@ d002391e| plan9 FCVTZUSW F22, R16
06fe3c6e| plan9 FDIV V28.S4, V16.S4, V6.S4
c41b201e| plan9 FDIVS F0, F30, F4
1618781e| plan9 FDIVD F24, F0, F22
507b0d1f| plan9 FMADD F30, F13, F26, F16
8803491f| plan9 FMADD F0, F9, F28, F8
507b0d1f| plan9 FMADD F13, F30, F26, F16
8803491f| plan9 FMADD F9, F0, F28, F8
75f7394e| plan9 FMAX V25.S4, V27.S4, V21.S4
804b3c1e| plan9 FMAXS F28, F28, F0
c1496c1e| plan9 FMAXD F12, F14, F1
@ -6172,8 +6172,8 @@ f301669e| plan9 FMOVD F15, R19
1103ae9e| plan9 FMOV V24.D[1], R17
0230321e| plan9 FMOVS $-4.25, F2
18b0751e| plan9 FMOVD $-14.5, F24
92bc1b1f| plan9 FMSUB F15, F27, F4, F18
f8e14a1f| plan9 FMSUB F24, F10, F15, F24
92bc1b1f| plan9 FMSUB F27, F15, F4, F18
f8e14a1f| plan9 FMSUB F10, F24, F15, F24
ef91d35f| plan9 FMULD V19.D[0], F15, F15
d293c24f| plan9 FMUL V2.D[0], V30.D2, V18.D2
18dd2b2e| plan9 FMUL V11.S2, V8.S2, V24.S2
@ -6185,10 +6185,10 @@ fe918e7f| plan9 FMULX V14.S[0], F15, F30
c8f9e06e| plan9 FNEG V14.D2, V8.D2
9c41211e| plan9 FNEGS F12, F28
c443611e| plan9 FNEGD F30, F4
e77f301f| plan9 FNMADD F31, F16, F31, F7
e77f301f| plan9 FNMADD F16, F31, F31, F7
9f326c1f| plan9 FNMADD F12, F12, F20, F31
d9e92f1f| plan9 FNMSUB F26, F15, F14, F25
00ad711f| plan9 FNMSUB F11, F17, F8, F0
d9e92f1f| plan9 FNMSUB F15, F26, F14, F25
00ad711f| plan9 FNMSUB F17, F11, F8, F0
c889211e| plan9 FNMULS F1, F14, F8
528b761e| plan9 FNMULD F22, F26, F18
01d8e15e| plan9 FRECPE F0, F1
@ -7136,8 +7136,8 @@ c200791e| plan9 FCVTZUDW F6, R2
1aff2b6e| plan9 FDIV V11.S4, V24.S4, V26.S4
171a391e| plan9 FDIVS F25, F16, F23
7d196b1e| plan9 FDIVD F11, F11, F29
f9721f1f| plan9 FMADD F28, F31, F23, F25
7070551f| plan9 FMADD F28, F21, F3, F16
f9721f1f| plan9 FMADD F31, F28, F23, F25
7070551f| plan9 FMADD F21, F28, F3, F16
05f7624e| plan9 FMAX V2.D2, V24.D2, V5.D2
88493d1e| plan9 FMAXS F29, F12, F8
4a496d1e| plan9 FMAXD F13, F10, F10
@ -7173,8 +7173,8 @@ db01669e| plan9 FMOVD F14, R27
8300ae9e| plan9 FMOV V4.D[1], R3
1870331e| plan9 FMOVS $-6.75, F24
08507d1e| plan9 FMOVD $-0.8125, F8
5cbf0c1f| plan9 FMSUB F15, F12, F26, F28
89e3501f| plan9 FMSUB F24, F16, F28, F9
5cbf0c1f| plan9 FMSUB F12, F15, F26, F28
89e3501f| plan9 FMSUB F16, F24, F28, F9
3a93c95f| plan9 FMULD V9.D[0], F25, F26
5a90ae4f| plan9 FMUL V14.S[1], V2.S4, V26.S4
ba0a2f1e| plan9 FMULS F15, F21, F26
@ -7185,10 +7185,10 @@ d3dc7a5e| plan9 FMULX F26, F6, F19
d4de7f4e| plan9 VFMULX V31.D2, V22.D2, V20.D2
8e41211e| plan9 FNEGS F12, F14
dc42611e| plan9 FNEGD F22, F28
cb362e1f| plan9 FNMADD F13, F14, F22, F11
6441791f| plan9 FNMADD F16, F25, F11, F4
36ed291f| plan9 FNMSUB F27, F9, F9, F22
35b27a1f| plan9 FNMSUB F12, F26, F17, F21
cb362e1f| plan9 FNMADD F14, F13, F22, F11
6441791f| plan9 FNMADD F25, F16, F11, F4
36ed291f| plan9 FNMSUB F9, F27, F9, F22
35b27a1f| plan9 FNMSUB F26, F12, F17, F21
9388301e| plan9 FNMULS F16, F4, F19
c088711e| plan9 FNMULD F17, F6, F0
e8daa15e| plan9 FRECPE F23, F8
@ -8130,8 +8130,8 @@ da00791e| plan9 FCVTZUDW F6, R26
56fd3f2e| plan9 FDIV V31.S2, V10.S2, V22.S2
1f182e1e| plan9 FDIVS F14, F0, F31
ce1b741e| plan9 FDIVD F20, F30, F14
0d61021f| plan9 FMADD F24, F2, F8, F13
03205e1f| plan9 FMADD F8, F30, F0, F3
0d61021f| plan9 FMADD F2, F24, F8, F13
03205e1f| plan9 FMADD F30, F8, F0, F3
72f6654e| plan9 FMAX V5.D2, V19.D2, V18.D2
1849281e| plan9 FMAXS F8, F8, F24
8e4a6e1e| plan9 FMAXD F14, F20, F14
@ -8164,8 +8164,8 @@ bd00669e| plan9 FMOVD F5, R29
ee02ae9e| plan9 FMOV V23.D[1], R14
0ff0251e| plan9 FMOVS $15.5, F15
16506a1e| plan9 FMOVD $0.28125, F22
d1c20e1f| plan9 FMSUB F16, F14, F22, F17
fdae491f| plan9 FMSUB F11, F9, F23, F29
d1c20e1f| plan9 FMSUB F14, F16, F22, F17
fdae491f| plan9 FMSUB F9, F11, F23, F29
a4989d4f| plan9 FMUL V29.S[2], V5.S4, V4.S4
efde706e| plan9 FMUL V16.D2, V23.D2, V15.D2
190a291e| plan9 FMULS F9, F16, F25
@ -8176,10 +8176,10 @@ efde706e| plan9 FMUL V16.D2, V23.D2, V15.D2
a2fba06e| plan9 FNEG V29.S4, V2.S4
7a40211e| plan9 FNEGS F3, F26
f843611e| plan9 FNEGD F31, F24
326b381f| plan9 FNMADD F26, F24, F25, F18
4b636a1f| plan9 FNMADD F24, F10, F26, F11
48fa201f| plan9 FNMSUB F30, F0, F18, F8
04d87f1f| plan9 FNMSUB F22, F31, F0, F4
326b381f| plan9 FNMADD F24, F26, F25, F18
4b636a1f| plan9 FNMADD F10, F24, F26, F11
48fa201f| plan9 FNMSUB F0, F30, F18, F8
04d87f1f| plan9 FNMSUB F31, F22, F0, F4
0289371e| plan9 FNMULS F23, F8, F2
0e8a691e| plan9 FNMULD F9, F16, F14
05dba15e| plan9 FRECPE F24, F5