Skip to content

Commit 23d9996

Browse files
benshi001cherrymui
authored andcommitted
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 <[email protected]> Run-TryBot: Cherry Zhang <[email protected]> TryBot-Result: Gobot Gobot <[email protected]>
1 parent 7d04a2e commit 23d9996

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

arm64/arm64asm/plan9x.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64), text
189189
case TBNZ, TBZ:
190190
args[0], args[1], args[2] = args[2], args[0], args[1]
191191

192-
case MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL:
192+
case MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL, FMADD, FMSUB, FNMADD, FNMSUB:
193193
if r, ok := inst.Args[0].(Reg); ok {
194194
rno := uint16(r)
195195
if rno <= uint16(WZR) {

arm64/arm64asm/testdata/cases.txt

+31-31
Original file line numberDiff line numberDiff line change
@@ -5146,8 +5146,8 @@ c200799e| plan9 FCVTZUD F6, R2
51465146
ebfe346e| plan9 FDIV V20.S4, V23.S4, V11.S4
51475147
c918371e| plan9 FDIVS F23, F6, F9
51485148
911a7f1e| plan9 FDIVD F31, F20, F17
5149-
a81f0c1f| plan9 FMADD F7, F12, F29, F8
5150-
d0404a1f| plan9 FMADD F16, F10, F6, F16
5149+
a81f0c1f| plan9 FMADD F12, F7, F29, F8
5150+
d0404a1f| plan9 FMADD F10, F16, F6, F16
51515151
7ff6324e| plan9 FMAX V18.S4, V19.S4, V31.S4
51525152
b84b351e| plan9 FMAXS F21, F29, F24
51535153
d64b621e| plan9 FMAXD F2, F30, F22
@@ -5182,8 +5182,8 @@ ef03669e| plan9 FMOVD F31, R15
51825182
7101ae9e| plan9 FMOV V11.D[1], R17
51835183
0e103d1e| plan9 FMOVS $-0.75, F14
51845184
1e50761e| plan9 FMOVD $-18., F30
5185-
d2b4121f| plan9 FMSUB F13, F18, F6, F18
5186-
0a9c4c1f| plan9 FMSUB F7, F12, F0, F10
5185+
d2b4121f| plan9 FMSUB F18, F13, F6, F18
5186+
0a9c4c1f| plan9 FMSUB F12, F7, F0, F10
51875187
0d99b35f| plan9 FMULS V19.S[3], F8, F13
51885188
a89b9b0f| plan9 FMUL V27.S[2], V29.S2, V8.S2
51895189
75dc376e| plan9 FMUL V23.S4, V3.S4, V21.S4
@@ -5194,10 +5194,10 @@ d7096b1e| plan9 FMULD F11, F14, F23
51945194
c8dc284e| plan9 VFMULX V8.S4, V6.S4, V8.S4
51955195
c043211e| plan9 FNEGS F30, F0
51965196
4742611e| plan9 FNEGD F18, F7
5197-
9c51251f| plan9 FNMADD F20, F5, F12, F28
5198-
e407771f| plan9 FNMADD F1, F23, F31, F4
5199-
fbfa3a1f| plan9 FNMSUB F30, F26, F23, F27
5200-
bbb0691f| plan9 FNMSUB F12, F9, F5, F27
5197+
9c51251f| plan9 FNMADD F5, F20, F12, F28
5198+
e407771f| plan9 FNMADD F23, F1, F31, F4
5199+
fbfa3a1f| plan9 FNMSUB F26, F30, F23, F27
5200+
bbb0691f| plan9 FNMSUB F9, F12, F5, F27
52015201
6a8b3f1e| plan9 FNMULS F31, F27, F10
52025202
1a8b751e| plan9 FNMULD F21, F24, F26
52035203
57d8e15e| plan9 FRECPE F2, F23
@@ -6136,8 +6136,8 @@ d002391e| plan9 FCVTZUSW F22, R16
61366136
06fe3c6e| plan9 FDIV V28.S4, V16.S4, V6.S4
61376137
c41b201e| plan9 FDIVS F0, F30, F4
61386138
1618781e| plan9 FDIVD F24, F0, F22
6139-
507b0d1f| plan9 FMADD F30, F13, F26, F16
6140-
8803491f| plan9 FMADD F0, F9, F28, F8
6139+
507b0d1f| plan9 FMADD F13, F30, F26, F16
6140+
8803491f| plan9 FMADD F9, F0, F28, F8
61416141
75f7394e| plan9 FMAX V25.S4, V27.S4, V21.S4
61426142
804b3c1e| plan9 FMAXS F28, F28, F0
61436143
c1496c1e| plan9 FMAXD F12, F14, F1
@@ -6172,8 +6172,8 @@ f301669e| plan9 FMOVD F15, R19
61726172
1103ae9e| plan9 FMOV V24.D[1], R17
61736173
0230321e| plan9 FMOVS $-4.25, F2
61746174
18b0751e| plan9 FMOVD $-14.5, F24
6175-
92bc1b1f| plan9 FMSUB F15, F27, F4, F18
6176-
f8e14a1f| plan9 FMSUB F24, F10, F15, F24
6175+
92bc1b1f| plan9 FMSUB F27, F15, F4, F18
6176+
f8e14a1f| plan9 FMSUB F10, F24, F15, F24
61776177
ef91d35f| plan9 FMULD V19.D[0], F15, F15
61786178
d293c24f| plan9 FMUL V2.D[0], V30.D2, V18.D2
61796179
18dd2b2e| plan9 FMUL V11.S2, V8.S2, V24.S2
@@ -6185,10 +6185,10 @@ fe918e7f| plan9 FMULX V14.S[0], F15, F30
61856185
c8f9e06e| plan9 FNEG V14.D2, V8.D2
61866186
9c41211e| plan9 FNEGS F12, F28
61876187
c443611e| plan9 FNEGD F30, F4
6188-
e77f301f| plan9 FNMADD F31, F16, F31, F7
6188+
e77f301f| plan9 FNMADD F16, F31, F31, F7
61896189
9f326c1f| plan9 FNMADD F12, F12, F20, F31
6190-
d9e92f1f| plan9 FNMSUB F26, F15, F14, F25
6191-
00ad711f| plan9 FNMSUB F11, F17, F8, F0
6190+
d9e92f1f| plan9 FNMSUB F15, F26, F14, F25
6191+
00ad711f| plan9 FNMSUB F17, F11, F8, F0
61926192
c889211e| plan9 FNMULS F1, F14, F8
61936193
528b761e| plan9 FNMULD F22, F26, F18
61946194
01d8e15e| plan9 FRECPE F0, F1
@@ -7136,8 +7136,8 @@ c200791e| plan9 FCVTZUDW F6, R2
71367136
1aff2b6e| plan9 FDIV V11.S4, V24.S4, V26.S4
71377137
171a391e| plan9 FDIVS F25, F16, F23
71387138
7d196b1e| plan9 FDIVD F11, F11, F29
7139-
f9721f1f| plan9 FMADD F28, F31, F23, F25
7140-
7070551f| plan9 FMADD F28, F21, F3, F16
7139+
f9721f1f| plan9 FMADD F31, F28, F23, F25
7140+
7070551f| plan9 FMADD F21, F28, F3, F16
71417141
05f7624e| plan9 FMAX V2.D2, V24.D2, V5.D2
71427142
88493d1e| plan9 FMAXS F29, F12, F8
71437143
4a496d1e| plan9 FMAXD F13, F10, F10
@@ -7173,8 +7173,8 @@ db01669e| plan9 FMOVD F14, R27
71737173
8300ae9e| plan9 FMOV V4.D[1], R3
71747174
1870331e| plan9 FMOVS $-6.75, F24
71757175
08507d1e| plan9 FMOVD $-0.8125, F8
7176-
5cbf0c1f| plan9 FMSUB F15, F12, F26, F28
7177-
89e3501f| plan9 FMSUB F24, F16, F28, F9
7176+
5cbf0c1f| plan9 FMSUB F12, F15, F26, F28
7177+
89e3501f| plan9 FMSUB F16, F24, F28, F9
71787178
3a93c95f| plan9 FMULD V9.D[0], F25, F26
71797179
5a90ae4f| plan9 FMUL V14.S[1], V2.S4, V26.S4
71807180
ba0a2f1e| plan9 FMULS F15, F21, F26
@@ -7185,10 +7185,10 @@ d3dc7a5e| plan9 FMULX F26, F6, F19
71857185
d4de7f4e| plan9 VFMULX V31.D2, V22.D2, V20.D2
71867186
8e41211e| plan9 FNEGS F12, F14
71877187
dc42611e| plan9 FNEGD F22, F28
7188-
cb362e1f| plan9 FNMADD F13, F14, F22, F11
7189-
6441791f| plan9 FNMADD F16, F25, F11, F4
7190-
36ed291f| plan9 FNMSUB F27, F9, F9, F22
7191-
35b27a1f| plan9 FNMSUB F12, F26, F17, F21
7188+
cb362e1f| plan9 FNMADD F14, F13, F22, F11
7189+
6441791f| plan9 FNMADD F25, F16, F11, F4
7190+
36ed291f| plan9 FNMSUB F9, F27, F9, F22
7191+
35b27a1f| plan9 FNMSUB F26, F12, F17, F21
71927192
9388301e| plan9 FNMULS F16, F4, F19
71937193
c088711e| plan9 FNMULD F17, F6, F0
71947194
e8daa15e| plan9 FRECPE F23, F8
@@ -8130,8 +8130,8 @@ da00791e| plan9 FCVTZUDW F6, R26
81308130
56fd3f2e| plan9 FDIV V31.S2, V10.S2, V22.S2
81318131
1f182e1e| plan9 FDIVS F14, F0, F31
81328132
ce1b741e| plan9 FDIVD F20, F30, F14
8133-
0d61021f| plan9 FMADD F24, F2, F8, F13
8134-
03205e1f| plan9 FMADD F8, F30, F0, F3
8133+
0d61021f| plan9 FMADD F2, F24, F8, F13
8134+
03205e1f| plan9 FMADD F30, F8, F0, F3
81358135
72f6654e| plan9 FMAX V5.D2, V19.D2, V18.D2
81368136
1849281e| plan9 FMAXS F8, F8, F24
81378137
8e4a6e1e| plan9 FMAXD F14, F20, F14
@@ -8164,8 +8164,8 @@ bd00669e| plan9 FMOVD F5, R29
81648164
ee02ae9e| plan9 FMOV V23.D[1], R14
81658165
0ff0251e| plan9 FMOVS $15.5, F15
81668166
16506a1e| plan9 FMOVD $0.28125, F22
8167-
d1c20e1f| plan9 FMSUB F16, F14, F22, F17
8168-
fdae491f| plan9 FMSUB F11, F9, F23, F29
8167+
d1c20e1f| plan9 FMSUB F14, F16, F22, F17
8168+
fdae491f| plan9 FMSUB F9, F11, F23, F29
81698169
a4989d4f| plan9 FMUL V29.S[2], V5.S4, V4.S4
81708170
efde706e| plan9 FMUL V16.D2, V23.D2, V15.D2
81718171
190a291e| plan9 FMULS F9, F16, F25
@@ -8176,10 +8176,10 @@ efde706e| plan9 FMUL V16.D2, V23.D2, V15.D2
81768176
a2fba06e| plan9 FNEG V29.S4, V2.S4
81778177
7a40211e| plan9 FNEGS F3, F26
81788178
f843611e| plan9 FNEGD F31, F24
8179-
326b381f| plan9 FNMADD F26, F24, F25, F18
8180-
4b636a1f| plan9 FNMADD F24, F10, F26, F11
8181-
48fa201f| plan9 FNMSUB F30, F0, F18, F8
8182-
04d87f1f| plan9 FNMSUB F22, F31, F0, F4
8179+
326b381f| plan9 FNMADD F24, F26, F25, F18
8180+
4b636a1f| plan9 FNMADD F10, F24, F26, F11
8181+
48fa201f| plan9 FNMSUB F0, F30, F18, F8
8182+
04d87f1f| plan9 FNMSUB F31, F22, F0, F4
81838183
0289371e| plan9 FNMULS F23, F8, F2
81848184
0e8a691e| plan9 FNMULD F9, F16, F14
81858185
05dba15e| plan9 FRECPE F24, F5

0 commit comments

Comments
 (0)