mirror of
https://github.com/golang/go
synced 2024-11-08 15:16:25 -07:00
cmd/internal/obj/ppc64,cmd/asm/internal/asm/testdata: fix up ppc64 testcases
When a fix was made at the end of the last release related to NOPs, it was discovered that the ppc64.s testcase was out of date and contained comments that weren't being processed. Essentially the instructions in that test were being assembled but there was no verification that the encodings weres correct. The ppc64enc.s file was mostly complete and included the valid encodings for verification. This change moves ppc64enc.s to ppc64.s and adds the instructions that were missing. This also adds a minor fix to asm9.go on the assembly of the addex that was discovered during this testing. Change-Id: Iaada1563b137849ad195fa88f32ecc9ab3e1e95f Reviewed-on: https://go-review.googlesource.com/c/go/+/260217 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Trust: Lynn Boger <laboger@linux.vnet.ibm.com>
This commit is contained in:
parent
af8748054b
commit
e981936855
@ -442,10 +442,6 @@ func TestPPC64EndToEnd(t *testing.T) {
|
|||||||
testEndToEnd(t, "ppc64", "ppc64")
|
testEndToEnd(t, "ppc64", "ppc64")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPPC64Encoder(t *testing.T) {
|
|
||||||
testEndToEnd(t, "ppc64", "ppc64enc")
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestRISCVEncoder(t *testing.T) {
|
func TestRISCVEncoder(t *testing.T) {
|
||||||
testEndToEnd(t, "riscv64", "riscvenc")
|
testEndToEnd(t, "riscv64", "riscvenc")
|
||||||
}
|
}
|
||||||
|
1994
src/cmd/asm/internal/asm/testdata/ppc64.s
vendored
1994
src/cmd/asm/internal/asm/testdata/ppc64.s
vendored
File diff suppressed because it is too large
Load Diff
642
src/cmd/asm/internal/asm/testdata/ppc64enc.s
vendored
642
src/cmd/asm/internal/asm/testdata/ppc64enc.s
vendored
@ -1,642 +0,0 @@
|
|||||||
// Copyright 2018 The Go Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a BSD-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
// Initial set of opcode combinations based on
|
|
||||||
// improvements to processing of constant
|
|
||||||
// operands.
|
|
||||||
|
|
||||||
// Full set will be added at a later date.
|
|
||||||
|
|
||||||
#include "../../../../../runtime/textflag.h"
|
|
||||||
|
|
||||||
TEXT asmtest(SB),DUPOK|NOSPLIT,$0
|
|
||||||
// move constants
|
|
||||||
MOVD $1, R3 // 38600001
|
|
||||||
MOVD $-1, R4 // 3880ffff
|
|
||||||
MOVD $65535, R5 // 6005ffff
|
|
||||||
MOVD $65536, R6 // 64060001
|
|
||||||
MOVD $-32767, R5 // 38a08001
|
|
||||||
MOVD $-32768, R6 // 38c08000
|
|
||||||
MOVD $1234567, R5 // 6405001260a5d687
|
|
||||||
MOVW $1, R3 // 38600001
|
|
||||||
MOVW $-1, R4 // 3880ffff
|
|
||||||
MOVW $65535, R5 // 6005ffff
|
|
||||||
MOVW $65536, R6 // 64060001
|
|
||||||
MOVW $-32767, R5 // 38a08001
|
|
||||||
MOVW $-32768, R6 // 38c08000
|
|
||||||
MOVW $1234567, R5 // 6405001260a5d687
|
|
||||||
MOVD 8(R3), R4 // e8830008
|
|
||||||
MOVD (R3)(R4), R5 // 7ca4182a
|
|
||||||
MOVW 4(R3), R4 // e8830006
|
|
||||||
MOVW (R3)(R4), R5 // 7ca41aaa
|
|
||||||
MOVWZ 4(R3), R4 // 80830004
|
|
||||||
MOVWZ (R3)(R4), R5 // 7ca4182e
|
|
||||||
MOVH 4(R3), R4 // a8830004
|
|
||||||
MOVH (R3)(R4), R5 // 7ca41aae
|
|
||||||
MOVHZ 2(R3), R4 // a0830002
|
|
||||||
MOVHZ (R3)(R4), R5 // 7ca41a2e
|
|
||||||
MOVB 1(R3), R4 // 888300017c840774
|
|
||||||
MOVB (R3)(R4), R5 // 7ca418ae7ca50774
|
|
||||||
MOVBZ 1(R3), R4 // 88830001
|
|
||||||
MOVBZ (R3)(R4), R5 // 7ca418ae
|
|
||||||
MOVDBR (R3)(R4), R5 // 7ca41c28
|
|
||||||
MOVWBR (R3)(R4), R5 // 7ca41c2c
|
|
||||||
MOVHBR (R3)(R4), R5 // 7ca41e2c
|
|
||||||
|
|
||||||
MOVDU 8(R3), R4 // e8830009
|
|
||||||
MOVDU (R3)(R4), R5 // 7ca4186a
|
|
||||||
MOVWU (R3)(R4), R5 // 7ca41aea
|
|
||||||
MOVWZU 4(R3), R4 // 84830004
|
|
||||||
MOVWZU (R3)(R4), R5 // 7ca4186e
|
|
||||||
MOVHU 2(R3), R4 // ac830002
|
|
||||||
MOVHU (R3)(R4), R5 // 7ca41aee
|
|
||||||
MOVHZU 2(R3), R4 // a4830002
|
|
||||||
MOVHZU (R3)(R4), R5 // 7ca41a6e
|
|
||||||
MOVBU 1(R3), R4 // 8c8300017c840774
|
|
||||||
MOVBU (R3)(R4), R5 // 7ca418ee7ca50774
|
|
||||||
MOVBZU 1(R3), R4 // 8c830001
|
|
||||||
MOVBZU (R3)(R4), R5 // 7ca418ee
|
|
||||||
|
|
||||||
MOVD R4, 8(R3) // f8830008
|
|
||||||
MOVD R5, (R3)(R4) // 7ca4192a
|
|
||||||
MOVW R4, 4(R3) // 90830004
|
|
||||||
MOVW R5, (R3)(R4) // 7ca4192e
|
|
||||||
MOVH R4, 2(R3) // b0830002
|
|
||||||
MOVH R5, (R3)(R4) // 7ca41b2e
|
|
||||||
MOVB R4, 1(R3) // 98830001
|
|
||||||
MOVB R5, (R3)(R4) // 7ca419ae
|
|
||||||
MOVDBR R5, (R3)(R4) // 7ca41d28
|
|
||||||
MOVWBR R5, (R3)(R4) // 7ca41d2c
|
|
||||||
MOVHBR R5, (R3)(R4) // 7ca41f2c
|
|
||||||
|
|
||||||
MOVDU R4, 8(R3) // f8830009
|
|
||||||
MOVDU R5, (R3)(R4) // 7ca4196a
|
|
||||||
MOVWU R4, 4(R3) // 94830004
|
|
||||||
MOVWU R5, (R3)(R4) // 7ca4196e
|
|
||||||
MOVHU R4, 2(R3) // b4830002
|
|
||||||
MOVHU R5, (R3)(R4) // 7ca41b6e
|
|
||||||
MOVBU R4, 1(R3) // 9c830001
|
|
||||||
MOVBU R5, (R3)(R4) // 7ca419ee
|
|
||||||
|
|
||||||
ADD $1, R3 // 38630001
|
|
||||||
ADD $1, R3, R4 // 38830001
|
|
||||||
ADD $-1, R4 // 3884ffff
|
|
||||||
ADD $-1, R4, R5 // 38a4ffff
|
|
||||||
ADD $65535, R5 // 601fffff7cbf2a14
|
|
||||||
ADD $65535, R5, R6 // 601fffff7cdf2a14
|
|
||||||
ADD $65536, R6 // 3cc60001
|
|
||||||
ADD $65536, R6, R7 // 3ce60001
|
|
||||||
ADD $-32767, R5 // 38a58001
|
|
||||||
ADD $-32767, R5, R4 // 38858001
|
|
||||||
ADD $-32768, R6 // 38c68000
|
|
||||||
ADD $-32768, R6, R5 // 38a68000
|
|
||||||
ADD $1234567, R5 // 641f001263ffd6877cbf2a14
|
|
||||||
ADD $1234567, R5, R6 // 641f001263ffd6877cdf2a14
|
|
||||||
ADDIS $8, R3 // 3c630008
|
|
||||||
ADDIS $1000, R3, R4 // 3c8303e8
|
|
||||||
|
|
||||||
ANDCC $1, R3 // 70630001
|
|
||||||
ANDCC $1, R3, R4 // 70640001
|
|
||||||
ANDCC $-1, R4 // 3be0ffff7fe42039
|
|
||||||
ANDCC $-1, R4, R5 // 3be0ffff7fe52039
|
|
||||||
ANDCC $65535, R5 // 70a5ffff
|
|
||||||
ANDCC $65535, R5, R6 // 70a6ffff
|
|
||||||
ANDCC $65536, R6 // 74c60001
|
|
||||||
ANDCC $65536, R6, R7 // 74c70001
|
|
||||||
ANDCC $-32767, R5 // 3be080017fe52839
|
|
||||||
ANDCC $-32767, R5, R4 // 3be080017fe42839
|
|
||||||
ANDCC $-32768, R6 // 3be080007fe63039
|
|
||||||
ANDCC $-32768, R5, R6 // 3be080007fe62839
|
|
||||||
ANDCC $1234567, R5 // 641f001263ffd6877fe52839
|
|
||||||
ANDCC $1234567, R5, R6 // 641f001263ffd6877fe62839
|
|
||||||
ANDISCC $1, R3 // 74630001
|
|
||||||
ANDISCC $1000, R3, R4 // 746403e8
|
|
||||||
|
|
||||||
OR $1, R3 // 60630001
|
|
||||||
OR $1, R3, R4 // 60640001
|
|
||||||
OR $-1, R4 // 3be0ffff7fe42378
|
|
||||||
OR $-1, R4, R5 // 3be0ffff7fe52378
|
|
||||||
OR $65535, R5 // 60a5ffff
|
|
||||||
OR $65535, R5, R6 // 60a6ffff
|
|
||||||
OR $65536, R6 // 64c60001
|
|
||||||
OR $65536, R6, R7 // 64c70001
|
|
||||||
OR $-32767, R5 // 3be080017fe52b78
|
|
||||||
OR $-32767, R5, R6 // 3be080017fe62b78
|
|
||||||
OR $-32768, R6 // 3be080007fe63378
|
|
||||||
OR $-32768, R6, R7 // 3be080007fe73378
|
|
||||||
OR $1234567, R5 // 641f001263ffd6877fe52b78
|
|
||||||
OR $1234567, R5, R3 // 641f001263ffd6877fe32b78
|
|
||||||
|
|
||||||
XOR $1, R3 // 68630001
|
|
||||||
XOR $1, R3, R4 // 68640001
|
|
||||||
XOR $-1, R4 // 3be0ffff7fe42278
|
|
||||||
XOR $-1, R4, R5 // 3be0ffff7fe52278
|
|
||||||
XOR $65535, R5 // 68a5ffff
|
|
||||||
XOR $65535, R5, R6 // 68a6ffff
|
|
||||||
XOR $65536, R6 // 6cc60001
|
|
||||||
XOR $65536, R6, R7 // 6cc70001
|
|
||||||
XOR $-32767, R5 // 3be080017fe52a78
|
|
||||||
XOR $-32767, R5, R6 // 3be080017fe62a78
|
|
||||||
XOR $-32768, R6 // 3be080007fe63278
|
|
||||||
XOR $-32768, R6, R7 // 3be080007fe73278
|
|
||||||
XOR $1234567, R5 // 641f001263ffd6877fe52a78
|
|
||||||
XOR $1234567, R5, R3 // 641f001263ffd6877fe32a78
|
|
||||||
|
|
||||||
// TODO: the order of CR operands don't match
|
|
||||||
CMP R3, R4 // 7c232000
|
|
||||||
CMPU R3, R4 // 7c232040
|
|
||||||
CMPW R3, R4 // 7c032000
|
|
||||||
CMPWU R3, R4 // 7c032040
|
|
||||||
|
|
||||||
// TODO: constants for ADDC?
|
|
||||||
ADD R3, R4 // 7c841a14
|
|
||||||
ADD R3, R4, R5 // 7ca41a14
|
|
||||||
ADDC R3, R4 // 7c841814
|
|
||||||
ADDC R3, R4, R5 // 7ca41814
|
|
||||||
ADDE R3, R4 // 7c841914
|
|
||||||
ADDECC R3, R4 // 7c841915
|
|
||||||
ADDEV R3, R4 // 7c841d14
|
|
||||||
ADDEVCC R3, R4 // 7c841d15
|
|
||||||
ADDV R3, R4 // 7c841e14
|
|
||||||
ADDVCC R3, R4 // 7c841e15
|
|
||||||
ADDCCC R3, R4, R5 // 7ca41815
|
|
||||||
ADDME R3, R4 // 7c8301d4
|
|
||||||
ADDMECC R3, R4 // 7c8301d5
|
|
||||||
ADDMEV R3, R4 // 7c8305d4
|
|
||||||
ADDMEVCC R3, R4 // 7c8305d5
|
|
||||||
ADDCV R3, R4 // 7c841c14
|
|
||||||
ADDCVCC R3, R4 // 7c841c15
|
|
||||||
ADDZE R3, R4 // 7c830194
|
|
||||||
ADDZECC R3, R4 // 7c830195
|
|
||||||
ADDZEV R3, R4 // 7c830594
|
|
||||||
ADDZEVCC R3, R4 // 7c830595
|
|
||||||
SUBME R3, R4 // 7c8301d0
|
|
||||||
SUBMECC R3, R4 // 7c8301d1
|
|
||||||
SUBMEV R3, R4 // 7c8305d0
|
|
||||||
SUBZE R3, R4 // 7c830190
|
|
||||||
SUBZECC R3, R4 // 7c830191
|
|
||||||
SUBZEV R3, R4 // 7c830590
|
|
||||||
SUBZEVCC R3, R4 // 7c830591
|
|
||||||
|
|
||||||
AND R3, R4 // 7c841838
|
|
||||||
AND R3, R4, R5 // 7c851838
|
|
||||||
ANDN R3, R4, R5 // 7c851878
|
|
||||||
ANDCC R3, R4, R5 // 7c851839
|
|
||||||
OR R3, R4 // 7c841b78
|
|
||||||
OR R3, R4, R5 // 7c851b78
|
|
||||||
ORN R3, R4, R5 // 7c851b38
|
|
||||||
ORCC R3, R4, R5 // 7c851b79
|
|
||||||
XOR R3, R4 // 7c841a78
|
|
||||||
XOR R3, R4, R5 // 7c851a78
|
|
||||||
XORCC R3, R4, R5 // 7c851a79
|
|
||||||
NAND R3, R4, R5 // 7c851bb8
|
|
||||||
NANDCC R3, R4, R5 // 7c851bb9
|
|
||||||
EQV R3, R4, R5 // 7c851a38
|
|
||||||
EQVCC R3, R4, R5 // 7c851a39
|
|
||||||
NOR R3, R4, R5 // 7c8518f8
|
|
||||||
NORCC R3, R4, R5 // 7c8518f9
|
|
||||||
|
|
||||||
SUB R3, R4 // 7c832050
|
|
||||||
SUB R3, R4, R5 // 7ca32050
|
|
||||||
SUBC R3, R4 // 7c832010
|
|
||||||
SUBC R3, R4, R5 // 7ca32010
|
|
||||||
|
|
||||||
MULLW R3, R4 // 7c8419d6
|
|
||||||
MULLW R3, R4, R5 // 7ca419d6
|
|
||||||
MULLW $10, R3 // 1c63000a
|
|
||||||
MULLW $10000000, R3 // 641f009863ff96807c7f19d6
|
|
||||||
MULLWCC R3, R4, R5 // 7ca419d7
|
|
||||||
MULHW R3, R4, R5 // 7ca41896
|
|
||||||
|
|
||||||
MULHWU R3, R4, R5 // 7ca41816
|
|
||||||
MULLD R3, R4 // 7c8419d2
|
|
||||||
MULLD R4, R4, R5 // 7ca421d2
|
|
||||||
MULLD $20, R4 // 1c840014
|
|
||||||
MULLD $200000000, R4 // 641f0beb63ffc2007c9f21d2
|
|
||||||
MULLDCC R3, R4, R5 // 7ca419d3
|
|
||||||
MULHD R3, R4, R5 // 7ca41892
|
|
||||||
MULHDCC R3, R4, R5 // 7ca41893
|
|
||||||
|
|
||||||
MULLWV R3, R4 // 7c841dd6
|
|
||||||
MULLWV R3, R4, R5 // 7ca41dd6
|
|
||||||
MULLWVCC R3, R4, R5 // 7ca41dd7
|
|
||||||
MULHWUCC R3, R4, R5 // 7ca41817
|
|
||||||
MULLDV R3, R4, R5 // 7ca41dd2
|
|
||||||
MULLDVCC R3, R4, R5 // 7ca41dd3
|
|
||||||
|
|
||||||
DIVD R3,R4 // 7c841bd2
|
|
||||||
DIVD R3, R4, R5 // 7ca41bd2
|
|
||||||
DIVDCC R3,R4, R5 // 7ca41bd3
|
|
||||||
DIVDU R3, R4, R5 // 7ca41b92
|
|
||||||
DIVDV R3, R4, R5 // 7ca41fd2
|
|
||||||
DIVDUCC R3, R4, R5 // 7ca41b93
|
|
||||||
DIVDVCC R3, R4, R5 // 7ca41fd3
|
|
||||||
DIVDUV R3, R4, R5 // 7ca41f92
|
|
||||||
DIVDUVCC R3, R4, R5 // 7ca41f93
|
|
||||||
DIVDE R3, R4, R5 // 7ca41b52
|
|
||||||
DIVDECC R3, R4, R5 // 7ca41b53
|
|
||||||
DIVDEU R3, R4, R5 // 7ca41b12
|
|
||||||
DIVDEUCC R3, R4, R5 // 7ca41b13
|
|
||||||
|
|
||||||
REM R3, R4, R5 // 7fe41bd67fff19d67cbf2050
|
|
||||||
REMU R3, R4, R5 // 7fe41b967fff19d67bff00287cbf2050
|
|
||||||
REMD R3, R4, R5 // 7fe41bd27fff19d27cbf2050
|
|
||||||
REMDU R3, R4, R5 // 7fe41b927fff19d27cbf2050
|
|
||||||
|
|
||||||
MODUD R3, R4, R5 // 7ca41a12
|
|
||||||
MODUW R3, R4, R5 // 7ca41a16
|
|
||||||
MODSD R3, R4, R5 // 7ca41e12
|
|
||||||
MODSW R3, R4, R5 // 7ca41e16
|
|
||||||
|
|
||||||
SLW $8, R3, R4 // 5464402e
|
|
||||||
SLW R3, R4, R5 // 7c851830
|
|
||||||
SLWCC R3, R4 // 7c841831
|
|
||||||
SLD $16, R3, R4 // 786483e4
|
|
||||||
SLD R3, R4, R5 // 7c851836
|
|
||||||
SLDCC R3, R4 // 7c841837
|
|
||||||
|
|
||||||
SRW $8, R3, R4 // 5464c23e
|
|
||||||
SRW R3, R4, R5 // 7c851c30
|
|
||||||
SRWCC R3, R4 // 7c841c31
|
|
||||||
SRAW $8, R3, R4 // 7c644670
|
|
||||||
SRAW R3, R4, R5 // 7c851e30
|
|
||||||
SRAWCC R3, R4 // 7c841e31
|
|
||||||
SRD $16, R3, R4 // 78648402
|
|
||||||
SRD R3, R4, R5 // 7c851c36
|
|
||||||
SRDCC R3, R4 // 7c841c37
|
|
||||||
SRAD $16, R3, R4 // 7c648674
|
|
||||||
SRAD R3, R4, R5 // 7c851e34
|
|
||||||
SRDCC R3, R4 // 7c841c37
|
|
||||||
ROTLW $16, R3, R4 // 5464803e
|
|
||||||
ROTLW R3, R4, R5 // 5c85183e
|
|
||||||
EXTSWSLI $3, R4, R5 // 7c851ef4
|
|
||||||
RLWMI $7, R3, $65535, R6 // 50663c3e
|
|
||||||
RLWMICC $7, R3, $65535, R6 // 50663c3f
|
|
||||||
RLWNM $3, R4, $7, R6 // 54861f7e
|
|
||||||
RLWNMCC $3, R4, $7, R6 // 54861f7f
|
|
||||||
RLDMI $0, R4, $7, R6 // 7886076c
|
|
||||||
RLDMICC $0, R4, $7, R6 // 7886076d
|
|
||||||
RLDIMI $0, R4, $7, R6 // 788601cc
|
|
||||||
RLDIMICC $0, R4, $7, R6 // 788601cd
|
|
||||||
RLDC $0, R4, $15, R6 // 78860728
|
|
||||||
RLDCCC $0, R4, $15, R6 // 78860729
|
|
||||||
RLDCL $0, R4, $7, R6 // 78860770
|
|
||||||
RLDCLCC $0, R4, $15, R6 // 78860721
|
|
||||||
RLDCR $0, R4, $-16, R6 // 788606f2
|
|
||||||
RLDCRCC $0, R4, $-16, R6 // 788606f3
|
|
||||||
RLDICL $0, R4, $15, R6 // 788603c0
|
|
||||||
RLDICLCC $0, R4, $15, R6 // 788603c1
|
|
||||||
RLDICR $0, R4, $15, R6 // 788603c4
|
|
||||||
RLDICRCC $0, R4, $15, R6 // 788603c5
|
|
||||||
RLDIC $0, R4, $15, R6 // 788603c8
|
|
||||||
RLDICCC $0, R4, $15, R6 // 788603c9
|
|
||||||
CLRLSLWI $8, R5, $6, R4 // 54a430b2
|
|
||||||
CLRLSLDI $24, R4, $4, R3 // 78832508
|
|
||||||
|
|
||||||
BEQ 0(PC) // 41820000
|
|
||||||
BGE 0(PC) // 40800000
|
|
||||||
BGT 4(PC) // 41810030
|
|
||||||
BLE 0(PC) // 40810000
|
|
||||||
BLT 0(PC) // 41800000
|
|
||||||
BNE 0(PC) // 40820000
|
|
||||||
JMP 8(PC) // 48000020
|
|
||||||
|
|
||||||
CRAND CR1, CR2, CR3 // 4c620a02
|
|
||||||
CRANDN CR1, CR2, CR3 // 4c620902
|
|
||||||
CREQV CR1, CR2, CR3 // 4c620a42
|
|
||||||
CRNAND CR1, CR2, CR3 // 4c6209c2
|
|
||||||
CRNOR CR1, CR2, CR3 // 4c620842
|
|
||||||
CROR CR1, CR2, CR3 // 4c620b82
|
|
||||||
CRORN CR1, CR2, CR3 // 4c620b42
|
|
||||||
CRXOR CR1, CR2, CR3 // 4c620982
|
|
||||||
|
|
||||||
ISEL $1, R3, R4, R5 // 7ca3205e
|
|
||||||
ISEL $0, R3, R4, R5 // 7ca3201e
|
|
||||||
ISEL $2, R3, R4, R5 // 7ca3209e
|
|
||||||
ISEL $3, R3, R4, R5 // 7ca320de
|
|
||||||
ISEL $4, R3, R4, R5 // 7ca3211e
|
|
||||||
POPCNTB R3, R4 // 7c6400f4
|
|
||||||
POPCNTW R3, R4 // 7c6402f4
|
|
||||||
POPCNTD R3, R4 // 7c6403f4
|
|
||||||
|
|
||||||
PASTECC R3, R4 // 7c23270d
|
|
||||||
COPY R3, R4 // 7c23260c
|
|
||||||
|
|
||||||
// load-and-reserve
|
|
||||||
LBAR (R4)(R3*1),$1,R5 // 7ca32069
|
|
||||||
LBAR (R4),$0,R5 // 7ca02068
|
|
||||||
LBAR (R3),R5 // 7ca01868
|
|
||||||
LHAR (R4)(R3*1),$1,R5 // 7ca320e9
|
|
||||||
LHAR (R4),$0,R5 // 7ca020e8
|
|
||||||
LHAR (R3),R5 // 7ca018e8
|
|
||||||
LWAR (R4)(R3*1),$1,R5 // 7ca32029
|
|
||||||
LWAR (R4),$0,R5 // 7ca02028
|
|
||||||
LWAR (R3),R5 // 7ca01828
|
|
||||||
LDAR (R4)(R3*1),$1,R5 // 7ca320a9
|
|
||||||
LDAR (R4),$0,R5 // 7ca020a8
|
|
||||||
LDAR (R3),R5 // 7ca018a8
|
|
||||||
|
|
||||||
STBCCC R3, (R4)(R5) // 7c65256d
|
|
||||||
STWCCC R3, (R4)(R5) // 7c65212d
|
|
||||||
STDCCC R3, (R4)(R5) // 7c6521ad
|
|
||||||
STHCCC R3, (R4)(R5)
|
|
||||||
|
|
||||||
SYNC // 7c0004ac
|
|
||||||
ISYNC // 4c00012c
|
|
||||||
LWSYNC // 7c2004ac
|
|
||||||
|
|
||||||
DCBF (R3)(R4) // 7c0418ac
|
|
||||||
DCBI (R3)(R4) // 7c041bac
|
|
||||||
DCBST (R3)(R4) // 7c04186c
|
|
||||||
DCBZ (R3)(R4) // 7c041fec
|
|
||||||
DCBT (R3)(R4) // 7c041a2c
|
|
||||||
ICBI (R3)(R4) // 7c041fac
|
|
||||||
|
|
||||||
// float constants
|
|
||||||
FMOVD $(0.0), F1 // f0210cd0
|
|
||||||
FMOVD $(-0.0), F1 // f0210cd0fc200850
|
|
||||||
|
|
||||||
FMOVD 8(R3), F1 // c8230008
|
|
||||||
FMOVD (R3)(R4), F1 // 7c241cae
|
|
||||||
FMOVDU 8(R3), F1 // cc230008
|
|
||||||
FMOVDU (R3)(R4), F1 // 7c241cee
|
|
||||||
FMOVS 4(R3), F1 // c0230004
|
|
||||||
FMOVS (R3)(R4), F1 // 7c241c2e
|
|
||||||
FMOVSU 4(R3), F1 // c4230004
|
|
||||||
FMOVSU (R3)(R4), F1 // 7c241c6e
|
|
||||||
|
|
||||||
FMOVD F1, 8(R3) // d8230008
|
|
||||||
FMOVD F1, (R3)(R4) // 7c241dae
|
|
||||||
FMOVDU F1, 8(R3) // dc230008
|
|
||||||
FMOVDU F1, (R3)(R4) // 7c241dee
|
|
||||||
FMOVS F1, 4(R3) // d0230004
|
|
||||||
FMOVS F1, (R3)(R4) // 7c241d2e
|
|
||||||
FMOVSU F1, 4(R3) // d4230004
|
|
||||||
FMOVSU F1, (R3)(R4) // 7c241d6e
|
|
||||||
FADD F1, F2 // fc42082a
|
|
||||||
FADD F1, F2, F3 // fc62082a
|
|
||||||
FADDCC F1, F2, F3 // fc62082b
|
|
||||||
FADDS F1, F2 // ec42082a
|
|
||||||
FADDS F1, F2, F3 // ec62082a
|
|
||||||
FADDSCC F1, F2, F3 // ec62082b
|
|
||||||
FSUB F1, F2 // fc420828
|
|
||||||
FSUB F1, F2, F3 // fc620828
|
|
||||||
FSUBCC F1, F2, F3 // fc620829
|
|
||||||
FSUBS F1, F2 // ec420828
|
|
||||||
FSUBS F1, F2, F3 // ec620828
|
|
||||||
FSUBCC F1, F2, F3 // fc620829
|
|
||||||
FMUL F1, F2 // fc420072
|
|
||||||
FMUL F1, F2, F3 // fc620072
|
|
||||||
FMULCC F1, F2, F3 // fc620073
|
|
||||||
FMULS F1, F2 // ec420072
|
|
||||||
FMULS F1, F2, F3 // ec620072
|
|
||||||
FMULSCC F1, F2, F3 // ec620073
|
|
||||||
FDIV F1, F2 // fc420824
|
|
||||||
FDIV F1, F2, F3 // fc620824
|
|
||||||
FDIVCC F1, F2, F3 // fc620825
|
|
||||||
FDIVS F1, F2 // ec420824
|
|
||||||
FDIVS F1, F2, F3 // ec620824
|
|
||||||
FDIVSCC F1, F2, F3 // ec620825
|
|
||||||
FMADD F1, F2, F3, F4 // fc8110fa
|
|
||||||
FMADDCC F1, F2, F3, F4 // fc8110fb
|
|
||||||
FMADDS F1, F2, F3, F4 // ec8110fa
|
|
||||||
FMADDSCC F1, F2, F3, F4 // ec8110fb
|
|
||||||
FMSUB F1, F2, F3, F4 // fc8110f8
|
|
||||||
FMSUBCC F1, F2, F3, F4 // fc8110f9
|
|
||||||
FMSUBS F1, F2, F3, F4 // ec8110f8
|
|
||||||
FMSUBSCC F1, F2, F3, F4 // ec8110f9
|
|
||||||
FNMADD F1, F2, F3, F4 // fc8110fe
|
|
||||||
FNMADDCC F1, F2, F3, F4 // fc8110ff
|
|
||||||
FNMADDS F1, F2, F3, F4 // ec8110fe
|
|
||||||
FNMADDSCC F1, F2, F3, F4 // ec8110ff
|
|
||||||
FNMSUB F1, F2, F3, F4 // fc8110fc
|
|
||||||
FNMSUBCC F1, F2, F3, F4 // fc8110fd
|
|
||||||
FNMSUBS F1, F2, F3, F4 // ec8110fc
|
|
||||||
FNMSUBSCC F1, F2, F3, F4 // ec8110fd
|
|
||||||
FSEL F1, F2, F3, F4 // fc8110ee
|
|
||||||
FSELCC F1, F2, F3, F4 // fc8110ef
|
|
||||||
FABS F1, F2 // fc400a10
|
|
||||||
FABSCC F1, F2 // fc400a11
|
|
||||||
FNEG F1, F2 // fc400850
|
|
||||||
FABSCC F1, F2 // fc400a11
|
|
||||||
FRSP F1, F2 // fc400818
|
|
||||||
FRSPCC F1, F2 // fc400819
|
|
||||||
FCTIW F1, F2 // fc40081c
|
|
||||||
FCTIWCC F1, F2 // fc40081d
|
|
||||||
FCTIWZ F1, F2 // fc40081e
|
|
||||||
FCTIWZCC F1, F2 // fc40081f
|
|
||||||
FCTID F1, F2 // fc400e5c
|
|
||||||
FCTIDCC F1, F2 // fc400e5d
|
|
||||||
FCTIDZ F1, F2 // fc400e5e
|
|
||||||
FCTIDZCC F1, F2 // fc400e5f
|
|
||||||
FCFID F1, F2 // fc400e9c
|
|
||||||
FCFIDCC F1, F2 // fc400e9d
|
|
||||||
FCFIDU F1, F2 // fc400f9c
|
|
||||||
FCFIDUCC F1, F2 // fc400f9d
|
|
||||||
FCFIDS F1, F2 // ec400e9c
|
|
||||||
FCFIDSCC F1, F2 // ec400e9d
|
|
||||||
FRES F1, F2 // ec400830
|
|
||||||
FRESCC F1, F2 // ec400831
|
|
||||||
FRIM F1, F2 // fc400bd0
|
|
||||||
FRIMCC F1, F2 // fc400bd1
|
|
||||||
FRIP F1, F2 // fc400b90
|
|
||||||
FRIPCC F1, F2 // fc400b91
|
|
||||||
FRIZ F1, F2 // fc400b50
|
|
||||||
FRIZCC F1, F2 // fc400b51
|
|
||||||
FRIN F1, F2 // fc400b10
|
|
||||||
FRINCC F1, F2 // fc400b11
|
|
||||||
FRSQRTE F1, F2 // fc400834
|
|
||||||
FRSQRTECC F1, F2 // fc400835
|
|
||||||
FSQRT F1, F2 // fc40082c
|
|
||||||
FSQRTCC F1, F2 // fc40082d
|
|
||||||
FSQRTS F1, F2 // ec40082c
|
|
||||||
FSQRTSCC F1, F2 // ec40082d
|
|
||||||
FCPSGN F1, F2 // fc420810
|
|
||||||
FCPSGNCC F1, F2 // fc420811
|
|
||||||
FCMPO F1, F2 // fc011040
|
|
||||||
FCMPU F1, F2 // fc011000
|
|
||||||
LVX (R3)(R4), V1 // 7c2418ce
|
|
||||||
LVXL (R3)(R4), V1 // 7c241ace
|
|
||||||
LVSL (R3)(R4), V1 // 7c24180c
|
|
||||||
LVSR (R3)(R4), V1 // 7c24184c
|
|
||||||
LVEBX (R3)(R4), V1 // 7c24180e
|
|
||||||
LVEHX (R3)(R4), V1 // 7c24184e
|
|
||||||
LVEWX (R3)(R4), V1 // 7c24188e
|
|
||||||
STVX V1, (R3)(R4) // 7c2419ce
|
|
||||||
STVXL V1, (R3)(R4) // 7c241bce
|
|
||||||
STVEBX V1, (R3)(R4) // 7c24190e
|
|
||||||
STVEHX V1, (R3)(R4) // 7c24194e
|
|
||||||
STVEWX V1, (R3)(R4) // 7c24198e
|
|
||||||
|
|
||||||
VAND V1, V2, V3 // 10611404
|
|
||||||
VANDC V1, V2, V3 // 10611444
|
|
||||||
VNAND V1, V2, V3 // 10611584
|
|
||||||
VOR V1, V2, V3 // 10611484
|
|
||||||
VORC V1, V2, V3 // 10611544
|
|
||||||
VXOR V1, V2, V3 // 106114c4
|
|
||||||
VNOR V1, V2, V3 // 10611504
|
|
||||||
VEQV V1, V2, V3 // 10611684
|
|
||||||
VADDUBM V1, V2, V3 // 10611000
|
|
||||||
VADDUHM V1, V2, V3 // 10611040
|
|
||||||
VADDUWM V1, V2, V3 // 10611080
|
|
||||||
VADDUDM V1, V2, V3 // 106110c0
|
|
||||||
VADDUQM V1, V2, V3 // 10611100
|
|
||||||
VADDCUQ V1, V2, V3 // 10611140
|
|
||||||
VADDCUW V1, V2, V3 // 10611180
|
|
||||||
VADDUBS V1, V2, V3 // 10611200
|
|
||||||
VADDUHS V1, V2, V3 // 10611240
|
|
||||||
VADDUWS V1, V2, V3 // 10611280
|
|
||||||
VSUBUBM V1, V2, V3 // 10611400
|
|
||||||
VSUBUHM V1, V2, V3 // 10611440
|
|
||||||
VSUBUWM V1, V2, V3 // 10611480
|
|
||||||
VSUBUDM V1, V2, V3 // 106114c0
|
|
||||||
VSUBUQM V1, V2, V3 // 10611500
|
|
||||||
VSUBCUQ V1, V2, V3 // 10611540
|
|
||||||
VSUBCUW V1, V2, V3 // 10611580
|
|
||||||
VSUBUBS V1, V2, V3 // 10611600
|
|
||||||
VSUBUHS V1, V2, V3 // 10611640
|
|
||||||
VSUBUWS V1, V2, V3 // 10611680
|
|
||||||
VSUBSBS V1, V2, V3 // 10611700
|
|
||||||
VSUBSHS V1, V2, V3 // 10611740
|
|
||||||
VSUBSWS V1, V2, V3 // 10611780
|
|
||||||
VSUBEUQM V1, V2, V3, V4 // 108110fe
|
|
||||||
VSUBECUQ V1, V2, V3, V4 // 108110ff
|
|
||||||
VMULESB V1, V2, V3 // 10611308
|
|
||||||
VMULOSB V1, V2, V3 // 10611108
|
|
||||||
VMULEUB V1, V2, V3 // 10611208
|
|
||||||
VMULOUB V1, V2, V3 // 10611008
|
|
||||||
VMULESH V1, V2, V3 // 10611348
|
|
||||||
VMULOSH V1, V2, V3 // 10611148
|
|
||||||
VMULEUH V1, V2, V3 // 10611248
|
|
||||||
VMULOUH V1, V2, V3 // 10611048
|
|
||||||
VMULESH V1, V2, V3 // 10611348
|
|
||||||
VMULOSW V1, V2, V3 // 10611188
|
|
||||||
VMULEUW V1, V2, V3 // 10611288
|
|
||||||
VMULOUW V1, V2, V3 // 10611088
|
|
||||||
VMULUWM V1, V2, V3 // 10611089
|
|
||||||
VPMSUMB V1, V2, V3 // 10611408
|
|
||||||
VPMSUMH V1, V2, V3 // 10611448
|
|
||||||
VPMSUMW V1, V2, V3 // 10611488
|
|
||||||
VPMSUMD V1, V2, V3 // 106114c8
|
|
||||||
VMSUMUDM V1, V2, V3, V4 // 108110e3
|
|
||||||
VRLB V1, V2, V3 // 10611004
|
|
||||||
VRLH V1, V2, V3 // 10611044
|
|
||||||
VRLW V1, V2, V3 // 10611084
|
|
||||||
VRLD V1, V2, V3 // 106110c4
|
|
||||||
VSLB V1, V2, V3 // 10611104
|
|
||||||
VSLH V1, V2, V3 // 10611144
|
|
||||||
VSLW V1, V2, V3 // 10611184
|
|
||||||
VSL V1, V2, V3 // 106111c4
|
|
||||||
VSLO V1, V2, V3 // 1061140c
|
|
||||||
VSRB V1, V2, V3 // 10611204
|
|
||||||
VSRH V1, V2, V3 // 10611244
|
|
||||||
VSRW V1, V2, V3 // 10611284
|
|
||||||
VSR V1, V2, V3 // 106112c4
|
|
||||||
VSRO V1, V2, V3 // 1061144c
|
|
||||||
VSLD V1, V2, V3 // 106115c4
|
|
||||||
VSRAB V1, V2, V3 // 10611304
|
|
||||||
VSRAH V1, V2, V3 // 10611344
|
|
||||||
VSRAW V1, V2, V3 // 10611384
|
|
||||||
VSRAD V1, V2, V3 // 106113c4
|
|
||||||
VSLDOI $3, V1, V2, V3 // 106110ec
|
|
||||||
VCLZB V1, V2 // 10400f02
|
|
||||||
VCLZH V1, V2 // 10400f42
|
|
||||||
VCLZW V1, V2 // 10400f82
|
|
||||||
VCLZD V1, V2 // 10400fc2
|
|
||||||
VPOPCNTB V1, V2 // 10400f03
|
|
||||||
VPOPCNTH V1, V2 // 10400f43
|
|
||||||
VPOPCNTW V1, V2 // 10400f83
|
|
||||||
VPOPCNTD V1, V2 // 10400fc3
|
|
||||||
VCMPEQUB V1, V2, V3 // 10611006
|
|
||||||
VCMPEQUBCC V1, V2, V3 // 10611406
|
|
||||||
VCMPEQUH V1, V2, V3 // 10611046
|
|
||||||
VCMPEQUHCC V1, V2, V3 // 10611446
|
|
||||||
VCMPEQUW V1, V2, V3 // 10611086
|
|
||||||
VCMPEQUWCC V1, V2, V3 // 10611486
|
|
||||||
VCMPEQUD V1, V2, V3 // 106110c7
|
|
||||||
VCMPEQUDCC V1, V2, V3 // 106114c7
|
|
||||||
VCMPGTUB V1, V2, V3 // 10611206
|
|
||||||
VCMPGTUBCC V1, V2, V3 // 10611606
|
|
||||||
VCMPGTUH V1, V2, V3 // 10611246
|
|
||||||
VCMPGTUHCC V1, V2, V3 // 10611646
|
|
||||||
VCMPGTUW V1, V2, V3 // 10611286
|
|
||||||
VCMPGTUWCC V1, V2, V3 // 10611686
|
|
||||||
VCMPGTUD V1, V2, V3 // 106112c7
|
|
||||||
VCMPGTUDCC V1, V2, V3 // 106116c7
|
|
||||||
VCMPGTSB V1, V2, V3 // 10611306
|
|
||||||
VCMPGTSBCC V1, V2, V3 // 10611706
|
|
||||||
VCMPGTSH V1, V2, V3 // 10611346
|
|
||||||
VCMPGTSHCC V1, V2, V3 // 10611746
|
|
||||||
VCMPGTSW V1, V2, V3 // 10611386
|
|
||||||
VCMPGTSWCC V1, V2, V3 // 10611786
|
|
||||||
VCMPGTSD V1, V2, V3 // 106113c7
|
|
||||||
VCMPGTSDCC V1, V2, V3 // 106117c7
|
|
||||||
VCMPNEZB V1, V2, V3 // 10611107
|
|
||||||
VCMPNEZBCC V1, V2, V3 // 10611507
|
|
||||||
VCMPNEB V1, V2, V3 // 10611007
|
|
||||||
VCMPNEBCC V1, V2, V3 // 10611407
|
|
||||||
VCMPNEH V1, V2, V3 // 10611047
|
|
||||||
VCMPNEHCC V1, V2, V3 // 10611447
|
|
||||||
VCMPNEW V1, V2, V3 // 10611087
|
|
||||||
VCMPNEWCC V1, V2, V3 // 10611487
|
|
||||||
VPERM V1, V2, V3, V4 // 108110eb
|
|
||||||
VPERMR V1, V2, V3, V4 // 108110fb
|
|
||||||
VPERMXOR V1, V2, V3, V4 // 108110ed
|
|
||||||
VBPERMQ V1, V2, V3 // 1061154c
|
|
||||||
VBPERMD V1, V2, V3 // 106115cc
|
|
||||||
VSEL V1, V2, V3, V4 // 108110ea
|
|
||||||
VSPLTB $1, V1, V2 // 10410a0c
|
|
||||||
VSPLTH $1, V1, V2 // 10410a4c
|
|
||||||
VSPLTW $1, V1, V2 // 10410a8c
|
|
||||||
VSPLTISB $1, V1 // 1021030c
|
|
||||||
VSPLTISW $1, V1 // 1021038c
|
|
||||||
VSPLTISH $1, V1 // 1021034c
|
|
||||||
VCIPHER V1, V2, V3 // 10611508
|
|
||||||
VCIPHERLAST V1, V2, V3 // 10611509
|
|
||||||
VNCIPHER V1, V2, V3 // 10611548
|
|
||||||
VNCIPHERLAST V1, V2, V3 // 10611549
|
|
||||||
VSBOX V1, V2 // 104105c8
|
|
||||||
VSHASIGMAW $1, V1, $15, V2 // 10418e82
|
|
||||||
VSHASIGMAD $2, V1, $15, V2 // 104196c2
|
|
||||||
|
|
||||||
LXVD2X (R3)(R4), VS1 // 7c241e98
|
|
||||||
LXV 16(R3), VS1 // f4230011
|
|
||||||
LXVL R3, R4, VS1 // 7c23221a
|
|
||||||
LXVLL R3, R4, VS1 // 7c23225a
|
|
||||||
LXVX R3, R4, VS1 // 7c232218
|
|
||||||
LXSDX (R3)(R4), VS1 // 7c241c98
|
|
||||||
STXVD2X VS1, (R3)(R4) // 7c241f98
|
|
||||||
STXV VS1,16(R3) // f4230015
|
|
||||||
STXVL VS1, R3, R4 // 7c23231a
|
|
||||||
STXVLL VS1, R3, R4 // 7c23235a
|
|
||||||
STXVX VS1, R3, R4 // 7c232318
|
|
||||||
STXSDX VS1, (R3)(R4) // 7c241d98
|
|
||||||
LXSIWAX (R3)(R4), VS1 // 7c241898
|
|
||||||
STXSIWX VS1, (R3)(R4) // 7c241918
|
|
||||||
MFVSRD VS1, R3 // 7c230066
|
|
||||||
MTVSRD R3, VS1 // 7c230166
|
|
||||||
XXLAND VS1, VS2, VS3 // f0611410
|
|
||||||
XXLOR VS1, VS2, VS3 // f0611490
|
|
||||||
XXLORC VS1, VS2, VS3 // f0611550
|
|
||||||
XXLXOR VS1, VS2, VS3 // f06114d0
|
|
||||||
XXSEL VS1, VS2, VS3, VS4 // f08110f0
|
|
||||||
XXMRGHW VS1, VS2, VS3 // f0611090
|
|
||||||
XXSPLTW VS1, $1, VS2 // f0410a90
|
|
||||||
XXPERM VS1, VS2, VS3 // f06110d0
|
|
||||||
XXSLDWI VS1, VS2, $1, VS3 // f0611110
|
|
||||||
XSCVDPSP VS1, VS2 // f0400c24
|
|
||||||
XVCVDPSP VS1, VS2 // f0400e24
|
|
||||||
XSCVSXDDP VS1, VS2 // f0400de0
|
|
||||||
XVCVDPSXDS VS1, VS2 // f0400f60
|
|
||||||
XVCVSXDDP VS1, VS2 // f0400fe0
|
|
||||||
|
|
||||||
MOVD R3, LR // 7c6803a6
|
|
||||||
MOVD R3, CTR // 7c6903a6
|
|
||||||
MOVD R3, XER // 7c6103a6
|
|
||||||
MOVD LR, R3 // 7c6802a6
|
|
||||||
MOVD CTR, R3 // 7c6902a6
|
|
||||||
MOVD XER, R3 // 7c6102a6
|
|
||||||
MOVFL CR3, CR1 // 4c8c0000
|
|
||||||
|
|
||||||
RET
|
|
@ -2159,7 +2159,7 @@ func AOP_DQ(op uint32, d uint32, a uint32, b uint32) uint32 {
|
|||||||
|
|
||||||
/* Z23-form, 3-register operands + CY field */
|
/* Z23-form, 3-register operands + CY field */
|
||||||
func AOP_Z23I(op uint32, d uint32, a uint32, b uint32, c uint32) uint32 {
|
func AOP_Z23I(op uint32, d uint32, a uint32, b uint32, c uint32) uint32 {
|
||||||
return op | (d&31)<<21 | (a&31)<<16 | (b&31)<<11 | (c&3)<<7
|
return op | (d&31)<<21 | (a&31)<<16 | (b&31)<<11 | (c&3)<<9
|
||||||
}
|
}
|
||||||
|
|
||||||
/* X-form, 3-register operands + EH field */
|
/* X-form, 3-register operands + EH field */
|
||||||
|
Loading…
Reference in New Issue
Block a user