[arch] arm64/arm64asm: adjust the disassembly codes of FMOVQ/FLDP/FSTP

18 views
Skip to first unread message

eric fang (Gerrit)

unread,
Mar 14, 2021, 10:04:58 PM3/14/21
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Go Bot, Cherry Zhang, golang-co...@googlegroups.com

eric fang submitted this change.

View Change

Approvals: Cherry Zhang: Looks good to me, approved; Run TryBots eric fang: Looks good to me, but someone else must approve; Trusted Go Bot: TryBots succeeded
arm64/arm64asm: adjust the disassembly codes of FMOVQ/FLDP/FSTP

Currently FMOVQ, FLDP and FSTP are objdumped as MOVD, LDP and STP, and the
floating point register arguments of these instructions are objdumped as
"V" register format. This CL makes the disassembly formats of these instructions
consistent with their assembly formats.

Besides Go has no LDUR and VLDUR instructions, but the disassembler objdumps
MOVD as LDUR and VLDUR in some cases, this CL changes the disassembly format
of the arm64 LDUR instruction as MOVD, MOVW or FMOV{B,H,S,D,Q}.

Change-Id: I0f964db422c9c42929e639528ac2c0c4adcfee37
Reviewed-on: https://go-review.googlesource.com/c/arch/+/300729
Reviewed-by: eric fang <eric...@arm.com>
Reviewed-by: Cherry Zhang <cher...@google.com>
Trust: eric fang <eric...@arm.com>
Run-TryBot: Cherry Zhang <cher...@google.com>
TryBot-Result: Go Bot <go...@golang.org>
---
M arm64/arm64asm/plan9x.go
M arm64/arm64asm/testdata/plan9cases.txt
2 files changed, 279 insertions(+), 245 deletions(-)

diff --git a/arm64/arm64asm/plan9x.go b/arm64/arm64asm/plan9x.go
index bae42e2..3aaf0b2 100644
--- a/arm64/arm64asm/plan9x.go
+++ b/arm64/arm64asm/plan9x.go
@@ -126,7 +126,7 @@
op = "VMOV"
}

- case LDR:
+ case LDR, LDUR:
var rno uint16
if r, ok := inst.Args[0].(Reg); ok {
rno = uint16(r)
@@ -135,12 +135,21 @@
}
if rno <= uint16(WZR) {
op = "MOVWU" + suffix
+ } else if rno >= uint16(B0) && rno <= uint16(B31) {
+ op = "FMOVB" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
+ } else if rno >= uint16(H0) && rno <= uint16(H31) {
+ op = "FMOVH" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
} else if rno >= uint16(S0) && rno <= uint16(S31) {
op = "FMOVS" + suffix
args[0] = fmt.Sprintf("F%d", rno&31)
} else if rno >= uint16(D0) && rno <= uint16(D31) {
op = "FMOVD" + suffix
args[0] = fmt.Sprintf("F%d", rno&31)
+ } else if rno >= uint16(Q0) && rno <= uint16(Q31) {
+ op = "FMOVQ" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
} else {
op = "MOVD" + suffix
}
@@ -181,12 +190,21 @@
}
if rno <= uint16(WZR) {
op = "MOVW" + suffix
+ } else if rno >= uint16(B0) && rno <= uint16(B31) {
+ op = "FMOVB" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
+ } else if rno >= uint16(H0) && rno <= uint16(H31) {
+ op = "FMOVH" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
} else if rno >= uint16(S0) && rno <= uint16(S31) {
op = "FMOVS" + suffix
args[0] = fmt.Sprintf("F%d", rno&31)
} else if rno >= uint16(D0) && rno <= uint16(D31) {
op = "FMOVD" + suffix
args[0] = fmt.Sprintf("F%d", rno&31)
+ } else if rno >= uint16(Q0) && rno <= uint16(Q31) {
+ op = "FMOVQ" + suffix
+ args[0] = fmt.Sprintf("F%d", rno&31)
} else {
op = "MOVD" + suffix
}
@@ -251,18 +269,31 @@
op += "W"
}
}
- fallthrough
+ args[0] = fmt.Sprintf("(%s, %s)", args[0], args[1])
+ args[1] = args[2]
+ return op + " " + args[1] + ", " + args[0]

case STP, LDP:
args[0] = fmt.Sprintf("(%s, %s)", args[0], args[1])
args[1] = args[2]
- if op == "STP" {
- op = op + suffix
+
+ rno, ok := inst.Args[0].(Reg)
+ if !ok {
+ rno = Reg(inst.Args[0].(RegSP))
+ }
+ if rno <= WZR {
+ op = op + "W"
+ } else if rno >= S0 && rno <= S31 {
+ op = "F" + op + "S"
+ } else if rno >= D0 && rno <= D31 {
+ op = "F" + op + "D"
+ } else if rno >= Q0 && rno <= Q31 {
+ op = "F" + op + "Q"
+ }
+ op = op + suffix
+ if inst.Op.String() == "STP" {
return op + " " + args[0] + ", " + args[1]
- } else if op == "LDP" {
- op = op + suffix
- return op + " " + args[1] + ", " + args[0]
- } else if op == "LDAXP" || op == "LDXP" || op == "LDAXPW" || op == "LDXPW" {
+ } else {
return op + " " + args[1] + ", " + args[0]
}

@@ -469,6 +500,12 @@
SHA256SU1
`)

+// floating point instrcutions without "F" prefix.
+var fOpsWithoutFPrefix = map[Op]bool{
+ LDP: true,
+ STP: true,
+}
+
func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg Arg) string {
switch a := arg.(type) {
case Imm:
@@ -494,20 +531,17 @@
regenum := uint16(a)
regno := uint16(a) & 31

- if regenum >= uint16(B0) && regenum <= uint16(D31) {
- if strings.HasPrefix(inst.Op.String(), "F") || strings.HasSuffix(inst.Op.String(), "CVTF") {
+ if regenum >= uint16(B0) && regenum <= uint16(Q31) {
+ if strings.HasPrefix(inst.Op.String(), "F") || strings.HasSuffix(inst.Op.String(), "CVTF") || fOpsWithoutFPrefix[inst.Op] {
// FP registers are the same ones as SIMD registers
// Print Fn for scalar variant to align with assembler (e.g., FCVT, SCVTF, UCVTF, etc.)
return fmt.Sprintf("F%d", regno)
} else {
+ // Print Vn to align with assembler (e.g., SHA256H)
return fmt.Sprintf("V%d", regno)
}

- } else if regenum >= uint16(Q0) && regenum <= uint16(Q31) {
- // Print Vn to align with assembler (e.g., SHA256H)
- return fmt.Sprintf("V%d", regno)
}
-
if regno == 31 {
return "ZR"
}
diff --git a/arm64/arm64asm/testdata/plan9cases.txt b/arm64/arm64asm/testdata/plan9cases.txt
index c92e858..1bbb238 100644
--- a/arm64/arm64asm/testdata/plan9cases.txt
+++ b/arm64/arm64asm/testdata/plan9cases.txt
@@ -117,11 +117,11 @@
bcfc5f48| LDAXRH (R5), R28
ecff5928| LDNPW 204(RSP), ZR, R12
852744a8| LDNP 64(R28), R9, R5
-1286d728| LDP.P 188(R16), (R18, R1)
+1286d728| LDPW.P 188(R16), (R18, R1)
7668e8a8| LDP.P -384(R3), (R22, R26)
-6d8bc729| LDP.W 60(R27), (R13, R2)
+6d8bc729| LDPW.W 60(R27), (R13, R2)
1cadd1a9| LDP.W 280(R8), (R28, R11)
-bf4e7e29| LDP -16(R21), (ZR, R19)
+bf4e7e29| LDPW -16(R21), (ZR, R19)
61695fa9| LDP 496(R11), (R1, R26)
4c00e668| LDPSW -208(R2), R0, R12
85a0cb69| LDPSW 92(R4), R8, R5
@@ -172,8 +172,8 @@
7ef8ce78| LDTRSHW 239(R3), R30
786a8978| LDTRSH 150(R19), R24
c5eb81b8| LDTRSW 30(R30), R5
-a1f14bb8| LDURW 191(R13), R1
-c3425cf8| LDUR -60(R22), R3
+a1f14bb8| MOVWU 191(R13), R1
+c3425cf8| MOVD -60(R22), R3
2e125038| LDURBW -255(R17), R14
26004878| LDURHW 128(R1), R6
c3e3cd38| LDURSBW 222(R30), R3
@@ -286,11 +286,11 @@
7bfe0b48| STLXRH R27, (R19), R11
2a8c0528| STNPW 44(R1), R3, R10
67fc10a8| STNP 264(R3), ZR, R7
-5559bd28| STP.P (R21, R22), -24(R10)
+5559bd28| STPW.P (R21, R22), -24(R10)
166c96a8| STP.P (R22, R27), 352(R0)
-3d4a8729| STP.W (R29, R18), 56(R17)
+3d4a8729| STPW.W (R29, R18), 56(R17)
912f86a9| STP.W (R17, R11), 96(R28)
-c40d3029| STP (R4, R3), -128(R14)
+c40d3029| STPW (R4, R3), -128(R14)
f73f39a9| STP (R23, R15), -112(RSP)
34441eb8| MOVW.P R20, -28(R1)
11f60bf8| MOVD.P R17, 191(R16)
@@ -672,36 +672,36 @@
7776732c| VLDNP -104(R19), V29, V23
23dd746c| VLDNP -184(R9), V23, V3
383e48ac| VLDNP 256(R17), V15, V24
-0d10c12c| LDP.P 8(R0), (V13, V4)
-fe3ae66c| LDP.P -416(R23), (V30, V14)
-f627f9ac| LDP.P -224(RSP), (V22, V9)
-918cd82d| LDP.W 196(R4), (V17, V3)
-986be46d| LDP.W -448(R28), (V24, V26)
-ebd8f8ad| LDP.W -240(R7), (V11, V22)
-3c905c2d| LDP 228(R1), (V28, V4)
-5887536d| LDP 312(R26), (V24, V1)
-08957cad| LDP -112(R8), (V8, V5)
-c5e5543c| MOVD.P -178(R14), V5
-4ff5417c| MOVD.P 31(R10), V15
+0d10c12c| FLDPS.P 8(R0), (F13, F4)
+fe3ae66c| FLDPD.P -416(R23), (F30, F14)
+f627f9ac| FLDPQ.P -224(RSP), (F22, F9)
+918cd82d| FLDPS.W 196(R4), (F17, F3)
+986be46d| FLDPD.W -448(R28), (F24, F26)
+ebd8f8ad| FLDPQ.W -240(R7), (F11, F22)
+3c905c2d| FLDPS 228(R1), (F28, F4)
+5887536d| FLDPD 312(R26), (F24, F1)
+08957cad| FLDPQ -112(R8), (F8, F5)
+c5e5543c| FMOVB.P -178(R14), F5
+4ff5417c| FMOVH.P 31(R10), F15
72e54bbc| FMOVS.P 190(R11), F18
16b55dfc| FMOVD.P -37(R8), F22
-9e24db3c| MOVD.P -78(R4), V30
-d20c503c| MOVD.W -256(R6), V18
-1f1c4d7c| MOVD.W 209(R0), V31
+9e24db3c| FMOVQ.P -78(R4), F30
+d20c503c| FMOVB.W -256(R6), F18
+1f1c4d7c| FMOVH.W 209(R0), F31
2fbf4dbc| FMOVS.W 219(R25), F15
a06c59fc| FMOVD.W -106(R5), F0
-886ddd3c| MOVD.W -42(R12), V8
-58f64e3d| MOVD 957(R18), V24
-f5c3547d| MOVD 2656(RSP), V21
+886ddd3c| FMOVQ.W -42(R12), F8
+58f64e3d| FMOVB 957(R18), F24
+f5c3547d| FMOVH 2656(RSP), F21
8e8a7bbd| FMOVS 15240(R20), F14
8e3c7afd| FMOVD 29816(R4), F14
-f2aeff3d| MOVD 65200(R23), V18
-1d78793c| MOVD (R0)(R25<<0), V29
-b8f15d3c| VLDUR -33(R13), V24
-95635c7c| VLDUR -58(R28), V21
-27d046bc| VLDUR 109(R1), V7
-21624efc| VLDUR 230(R17), V1
-6dd2d83c| VLDUR -115(R19), V13
+f2aeff3d| FMOVQ 65200(R23), F18
+1d78793c| FMOVB (R0)(R25<<0), F29
+b8f15d3c| FMOVB -33(R13), F24
+95635c7c| FMOVH -58(R28), F21
+27d046bc| FMOVS 109(R1), F7
+21624efc| FMOVD 230(R17), F1
+6dd2d83c| FMOVQ -115(R19), F13
dc09be6f| VMLA V30.S[3], V14.S4, V28.S4
eb97af4e| VMLA V15.S4, V31.S4, V11.S4
0495722e| VMLS V18.H4, V8.H4, V4.H4
@@ -899,39 +899,39 @@
f9c9202c| VSTNP -252(R15), V18, V25
18b8316c| VSTNP -232(R0), V14, V24
409c1cac| VSTNP 912(R2), V7, V0
-73f0812c| STP.P (V19, V28), 12(R3)
-28d0826c| STP.P (V8, V20), 40(R1)
-9bf5bfac| STP.P (V27, V29), -16(R12)
-885ead2d| STP.W (V8, V23), -152(R20)
-b0de926d| STP.W (V16, V23), 296(R21)
-713387ad| STP.W (V17, V12), 224(R27)
-52130a2d| STP (V18, V4), 80(R26)
-b63a236d| STP (V22, V14), -464(R21)
-6d5424ad| STP (V13, V21), -896(R3)
-afb60f3c| MOVD.P V15, 251(R21)
-81e7077c| MOVD.P V1, 126(R28)
+73f0812c| FSTPS.P (F19, F28), 12(R3)
+28d0826c| FSTPD.P (F8, F20), 40(R1)
+9bf5bfac| FSTPQ.P (F27, F29), -16(R12)
+885ead2d| FSTPS.W (F8, F23), -152(R20)
+b0de926d| FSTPD.W (F16, F23), 296(R21)
+713387ad| FSTPQ.W (F17, F12), 224(R27)
+52130a2d| FSTPS (F18, F4), 80(R26)
+b63a236d| FSTPD (F22, F14), -464(R21)
+6d5424ad| FSTPQ (F13, F21), -896(R3)
+afb60f3c| FMOVB.P F15, 251(R21)
+81e7077c| FMOVH.P F1, 126(R28)
203713bc| FMOVS.P F0, -205(R25)
60c61ffc| FMOVD.P F0, -4(R19)
-d256813c| MOVD.P V18, 21(R22)
-ffce083c| MOVD.W V31, 140(R23)
-6d3d017c| MOVD.W V13, 19(R11)
+d256813c| FMOVQ.P F18, 21(R22)
+ffce083c| FMOVB.W F31, 140(R23)
+6d3d017c| FMOVH.W F13, 19(R11)
52ed01bc| FMOVS.W F18, 30(R10)
fafd11fc| FMOVD.W F26, -225(R15)
-663e9b3c| MOVD.W V6, -77(R19)
-7d0c393d| MOVD V29, 3651(R3)
-8f50067d| MOVD V15, 808(R4)
+663e9b3c| FMOVQ.W F6, -77(R19)
+7d0c393d| FMOVB F29, 3651(R3)
+8f50067d| FMOVH F15, 808(R4)
94680dbd| FMOVS F20, 3432(R4)
b7673bfd| FMOVD F23, 30408(R29)
-fed3a63d| MOVD V30, 39744(RSP)
-8a6a243c| MOVD V10, (R20)(R4)
+fed3a63d| FMOVQ F30, 39744(RSP)
+8a6a243c| FMOVB F10, (R20)(R4)
29493fbc| FMOVS F9, (R9)(ZR.UXTW)
8bd93bfc| FMOVD F11, (R12)(R27.SXTW<<3)
-c768a93c| MOVD V7, (R6)(R9)
-a7b00a3c| MOVD V7, 171(R5)
-40e3107c| MOVD V0, -242(R26)
+c768a93c| FMOVQ F7, (R6)(R9)
+a7b00a3c| FMOVB F7, 171(R5)
+40e3107c| FMOVH F0, -242(R26)
18911fbc| FMOVS F24, -7(R8)
fcc007fc| FMOVD F28, 124(R7)
-db12893c| MOVD V27, 145(R22)
+db12893c| FMOVQ F27, 145(R22)
1686716e| VSUB V17.H8, V16.H8, V22.H8
5362320e| VSUBHN V18.H8, V18.H8, V19.B8
6163bf4e| VSUBHN2 V31.D2, V27.D2, V1.S4
@@ -1125,11 +1125,11 @@
78ff5f48| LDAXRH (R27), R24
35864a28| LDNPW 84(R17), R1, R21
6da05fa8| LDNP 504(R3), R8, R13
-a8f9f428| LDP.P -92(R13), (R8, R30)
+a8f9f428| LDPW.P -92(R13), (R8, R30)
b749e3a8| LDP.P -464(R13), (R23, R18)
-bdedd929| LDP.W 204(R13), (R29, R27)
+bdedd929| LDPW.W 204(R13), (R29, R27)
c8e5c6a9| LDP.W 104(R14), (R8, R25)
-c0857f29| LDP -4(R14), (R0, R1)
+c0857f29| LDPW -4(R14), (R0, R1)
388a6ca9| LDP -312(R17), (R24, R2)
086be468| LDPSW -224(R24), R26, R8
d107d269| LDPSW 144(R30), R1, R17
@@ -1178,8 +1178,8 @@
e178c378| LDTRSHW 55(R7), R1
a77a8778| LDTRSH 119(R21), R7
cde982b8| LDTRSW 46(R14), R13
-04d15bb8| LDURW -67(R8), R4
-02a256f8| LDUR -150(R16), R2
+04d15bb8| MOVWU -67(R8), R4
+02a256f8| MOVD -150(R16), R2
97405438| LDURBW -188(R4), R23
99b14b78| LDURHW 187(R12), R25
f9a1cf38| LDURSBW 250(R15), R25
@@ -1288,11 +1288,11 @@
befc0048| STLXRH R30, (R5), R0
76613728| STNPW -72(R11), R24, R22
c7523ba8| STNP -80(R22), R20, R7
-8e3a9f28| STP.P (R14, R14), 248(R20)
+8e3a9f28| STPW.P (R14, R14), 248(R20)
aa1fa6a8| STP.P (R10, R7), -416(R29)
-fbae8d29| STP.W (R27, R11), 108(R23)
+fbae8d29| STPW.W (R27, R11), 108(R23)
f63c80a9| STP.W (R22, R15), (R7)
-43d73629| STP (R3, R21), -76(R26)
+43d73629| STPW (R3, R21), -76(R26)
1ae01ba9| STP (R26, R24), 440(R0)
8f650cb8| MOVW.P R15, 198(R12)
aad503f8| MOVD.P R10, 61(R13)
@@ -1675,41 +1675,41 @@
893e622c| VLDNP -240(R20), V15, V9
f90e626c| VLDNP -480(R23), V3, V25
b0224fac| VLDNP 480(R21), V8, V16
-9186de2c| LDP.P 244(R20), (V17, V1)
-e820d06c| LDP.P 256(R7), (V8, V8)
-417de8ac| LDP.P -768(R10), (V1, V31)
-7969ed2d| LDP.W -152(R11), (V25, V26)
-70c8c36d| LDP.W 56(R3), (V16, V18)
-30b4c4ad| LDP.W 144(R1), (V16, V13)
-a1857f2d| LDP -4(R13), (V1, V1)
-f4ae786d| LDP -120(R23), (V20, V11)
-998366ad| LDP -816(R28), (V25, V0)
-7535453c| MOVD.P 83(R11), V21
-5465477c| MOVD.P 118(R10), V20
+9186de2c| FLDPS.P 244(R20), (F17, F1)
+e820d06c| FLDPD.P 256(R7), (F8, F8)
+417de8ac| FLDPQ.P -768(R10), (F1, F31)
+7969ed2d| FLDPS.W -152(R11), (F25, F26)
+70c8c36d| FLDPD.W 56(R3), (F16, F18)
+30b4c4ad| FLDPQ.W 144(R1), (F16, F13)
+a1857f2d| FLDPS -4(R13), (F1, F1)
+f4ae786d| FLDPD -120(R23), (F20, F11)
+998366ad| FLDPQ -816(R28), (F25, F0)
+7535453c| FMOVB.P 83(R11), F21
+5465477c| FMOVH.P 118(R10), F20
a2b44bbc| FMOVS.P 187(R5), F2
ab045bfc| FMOVD.P -80(R5), F11
-0515d43c| MOVD.P -191(R8), V5
-43ad413c| MOVD.W 26(R10), V3
-22cd4f7c| MOVD.W 252(R9), V2
+0515d43c| FMOVQ.P -191(R8), F5
+43ad413c| FMOVB.W 26(R10), F3
+22cd4f7c| FMOVH.W 252(R9), F2
5fad44bc| FMOVS.W 74(R10), F31
db7d5afc| FMOVD.W -89(R14), F27
-15ccd63c| MOVD.W -148(R0), V21
-95c34b3d| MOVD 752(R28), V21
-f5885e7d| MOVD 3908(R7), V21
+15ccd63c| FMOVQ.W -148(R0), F21
+95c34b3d| FMOVB 752(R28), F21
+f5885e7d| FMOVH 3908(R7), F21
54db66bd| FMOVS 9944(R26), F20
46ee78fd| FMOVD 29144(R18), F6
-0cc4e93d| MOVD 42768(R0), V12
+0cc4e93d| FMOVQ 42768(R0), F12
e1c4211c| FMOVS 69159(PC), F1
2071c35c| FMOVD -124023(PC), F0
-ae79703c| MOVD (R13)(R16<<0), V14
+ae79703c| FMOVB (R13)(R16<<0), F14
38fb67bc| FMOVS (R25)(R7.SXTX<<2), F24
3e6b6dfc| FMOVD (R25)(R13), F30
-a278ff3c| MOVD (R5)(ZR<<4), V2
-ed02563c| VLDUR -160(R23), V13
-01c0507c| VLDUR -244(R0), V1
-7fd24ebc| VLDUR 237(R19), V31
-7a734ffc| VLDUR 247(R27), V26
-d4a3dd3c| VLDUR -38(R30), V20
+a278ff3c| FMOVQ (R5)(ZR<<4), F2
+ed02563c| FMOVB -160(R23), F13
+01c0507c| FMOVH -244(R0), F1
+7fd24ebc| FMOVS 237(R19), F31
+7a734ffc| FMOVD 247(R27), F26
+d4a3dd3c| FMOVQ -38(R30), F20
1c97250e| VMLA V5.B8, V24.B8, V28.B8
af97a12e| VMLS V1.S2, V29.S2, V15.S2
2b061f5e| VMOV V17.B[15], V11
@@ -1900,41 +1900,41 @@
79b53d2c| VSTNP -20(R11), V13, V25
d895326c| VSTNP -216(R14), V5, V24
d1810dac| VSTNP 432(R14), V0, V17
-08728c2c| STP.P (V8, V28), 96(R16)
-ac1ba16c| STP.P (V12, V6), -496(R29)
-f4fab1ac| STP.P (V20, V30), -464(R23)
-c15bbe2d| STP.W (V1, V22), -16(R30)
-2422856d| STP.W (V4, V8), 80(R17)
-3d5282ad| STP.W (V29, V20), 64(R17)
-5df5352d| STP (V29, V29), -84(R10)
-5c54286d| STP (V28, V21), -384(R2)
-753c11ad| STP (V21, V15), 544(R3)
-54e4033c| MOVD.P V20, 62(R2)
-aa54137c| MOVD.P V10, -203(R5)
+08728c2c| FSTPS.P (F8, F28), 96(R16)
+ac1ba16c| FSTPD.P (F12, F6), -496(R29)
+f4fab1ac| FSTPQ.P (F20, F30), -464(R23)
+c15bbe2d| FSTPS.W (F1, F22), -16(R30)
+2422856d| FSTPD.W (F4, F8), 80(R17)
+3d5282ad| FSTPQ.W (F29, F20), 64(R17)
+5df5352d| FSTPS (F29, F29), -84(R10)
+5c54286d| FSTPD (F28, F21), -384(R2)
+753c11ad| FSTPQ (F21, F15), 544(R3)
+54e4033c| FMOVB.P F20, 62(R2)
+aa54137c| FMOVH.P F10, -203(R5)
c9d615bc| FMOVS.P F9, -163(R22)
fc471efc| FMOVD.P F28, -28(RSP)
-20f78d3c| MOVD.P V0, 223(R25)
-028d1b3c| MOVD.W V2, -72(R8)
-35be037c| MOVD.W V21, 59(R17)
+20f78d3c| FMOVQ.P F0, 223(R25)
+028d1b3c| FMOVB.W F2, -72(R8)
+35be037c| FMOVH.W F21, 59(R17)
b98c15bc| FMOVS.W F25, -168(R5)
fd1e11fc| FMOVD.W F29, -239(R23)
-13ec9a3c| MOVD.W V19, -82(R0)
-b12d123d| MOVD V17, 1163(R13)
-d6500b7d| MOVD V22, 1448(R6)
+13ec9a3c| FMOVQ.W F19, -82(R0)
+b12d123d| FMOVB F17, 1163(R13)
+d6500b7d| FMOVH F22, 1448(R6)
d46e39bd| FMOVS F20, 14700(R22)
b84f30fd| FMOVD F24, 24728(R29)
-3cee993d| MOVD V28, 26544(R17)
-4348293c| MOVD V3, (R2)(R9.UXTW)
-ed7b253c| MOVD V13, (RSP)(R5<<0)
-8fc9357c| MOVD V15, (R12)(R21.SXTW)
+3cee993d| FMOVQ F28, 26544(R17)
+4348293c| FMOVB F3, (R2)(R9.UXTW)
+ed7b253c| FMOVB F13, (RSP)(R5<<0)
+8fc9357c| FMOVH F15, (R12)(R21.SXTW)
87f832bc| FMOVS F7, (R4)(R18.SXTX<<2)
f1ea38fc| FMOVD F17, (R23)(R24.SXTX)
-1c68a43c| MOVD V28, (R0)(R4)
-dcb1023c| MOVD V28, 43(R14)
-6701117c| MOVD V7, -240(R11)
+1c68a43c| FMOVQ F28, (R0)(R4)
+dcb1023c| FMOVB F28, 43(R14)
+6701117c| FMOVH F7, -240(R11)
85b11bbc| FMOVS F5, -69(R12)
8ea10efc| FMOVD F14, 234(R12)
-eab08f3c| MOVD V10, 251(R7)
+eab08f3c| FMOVQ F10, 251(R7)
ca876a2e| VSUB V10.H4, V30.H4, V10.H4
603be05e| VSUQADD V27, V0
513a600e| VSUQADD V18.H4, V17.H4
@@ -2134,11 +2134,11 @@
fafd5f48| LDAXRH (R15), R26
b8804428| LDNPW 36(R5), R0, R24
93e969a8| LDNP -360(R12), R26, R19
-caccef28| LDP.P -132(R6), (R10, R19)
+caccef28| LDPW.P -132(R6), (R10, R19)
7365c3a8| LDP.P 48(R11), (R19, R25)
-3106ca29| LDP.W 80(R17), (R17, R1)
+3106ca29| LDPW.W 80(R17), (R17, R1)
0c02f7a9| LDP.W -144(R16), (R12, R0)
-41af6529| LDP -212(R26), (R1, R11)
+41af6529| LDPW -212(R26), (R1, R11)
706b65a9| LDP -432(R27), (R16, R26)
746ecf68| LDPSW 120(R19), R27, R20
c051c669| LDPSW 48(R14), R20, R0
@@ -2184,8 +2184,8 @@
905ac078| LDTRSHW 5(R20), R16
10898478| LDTRSH 72(R8), R16
37188eb8| LDTRSW 225(R1), R23
-992351b8| LDURW -238(R28), R25
-c9f155f8| LDUR -161(R14), R9
+992351b8| MOVWU -238(R28), R25
+c9f155f8| MOVD -161(R14), R9
76e14e38| LDURBW 238(R11), R22
47b24478| LDURHW 75(R18), R7
4020da38| LDURSBW -94(R2), R0
@@ -2293,11 +2293,11 @@
8dfe1048| STLXRH R13, (R20), R16
1a323628| STNPW -80(R16), R12, R26
b3cb3da8| STNP -40(R29), R18, R19
-52398828| STP.P (R18, R14), 64(R10)
+52398828| STPW.P (R18, R14), 64(R10)
434c95a8| STP.P (R3, R19), 336(R2)
-2badbd29| STP.W (R11, R11), -20(R9)
+2badbd29| STPW.W (R11, R11), -20(R9)
daeabaa9| STP.W (R26, R26), -88(R22)
-9bc91529| STP (R27, R18), 172(R12)
+9bc91529| STPW (R27, R18), 172(R12)
eea024a9| STP (R14, R8), -440(R7)
fec514b8| MOVW.P R30, -180(R15)
d21508f8| MOVD.P R18, 129(R14)
@@ -2691,42 +2691,42 @@
451a4e2c| VLDNP 112(R18), V6, V5
01236f6c| VLDNP -272(R24), V8, V1
204041ac| VLDNP 32(R1), V16, V0
-1b21cc2c| LDP.P 96(R8), (V27, V8)
-41ccc06c| LDP.P 8(R2), (V1, V19)
-65b8e6ac| LDP.P -816(R3), (V5, V14)
-a58bed2d| LDP.W -148(R29), (V5, V2)
-d8a3c46d| LDP.W 72(R30), (V24, V8)
-dc82c0ad| LDP.W 16(R22), (V28, V0)
-eda7782d| LDP -60(RSP), (V13, V9)
-041b6c6d| LDP -320(R24), (V4, V6)
-17ea6bad| LDP -656(R16), (V23, V26)
-4e14433c| MOVD.P 49(R2), V14
-cd844e7c| MOVD.P 232(R6), V13
+1b21cc2c| FLDPS.P 96(R8), (F27, F8)
+41ccc06c| FLDPD.P 8(R2), (F1, F19)
+65b8e6ac| FLDPQ.P -816(R3), (F5, F14)
+a58bed2d| FLDPS.W -148(R29), (F5, F2)
+d8a3c46d| FLDPD.W 72(R30), (F24, F8)
+dc82c0ad| FLDPQ.W 16(R22), (F28, F0)
+eda7782d| FLDPS -60(RSP), (F13, F9)
+041b6c6d| FLDPD -320(R24), (F4, F6)
+17ea6bad| FLDPQ -656(R16), (F23, F26)
+4e14433c| FMOVB.P 49(R2), F14
+cd844e7c| FMOVH.P 232(R6), F13
99945dbc| FMOVS.P -39(R4), F25
170556fc| FMOVD.P -160(R8), F23
-3115d53c| MOVD.P -175(R9), V17
-3c6d403c| MOVD.W 6(R9), V28
-f8fc527c| MOVD.W -209(R7), V24
+3115d53c| FMOVQ.P -175(R9), F17
+3c6d403c| FMOVB.W 6(R9), F28
+f8fc527c| FMOVH.W -209(R7), F24
776c58bc| FMOVS.W -122(R3), F23
075f57fc| FMOVD.W -139(R24), F7
-28cdc33c| MOVD.W 60(R9), V8
-40a15f3d| MOVD 2024(R10), V0
-3b8c597d| MOVD 3270(R1), V27
+28cdc33c| FMOVQ.W 60(R9), F8
+40a15f3d| FMOVB 2024(R10), F0
+3b8c597d| FMOVH 3270(R1), F27
28f958bd| FMOVS 6392(R9), F8
852d6ffd| FMOVD 24152(R12), F5
-e149ea3d| MOVD 43296(R15), V1
+e149ea3d| FMOVQ 43296(R15), F1
807f7c1c| FMOVS 254972(PC), F0
e7a61c5c| FMOVD 58679(PC), F7
-4bca773c| MOVD (R18)(R23.SXTW), V11
-8d69623c| MOVD (R12)(R2), V13
-cef8797c| MOVD (R6)(R25.SXTX<<1), V14
+4bca773c| FMOVB (R18)(R23.SXTW), F11
+8d69623c| FMOVB (R12)(R2), F13
+cef8797c| FMOVH (R6)(R25.SXTX<<1), F14
b7497bfc| FMOVD (R13)(R27.UXTW), F23
-dbdbfc3c| MOVD (R30)(R28.SXTW<<4), V27
-1a60553c| VLDUR -170(R0), V26
-74f3477c| VLDUR 127(R27), V20
-f46249bc| VLDUR 150(R23), V20
-b8015bfc| VLDUR -80(R13), V24
-3372de3c| VLDUR -25(R17), V19
+dbdbfc3c| FMOVQ (R30)(R28.SXTW<<4), F27
+1a60553c| FMOVB -170(R0), F26
+74f3477c| FMOVH 127(R27), F20
+f46249bc| FMOVS 150(R23), F20
+b8015bfc| FMOVD -80(R13), F24
+3372de3c| FMOVQ -25(R17), F19
04972c0e| VMLA V12.B8, V24.B8, V4.B8
f0051b5e| VMOV V15.B[13], V16
7f76146e| VMOV V19.S[3], V31.S[2]
@@ -2915,39 +2915,39 @@
89fe2e2c| VSTNP -140(R20), V31, V9
bfd31d6c| VSTNP 472(R29), V20, V31
ddf301ac| VSTNP 48(R30), V28, V29
-14f6ac2c| STP.P (V20, V29), -156(R16)
-251db76c| STP.P (V5, V7), -144(R9)
-e51fb7ac| STP.P (V5, V7), -288(RSP)
-5c90852d| STP.W (V28, V4), 44(R2)
-4c51a56d| STP.W (V12, V20), -432(R10)
-265d8aad| STP.W (V6, V23), 320(R9)
-9c0c392d| STP (V28, V3), -56(R4)
-b49e1e6d| STP (V20, V7), 488(R21)
-55f105ad| STP (V21, V28), 176(R10)
-4dd6003c| MOVD.P V13, 13(R18)
-e357067c| MOVD.P V3, 101(RSP)
+14f6ac2c| FSTPS.P (F20, F29), -156(R16)
+251db76c| FSTPD.P (F5, F7), -144(R9)
+e51fb7ac| FSTPQ.P (F5, F7), -288(RSP)
+5c90852d| FSTPS.W (F28, F4), 44(R2)
+4c51a56d| FSTPD.W (F12, F20), -432(R10)
+265d8aad| FSTPQ.W (F6, F23), 320(R9)
+9c0c392d| FSTPS (F28, F3), -56(R4)
+b49e1e6d| FSTPD (F20, F7), 488(R21)
+55f105ad| FSTPQ (F21, F28), 176(R10)
+4dd6003c| FMOVB.P F13, 13(R18)
+e357067c| FMOVH.P F3, 101(RSP)
f6841dbc| FMOVS.P F22, -40(R7)
54b710fc| FMOVD.P F20, -245(R26)
-0d07833c| MOVD.P V13, 48(R24)
-393f003c| MOVD.W V25, 3(R25)
-1fac007c| MOVD.W V31, 10(R0)
+0d07833c| FMOVQ.P F13, 48(R24)
+393f003c| FMOVB.W F25, 3(R25)
+1fac007c| FMOVH.W F31, 10(R0)
d41d13bc| FMOVS.W F20, -207(R14)
908f0dfc| FMOVD.W F16, 216(R28)
-5ded9d3c| MOVD.W V29, -34(R10)
-6d72073d| MOVD V13, 476(R19)
-68752d7d| MOVD V8, 5818(R11)
+5ded9d3c| FMOVQ.W F29, -34(R10)
+6d72073d| FMOVB F13, 476(R19)
+68752d7d| FMOVH F8, 5818(R11)
084728bd| FMOVS F8, 10308(R24)
409503fd| FMOVD F0, 1832(R10)
-58a1963d| MOVD V24, 23168(R10)
-51c8253c| MOVD V17, (R2)(R5.SXTW)
-967b313c| MOVD V22, (R28)(R17<<0)
-b4683e7c| MOVD V20, (R5)(R30)
-64d9a33c| MOVD V4, (R11)(R3.SXTW<<4)
-e5e1143c| MOVD V5, -178(R15)
-99901e7c| MOVD V25, -23(R4)
+58a1963d| FMOVQ F24, 23168(R10)
+51c8253c| FMOVB F17, (R2)(R5.SXTW)
+967b313c| FMOVB F22, (R28)(R17<<0)
+b4683e7c| FMOVH F20, (R5)(R30)
+64d9a33c| FMOVQ F4, (R11)(R3.SXTW<<4)
+e5e1143c| FMOVB F5, -178(R15)
+99901e7c| FMOVH F25, -23(R4)
bb0012bc| FMOVS F27, -224(R5)
1d710cfc| FMOVD F29, 199(R8)
-17e1873c| MOVD V23, 126(R8)
+17e1873c| FMOVQ F23, 126(R8)
ed84a26e| VSUB V2.S4, V7.S4, V13.S4
7761b80e| VSUBHN V24.D2, V11.D2, V23.S2
f838205e| VSUQADD V7, V24
@@ -3144,11 +3144,11 @@
0efd5f48| LDAXRH (R8), R14
66445128| LDNPW 136(R3), R17, R6
3fa77fa8| LDNP -8(R25), R9, ZR
-1e04eb28| LDP.P -168(R0), (R30, R1)
+1e04eb28| LDPW.P -168(R0), (R30, R1)
0da6c0a8| LDP.P 8(R16), (R13, R9)
-7d00d429| LDP.W 160(R3), (R29, R0)
+7d00d429| LDPW.W 160(R3), (R29, R0)
d26ae1a9| LDP.W -496(R22), (R18, R26)
-d0ca6829| LDP -188(R22), (R16, R18)
+d0ca6829| LDPW -188(R22), (R16, R18)
a5e34fa9| LDP 248(R29), (R5, R24)
3e44d168| LDPSW 136(R1), R17, R30
5f08e169| LDPSW -248(R2), R2, ZR
@@ -3195,8 +3195,8 @@
a988cb78| LDTRSHW 184(R5), R9
03888978| LDTRSH 152(R0), R3
ccb99fb8| LDTRSW -5(R14), R12
-efb154b8| LDURW -181(R15), R15
-fc2051f8| LDUR -238(R7), R28
+efb154b8| MOVWU -181(R15), R15
+fc2051f8| MOVD -238(R7), R28
86d04438| LDURBW 77(R4), R6
73405d78| LDURHW -44(R3), R19
7a81d538| LDURSBW -168(R11), R26
@@ -3306,11 +3306,11 @@
c6fe0c48| STLXRH R6, (R22), R12
b3283028| STNPW -128(R5), R10, R19
252e26a8| STNP -416(R17), R11, R5
-9fb18c28| STP.P (ZR, R12), 100(R12)
+9fb18c28| STPW.P (ZR, R12), 100(R12)
9ce5aba8| STP.P (R28, R25), -328(R12)
-e5d08229| STP.W (R5, R20), 20(R7)
+e5d08229| STPW.W (R5, R20), 20(R7)
d6e79ea9| STP.W (R22, R25), 488(R30)
-9eef2029| STP (R30, R27), -252(R28)
+9eef2029| STPW (R30, R27), -252(R28)
57b314a9| STP (R23, R12), 328(R26)
eda503b8| MOVW.P R13, 58(R15)
62241df8| MOVD.P R2, -46(R3)
@@ -3697,43 +3697,43 @@
136e682c| VLDNP -192(R16), V27, V19
cc67676c| VLDNP -400(R30), V25, V12
e6dd4eac| VLDNP 464(R15), V23, V6
-b7e9c22c| LDP.P 20(R13), (V23, V26)
-92c3fe6c| LDP.P -24(R28), (V18, V16)
-f281e6ac| LDP.P -816(R15), (V18, V0)
-4f06cd2d| LDP.W 104(R18), (V15, V1)
-0f6fdc6d| LDP.W 448(R24), (V15, V27)
-170ccbad| LDP.W 352(R0), (V23, V3)
-71ea7a2d| LDP -44(R19), (V17, V26)
-c8816c6d| LDP -312(R14), (V8, V0)
-da6540ad| LDP (R14), (V26, V25)
-92064c3c| MOVD.P 192(R20), V18
-94d4577c| MOVD.P -131(R4), V20
+b7e9c22c| FLDPS.P 20(R13), (F23, F26)
+92c3fe6c| FLDPD.P -24(R28), (F18, F16)
+f281e6ac| FLDPQ.P -816(R15), (F18, F0)
+4f06cd2d| FLDPS.W 104(R18), (F15, F1)
+0f6fdc6d| FLDPD.W 448(R24), (F15, F27)
+170ccbad| FLDPQ.W 352(R0), (F23, F3)
+71ea7a2d| FLDPS -44(R19), (F17, F26)
+c8816c6d| FLDPD -312(R14), (F8, F0)
+da6540ad| FLDPQ (R14), (F26, F25)
+92064c3c| FMOVB.P 192(R20), F18
+94d4577c| FMOVH.P -131(R4), F20
39055fbc| FMOVS.P -16(R9), F25
989551fc| FMOVD.P -231(R12), F24
-4764c23c| MOVD.P 38(R2), V7
-c15e4e3c| MOVD.W 229(R22), V1
-c8ce487c| MOVD.W 140(R22), V8
+4764c23c| FMOVQ.P 38(R2), F7
+c15e4e3c| FMOVB.W 229(R22), F1
+c8ce487c| FMOVH.W 140(R22), F8
ca5d5bbc| FMOVS.W -75(R14), F10
34fd56fc| FMOVD.W -145(R9), F20
-bd0dd53c| MOVD.W -176(R13), V29
-ab65443d| MOVD 281(R13), V11
-cb57537d| MOVD 2474(R30), V11
+bd0dd53c| FMOVQ.W -176(R13), F29
+ab65443d| FMOVB 281(R13), F11
+cb57537d| FMOVH 2474(R30), F11
f2606fbd| FMOVS 12128(R7), F18
088b67fd| FMOVD 20240(R24), F8
-0173ce3d| MOVD 14784(R24), V1
+0173ce3d| FMOVQ 14784(R24), F1
ba112c1c| FMOVS 90253(PC), F26
e489c25c| FMOVD -125873(PC), F4
-3cdb753c| MOVD (R25)(R21.SXTW), V28
-726b733c| MOVD (R27)(R19), V18
-395b627c| MOVD (R25)(R2.UXTW<<1), V25
+3cdb753c| FMOVB (R25)(R21.SXTW), F28
+726b733c| FMOVB (R27)(R19), F18
+395b627c| FMOVH (R25)(R2.UXTW<<1), F25
9b486cbc| FMOVS (R4)(R12.UXTW), F27
1cda7efc| FMOVD (R16)(R30.SXTW<<3), F28
-365bf33c| MOVD (R25)(R19.UXTW<<4), V22
-43a1413c| VLDUR 26(R10), V3
-c7034f7c| VLDUR 240(R30), V7
-ad8350bc| VLDUR -248(R29), V13
-07a350fc| VLDUR -246(R24), V7
-0212c63c| VLDUR 97(R16), V2
+365bf33c| FMOVQ (R25)(R19.UXTW<<4), F22
+43a1413c| FMOVB 26(R10), F3
+c7034f7c| FMOVH 240(R30), F7
+ad8350bc| FMOVS -248(R29), F13
+07a350fc| FMOVD -246(R24), F7
+0212c63c| FMOVQ 97(R16), F2
6f0a7a2f| VMLA V10.H[7], V19.H4, V15.H4
fe95294e| VMLA V9.B16, V15.B16, V30.B16
f24a4f2f| VMLS V15.H[4], V23.H4, V18.H4
@@ -3925,37 +3925,37 @@
4f5b182c| VSTNP 192(R26), V22, V15
e05e0b6c| VSTNP 176(R23), V23, V0
77be2eac| VSTNP -560(R19), V15, V23
-bb3fa72c| STP.P (V27, V15), -200(R29)
-ef18bb6c| STP.P (V15, V6), -80(R7)
-777d84ac| STP.P (V23, V31), 128(R11)
-d0f9952d| STP.W (V16, V30), 172(R14)
-125ca26d| STP.W (V18, V23), -480(R0)
-33bbbfad| STP.W (V19, V14), -16(R25)
-6ebb322d| STP (V14, V14), -108(R27)
-cb92096d| STP (V11, V4), 152(R22)
-f2871dad| STP (V18, V1), 944(RSP)
-f676003c| MOVD.P V22, 7(R23)
-50f50d7c| MOVD.P V16, 223(R10)
+bb3fa72c| FSTPS.P (F27, F15), -200(R29)
+ef18bb6c| FSTPD.P (F15, F6), -80(R7)
+777d84ac| FSTPQ.P (F23, F31), 128(R11)
+d0f9952d| FSTPS.W (F16, F30), 172(R14)
+125ca26d| FSTPD.W (F18, F23), -480(R0)
+33bbbfad| FSTPQ.W (F19, F14), -16(R25)
+6ebb322d| FSTPS (F14, F14), -108(R27)
+cb92096d| FSTPD (F11, F4), 152(R22)
+f2871dad| FSTPQ (F18, F1), 944(RSP)
+f676003c| FMOVB.P F22, 7(R23)
+50f50d7c| FMOVH.P F16, 223(R10)
0d251ebc| FMOVS.P F13, -30(R8)
1f3510fc| FMOVD.P F31, -253(R8)
-05a4883c| MOVD.P V5, 138(R0)
-800e063c| MOVD.W V0, 96(R20)
-668d157c| MOVD.W V6, -168(R11)
+05a4883c| FMOVQ.P F5, 138(R0)
+800e063c| FMOVB.W F0, 96(R20)
+668d157c| FMOVH.W F6, -168(R11)
1f3d11bc| FMOVS.W F31, -237(R8)
71bf06fc| FMOVD.W F17, 107(R27)
-f50c843c| MOVD.W V21, 64(R7)
-f186013d| MOVD V17, 97(R23)
-f0e5357d| MOVD V16, 6898(R15)
+f50c843c| FMOVQ.W F21, 64(R7)
+f186013d| FMOVB F17, 97(R23)
+f0e5357d| FMOVH F16, 6898(R15)
938d3bbd| FMOVS F19, 15244(R12)
aeb813fd| FMOVD F14, 10096(R5)
-2cc4943d| MOVD V12, 21264(R1)
-e2f8263c| MOVD V2, (R7)(R6.SXTX)
-1d79373c| MOVD V29, (R8)(R23<<0)
-bc70003c| MOVD V28, 7(R5)
-7190157c| MOVD V17, -167(R3)
+2cc4943d| FMOVQ F12, 21264(R1)
+e2f8263c| FMOVB F2, (R7)(R6.SXTX)
+1d79373c| FMOVB F29, (R8)(R23<<0)
+bc70003c| FMOVB F28, 7(R5)
+7190157c| FMOVH F17, -167(R3)
073309bc| FMOVS F7, 147(R24)
298100fc| FMOVD F9, 8(R9)
-e8c1843c| MOVD V8, 76(R15)
+e8c1843c| FMOVQ F8, 76(R15)
3384266e| VSUB V6.B16, V1.B16, V19.B16
9163750e| VSUBHN V21.S4, V28.S4, V17.H4
f3627d4e| VSUBHN2 V29.S4, V23.S4, V19.H8

To view, visit change 300729. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: arch
Gerrit-Branch: master
Gerrit-Change-Id: I0f964db422c9c42929e639528ac2c0c4adcfee37
Gerrit-Change-Number: 300729
Gerrit-PatchSet: 3
Gerrit-Owner: eric fang <eric...@arm.com>
Gerrit-Reviewer: Cherry Zhang <cher...@google.com>
Gerrit-Reviewer: Go Bot <go...@golang.org>
Gerrit-Reviewer: eric fang <eric...@arm.com>
Gerrit-MessageType: merged
Reply all
Reply to author
Forward
0 new messages