]> Cypherpunks.ru repositories - gostls13.git/blobdiff - src/cmd/asm/internal/asm/testdata/ppc64.s
cmd/internal/obj/ppc64: remove C_UCON optab matching class
[gostls13.git] / src / cmd / asm / internal / asm / testdata / ppc64.s
index 983a368a99c6fe385a94944bc075b9e2fa82595f..01052b49e7e65de915c90729be60d4fa09266f1f 100644 (file)
@@ -17,14 +17,14 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        MOVD $1, R3                     // 38600001
        MOVD $-1, R4                    // 3880ffff
        MOVD $65535, R5                 // 6005ffff
-       MOVD $65536, R6                 // 64060001
+       MOVD $65536, R6                 // 3cc00001
        MOVD $-32767, R5                // 38a08001
        MOVD $-32768, R6                // 38c08000
        MOVD $1234567, R5               // 6405001260a5d687 or 0600001238a0d687
        MOVW $1, R3                     // 38600001
        MOVW $-1, R4                    // 3880ffff
        MOVW $65535, R5                 // 6005ffff
-       MOVW $65536, R6                 // 64060001
+       MOVW $65536, R6                 // 3cc00001
        MOVW $-32767, R5                // 38a08001
        MOVW $-32768, R6                // 38c08000
        MOVW $1234567, R5               // 6405001260a5d687 or 0600001238a0d687
@@ -36,6 +36,11 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        // Hex constant 0xFFFFFFFE00000002 (load of constant on < power10, pli on >= power10
        MOVD $-8589934590, R5           // 3ca00000e8a50000 or 0602000038a00002
 
+       // For backwards compatibility, MOVW $const,Rx and MOVWZ $const,Rx assemble identically
+       // and accept the same constants.
+       MOVW $2147483648, R5            // 64058000
+       MOVWZ $-2147483648, R5          // 3ca08000
+
        // TODO: These are preprocessed by the assembler into MOVD $const>>shift, R5; SLD $shift, R5.
        //       This only captures the MOVD. Should the SLD be appended to the encoding by the test?
        // Hex constant 0x20004000000
@@ -192,6 +197,7 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        ADDEX R3, R5, $3, R6            // 7cc32f54
        ADDEX R3, $3, R5, R6            // 7cc32f54
        ADDIS $8, R3                    // 3c630008
+       ADD   $524288, R3               // 3c630008
        ADDIS $1000, R3, R4             // 3c8303e8
 
        ANDCC $1, R3                    // 70630001
@@ -210,6 +216,7 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        ANDCC $1234567, R5, R6          // 641f001263ffd6877fe62839
        ANDISCC $1, R3                  // 74630001
        ANDISCC $1000, R3, R4           // 746403e8
+       ANDCC $65536000, R3, R4         // 746403e8
 
        OR $1, R3                       // 60630001
        OR $1, R3, R4                   // 60640001
@@ -225,9 +232,10 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        OR $-32768, R6, R7              // 3be080007fe73378
        OR $1234567, R5                 // 641f001263ffd6877fe52b78
        OR $1234567, R5, R3             // 641f001263ffd6877fe32b78
-       OR $2147483648, R5, R3          // 641f8000600000007fe32b78
+       OR $2147483648, R5, R3          // 64a38000
        OR $2147483649, R5, R3          // 641f800063ff00017fe32b78
-       ORIS $255, R3, R4
+       ORIS $255, R3, R4               // 646400ff
+       OR $16711680, R3, R4            // 646400ff
 
        XOR $1, R3                      // 68630001
        XOR $1, R3, R4                  // 68640001
@@ -243,7 +251,8 @@ TEXT asmtest(SB),DUPOK|NOSPLIT,$0
        XOR $-32768, R6, R7             // 3be080007fe73278
        XOR $1234567, R5                // 641f001263ffd6877fe52a78
        XOR $1234567, R5, R3            // 641f001263ffd6877fe32a78
-       XORIS $15, R3, R4
+       XORIS $15, R3, R4               // 6c64000f
+       XOR   $983040, R3, R4           // 6c64000f
 
        // TODO: the order of CR operands don't match
        CMP R3, R4                      // 7c232000