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

     1  // Copyright 2017 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	foo(SB), DUPOK|NOSPLIT, $0
     8  
     9  	ADDF	F0, F1, F2    // 002a31ee
    10  	ADDD.EQ	F3, F4, F5    // 035b340e
    11  	ADDF.NE	F0, F2        // 002a321e
    12  	ADDD	F3, F5        // 035b35ee
    13  	SUBF	F0, F1, F2    // 402a31ee
    14  	SUBD.EQ	F3, F4, F5    // 435b340e
    15  	SUBF.NE	F0, F2        // 402a321e
    16  	SUBD	F3, F5        // 435b35ee
    17  	MULF	F0, F1, F2    // 002a21ee
    18  	MULD.EQ	F3, F4, F5    // 035b240e
    19  	MULF.NE	F0, F2        // 002a221e
    20  	MULD	F3, F5        // 035b25ee
    21  	NMULF	F0, F1, F2    // 402a21ee
    22  	NMULF	F3, F7        // 437a27ee
    23  	NMULD	F0, F1, F2    // 402b21ee
    24  	NMULD	F3, F7        // 437b27ee
    25  	MULAF	F5, F6, F7    // 057a06ee
    26  	MULAD	F5, F6, F7    // 057b06ee
    27  	MULSF	F5, F6, F7    // 457a06ee
    28  	MULSD	F5, F6, F7    // 457b06ee
    29  	NMULAF	F5, F6, F7    // 457a16ee
    30  	NMULAD	F5, F6, F7    // 457b16ee
    31  	NMULSF	F5, F6, F7    // 057a16ee
    32  	NMULSD	F5, F6, F7    // 057b16ee
    33  	FMULAF  F5, F6, F7    // 057aa6ee
    34  	FMULAD  F5, F6, F7    // 057ba6ee
    35  	FMULSF  F5, F6, F7    // 457aa6ee
    36  	FMULSD  F5, F6, F7    // 457ba6ee
    37  	FNMULAF F5, F6, F7    // 457a96ee
    38  	FNMULAD F5, F6, F7    // 457b96ee
    39  	FNMULSF F5, F6, F7    // 057a96ee
    40  	FNMULSD F5, F6, F7    // 057b96ee
    41  	DIVF	F0, F1, F2    // 002a81ee
    42  	DIVD.EQ	F3, F4, F5    // 035b840e
    43  	DIVF.NE	F0, F2        // 002a821e
    44  	DIVD	F3, F5        // 035b85ee
    45  	NEGF	F0, F1        // 401ab1ee
    46  	NEGD	F4, F5        // 445bb1ee
    47  	ABSF	F0, F1        // c01ab0ee
    48  	ABSD	F4, F5        // c45bb0ee
    49  	SQRTF	F0, F1        // c01ab1ee
    50  	SQRTD	F4, F5        // c45bb1ee
    51  	MOVFD	F0, F1        // c01ab7ee
    52  	MOVDF	F4, F5        // c45bb7ee
    53  
    54  	LDREX	(R8), R9      // 9f9f98e1
    55  	LDREXD	(R11), R12    // 9fcfbbe1
    56  	STREX	R3, (R4), R5  // STREX  (R4), R3, R5 // 935f84e1
    57  	STREXD	R8, (R9), g   // STREXD (R9), R8, g  // 98afa9e1
    58  
    59  	CMPF    F8, F9        // c89ab4ee10faf1ee
    60  	CMPD.CS F4, F5        // c45bb42e10faf12e
    61  	CMPF.VS F7            // c07ab56e10faf16e
    62  	CMPD    F6            // c06bb5ee10faf1ee
    63  
    64  	MOVW	R4, F8        // 104b08ee
    65  	MOVW	F4, R8        // 108b14ee
    66  
    67  	MOVF	(R4), F9                                  // 009a94ed
    68  	MOVD.EQ	(R4), F9                                  // 009b940d
    69  	MOVF.NE	(g), F3                                   // 003a9a1d
    70  	MOVD	(g), F3                                   // 003b9aed
    71  	MOVF	0x20(R3), F9       // MOVF 32(R3), F9     // 089a93ed
    72  	MOVD.EQ	0x20(R4), F9       // MOVD.EQ 32(R4), F9  // 089b940d
    73  	MOVF.NE	-0x20(g), F3       // MOVF.NE -32(g), F3  // 083a1a1d
    74  	MOVD	-0x20(g), F3       // MOVD -32(g), F3     // 083b1aed
    75  	MOVF	F9, (R4)                                  // 009a84ed
    76  	MOVD.EQ	F9, (R4)                                  // 009b840d
    77  	MOVF.NE	F3, (g)                                   // 003a8a1d
    78  	MOVD	F3, (g)                                   // 003b8aed
    79  	MOVF	F9, 0x20(R3)       // MOVF F9, 32(R3)     // 089a83ed
    80  	MOVD.EQ	F9, 0x20(R4)       // MOVD.EQ F9, 32(R4)  // 089b840d
    81  	MOVF.NE	F3, -0x20(g)       // MOVF.NE F3, -32(g)  // 083a0a1d
    82  	MOVD	F3, -0x20(g)       // MOVD F3, -32(g)     // 083b0aed
    83  	MOVF	0x00ffffff(R2), F1 // MOVF 16777215(R2), F1
    84  	MOVD	0x00ffffff(R2), F1 // MOVD 16777215(R2), F1
    85  	MOVF	F2, 0x00ffffff(R2) // MOVF F2, 16777215(R2)
    86  	MOVD	F2, 0x00ffffff(R2) // MOVD F2, 16777215(R2)
    87  	MOVF	F0, math·Exp(SB)   // MOVF F0, math.Exp(SB)
    88  	MOVF	math·Exp(SB), F0   // MOVF math.Exp(SB), F0
    89  	MOVD	F0, math·Exp(SB)   // MOVD F0, math.Exp(SB)
    90  	MOVD	math·Exp(SB), F0   // MOVD math.Exp(SB), F0
    91  	MOVF	F4, F5                                    // 445ab0ee
    92  	MOVD	F6, F7                                    // 467bb0ee
    93  	MOVFW	F6, F8                                    // c68abdee
    94  	MOVFW	F6, R8                                    // c6fabdee108b1fee
    95  	MOVFW.U	F6, F8                                    // c68abcee
    96  	MOVFW.U	F6, R8                                    // c6fabcee108b1fee
    97  	MOVDW	F6, F8                                    // c68bbdee
    98  	MOVDW	F6, R8                                    // c6fbbdee108b1fee
    99  	MOVDW.U	F6, F8                                    // c68bbcee
   100  	MOVDW.U	F6, R8                                    // c6fbbcee108b1fee
   101  	MOVWF	F6, F8                                    // c68ab8ee
   102  	MOVWF	R6, F8                                    // 106b0feecf8ab8ee
   103  	MOVWF.U	F6, F8                                    // 468ab8ee
   104  	MOVWF.U	R6, F8                                    // 106b0fee4f8ab8ee
   105  	MOVWD	F6, F8                                    // c68bb8ee
   106  	MOVWD	R6, F8                                    // 106b0feecf8bb8ee
   107  	MOVWD.U	F6, F8                                    // 468bb8ee
   108  	MOVWD.U	R6, F8                                    // 106b0fee4f8bb8ee
   109  
   110  	END
   111  

View as plain text