Text file src/cmd/asm/internal/asm/testdata/loong64enc1.s

     1  // Copyright 2022 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  #include "../../../../../runtime/textflag.h"
     6  
     7  TEXT asmtest(SB),DUPOK|NOSPLIT,$0
     8  lable1:
     9  	BFPT	1(PC)			// 00050048
    10  	BFPT	lable1	// BFPT 2	//1ffdff4b
    11  
    12  lable2:
    13  	BFPF	1(PC)			// 00040048
    14  	BFPF	lable2	// BFPF 4 	// 1ffcff4b
    15  
    16  	// relocation in play so the assembled offset should be 0
    17  	JMP	foo(SB)			// 00000050
    18  
    19  	JMP	(R4)			// 8000004c
    20  	JMP	1(PC)			// 00040050
    21  	MOVW	$65536, R4		// 04020014
    22  	MOVW	$4096, R4		// 24000014
    23  	MOVV	$65536, R4		// 04020014
    24  	MOVV	$4096, R4		// 24000014
    25  	MOVW	R4, R5			// 85001700
    26  	MOVV	R4, R5			// 85001500
    27  	MOVBU	R4, R5			// 85fc4303
    28  	SUB	R4, R5, R6		// a6101100
    29  	SUBV	R4, R5, R6		// a6901100
    30  	ADD	R4, R5, R6		// a6101000
    31  	ADDV	R4, R5, R6		// a6901000
    32  	AND	R4, R5, R6		// a6901400
    33  	SUB	R4, R5			// a5101100
    34  	SUBV	R4, R5			// a5901100
    35  	ADD	R4, R5			// a5101000
    36  	ADDV	R4, R5			// a5901000
    37  	AND	R4, R5			// a5901400
    38  	NEGW	R4, R5			// 05101100
    39  	NEGV	R4, R5			// 05901100
    40  	SLL	R4, R5			// a5101700
    41  	SLL	R4, R5, R6		// a6101700
    42  	SRL	R4, R5			// a5901700
    43  	SRL	R4, R5, R6	 	// a6901700
    44  	SRA	R4, R5			// a5101800
    45  	SRA	R4, R5, R6	 	// a6101800
    46  	ROTR	R4, R5			// a5101b00
    47  	ROTR	R4, R5, R6		// a6101b00
    48  	SLLV	R4, R5			// a5901800
    49  	SLLV	R4, R5, R6		// a6901800
    50  	ROTRV	R4, R5			// a5901b00
    51  	ROTRV	R4, R5, R6		// a6901b00
    52  	CLO	R4, R5			// 85100000
    53  	CLZ	R4, R5			// 85140000
    54  	ADDF	F4, F5			// a5900001
    55  	ADDF	F4, R5, F6		// a6900001
    56  	CMPEQF	F4, R5			// a010120c
    57  	ABSF	F4, F5			// 85041401
    58  	MOVVF	F4, F5			// 85181d01
    59  	MOVF	F4, F5			// 85941401
    60  	MOVD	F4, F5			// 85981401
    61  	MOVW	R4, result+16(FP)	// 64608029
    62  	MOVWU	R4, result+16(FP)	// 64608029
    63  	MOVV	R4, result+16(FP)	// 6460c029
    64  	MOVB	R4, result+16(FP)	// 64600029
    65  	MOVBU	R4, result+16(FP)	// 64600029
    66  	MOVWL	R4, result+16(FP)	// 6460002f
    67  	MOVVL	R4, result+16(FP)	// 6460802f
    68  	MOVW	R4, 1(R5)		// a4048029
    69  	MOVWU	R4, 1(R5)		// a4048029
    70  	MOVV	R4, 1(R5)		// a404c029
    71  	MOVB	R4, 1(R5)		// a4040029
    72  	MOVBU	R4, 1(R5)		// a4040029
    73  	MOVWL	R4, 1(R5)		// a404002f
    74  	MOVVL	R4, 1(R5)		// a404802f
    75  	SC	R4, 1(R5)		// a4040021
    76  	SCV	R4, 1(R5)		// a4040023
    77  	MOVW	y+8(FP), R4		// 64408028
    78  	MOVWU	y+8(FP), R4		// 6440802a
    79  	MOVV	y+8(FP), R4		// 6440c028
    80  	MOVB	y+8(FP), R4		// 64400028
    81  	MOVBU	y+8(FP), R4		// 6440002a
    82  	MOVWL	y+8(FP), R4		// 6440002e
    83  	MOVVL	y+8(FP), R4		// 6440802e
    84  	MOVW	1(R5), R4		// a4048028
    85  	MOVWU	1(R5), R4		// a404802a
    86  	MOVV	1(R5), R4		// a404c028
    87  	MOVB	1(R5), R4		// a4040028
    88  	MOVBU	1(R5), R4		// a404002a
    89  	MOVWL	1(R5), R4		// a404002e
    90  	MOVVL	1(R5), R4		// a404802e
    91  	LL	1(R5), R4		// a4040020
    92  	LLV	1(R5), R4		// a4040022
    93  	MOVW	$4(R4), R5		// 8510c002
    94  	MOVV	$4(R4), R5		// 8510c002
    95  	MOVW	$-1, R4			// 04fcff02
    96  	MOVV	$-1, R4			// 04fcff02
    97  	MOVW	$1, R4			// 0404c002
    98  	MOVV	$1, R4			// 0404c002
    99  	ADD	$-1, R4, R5		// 85fcbf02
   100  	ADD	$-1, R4			// 84fcbf02
   101  	ADDV	$-1, R4, R5		// 85fcff02
   102  	ADDV	$-1, R4			// 84fcff02
   103  	AND	$1, R4, R5		// 85044003
   104  	AND	$1, R4			// 84044003
   105  	SLL	$4, R4, R5		// 85904000
   106  	SLL	$4, R4			// 84904000
   107  	SRL	$4, R4, R5		// 85904400
   108  	SRL	$4, R4			// 84904400
   109  	SRA	$4, R4, R5		// 85904800
   110  	SRA	$4, R4			// 84904800
   111  	ROTR	$4, R4, R5		// 85904c00
   112  	ROTR	$4, R4			// 84904c00
   113  	SLLV	$4, R4, R5		// 85104100
   114  	SLLV	$4, R4			// 84104100
   115  	ROTRV	$4, R4, R5		// 85104d00
   116  	ROTRV	$4, R4			// 84104d00
   117  	SYSCALL				// 00002b00
   118  	BEQ	R4, R5, 1(PC)		// 85040058
   119  	BEQ	R4, 1(PC)		// 80040040
   120  	BEQ	R4, R0, 1(PC)		// 80040040
   121  	BEQ	R0, R4, 1(PC)		// 80040040
   122  	BNE	R4, R5, 1(PC)		// 8504005c
   123  	BNE	R4, 1(PC)		// 80040044
   124  	BNE	R4, R0, 1(PC)		// 80040044
   125  	BNE	R0, R4, 1(PC)		// 80040044
   126  	BLTU	R4, 1(PC)		// 80040068
   127  	MOVW	y+8(FP), F4		// 6440002b
   128  	MOVF	y+8(FP), F4		// 6440002b
   129  	MOVD	y+8(FP), F4		// 6440802b
   130  	MOVW	1(F5), F4		// a404002b
   131  	MOVF	1(F5), F4		// a404002b
   132  	MOVD	1(F5), F4		// a404802b
   133  	MOVW	F4, result+16(FP)	// 6460402b
   134  	MOVF	F4, result+16(FP)	// 6460402b
   135  	MOVD	F4, result+16(FP)	// 6460c02b
   136  	MOVW	F4, 1(F5)		// a404402b
   137  	MOVF	F4, 1(F5)		// a404402b
   138  	MOVD	F4, 1(F5)		// a404c02b
   139  	MOVW	R4, F5			// 85a41401
   140  	MOVW	F4, R5			// 85b41401
   141  	MOVV	R4, F5			// 85a81401
   142  	MOVV	F4, R5			// 85b81401
   143  	WORD	$74565			// 45230100
   144  	BREAK	R4, result+16(FP)	// 64600006
   145  	BREAK	R4, 1(R5)		// a4040006
   146  	BREAK				// 00002a00
   147  	UNDEF				// 00002a00
   148  
   149  	// mul
   150  	MUL	R4, R5	  		// a5101c00
   151  	MUL	R4, R5, R6	  	// a6101c00
   152  	MULV	R4, R5	   		// a5901d00
   153  	MULV	R4, R5, R6	   	// a6901d00
   154  	MULVU	R4, R5			// a5901d00
   155  	MULVU	R4, R5, R6		// a6901d00
   156  	MULHV	R4, R5			// a5101e00
   157  	MULHV	R4, R5, R6		// a6101e00
   158  	MULHVU	R4, R5			// a5901e00
   159  	MULHVU	R4, R5, R6	 	// a6901e00
   160  	REMV	R4, R5	   		// a5902200
   161  	REMV	R4, R5, R6	   	// a6902200
   162  	REMVU	R4, R5			// a5902300
   163  	REMVU	R4, R5, R6		// a6902300
   164  	DIVV	R4, R5			// a5102200
   165  	DIVV	R4, R5, R6	   	// a6102200
   166  	DIVVU	R4, R5	 		// a5102300
   167  	DIVVU	R4, R5, R6		// a6102300
   168  
   169  	MOVH	R4, result+16(FP)	// 64604029
   170  	MOVH	R4, 1(R5)		// a4044029
   171  	MOVH	y+8(FP), R4		// 64404028
   172  	MOVH	1(R5), R4		// a4044028
   173  	MOVHU	R4, R5			// 8500cf00
   174  	MOVHU	R4, result+16(FP)	// 64604029
   175  	MOVHU	R4, 1(R5)		// a4044029
   176  	MOVHU	y+8(FP), R4		// 6440402a
   177  	MOVHU	1(R5), R4		// a404402a
   178  	MULU	R4, R5	   		// a5101c00
   179  	MULU	R4, R5, R6		// a6101c00
   180  	MULH	R4, R5	   		// a5901c00
   181  	MULH	R4, R5, R6	   	// a6901c00
   182  	MULHU	R4, R5			// a5101d00
   183  	MULHU	R4, R5, R6		// a6101d00
   184  	REM	R4, R5	  		// a5902000
   185  	REM	R4, R5, R6	  	// a6902000
   186  	REMU	R4, R5	   		// a5902100
   187  	REMU	R4, R5, R6	   	// a6902100
   188  	DIV	R4, R5	  		// a5102000
   189  	DIV	R4, R5, R6	  	// a6102000
   190  	DIVU	R4, R5	   		// a5102100
   191  	DIVU	R4, R5, R6	   	// a6102100
   192  	SRLV	R4, R5 			// a5101900
   193  	SRLV	R4, R5, R6 		// a6101900
   194  	SRLV	$4, R4, R5		// 85104500
   195  	SRLV	$4, R4			// 84104500
   196  	SRLV	$32, R4, R5 		// 85804500
   197  	SRLV	$32, R4			// 84804500
   198  
   199  	MASKEQZ	R4, R5, R6		// a6101300
   200  	MASKNEZ	R4, R5, R6		// a6901300
   201  
   202  	MOVFD	F4, F5			// 85241901
   203  	MOVDF	F4, F5			// 85181901
   204  	MOVWF	F4, F5			// 85101d01
   205  	MOVFW	F4, F5			// 85041b01
   206  	MOVWD	F4, F5			// 85201d01
   207  	MOVDW	F4, F5			// 85081b01
   208  	NEGF	F4, F5			// 85141401
   209  	NEGD	F4, F5			// 85181401
   210  	ABSD	F4, F5			// 85081401
   211  	TRUNCDW	F4, F5			// 85881a01
   212  	TRUNCFW	F4, F5			// 85841a01
   213  	SQRTF	F4, F5			// 85441401
   214  	SQRTD	F4, F5			// 85481401
   215  
   216  	DBAR	 			// 00007238
   217  	NOOP	 			// 00004003
   218  
   219  	MOVWR	R4, result+16(FP) 	// 6460402f
   220  	MOVWR	R4, 1(R5) 		// a404402f
   221  	MOVWR	y+8(FP), R4 		// 6440402e
   222  	MOVWR	1(R5), R4 		// a404402e
   223  
   224  	CMPGTF	F4, R5 			// a090110c
   225  	CMPGTD	F4, R5 			// a090210c
   226  	CMPGEF	F4, R5			// a090130c
   227  	CMPGED	F4, R5			// a090230c
   228  	CMPEQD	F4, R5			// a010220c
   229  
   230  	RDTIMELW R4, R0			// 80600000
   231  	RDTIMEHW R4, R0			// 80640000
   232  	RDTIMED  R4, R5			// 85680000
   233  
   234  	MOVV    FCC0, R4		// 04dc1401
   235  	MOVV    R4, FCC0		// 80d81401
   236  

View as plain text