]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/compile/internal/ssa/opGen.go
cmd/compile: don't use BTS when OR works, add direct memory BTS operations
[gostls13.git] / src / cmd / compile / internal / ssa / opGen.go
index 64aea38afe8b33393934f796a642e2f09d17c004..84dcd9a3cc8abb6ecd69cfb0dfd7f482e0be524a 100644 (file)
@@ -716,12 +716,12 @@ const (
        OpAMD64BTSQ
        OpAMD64BTLconst
        OpAMD64BTQconst
-       OpAMD64BTCLconst
        OpAMD64BTCQconst
-       OpAMD64BTRLconst
        OpAMD64BTRQconst
-       OpAMD64BTSLconst
        OpAMD64BTSQconst
+       OpAMD64BTSQconstmodify
+       OpAMD64BTRQconstmodify
+       OpAMD64BTCQconstmodify
        OpAMD64TESTQ
        OpAMD64TESTL
        OpAMD64TESTW
@@ -8779,12 +8779,12 @@ var opcodeTable = [...]opInfo{
                },
        },
        {
-               name:         "BTCLconst",
+               name:         "BTCQconst",
                auxType:      auxInt8,
                argLen:       1,
                resultInArg0: true,
                clobberFlags: true,
-               asm:          x86.ABTCL,
+               asm:          x86.ABTCQ,
                reg: regInfo{
                        inputs: []inputInfo{
                                {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -8795,12 +8795,12 @@ var opcodeTable = [...]opInfo{
                },
        },
        {
-               name:         "BTCQconst",
+               name:         "BTRQconst",
                auxType:      auxInt8,
                argLen:       1,
                resultInArg0: true,
                clobberFlags: true,
-               asm:          x86.ABTCQ,
+               asm:          x86.ABTRQ,
                reg: regInfo{
                        inputs: []inputInfo{
                                {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -8811,12 +8811,12 @@ var opcodeTable = [...]opInfo{
                },
        },
        {
-               name:         "BTRLconst",
+               name:         "BTSQconst",
                auxType:      auxInt8,
                argLen:       1,
                resultInArg0: true,
                clobberFlags: true,
-               asm:          x86.ABTRL,
+               asm:          x86.ABTSQ,
                reg: regInfo{
                        inputs: []inputInfo{
                                {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
@@ -8827,50 +8827,44 @@ var opcodeTable = [...]opInfo{
                },
        },
        {
-               name:         "BTRQconst",
-               auxType:      auxInt8,
-               argLen:       1,
-               resultInArg0: true,
-               clobberFlags: true,
-               asm:          x86.ABTRQ,
+               name:           "BTSQconstmodify",
+               auxType:        auxSymValAndOff,
+               argLen:         2,
+               clobberFlags:   true,
+               faultOnNilArg0: true,
+               symEffect:      SymRead | SymWrite,
+               asm:            x86.ABTSQ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
-                       },
-                       outputs: []outputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
+                               {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
                        },
                },
        },
        {
-               name:         "BTSLconst",
-               auxType:      auxInt8,
-               argLen:       1,
-               resultInArg0: true,
-               clobberFlags: true,
-               asm:          x86.ABTSL,
+               name:           "BTRQconstmodify",
+               auxType:        auxSymValAndOff,
+               argLen:         2,
+               clobberFlags:   true,
+               faultOnNilArg0: true,
+               symEffect:      SymRead | SymWrite,
+               asm:            x86.ABTRQ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
-                       },
-                       outputs: []outputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
+                               {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
                        },
                },
        },
        {
-               name:         "BTSQconst",
-               auxType:      auxInt8,
-               argLen:       1,
-               resultInArg0: true,
-               clobberFlags: true,
-               asm:          x86.ABTSQ,
+               name:           "BTCQconstmodify",
+               auxType:        auxSymValAndOff,
+               argLen:         2,
+               clobberFlags:   true,
+               faultOnNilArg0: true,
+               symEffect:      SymRead | SymWrite,
+               asm:            x86.ABTCQ,
                reg: regInfo{
                        inputs: []inputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
-                       },
-                       outputs: []outputInfo{
-                               {0, 49135}, // AX CX DX BX BP SI DI R8 R9 R10 R11 R12 R13 R15
+                               {0, 4295032831}, // AX CX DX BX SP BP SI DI R8 R9 R10 R11 R12 R13 g R15 SB
                        },
                },
        },