X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcmd%2Fasm%2Finternal%2Fasm%2Ftestdata%2Fppc64.s;h=01052b49e7e65de915c90729be60d4fa09266f1f;hb=3128aeec87af4bf63f3df5971127f96685fb4363;hp=983a368a99c6fe385a94944bc075b9e2fa82595f;hpb=6b818b08f9a3a1ecce453b94f60497986d3db27d;p=gostls13.git diff --git a/src/cmd/asm/internal/asm/testdata/ppc64.s b/src/cmd/asm/internal/asm/testdata/ppc64.s index 983a368a99..01052b49e7 100644 --- a/src/cmd/asm/internal/asm/testdata/ppc64.s +++ b/src/cmd/asm/internal/asm/testdata/ppc64.s @@ -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