]> Cypherpunks.ru repositories - gostls13.git/commitdiff
cmd/internal/obj: remove duplicate ppc64 spr MOV* optab entries
authorPaul E. Murphy <murp@ibm.com>
Tue, 9 Mar 2021 22:55:06 +0000 (16:55 -0600)
committerLynn Boger <laboger@linux.vnet.ibm.com>
Mon, 5 Apr 2021 18:59:09 +0000 (18:59 +0000)
The matching rules will match C_SPR for the commonly used SPR
entries (xer, lr, ctr).

Change-Id: I93759c1ce2891f6825661b99c5cbb89250b64ab7
Reviewed-on: https://go-review.googlesource.com/c/go/+/304429
Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
Reviewed-by: Carlos Eduardo Seo <carlos.seo@linaro.org>
Trust: Carlos Eduardo Seo <carlos.seo@linaro.org>

src/cmd/internal/obj/ppc64/asm9.go

index 47e67a32f324ffea1dbba9dd794382f787f0ef24..f169c326d858fb96714facb7990e8c9def29202c 100644 (file)
@@ -222,23 +222,18 @@ var optab = []Optab{
        {as: AMOVD, a1: C_ADDCON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVD, a1: C_ADDR, a6: C_REG, type_: 75, size: 8},
        {as: AMOVD, a1: C_ANDCON, a6: C_REG, type_: 3, size: 4},
-       {as: AMOVD, a1: C_CTR, a6: C_REG, type_: 66, size: 4},
        {as: AMOVD, a1: C_GOTADDR, a6: C_REG, type_: 81, size: 8},
        {as: AMOVD, a1: C_LACON, a6: C_REG, type_: 26, size: 8},
        {as: AMOVD, a1: C_LCON, a6: C_REG, type_: 19, size: 8},
        {as: AMOVD, a1: C_LECON, a6: C_REG, type_: 26, size: 8},
        {as: AMOVD, a1: C_LOREG, a6: C_REG, type_: 36, size: 8},
-       {as: AMOVD, a1: C_LR, a6: C_REG, type_: 66, size: 4},
        {as: AMOVD, a1: C_MSR, a6: C_REG, type_: 54, size: 4}, /* mfmsr */
        {as: AMOVD, a1: C_REG, a6: C_ADDR, type_: 74, size: 8},
-       {as: AMOVD, a1: C_REG, a6: C_CTR, type_: 66, size: 4},
        {as: AMOVD, a1: C_REG, a6: C_LOREG, type_: 35, size: 8},
-       {as: AMOVD, a1: C_REG, a6: C_LR, type_: 66, size: 4},
        {as: AMOVD, a1: C_REG, a6: C_MSR, type_: 54, size: 4}, /* mtmsrd */
        {as: AMOVD, a1: C_REG, a6: C_REG, type_: 1, size: 4},
        {as: AMOVD, a1: C_REG, a6: C_SOREG, type_: 7, size: 4},
        {as: AMOVD, a1: C_REG, a6: C_SPR, type_: 66, size: 4},
-       {as: AMOVD, a1: C_REG, a6: C_XER, type_: 66, size: 4},
        {as: AMOVD, a1: C_SACON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVD, a1: C_SECON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVD, a1: C_SOREG, a6: C_REG, type_: 8, size: 4},
@@ -247,7 +242,6 @@ var optab = []Optab{
        {as: AMOVD, a1: C_TLS_LE, a6: C_REG, type_: 79, size: 4},
        {as: AMOVD, a1: C_TOCADDR, a6: C_REG, type_: 95, size: 8},
        {as: AMOVD, a1: C_UCON, a6: C_REG, type_: 3, size: 4},
-       {as: AMOVD, a1: C_XER, a6: C_REG, type_: 66, size: 4},
 
        {as: AMOVW, a1: C_ADDCON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVW, a1: C_ADDR, a6: C_REG, type_: 75, size: 8},
@@ -259,18 +253,15 @@ var optab = []Optab{
        {as: AMOVW, a1: C_LOREG, a6: C_REG, type_: 36, size: 8},
        {as: AMOVW, a1: C_REG, a6: C_ADDR, type_: 74, size: 8},
        {as: AMOVW, a1: C_REG, a6: C_CREG, type_: 69, size: 4},
-       {as: AMOVW, a1: C_REG, a6: C_CTR, type_: 66, size: 4},
        {as: AMOVW, a1: C_REG, a6: C_LOREG, type_: 35, size: 8},
        {as: AMOVW, a1: C_REG, a6: C_REG, type_: 12, size: 4},
        {as: AMOVW, a1: C_REG, a6: C_SOREG, type_: 7, size: 4},
        {as: AMOVW, a1: C_REG, a6: C_SPR, type_: 66, size: 4},
-       {as: AMOVW, a1: C_REG, a6: C_XER, type_: 66, size: 4},
        {as: AMOVW, a1: C_SACON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVW, a1: C_SECON, a6: C_REG, type_: 3, size: 4}, /* TO DO: check */
        {as: AMOVW, a1: C_SOREG, a6: C_REG, type_: 8, size: 4},
        {as: AMOVW, a1: C_SPR, a6: C_REG, type_: 66, size: 4},
        {as: AMOVW, a1: C_UCON, a6: C_REG, type_: 3, size: 4},
-       {as: AMOVW, a1: C_XER, a6: C_REG, type_: 66, size: 4},
 
        {as: AMOVWZ, a1: C_ADDCON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVWZ, a1: C_ADDR, a6: C_REG, type_: 75, size: 8},
@@ -282,19 +273,16 @@ var optab = []Optab{
        {as: AMOVWZ, a1: C_LOREG, a6: C_REG, type_: 36, size: 8},
        {as: AMOVWZ, a1: C_REG, a6: C_ADDR, type_: 74, size: 8},
        {as: AMOVWZ, a1: C_REG, a6: C_CREG, type_: 69, size: 4},
-       {as: AMOVWZ, a1: C_REG, a6: C_CTR, type_: 66, size: 4},
        {as: AMOVWZ, a1: C_REG, a6: C_LOREG, type_: 35, size: 8},
        {as: AMOVWZ, a1: C_REG, a6: C_MSR, type_: 54, size: 4}, /* mtmsr */
        {as: AMOVWZ, a1: C_REG, a6: C_REG, type_: 13, size: 4},
        {as: AMOVWZ, a1: C_REG, a6: C_SOREG, type_: 7, size: 4},
        {as: AMOVWZ, a1: C_REG, a6: C_SPR, type_: 66, size: 4},
-       {as: AMOVWZ, a1: C_REG, a6: C_XER, type_: 66, size: 4},
        {as: AMOVWZ, a1: C_SACON, a6: C_REG, type_: 3, size: 4},
        {as: AMOVWZ, a1: C_SECON, a6: C_REG, type_: 3, size: 4}, /* TO DO: check */
        {as: AMOVWZ, a1: C_SOREG, a6: C_REG, type_: 8, size: 4},
        {as: AMOVWZ, a1: C_SPR, a6: C_REG, type_: 66, size: 4},
        {as: AMOVWZ, a1: C_UCON, a6: C_REG, type_: 3, size: 4},
-       {as: AMOVWZ, a1: C_XER, a6: C_REG, type_: 66, size: 4},
 
        {as: AMOVFL, a1: C_CREG, a6: C_CREG, type_: 67, size: 4},
        {as: AMOVFL, a1: C_FPSCR, a6: C_CREG, type_: 73, size: 4},