Home | History | Annotate | Download | only in Sparc
      1 ! RUN: not llvm-mc %s -arch=sparc   -show-encoding 2>&1 | FileCheck %s --check-prefix=V8
      2 ! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s --check-prefix=V9
      3 
      4         ! V8:      error: invalid instruction mnemonic
      5         ! V8-NEXT: addc %g2, %g1, %g3
      6         ! V9:      addx %g2, %g1, %g3              ! encoding: [0x86,0x40,0x80,0x01]
      7         addc %g2, %g1, %g3
      8 
      9         ! V8:      error: invalid instruction mnemonic
     10         ! V8-NEXT: addccc %g1, %g2, %g3
     11         ! V9:      addxcc %g1, %g2, %g3            ! encoding: [0x86,0xc0,0x40,0x02]
     12         addccc %g1, %g2, %g3
     13 
     14         ! V8:      error: invalid instruction mnemonic
     15         ! V8-NEXT: subc %g2, %g1, %g3
     16         ! V9:      subx %g2, %g1, %g3          ! encoding: [0x86,0x60,0x80,0x01]
     17         subc %g2, %g1, %g3
     18 
     19         ! V8:      error: invalid instruction mnemonic
     20         ! V8-NEXT: subccc %g1, %g2, %g3
     21         ! V9:      subxcc %g1, %g2, %g3         ! encoding: [0x86,0xe0,0x40,0x02]
     22         subccc %g1, %g2, %g3
     23 
     24         ! V8:      error: instruction requires a CPU feature not currently enabled
     25         ! V8-NEXT: popc %g1, %g2
     26         ! V9:      popc %g1, %g2                ! encoding: [0x85,0x70,0x00,0x01]
     27         popc %g1, %g2
     28 
     29 
     30         ! V8:      error: instruction requires a CPU feature not currently enabled
     31         ! V8-NEXT: signx %g1, %g2
     32         ! V9: sra %g1, %g0, %g2               ! encoding: [0x85,0x38,0x40,0x00]
     33         signx %g1, %g2
     34         ! V8:      error: instruction requires a CPU feature not currently enabled
     35         ! V8-NEXT: signx %g1
     36         ! V9: sra %g1, %g0, %g1               ! encoding: [0x83,0x38,0x40,0x00]
     37         signx %g1
     38 
     39         ! V8:      error: invalid instruction mnemonic
     40         ! V8-NEXT: lduw [%i0 + %l6], %o2
     41         ! V9: ld [%i0+%l6], %o2    ! encoding: [0xd4,0x06,0x00,0x16]
     42         lduw [%i0 + %l6], %o2
     43         ! V8:      error: invalid instruction mnemonic
     44         ! V8-NEXT: lduw [%i0 + 32], %o2
     45         ! V9: ld [%i0+32], %o2     ! encoding: [0xd4,0x06,0x20,0x20]
     46         lduw [%i0 + 32], %o2
     47         ! V8:      error: invalid instruction mnemonic
     48         ! V8-NEXT: lduw [%g1], %o2
     49         ! V9: ld [%g1], %o2        ! encoding: [0xd4,0x00,0x40,0x00]
     50         lduw [%g1], %o2
     51         ! V8:      error: invalid instruction mnemonic
     52         ! V8-NEXT: lduwa [%i0 + %l6] 131, %o2
     53         ! V9: lda [%i0+%l6] 131, %o2 ! encoding: [0xd4,0x86,0x10,0x76]
     54         lduwa [%i0 + %l6] 131, %o2
     55 
     56         ! V8:      error: instruction requires a CPU feature not currently enabled
     57         ! V8-NEXT: lda [%l0] 0xf0, %f29
     58         ! V9: lda [%l0] 240, %f29             ! encoding: [0xfb,0x84,0x1e,0x00]
     59         lda [%l0] 0xf0, %f29
     60 
     61         ! V8:      error: instruction requires a CPU feature not currently enabled
     62         ! V8-NEXT: ldda [%l0] 0xf0, %f48
     63         ! V9: ldda [%l0] 240, %f48            ! encoding: [0xe3,0x9c,0x1e,0x00]
     64         ldda [%l0] 0xf0, %f48
     65 
     66         ! V8:      error: instruction requires a CPU feature not currently enabled
     67         ! V8-NEXT: ldqa [%l0] 0xf0, %f48
     68         ! V8:      error: instruction requires a CPU feature not currently enabled
     69         ! V8-NEXT: ldq [%l0], %f48
     70         ! V9: ldqa [%l0] 240, %f48            ! encoding: [0xe3,0x94,0x1e,0x00]
     71         ! V9: ldq [%l0], %f48                 ! encoding: [0xe3,0x14,0x00,0x00]
     72         ldqa [%l0] 0xf0, %f48
     73         ldq [%l0], %f48
     74 
     75         ! V8:      error: instruction requires a CPU feature not currently enabled
     76         ! V8-NEXT: sta %f29, [%l0] 0xf0
     77         ! V9: sta %f29, [%l0] 240             ! encoding: [0xfb,0xa4,0x1e,0x00]
     78         sta %f29, [%l0] 0xf0
     79 
     80         ! V8:      error: instruction requires a CPU feature not currently enabled
     81         ! V8-NEXT: stda %f48, [%l0] 0xf0
     82         ! V9: stda %f48, [%l0] 240            ! encoding: [0xe3,0xbc,0x1e,0x00]
     83         stda %f48, [%l0] 0xf0
     84 
     85         ! V8:      error: instruction requires a CPU feature not currently enabled
     86         ! V8-NEXT: stqa %f48, [%l0] 0xf0
     87         ! V8:      error: instruction requires a CPU feature not currently enabled
     88         ! V8-NEXT: stq %f48, [%l0]
     89         ! V9: stqa %f48, [%l0] 240            ! encoding: [0xe3,0xb4,0x1e,0x00]
     90         ! V9: stq %f48, [%l0]                 ! encoding: [0xe3,0x34,0x00,0x00]
     91         stqa %f48, [%l0] 0xf0
     92         stq %f48, [%l0]
     93 
     94         ! V8:      error: instruction requires a CPU feature not currently enabled
     95         ! V8-NEXT: ldx [%g2 + 20],%fsr
     96         ! V9: ldx [%g2+20], %fsr    ! encoding: [0xc3,0x08,0xa0,0x14]
     97         ldx [%g2 + 20],%fsr
     98 
     99         ! V8:      error: instruction requires a CPU feature not currently enabled
    100         ! V8-NEXT: ldx [%g2 + %i5],%fsr
    101         ! V9: ldx [%g2+%i5], %fsr   ! encoding: [0xc3,0x08,0x80,0x1d]
    102         ldx [%g2 + %i5],%fsr
    103 
    104         ! V8:      error: instruction requires a CPU feature not currently enabled
    105         ! V8-NEXT: stx %fsr,[%g2 + 20]
    106         ! V9: stx %fsr, [%g2+20]    ! encoding: [0xc3,0x28,0xa0,0x14]
    107         stx %fsr,[%g2 + 20]
    108 
    109         ! V8:      error: instruction requires a CPU feature not currently enabled
    110         ! V8-NEXT: stx %fsr,[%g2 + %i5]
    111         ! V9: stx %fsr, [%g2+%i5]   ! encoding: [0xc3,0x28,0x80,0x1d]
    112         stx %fsr,[%g2 + %i5]
    113 
    114         ! V8:      error: instruction requires a CPU feature not currently enabled
    115         ! V8-NEXT: wrpr %g6,%i6,%tpc
    116         ! V9: wrpr %g6, %fp, %tpc        ! encoding: [0x81,0x91,0x80,0x1e]
    117         wrpr %g6,%i6,%tpc
    118         ! V8:      error: instruction requires a CPU feature not currently enabled
    119         ! V8-NEXT: wrpr %g6,%i6,%tnpc
    120         ! V9: wrpr %g6, %fp, %tnpc       ! encoding: [0x83,0x91,0x80,0x1e]
    121         wrpr %g6,%i6,%tnpc
    122         ! V8:      error: instruction requires a CPU feature not currently enabled
    123         ! V8-NEXT: wrpr %g6,%i6,%tstate
    124         ! V9: wrpr %g6, %fp, %tstate     ! encoding: [0x85,0x91,0x80,0x1e]
    125         wrpr %g6,%i6,%tstate
    126         ! V8:      error: instruction requires a CPU feature not currently enabled
    127         ! V8-NEXT: wrpr %g6,%i6,%tt
    128         ! V9: wrpr %g6, %fp, %tt         ! encoding: [0x87,0x91,0x80,0x1e]
    129         wrpr %g6,%i6,%tt
    130         ! V8:      error: instruction requires a CPU feature not currently enabled
    131         ! V8-NEXT: wrpr %g6,%i6,%tick
    132         ! V9: wrpr %g6, %fp, %tick       ! encoding: [0x89,0x91,0x80,0x1e]
    133         wrpr %g6,%i6,%tick
    134         ! V8:      error: instruction requires a CPU feature not currently enabled
    135         ! V8-NEXT: wrpr %g6,%i6,%tba
    136         ! V9: wrpr %g6, %fp, %tba        ! encoding: [0x8b,0x91,0x80,0x1e]
    137         wrpr %g6,%i6,%tba
    138         ! V8:      error: instruction requires a CPU feature not currently enabled
    139         ! V8-NEXT: wrpr %g6,%i6,%pstate
    140         ! V9: wrpr %g6, %fp, %pstate     ! encoding: [0x8d,0x91,0x80,0x1e]
    141         wrpr %g6,%i6,%pstate
    142         ! V8:      error: instruction requires a CPU feature not currently enabled
    143         ! V8-NEXT: wrpr %g6,%i6,%tl
    144         ! V9: wrpr %g6, %fp, %tl         ! encoding: [0x8f,0x91,0x80,0x1e]
    145         wrpr %g6,%i6,%tl
    146         ! V8:      error: instruction requires a CPU feature not currently enabled
    147         ! V8-NEXT: wrpr %g6,%i6,%pil
    148         ! V9: wrpr %g6, %fp, %pil        ! encoding: [0x91,0x91,0x80,0x1e]
    149         wrpr %g6,%i6,%pil
    150         ! V8:      error: instruction requires a CPU feature not currently enabled
    151         ! V8-NEXT: wrpr %g6,%i6,%cwp
    152         ! V9: wrpr %g6, %fp, %cwp        ! encoding: [0x93,0x91,0x80,0x1e]
    153         wrpr %g6,%i6,%cwp
    154         ! V8:      error: instruction requires a CPU feature not currently enabled
    155         ! V8-NEXT: wrpr %g6,%i6,%cansave
    156         ! V9: wrpr %g6, %fp, %cansave    ! encoding: [0x95,0x91,0x80,0x1e]
    157         wrpr %g6,%i6,%cansave
    158         ! V8:      error: instruction requires a CPU feature not currently enabled
    159         ! V8-NEXT: wrpr %g6,%i6,%canrestore
    160         ! V9: wrpr %g6, %fp, %canrestore ! encoding: [0x97,0x91,0x80,0x1e]
    161         wrpr %g6,%i6,%canrestore
    162         ! V8:      error: instruction requires a CPU feature not currently enabled
    163         ! V8-NEXT: wrpr %g6,%i6,%cleanwin
    164         ! V9: wrpr %g6, %fp, %cleanwin   ! encoding: [0x99,0x91,0x80,0x1e]
    165         wrpr %g6,%i6,%cleanwin
    166         ! V8:      error: instruction requires a CPU feature not currently enabled
    167         ! V8-NEXT: wrpr %g6,%i6,%otherwin
    168         ! V9: wrpr %g6, %fp, %otherwin   ! encoding: [0x9b,0x91,0x80,0x1e]
    169         wrpr %g6,%i6,%otherwin
    170         ! V8:      error: instruction requires a CPU feature not currently enabled
    171         ! V8-NEXT: wrpr %g6,%i6,%wstate
    172         ! V9: wrpr %g6, %fp, %wstate     ! encoding: [0x9d,0x91,0x80,0x1e]
    173         wrpr %g6,%i6,%wstate
    174 
    175         ! V8:      error: instruction requires a CPU feature not currently enabled
    176         ! V8-NEXT: wrpr %g6,255,%tpc
    177         ! V9: wrpr %g6, 255, %tpc        ! encoding: [0x81,0x91,0xa0,0xff]
    178         wrpr %g6,255,%tpc
    179         ! V8:      error: instruction requires a CPU feature not currently enabled
    180         ! V8-NEXT: wrpr %g6,255,%tnpc
    181         ! V9: wrpr %g6, 255, %tnpc       ! encoding: [0x83,0x91,0xa0,0xff]
    182         wrpr %g6,255,%tnpc
    183         ! V8:      error: instruction requires a CPU feature not currently enabled
    184         ! V8-NEXT: wrpr %g6,255,%tstate
    185         ! V9: wrpr %g6, 255, %tstate     ! encoding: [0x85,0x91,0xa0,0xff]
    186         wrpr %g6,255,%tstate
    187         ! V8:      error: instruction requires a CPU feature not currently enabled
    188         ! V8-NEXT: wrpr %g6,255,%tt
    189         ! V9: wrpr %g6, 255, %tt         ! encoding: [0x87,0x91,0xa0,0xff]
    190         wrpr %g6,255,%tt
    191         ! V8:      error: instruction requires a CPU feature not currently enabled
    192         ! V8-NEXT: wrpr %g6,255,%tick
    193         ! V9: wrpr %g6, 255, %tick       ! encoding: [0x89,0x91,0xa0,0xff]
    194         wrpr %g6,255,%tick
    195         ! V8:      error: instruction requires a CPU feature not currently enabled
    196         ! V8-NEXT: wrpr %g6,255,%tba
    197         ! V9: wrpr %g6, 255, %tba        ! encoding: [0x8b,0x91,0xa0,0xff]
    198         wrpr %g6,255,%tba
    199         ! V8:      error: instruction requires a CPU feature not currently enabled
    200         ! V8-NEXT: wrpr %g6,255,%pstate
    201         ! V9: wrpr %g6, 255, %pstate     ! encoding: [0x8d,0x91,0xa0,0xff]
    202         wrpr %g6,255,%pstate
    203         ! V8:      error: instruction requires a CPU feature not currently enabled
    204         ! V8-NEXT: wrpr %g6,255,%tl
    205         ! V9: wrpr %g6, 255, %tl         ! encoding: [0x8f,0x91,0xa0,0xff]
    206         wrpr %g6,255,%tl
    207         ! V8:      error: instruction requires a CPU feature not currently enabled
    208         ! V8-NEXT: wrpr %g6,255,%pil
    209         ! V9: wrpr %g6, 255, %pil        ! encoding: [0x91,0x91,0xa0,0xff]
    210         wrpr %g6,255,%pil
    211         ! V8:      error: instruction requires a CPU feature not currently enabled
    212         ! V8-NEXT: wrpr %g6,255,%cwp
    213         ! V9: wrpr %g6, 255, %cwp        ! encoding: [0x93,0x91,0xa0,0xff]
    214         wrpr %g6,255,%cwp
    215         ! V8:      error: instruction requires a CPU feature not currently enabled
    216         ! V8-NEXT: wrpr %g6,255,%cansave
    217         ! V9: wrpr %g6, 255, %cansave    ! encoding: [0x95,0x91,0xa0,0xff]
    218         wrpr %g6,255,%cansave
    219         ! V8:      error: instruction requires a CPU feature not currently enabled
    220         ! V8-NEXT: wrpr %g6,255,%canrestore
    221         ! V9: wrpr %g6, 255, %canrestore ! encoding: [0x97,0x91,0xa0,0xff]
    222         wrpr %g6,255,%canrestore
    223         ! V8:      error: instruction requires a CPU feature not currently enabled
    224         ! V8-NEXT: wrpr %g6,255,%cleanwin
    225         ! V9: wrpr %g6, 255, %cleanwin   ! encoding: [0x99,0x91,0xa0,0xff]
    226         wrpr %g6,255,%cleanwin
    227         ! V8:      error: instruction requires a CPU feature not currently enabled
    228         ! V8-NEXT: wrpr %g6,255,%otherwin
    229         ! V9: wrpr %g6, 255, %otherwin   ! encoding: [0x9b,0x91,0xa0,0xff]
    230         wrpr %g6,255,%otherwin
    231         ! V8:      error: instruction requires a CPU feature not currently enabled
    232         ! V8-NEXT: wrpr %g6,255,%wstate
    233         ! V9: wrpr %g6, 255, %wstate     ! encoding: [0x9d,0x91,0xa0,0xff]
    234         wrpr %g6,255,%wstate
    235 
    236         ! V8:      error: instruction requires a CPU feature not currently enabled
    237         ! V8-NEXT: rdpr %tpc,%i5
    238         ! V9: rdpr %tpc, %i5            ! encoding: [0xbb,0x50,0x00,0x00]
    239         rdpr %tpc,%i5
    240         ! V8:      error: instruction requires a CPU feature not currently enabled
    241         ! V8-NEXT: rdpr %tnpc,%i5
    242         ! V9: rdpr %tnpc, %i5           ! encoding: [0xbb,0x50,0x40,0x00]
    243         rdpr %tnpc,%i5
    244         ! V8:      error: instruction requires a CPU feature not currently enabled
    245         ! V8-NEXT: rdpr %tstate,%i5
    246         ! V9: rdpr %tstate, %i5         ! encoding: [0xbb,0x50,0x80,0x00]
    247         rdpr %tstate,%i5
    248         ! V8:      error: instruction requires a CPU feature not currently enabled
    249         ! V8-NEXT: rdpr %tt,%i5
    250         ! V9: rdpr %tt, %i5             ! encoding: [0xbb,0x50,0xc0,0x00]
    251         rdpr %tt,%i5
    252         ! V8:      error: instruction requires a CPU feature not currently enabled
    253         ! V8-NEXT: rdpr %tick,%i5
    254         ! V9: rdpr %tick, %i5           ! encoding: [0xbb,0x51,0x00,0x00]
    255         rdpr %tick,%i5
    256         ! V8:      error: instruction requires a CPU feature not currently enabled
    257         ! V8-NEXT: rdpr %tba,%i5
    258         ! V9: rdpr %tba, %i5            ! encoding: [0xbb,0x51,0x40,0x00]
    259         rdpr %tba,%i5
    260         ! V8:      error: instruction requires a CPU feature not currently enabled
    261         ! V8-NEXT: rdpr %pstate,%i5
    262         ! V9: rdpr %pstate, %i5         ! encoding: [0xbb,0x51,0x80,0x00]
    263         rdpr %pstate,%i5
    264         ! V8:      error: instruction requires a CPU feature not currently enabled
    265         ! V8-NEXT: rdpr %tl,%i5
    266         ! V9: rdpr %tl, %i5             ! encoding: [0xbb,0x51,0xc0,0x00]
    267         rdpr %tl,%i5
    268         ! V8:      error: instruction requires a CPU feature not currently enabled
    269         ! V8-NEXT: rdpr %pil,%i5
    270         ! V9: rdpr %pil, %i5            ! encoding: [0xbb,0x52,0x00,0x00]
    271         rdpr %pil,%i5
    272         ! V8:      error: instruction requires a CPU feature not currently enabled
    273         ! V8-NEXT: rdpr %cwp,%i5
    274         ! V9: rdpr %cwp, %i5            ! encoding: [0xbb,0x52,0x40,0x00]
    275         rdpr %cwp,%i5
    276         ! V8:      error: instruction requires a CPU feature not currently enabled
    277         ! V8-NEXT: rdpr %cansave,%i5
    278         ! V9: rdpr %cansave, %i5        ! encoding: [0xbb,0x52,0x80,0x00]
    279         rdpr %cansave,%i5
    280         ! V8:      error: instruction requires a CPU feature not currently enabled
    281         ! V8-NEXT: rdpr %canrestore,%i5
    282         ! V9: rdpr %canrestore, %i5     ! encoding: [0xbb,0x52,0xc0,0x00]
    283         rdpr %canrestore,%i5
    284         ! V8:      error: instruction requires a CPU feature not currently enabled
    285         ! V8-NEXT: rdpr %cleanwin,%i5
    286         ! V9: rdpr %cleanwin, %i5       ! encoding: [0xbb,0x53,0x00,0x00]
    287         rdpr %cleanwin,%i5
    288         ! V8:      error: instruction requires a CPU feature not currently enabled
    289         ! V8-NEXT: rdpr %otherwin,%i5
    290         ! V9: rdpr %otherwin, %i5       ! encoding: [0xbb,0x53,0x40,0x00]
    291         rdpr %otherwin,%i5
    292         ! V8:      error: instruction requires a CPU feature not currently enabled
    293         ! V8-NEXT: rdpr %wstate,%i5
    294         ! V9: rdpr %wstate, %i5         ! encoding: [0xbb,0x53,0x80,0x00]
    295         rdpr %wstate,%i5
    296