mirror of
https://github.com/golang/go
synced 2024-11-08 02:46:16 -07:00
cmd/asm: disable scaled register format for arm64
Arm64 doesn't have scaled register format, such as (R1*2), (R1)(R2*3), but currently the assembler doesn't report an error for such kind of instruction operand format. This CL disables the scaled register operand format for arm64 and reports an error if this kind of instruction format is seen. With this CL, the assembler won't print (R1)(R2) as (R1)(R2*1), so that we can make the assembly test simpler. Change-Id: I6d7569065597215be4c767032a63648d2ad16fed Reviewed-on: https://go-review.googlesource.com/c/go/+/289589 Trust: eric fang <eric.fang@arm.com> Run-TryBot: eric fang <eric.fang@arm.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: eric fang <eric.fang@arm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
parent
593f5bbad7
commit
27dbc4551a
@ -999,15 +999,17 @@ func (p *Parser) registerIndirect(a *obj.Addr, prefix rune) {
|
|||||||
p.errorf("unimplemented two-register form")
|
p.errorf("unimplemented two-register form")
|
||||||
}
|
}
|
||||||
a.Index = r1
|
a.Index = r1
|
||||||
if scale == 0 && p.arch.Family == sys.ARM64 {
|
if scale != 0 && p.arch.Family == sys.ARM64 {
|
||||||
// scale is 1 by default for ARM64
|
p.errorf("arm64 doesn't support scaled register format")
|
||||||
a.Scale = 1
|
|
||||||
} else {
|
} else {
|
||||||
a.Scale = int16(scale)
|
a.Scale = int16(scale)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p.get(')')
|
p.get(')')
|
||||||
} else if scale != 0 {
|
} else if scale != 0 {
|
||||||
|
if p.arch.Family == sys.ARM64 {
|
||||||
|
p.errorf("arm64 doesn't support scaled register format")
|
||||||
|
}
|
||||||
// First (R) was missing, all we have is (R*scale).
|
// First (R) was missing, all we have is (R*scale).
|
||||||
a.Reg = 0
|
a.Reg = 0
|
||||||
a.Index = r1
|
a.Index = r1
|
||||||
|
48
src/cmd/asm/internal/asm/testdata/arm64.s
vendored
48
src/cmd/asm/internal/asm/testdata/arm64.s
vendored
@ -395,13 +395,13 @@ TEXT foo(SB), DUPOK|NOSPLIT, $-8
|
|||||||
// LD1/ST1
|
// LD1/ST1
|
||||||
VLD1 (R8), [V1.B16, V2.B16] // 01a1404c
|
VLD1 (R8), [V1.B16, V2.B16] // 01a1404c
|
||||||
VLD1.P (R3), [V31.H8, V0.H8] // 7fa4df4c
|
VLD1.P (R3), [V31.H8, V0.H8] // 7fa4df4c
|
||||||
VLD1.P (R8)(R20), [V21.B16, V22.B16] // VLD1.P (R8)(R20*1), [V21.B16,V22.B16] // 15a1d44c
|
VLD1.P (R8)(R20), [V21.B16, V22.B16] // 15a1d44c
|
||||||
VLD1.P 64(R1), [V5.B16, V6.B16, V7.B16, V8.B16] // 2520df4c
|
VLD1.P 64(R1), [V5.B16, V6.B16, V7.B16, V8.B16] // 2520df4c
|
||||||
VLD1.P 1(R0), V4.B[15] // 041cdf4d
|
VLD1.P 1(R0), V4.B[15] // 041cdf4d
|
||||||
VLD1.P 2(R0), V4.H[7] // 0458df4d
|
VLD1.P 2(R0), V4.H[7] // 0458df4d
|
||||||
VLD1.P 4(R0), V4.S[3] // 0490df4d
|
VLD1.P 4(R0), V4.S[3] // 0490df4d
|
||||||
VLD1.P 8(R0), V4.D[1] // 0484df4d
|
VLD1.P 8(R0), V4.D[1] // 0484df4d
|
||||||
VLD1.P (R0)(R1), V4.D[1] // VLD1.P (R0)(R1*1), V4.D[1] // 0484c14d
|
VLD1.P (R0)(R1), V4.D[1] // 0484c14d
|
||||||
VLD1 (R0), V4.D[1] // 0484404d
|
VLD1 (R0), V4.D[1] // 0484404d
|
||||||
VST1.P [V4.S4, V5.S4], 32(R1) // 24a89f4c
|
VST1.P [V4.S4, V5.S4], 32(R1) // 24a89f4c
|
||||||
VST1 [V0.S4, V1.S4], (R0) // 00a8004c
|
VST1 [V0.S4, V1.S4], (R0) // 00a8004c
|
||||||
@ -409,29 +409,29 @@ TEXT foo(SB), DUPOK|NOSPLIT, $-8
|
|||||||
VLD1.P 24(R30), [V3.S2,V4.S2,V5.S2] // c36bdf0c
|
VLD1.P 24(R30), [V3.S2,V4.S2,V5.S2] // c36bdf0c
|
||||||
VLD2 (R29), [V23.H8, V24.H8] // b787404c
|
VLD2 (R29), [V23.H8, V24.H8] // b787404c
|
||||||
VLD2.P 16(R0), [V18.B8, V19.B8] // 1280df0c
|
VLD2.P 16(R0), [V18.B8, V19.B8] // 1280df0c
|
||||||
VLD2.P (R1)(R2), [V15.S2, V16.S2] // VLD2.P (R1)(R2*1), [V15.S2,V16.S2] // 2f88c20c
|
VLD2.P (R1)(R2), [V15.S2, V16.S2] // 2f88c20c
|
||||||
VLD3 (R27), [V11.S4, V12.S4, V13.S4] // 6b4b404c
|
VLD3 (R27), [V11.S4, V12.S4, V13.S4] // 6b4b404c
|
||||||
VLD3.P 48(RSP), [V11.S4, V12.S4, V13.S4] // eb4bdf4c
|
VLD3.P 48(RSP), [V11.S4, V12.S4, V13.S4] // eb4bdf4c
|
||||||
VLD3.P (R30)(R2), [V14.D2, V15.D2, V16.D2] // VLD3.P (R30)(R2*1), [V14.D2,V15.D2,V16.D2] // ce4fc24c
|
VLD3.P (R30)(R2), [V14.D2, V15.D2, V16.D2] // ce4fc24c
|
||||||
VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4] // ea05400c
|
VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4] // ea05400c
|
||||||
VLD4.P 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8] // 1f03df0c
|
VLD4.P 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8] // 1f03df0c
|
||||||
VLD4.P (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2] // VLD4.P (R13)(R9*1), [V14.S2,V15.S2,V16.S2,V17.S2] // ae09c90c
|
VLD4.P (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2] // ae09c90c
|
||||||
VLD1R (R1), [V9.B8] // 29c0400d
|
VLD1R (R1), [V9.B8] // 29c0400d
|
||||||
VLD1R.P (R1), [V9.B8] // 29c0df0d
|
VLD1R.P (R1), [V9.B8] // 29c0df0d
|
||||||
VLD1R.P 1(R1), [V2.B8] // 22c0df0d
|
VLD1R.P 1(R1), [V2.B8] // 22c0df0d
|
||||||
VLD1R.P 2(R1), [V2.H4] // 22c4df0d
|
VLD1R.P 2(R1), [V2.H4] // 22c4df0d
|
||||||
VLD1R (R0), [V0.B16] // 00c0404d
|
VLD1R (R0), [V0.B16] // 00c0404d
|
||||||
VLD1R.P (R0), [V0.B16] // 00c0df4d
|
VLD1R.P (R0), [V0.B16] // 00c0df4d
|
||||||
VLD1R.P (R15)(R1), [V15.H4] // VLD1R.P (R15)(R1*1), [V15.H4] // efc5c10d
|
VLD1R.P (R15)(R1), [V15.H4] // efc5c10d
|
||||||
VLD2R (R15), [V15.H4, V16.H4] // efc5600d
|
VLD2R (R15), [V15.H4, V16.H4] // efc5600d
|
||||||
VLD2R.P 16(R0), [V0.D2, V1.D2] // 00ccff4d
|
VLD2R.P 16(R0), [V0.D2, V1.D2] // 00ccff4d
|
||||||
VLD2R.P (R0)(R5), [V31.D1, V0.D1] // VLD2R.P (R0)(R5*1), [V31.D1, V0.D1] // 1fcce50d
|
VLD2R.P (R0)(R5), [V31.D1, V0.D1] // 1fcce50d
|
||||||
VLD3R (RSP), [V31.S2, V0.S2, V1.S2] // ffeb400d
|
VLD3R (RSP), [V31.S2, V0.S2, V1.S2] // ffeb400d
|
||||||
VLD3R.P 6(R15), [V15.H4, V16.H4, V17.H4] // efe5df0d
|
VLD3R.P 6(R15), [V15.H4, V16.H4, V17.H4] // efe5df0d
|
||||||
VLD3R.P (R15)(R6), [V15.H8, V16.H8, V17.H8] // VLD3R.P (R15)(R6*1), [V15.H8, V16.H8, V17.H8] // efe5c64d
|
VLD3R.P (R15)(R6), [V15.H8, V16.H8, V17.H8] // efe5c64d
|
||||||
VLD4R (R0), [V0.B8, V1.B8, V2.B8, V3.B8] // 00e0600d
|
VLD4R (R0), [V0.B8, V1.B8, V2.B8, V3.B8] // 00e0600d
|
||||||
VLD4R.P 16(RSP), [V31.S4, V0.S4, V1.S4, V2.S4] // ffebff4d
|
VLD4R.P 16(RSP), [V31.S4, V0.S4, V1.S4, V2.S4] // ffebff4d
|
||||||
VLD4R.P (R15)(R9), [V15.H4, V16.H4, V17.H4, V18.H4] // VLD4R.P (R15)(R9*1), [V15.H4, V16.H4, V17.H4, V18.H4] // efe5e90d
|
VLD4R.P (R15)(R9), [V15.H4, V16.H4, V17.H4, V18.H4] // efe5e90d
|
||||||
VST1.P [V24.S2], 8(R2) // 58789f0c
|
VST1.P [V24.S2], 8(R2) // 58789f0c
|
||||||
VST1 [V29.S2, V30.S2], (R29) // bdab000c
|
VST1 [V29.S2, V30.S2], (R29) // bdab000c
|
||||||
VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c
|
VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c
|
||||||
@ -439,17 +439,17 @@ TEXT foo(SB), DUPOK|NOSPLIT, $-8
|
|||||||
VST1.P V4.H[7], 2(R0) // 04589f4d
|
VST1.P V4.H[7], 2(R0) // 04589f4d
|
||||||
VST1.P V4.S[3], 4(R0) // 04909f4d
|
VST1.P V4.S[3], 4(R0) // 04909f4d
|
||||||
VST1.P V4.D[1], 8(R0) // 04849f4d
|
VST1.P V4.D[1], 8(R0) // 04849f4d
|
||||||
VST1.P V4.D[1], (R0)(R1) // VST1.P V4.D[1], (R0)(R1*1) // 0484814d
|
VST1.P V4.D[1], (R0)(R1) // 0484814d
|
||||||
VST1 V4.D[1], (R0) // 0484004d
|
VST1 V4.D[1], (R0) // 0484004d
|
||||||
VST2 [V22.H8, V23.H8], (R23) // f686004c
|
VST2 [V22.H8, V23.H8], (R23) // f686004c
|
||||||
VST2.P [V14.H4, V15.H4], 16(R17) // 2e869f0c
|
VST2.P [V14.H4, V15.H4], 16(R17) // 2e869f0c
|
||||||
VST2.P [V14.H4, V15.H4], (R3)(R17) // VST2.P [V14.H4,V15.H4], (R3)(R17*1) // 6e84910c
|
VST2.P [V14.H4, V15.H4], (R3)(R17) // 6e84910c
|
||||||
VST3 [V1.D2, V2.D2, V3.D2], (R11) // 614d004c
|
VST3 [V1.D2, V2.D2, V3.D2], (R11) // 614d004c
|
||||||
VST3.P [V18.S4, V19.S4, V20.S4], 48(R25) // 324b9f4c
|
VST3.P [V18.S4, V19.S4, V20.S4], 48(R25) // 324b9f4c
|
||||||
VST3.P [V19.B8, V20.B8, V21.B8], (R3)(R7) // VST3.P [V19.B8, V20.B8, V21.B8], (R3)(R7*1) // 7340870c
|
VST3.P [V19.B8, V20.B8, V21.B8], (R3)(R7) // 7340870c
|
||||||
VST4 [V22.D2, V23.D2, V24.D2, V25.D2], (R3) // 760c004c
|
VST4 [V22.D2, V23.D2, V24.D2, V25.D2], (R3) // 760c004c
|
||||||
VST4.P [V14.D2, V15.D2, V16.D2, V17.D2], 64(R15) // ee0d9f4c
|
VST4.P [V14.D2, V15.D2, V16.D2, V17.D2], 64(R15) // ee0d9f4c
|
||||||
VST4.P [V24.B8, V25.B8, V26.B8, V27.B8], (R3)(R23) // VST4.P [V24.B8, V25.B8, V26.B8, V27.B8], (R3)(R23*1) // 7800970c
|
VST4.P [V24.B8, V25.B8, V26.B8, V27.B8], (R3)(R23) // 7800970c
|
||||||
|
|
||||||
// pre/post-indexed
|
// pre/post-indexed
|
||||||
FMOVS.P F20, 4(R0) // 144400bc
|
FMOVS.P F20, 4(R0) // 144400bc
|
||||||
@ -536,29 +536,29 @@ TEXT foo(SB), DUPOK|NOSPLIT, $-8
|
|||||||
|
|
||||||
// shifted or extended register offset.
|
// shifted or extended register offset.
|
||||||
MOVD (R2)(R6.SXTW), R4 // 44c866f8
|
MOVD (R2)(R6.SXTW), R4 // 44c866f8
|
||||||
MOVD (R3)(R6), R5 // MOVD (R3)(R6*1), R5 // 656866f8
|
MOVD (R3)(R6), R5 // 656866f8
|
||||||
MOVD (R2)(R6), R4 // MOVD (R2)(R6*1), R4 // 446866f8
|
MOVD (R2)(R6), R4 // 446866f8
|
||||||
MOVWU (R19)(R20<<2), R20 // 747a74b8
|
MOVWU (R19)(R20<<2), R20 // 747a74b8
|
||||||
MOVD (R2)(R6<<3), R4 // 447866f8
|
MOVD (R2)(R6<<3), R4 // 447866f8
|
||||||
MOVD (R3)(R7.SXTX<<3), R8 // 68f867f8
|
MOVD (R3)(R7.SXTX<<3), R8 // 68f867f8
|
||||||
MOVWU (R5)(R4.UXTW), R10 // aa4864b8
|
MOVWU (R5)(R4.UXTW), R10 // aa4864b8
|
||||||
MOVBU (R3)(R9.UXTW), R8 // 68486938
|
MOVBU (R3)(R9.UXTW), R8 // 68486938
|
||||||
MOVBU (R5)(R8), R10 // MOVBU (R5)(R8*1), R10 // aa686838
|
MOVBU (R5)(R8), R10 // aa686838
|
||||||
MOVHU (R2)(R7.SXTW<<1), R11 // 4bd86778
|
MOVHU (R2)(R7.SXTW<<1), R11 // 4bd86778
|
||||||
MOVHU (R1)(R2<<1), R5 // 25786278
|
MOVHU (R1)(R2<<1), R5 // 25786278
|
||||||
MOVB (R9)(R3.UXTW), R6 // 2649a338
|
MOVB (R9)(R3.UXTW), R6 // 2649a338
|
||||||
MOVB (R10)(R6), R15 // MOVB (R10)(R6*1), R15 // 4f69a638
|
MOVB (R10)(R6), R15 // 4f69a638
|
||||||
MOVB (R29)(R30<<0), R14 // ae7bbe38
|
MOVB (R29)(R30<<0), R14 // ae7bbe38
|
||||||
MOVB (R29)(R30), R14 // MOVB (R29)(R30*1), R14 // ae6bbe38
|
MOVB (R29)(R30), R14 // ae6bbe38
|
||||||
MOVH (R5)(R7.SXTX<<1), R19 // b3f8a778
|
MOVH (R5)(R7.SXTX<<1), R19 // b3f8a778
|
||||||
MOVH (R8)(R4<<1), R10 // 0a79a478
|
MOVH (R8)(R4<<1), R10 // 0a79a478
|
||||||
MOVW (R9)(R8.SXTW<<2), R19 // 33d9a8b8
|
MOVW (R9)(R8.SXTW<<2), R19 // 33d9a8b8
|
||||||
MOVW (R1)(R4.SXTX), R11 // 2be8a4b8
|
MOVW (R1)(R4.SXTX), R11 // 2be8a4b8
|
||||||
MOVW (R1)(R4.SXTX), ZR // 3fe8a4b8
|
MOVW (R1)(R4.SXTX), ZR // 3fe8a4b8
|
||||||
MOVW (R2)(R5), R12 // MOVW (R2)(R5*1), R12 // 4c68a5b8
|
MOVW (R2)(R5), R12 // 4c68a5b8
|
||||||
FMOVS (R2)(R6), F4 // FMOVS (R2)(R6*1), F4 // 446866bc
|
FMOVS (R2)(R6), F4 // 446866bc
|
||||||
FMOVS (R2)(R6<<2), F4 // 447866bc
|
FMOVS (R2)(R6<<2), F4 // 447866bc
|
||||||
FMOVD (R2)(R6), F4 // FMOVD (R2)(R6*1), F4 // 446866fc
|
FMOVD (R2)(R6), F4 // 446866fc
|
||||||
FMOVD (R2)(R6<<3), F4 // 447866fc
|
FMOVD (R2)(R6<<3), F4 // 447866fc
|
||||||
|
|
||||||
MOVD R5, (R2)(R6<<3) // 457826f8
|
MOVD R5, (R2)(R6<<3) // 457826f8
|
||||||
@ -568,15 +568,15 @@ TEXT foo(SB), DUPOK|NOSPLIT, $-8
|
|||||||
MOVW R7, (R3)(R4.SXTW) // 67c824b8
|
MOVW R7, (R3)(R4.SXTW) // 67c824b8
|
||||||
MOVB R4, (R2)(R6.SXTX) // 44e82638
|
MOVB R4, (R2)(R6.SXTX) // 44e82638
|
||||||
MOVB R8, (R3)(R9.UXTW) // 68482938
|
MOVB R8, (R3)(R9.UXTW) // 68482938
|
||||||
MOVB R10, (R5)(R8) // MOVB R10, (R5)(R8*1) // aa682838
|
MOVB R10, (R5)(R8) // aa682838
|
||||||
MOVH R11, (R2)(R7.SXTW<<1) // 4bd82778
|
MOVH R11, (R2)(R7.SXTW<<1) // 4bd82778
|
||||||
MOVH R5, (R1)(R2<<1) // 25782278
|
MOVH R5, (R1)(R2<<1) // 25782278
|
||||||
MOVH R7, (R2)(R5.SXTX<<1) // 47f82578
|
MOVH R7, (R2)(R5.SXTX<<1) // 47f82578
|
||||||
MOVH R8, (R3)(R6.UXTW) // 68482678
|
MOVH R8, (R3)(R6.UXTW) // 68482678
|
||||||
MOVB R4, (R2)(R6.SXTX) // 44e82638
|
MOVB R4, (R2)(R6.SXTX) // 44e82638
|
||||||
FMOVS F4, (R2)(R6) // FMOVS F4, (R2)(R6*1) // 446826bc
|
FMOVS F4, (R2)(R6) // 446826bc
|
||||||
FMOVS F4, (R2)(R6<<2) // 447826bc
|
FMOVS F4, (R2)(R6<<2) // 447826bc
|
||||||
FMOVD F4, (R2)(R6) // FMOVD F4, (R2)(R6*1) // 446826fc
|
FMOVD F4, (R2)(R6) // 446826fc
|
||||||
FMOVD F4, (R2)(R6<<3) // 447826fc
|
FMOVD F4, (R2)(R6<<3) // 447826fc
|
||||||
|
|
||||||
// vmov
|
// vmov
|
||||||
|
44
src/cmd/asm/internal/asm/testdata/arm64enc.s
vendored
44
src/cmd/asm/internal/asm/testdata/arm64enc.s
vendored
@ -188,7 +188,7 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$-8
|
|||||||
MOVBU 2916(R24), R3 // 03936d39
|
MOVBU 2916(R24), R3 // 03936d39
|
||||||
MOVBU (R19)(R14<<0), R23 // 777a6e38
|
MOVBU (R19)(R14<<0), R23 // 777a6e38
|
||||||
MOVBU (R2)(R8.SXTX), R19 // 53e86838
|
MOVBU (R2)(R8.SXTX), R19 // 53e86838
|
||||||
MOVBU (R27)(R23), R14 // MOVBU (R27)(R23*1), R14 // 6e6b7738
|
MOVBU (R27)(R23), R14 // 6e6b7738
|
||||||
MOVHU.P 107(R14), R13 // cdb54678
|
MOVHU.P 107(R14), R13 // cdb54678
|
||||||
MOVHU.W 192(R3), R2 // 620c4c78
|
MOVHU.W 192(R3), R2 // 620c4c78
|
||||||
MOVHU 6844(R4), R19 // 93787579
|
MOVHU 6844(R4), R19 // 93787579
|
||||||
@ -201,9 +201,9 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$-8
|
|||||||
MOVB 997(R9), R23 // 37958f39
|
MOVB 997(R9), R23 // 37958f39
|
||||||
//TODO MOVBW (R2<<1)(R21), R15 // af7ae238
|
//TODO MOVBW (R2<<1)(R21), R15 // af7ae238
|
||||||
//TODO MOVBW (R26)(R0), R21 // 1568fa38
|
//TODO MOVBW (R26)(R0), R21 // 1568fa38
|
||||||
MOVB (R5)(R15), R16 // MOVB (R5)(R15*1), R16 // b068af38
|
MOVB (R5)(R15), R16 // b068af38
|
||||||
MOVB (R19)(R26.SXTW), R19 // 73caba38
|
MOVB (R19)(R26.SXTW), R19 // 73caba38
|
||||||
MOVB (R29)(R30), R14 // MOVB (R29)(R30*1), R14 // ae6bbe38
|
MOVB (R29)(R30), R14 // ae6bbe38
|
||||||
//TODO MOVHW.P 218(R22), R25 // d9a6cd78
|
//TODO MOVHW.P 218(R22), R25 // d9a6cd78
|
||||||
MOVH.P 179(R23), R5 // e5368b78
|
MOVH.P 179(R23), R5 // e5368b78
|
||||||
//TODO MOVHW.W 136(R2), R27 // 5b8cc878
|
//TODO MOVHW.W 136(R2), R27 // 5b8cc878
|
||||||
@ -357,12 +357,12 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$-8
|
|||||||
MOVD R25, -137(R17) // 397217f8
|
MOVD R25, -137(R17) // 397217f8
|
||||||
MOVW R4, (R12)(R22.UXTW<<2) // 845936b8
|
MOVW R4, (R12)(R22.UXTW<<2) // 845936b8
|
||||||
MOVD R27, (R5)(R15.UXTW<<3) // bb582ff8
|
MOVD R27, (R5)(R15.UXTW<<3) // bb582ff8
|
||||||
MOVB R2, (R10)(R16) // MOVB R2, (R10)(R16*1) // 42693038
|
MOVB R2, (R10)(R16) // 42693038
|
||||||
MOVB R2, (R29)(R26) // MOVB R2, (R29)(R26*1) // a26b3a38
|
MOVB R2, (R29)(R26) // a26b3a38
|
||||||
MOVH R11, -80(R23) // eb021b78
|
MOVH R11, -80(R23) // eb021b78
|
||||||
MOVH R11, (R27)(R14.SXTW<<1) // 6bdb2e78
|
MOVH R11, (R27)(R14.SXTW<<1) // 6bdb2e78
|
||||||
MOVB R19, (R0)(R4) // MOVB R19, (R0)(R4*1) // 13682438
|
MOVB R19, (R0)(R4) // 13682438
|
||||||
MOVB R1, (R6)(R4) // MOVB R1, (R6)(R4*1) // c1682438
|
MOVB R1, (R6)(R4) // c1682438
|
||||||
MOVH R3, (R11)(R13<<1) // 63792d78
|
MOVH R3, (R11)(R13<<1) // 63792d78
|
||||||
//TODO STTR 55(R4), R29 // 9d7803b8
|
//TODO STTR 55(R4), R29 // 9d7803b8
|
||||||
//TODO STTR 124(R5), R25 // b9c807f8
|
//TODO STTR 124(R5), R25 // b9c807f8
|
||||||
@ -679,23 +679,23 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$-8
|
|||||||
VLD1 (R24), [V18.D1, V19.D1, V20.D1] // 126f400c
|
VLD1 (R24), [V18.D1, V19.D1, V20.D1] // 126f400c
|
||||||
VLD1 (R29), [V14.D1, V15.D1, V16.D1, V17.D1] // ae2f400c
|
VLD1 (R29), [V14.D1, V15.D1, V16.D1, V17.D1] // ae2f400c
|
||||||
VLD1.P 16(R23), [V1.B16] // e172df4c
|
VLD1.P 16(R23), [V1.B16] // e172df4c
|
||||||
VLD1.P (R6)(R11), [V31.D1] // VLD1.P (R6)(R11*1), [V31.D1] // df7ccb0c
|
VLD1.P (R6)(R11), [V31.D1] // df7ccb0c
|
||||||
VLD1.P 16(R7), [V31.D1, V0.D1] // ffacdf0c
|
VLD1.P 16(R7), [V31.D1, V0.D1] // ffacdf0c
|
||||||
VLD1.P (R19)(R4), [V24.B8, V25.B8] // VLD1.P (R19)(R4*1), [V24.B8, V25.B8] // 78a2c40c
|
VLD1.P (R19)(R4), [V24.B8, V25.B8] // 78a2c40c
|
||||||
VLD1.P (R20)(R8), [V7.H8, V8.H8, V9.H8] // VLD1.P (R20)(R8*1), [V7.H8, V8.H8, V9.H8] // 8766c84c
|
VLD1.P (R20)(R8), [V7.H8, V8.H8, V9.H8] // 8766c84c
|
||||||
VLD1.P 32(R30), [V5.B8, V6.B8, V7.B8, V8.B8] // c523df0c
|
VLD1.P 32(R30), [V5.B8, V6.B8, V7.B8, V8.B8] // c523df0c
|
||||||
VLD1 (R19), V14.B[15] // 6e1e404d
|
VLD1 (R19), V14.B[15] // 6e1e404d
|
||||||
VLD1 (R29), V0.H[1] // a04b400d
|
VLD1 (R29), V0.H[1] // a04b400d
|
||||||
VLD1 (R27), V2.S[0] // 6283400d
|
VLD1 (R27), V2.S[0] // 6283400d
|
||||||
VLD1 (R21), V5.D[1] // a586404d
|
VLD1 (R21), V5.D[1] // a586404d
|
||||||
VLD1.P 1(R19), V10.B[14] // 6a1adf4d
|
VLD1.P 1(R19), V10.B[14] // 6a1adf4d
|
||||||
VLD1.P (R3)(R14), V16.B[11] // VLD1.P (R3)(R14*1), V16.B[11] // 700cce4d
|
VLD1.P (R3)(R14), V16.B[11] // 700cce4d
|
||||||
VLD1.P 2(R1), V28.H[2] // 3c50df0d
|
VLD1.P 2(R1), V28.H[2] // 3c50df0d
|
||||||
VLD1.P (R13)(R20), V9.H[2] // VLD1.P (R13)(R20*1), V9.H[2] // a951d40d
|
VLD1.P (R13)(R20), V9.H[2] // a951d40d
|
||||||
VLD1.P 4(R17), V1.S[3] // 2192df4d
|
VLD1.P 4(R17), V1.S[3] // 2192df4d
|
||||||
VLD1.P (R14)(R2), V17.S[2] // VLD1.P (R14)(R2*1), V17.S[2] // d181c24d
|
VLD1.P (R14)(R2), V17.S[2] // d181c24d
|
||||||
VLD1.P 8(R5), V30.D[1] // be84df4d
|
VLD1.P 8(R5), V30.D[1] // be84df4d
|
||||||
VLD1.P (R27)(R13), V27.D[0] // VLD1.P (R27)(R13*1), V27.D[0] // 7b87cd0d
|
VLD1.P (R27)(R13), V27.D[0] // 7b87cd0d
|
||||||
//TODO FMOVS.P -29(RSP), F8 // e8375ebc
|
//TODO FMOVS.P -29(RSP), F8 // e8375ebc
|
||||||
//TODO FMOVS.W 71(R29), F28 // bc7f44bc
|
//TODO FMOVS.W 71(R29), F28 // bc7f44bc
|
||||||
FMOVS 6160(R4), F23 // 971058bd
|
FMOVS 6160(R4), F23 // 971058bd
|
||||||
@ -732,25 +732,25 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$-8
|
|||||||
VSHL $7, V22.D2, V25.D2 // d956474f
|
VSHL $7, V22.D2, V25.D2 // d956474f
|
||||||
VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c
|
VST1 [V14.H4, V15.H4, V16.H4], (R27) // 6e67000c
|
||||||
VST1 [V2.S4, V3.S4, V4.S4, V5.S4], (R14) // c229004c
|
VST1 [V2.S4, V3.S4, V4.S4, V5.S4], (R14) // c229004c
|
||||||
VST1.P [V25.S4], (R7)(R29) // VST1.P [V25.S4], (R7)(R29*1) // f9789d4c
|
VST1.P [V25.S4], (R7)(R29) // f9789d4c
|
||||||
VST1.P [V25.D2, V26.D2], 32(R7) // f9ac9f4c
|
VST1.P [V25.D2, V26.D2], 32(R7) // f9ac9f4c
|
||||||
VST1.P [V14.D1, V15.D1], (R7)(R23) // VST1.P [V14.D1, V15.D1], (R7)(R23*1) // eeac970c
|
VST1.P [V14.D1, V15.D1], (R7)(R23) // eeac970c
|
||||||
VST1.P [V25.D2, V26.D2, V27.D2], 48(R27) // 796f9f4c
|
VST1.P [V25.D2, V26.D2, V27.D2], 48(R27) // 796f9f4c
|
||||||
VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14) // VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14*1) // 6d648e4c
|
VST1.P [V13.H8, V14.H8, V15.H8], (R3)(R14) // 6d648e4c
|
||||||
VST1.P [V16.S4, V17.S4, V18.S4, V19.S4], 64(R6) // d0289f4c
|
VST1.P [V16.S4, V17.S4, V18.S4, V19.S4], 64(R6) // d0289f4c
|
||||||
VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16) // VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16*1) // 9324900c
|
VST1.P [V19.H4, V20.H4, V21.H4, V22.H4], (R4)(R16) // 9324900c
|
||||||
VST1 V12.B[3], (R1) // 2c0c000d
|
VST1 V12.B[3], (R1) // 2c0c000d
|
||||||
VST1 V12.B[3], (R1) // 2c0c000d
|
VST1 V12.B[3], (R1) // 2c0c000d
|
||||||
VST1 V25.S[2], (R20) // 9982004d
|
VST1 V25.S[2], (R20) // 9982004d
|
||||||
VST1 V9.D[1], (RSP) // e987004d
|
VST1 V9.D[1], (RSP) // e987004d
|
||||||
VST1.P V30.B[6], 1(R3) // 7e189f0d
|
VST1.P V30.B[6], 1(R3) // 7e189f0d
|
||||||
VST1.P V8.B[0], (R3)(R21) // VST1.P V8.B[0], (R3)(R21*1) // 6800950d
|
VST1.P V8.B[0], (R3)(R21) // 6800950d
|
||||||
VST1.P V15.H[5], 2(R10) // 4f499f4d
|
VST1.P V15.H[5], 2(R10) // 4f499f4d
|
||||||
VST1.P V1.H[7], (R23)(R11) // VST1.P V1.H[7], (R23)(R11*1) // e15a8b4d
|
VST1.P V1.H[7], (R23)(R11) // e15a8b4d
|
||||||
VST1.P V26.S[0], 4(R11) // 7a819f0d
|
VST1.P V26.S[0], 4(R11) // 7a819f0d
|
||||||
VST1.P V9.S[1], (R16)(R21) // VST1.P V9.S[1], (R16)(R21*1) // 0992950d
|
VST1.P V9.S[1], (R16)(R21) // 0992950d
|
||||||
VST1.P V16.D[0], 8(R9) // 30859f0d
|
VST1.P V16.D[0], 8(R9) // 30859f0d
|
||||||
VST1.P V23.D[1], (R21)(R16) // VST1.P V23.D[1], (R21)(R16*1) // b786904d
|
VST1.P V23.D[1], (R21)(R16) // b786904d
|
||||||
VSUB V1, V12, V23 // 9785e17e
|
VSUB V1, V12, V23 // 9785e17e
|
||||||
VUADDLV V31.S4, V11 // eb3bb06e
|
VUADDLV V31.S4, V11 // eb3bb06e
|
||||||
UCVTFWS R11, F19 // 7301231e
|
UCVTFWS R11, F19 // 7301231e
|
||||||
|
Loading…
Reference in New Issue
Block a user