Home | History | Annotate | Download | only in Sparc
      1 ! RUN: llvm-mc %s -arch=sparc   -show-encoding | FileCheck %s
      2 ! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
      3 
      4         ! CHECK: call foo     ! encoding: [0b01AAAAAA,A,A,A]
      5         ! CHECK:              !   fixup A - offset: 0, value: foo, kind: fixup_sparc_call30
      6         call foo
      7 
      8         ! CHECK: call %g1+%i2 ! encoding: [0x9f,0xc0,0x40,0x1a]
      9         call %g1 + %i2
     10 
     11         ! CHECK: call %o1+8   ! encoding: [0x9f,0xc2,0x60,0x08]
     12         call %o1 + 8
     13 
     14         ! CHECK: call %g1     ! encoding: [0x9f,0xc0,0x40,0x00]
     15         call %g1
     16 
     17         ! CHECK: call %g1+%lo(sym)   ! encoding: [0x9f,0xc0,0b011000AA,A]
     18         ! CHECK-NEXT:                ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
     19         call %g1+%lo(sym)
     20 
     21         ! CHECK: jmp %g1+%i2  ! encoding: [0x81,0xc0,0x40,0x1a]
     22         jmp %g1 + %i2
     23 
     24         ! CHECK: jmp %o1+8    ! encoding: [0x81,0xc2,0x60,0x08]
     25         jmp %o1 + 8
     26 
     27         ! CHECK: jmp %g1      ! encoding: [0x81,0xc0,0x40,0x00]
     28         jmp %g1
     29 
     30         ! CHECK: jmp %g1+%lo(sym)   ! encoding: [0x81,0xc0,0b011000AA,A]
     31         ! CHECK-NEXT:                ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
     32         jmp %g1+%lo(sym)
     33 
     34         ! CHECK: jmpl %g1+%i2, %g2  ! encoding: [0x85,0xc0,0x40,0x1a]
     35         jmpl %g1 + %i2, %g2
     36 
     37         ! CHECK: jmpl %o1+8, %g2    ! encoding: [0x85,0xc2,0x60,0x08]
     38         jmpl %o1 + 8, %g2
     39 
     40         ! CHECK: jmpl %g1, %g2      ! encoding: [0x85,0xc0,0x40,0x00]
     41         jmpl %g1, %g2
     42 
     43         ! CHECK: jmpl %g1+%lo(sym), %g2   ! encoding: [0x85,0xc0,0b011000AA,A]
     44         ! CHECK-NEXT:                     ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
     45         jmpl %g1+%lo(sym), %g2
     46 
     47         ! CHECK: ba .BB0      ! encoding: [0x10,0b10AAAAAA,A,A]
     48         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     49         ba .BB0
     50 
     51         ! CHECK: bne .BB0     ! encoding: [0x12,0b10AAAAAA,A,A]
     52         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     53         bne .BB0
     54 
     55         ! CHECK: bne .BB0     ! encoding: [0x12,0b10AAAAAA,A,A]
     56         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     57         bnz .BB0
     58 
     59         ! CHECK: be .BB0      ! encoding: [0x02,0b10AAAAAA,A,A]
     60         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     61         be .BB0
     62 
     63         ! CHECK: be .BB0      ! encoding: [0x02,0b10AAAAAA,A,A]
     64         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     65         bz .BB0
     66 
     67         ! CHECK: be .BB0      ! encoding: [0x02,0b10AAAAAA,A,A]
     68         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     69         beq .BB0
     70 
     71         ! CHECK: bg .BB0      ! encoding: [0x14,0b10AAAAAA,A,A]
     72         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     73         bg .BB0
     74 
     75         ! CHECK: ble .BB0      ! encoding: [0x04,0b10AAAAAA,A,A]
     76         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     77         ble .BB0
     78 
     79         ! CHECK: bge .BB0      ! encoding: [0x16,0b10AAAAAA,A,A]
     80         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     81         bge .BB0
     82 
     83         ! CHECK: bl .BB0      ! encoding: [0x06,0b10AAAAAA,A,A]
     84         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     85         bl .BB0
     86 
     87         ! CHECK: bgu .BB0      ! encoding: [0x18,0b10AAAAAA,A,A]
     88         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     89         bgu .BB0
     90 
     91         ! CHECK: bleu .BB0      ! encoding: [0x08,0b10AAAAAA,A,A]
     92         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     93         bleu .BB0
     94 
     95         ! CHECK: bcc .BB0      ! encoding: [0x1a,0b10AAAAAA,A,A]
     96         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
     97         bcc .BB0
     98 
     99         ! CHECK: bcc .BB0      ! encoding: [0x1a,0b10AAAAAA,A,A]
    100         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    101         bgeu .BB0
    102 
    103         ! CHECK: bcs .BB0      ! encoding: [0x0a,0b10AAAAAA,A,A]
    104         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    105         bcs .BB0
    106 
    107         ! CHECK: bcs .BB0      ! encoding: [0x0a,0b10AAAAAA,A,A]
    108         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    109         blu .BB0
    110 
    111         ! CHECK: bpos .BB0      ! encoding: [0x1c,0b10AAAAAA,A,A]
    112         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    113         bpos .BB0
    114 
    115         ! CHECK: bneg .BB0      ! encoding: [0x0c,0b10AAAAAA,A,A]
    116         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    117         bneg .BB0
    118 
    119         ! CHECK: bvc .BB0      ! encoding: [0x1e,0b10AAAAAA,A,A]
    120         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    121         bvc .BB0
    122 
    123         ! CHECK: bvs .BB0      ! encoding: [0x0e,0b10AAAAAA,A,A]
    124         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    125         bvs .BB0
    126 
    127         ! CHECK:             fbu .BB0                        ! encoding: [0x0f,0b10AAAAAA,A,A]
    128         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    129         fbu .BB0
    130 
    131         ! CHECK:             fbg .BB0                        ! encoding: [0x0d,0b10AAAAAA,A,A]
    132         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    133         fbg .BB0
    134         ! CHECK:             fbug .BB0                       ! encoding: [0x0b,0b10AAAAAA,A,A]
    135         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    136         fbug .BB0
    137 
    138         ! CHECK:             fbl .BB0                        ! encoding: [0x09,0b10AAAAAA,A,A]
    139         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    140         fbl .BB0
    141 
    142         ! CHECK:             fbul .BB0                       ! encoding: [0x07,0b10AAAAAA,A,A]
    143         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    144         fbul .BB0
    145 
    146         ! CHECK:             fblg .BB0                       ! encoding: [0x05,0b10AAAAAA,A,A]
    147         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    148         fblg .BB0
    149 
    150         ! CHECK:             fbne .BB0                       ! encoding: [0x03,0b10AAAAAA,A,A]
    151         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    152         fbne .BB0
    153 
    154         ! CHECK:             fbne .BB0                       ! encoding: [0x03,0b10AAAAAA,A,A]
    155         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    156         fbnz .BB0
    157 
    158         ! CHECK:             fbe .BB0                        ! encoding: [0x13,0b10AAAAAA,A,A]
    159         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    160         fbe .BB0
    161 
    162         ! CHECK:             fbe .BB0                        ! encoding: [0x13,0b10AAAAAA,A,A]
    163         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    164         fbz .BB0
    165 
    166         ! CHECK:             fbue .BB0                       ! encoding: [0x15,0b10AAAAAA,A,A]
    167         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    168         fbue .BB0
    169 
    170         ! CHECK:             fbge .BB0                       ! encoding: [0x17,0b10AAAAAA,A,A]
    171         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    172         fbge .BB0
    173 
    174         ! CHECK:             fbuge .BB0                      ! encoding: [0x19,0b10AAAAAA,A,A]
    175         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    176         fbuge .BB0
    177 
    178         ! CHECK:             fble .BB0                       ! encoding: [0x1b,0b10AAAAAA,A,A]
    179         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    180         fble .BB0
    181 
    182         ! CHECK:             fbule .BB0                      ! encoding: [0x1d,0b10AAAAAA,A,A]
    183         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    184         fbule .BB0
    185 
    186         ! CHECK:             fbo .BB0                        ! encoding: [0x1f,0b10AAAAAA,A,A]
    187         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    188         fbo .BB0
    189 
    190         ! CHECK: ba,a .BB0    ! encoding: [0x30,0b10AAAAAA,A,A]
    191         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    192         ba,a .BB0
    193 
    194         ! CHECK: bne,a .BB0   ! encoding: [0x32,0b10AAAAAA,A,A]
    195         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    196         bne,a .BB0
    197 
    198         ! CHECK: be,a .BB0    ! encoding: [0x22,0b10AAAAAA,A,A]
    199         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    200         be,a .BB0
    201 
    202         ! CHECK: bg,a .BB0    ! encoding: [0x34,0b10AAAAAA,A,A]
    203         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    204         bg,a .BB0
    205 
    206         ! CHECK: ble,a .BB0   ! encoding: [0x24,0b10AAAAAA,A,A]
    207         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    208         ble,a .BB0
    209 
    210         ! CHECK: bge,a .BB0   ! encoding: [0x36,0b10AAAAAA,A,A]
    211         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    212         bge,a .BB0
    213 
    214         ! CHECK: bl,a .BB0    ! encoding: [0x26,0b10AAAAAA,A,A]
    215         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    216         bl,a .BB0
    217 
    218         ! CHECK: bgu,a .BB0   ! encoding: [0x38,0b10AAAAAA,A,A]
    219         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    220         bgu,a .BB0
    221 
    222         ! CHECK: bleu,a .BB0  ! encoding: [0x28,0b10AAAAAA,A,A]
    223         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    224         bleu,a .BB0
    225 
    226         ! CHECK: bcc,a .BB0   ! encoding: [0x3a,0b10AAAAAA,A,A]
    227         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    228         bcc,a .BB0
    229 
    230         ! CHECK: bcs,a .BB0   ! encoding: [0x2a,0b10AAAAAA,A,A]
    231         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    232         bcs,a .BB0
    233 
    234         ! CHECK: bpos,a .BB0  ! encoding: [0x3c,0b10AAAAAA,A,A]
    235         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    236         bpos,a .BB0
    237 
    238         ! CHECK: bneg,a .BB0  ! encoding: [0x2c,0b10AAAAAA,A,A]
    239         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    240         bneg,a .BB0
    241 
    242         ! CHECK: bvc,a .BB0   ! encoding: [0x3e,0b10AAAAAA,A,A]
    243         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    244         bvc,a .BB0
    245 
    246         ! CHECK: bvs,a .BB0   ! encoding: [0x2e,0b10AAAAAA,A,A]
    247         ! CHECK-NEXT:         ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    248         bvs,a .BB0
    249 
    250         ! CHECK:             fbu,a .BB0                      ! encoding: [0x2f,0b10AAAAAA,A,A]
    251         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    252         fbu,a .BB0
    253 
    254         ! CHECK:             fbg,a .BB0                      ! encoding: [0x2d,0b10AAAAAA,A,A]
    255         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    256         fbg,a .BB0
    257         ! CHECK:             fbug,a .BB0                     ! encoding: [0x2b,0b10AAAAAA,A,A]
    258         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    259         fbug,a .BB0
    260 
    261         ! CHECK:             fbl,a .BB0                      ! encoding: [0x29,0b10AAAAAA,A,A]
    262         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    263         fbl,a .BB0
    264 
    265         ! CHECK:             fbul,a .BB0                     ! encoding: [0x27,0b10AAAAAA,A,A]
    266         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    267         fbul,a .BB0
    268 
    269         ! CHECK:             fblg,a .BB0                     ! encoding: [0x25,0b10AAAAAA,A,A]
    270         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    271         fblg,a .BB0
    272 
    273         ! CHECK:             fbne,a .BB0                     ! encoding: [0x23,0b10AAAAAA,A,A]
    274         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    275         fbne,a .BB0
    276 
    277         ! CHECK:             fbe,a .BB0                      ! encoding: [0x33,0b10AAAAAA,A,A]
    278         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    279         fbe,a .BB0
    280 
    281         ! CHECK:             fbue,a .BB0                     ! encoding: [0x35,0b10AAAAAA,A,A]
    282         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    283         fbue,a .BB0
    284 
    285         ! CHECK:             fbge,a .BB0                     ! encoding: [0x37,0b10AAAAAA,A,A]
    286         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    287         fbge,a .BB0
    288 
    289         ! CHECK:             fbuge,a .BB0                    ! encoding: [0x39,0b10AAAAAA,A,A]
    290         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    291         fbuge,a .BB0
    292 
    293         ! CHECK:             fble,a .BB0                     ! encoding: [0x3b,0b10AAAAAA,A,A]
    294         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    295         fble,a .BB0
    296 
    297         ! CHECK:             fbule,a .BB0                    ! encoding: [0x3d,0b10AAAAAA,A,A]
    298         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    299         fbule,a .BB0
    300 
    301         ! CHECK:             fbo,a .BB0                      ! encoding: [0x3f,0b10AAAAAA,A,A]
    302         ! CHECK-NEXT:                                        !   fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
    303         fbo,a .BB0
    304 
    305         ! CHECK:  rett %i7+8   ! encoding: [0x81,0xcf,0xe0,0x08]
    306         rett %i7 + 8
    307